BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN TRUNG HIẾU

NHÓM NHÂN CYCLIC VÀ MÃ CYCLIC TRÊN

VÀNH ĐA THỨC

LUẬN ÁN TIẾN SĨ KỸ THUẬT

HÀ NỘI – 2017

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

NGUYỄN TRUNG HIẾU

NHÓM NHÂN CYCLIC VÀ MÃ CYCLIC TRÊN

VÀNH ĐA THỨC

MÃ SỐ: 9520203

CHUYÊN NGÀNH: KỸ THUẬT ĐIỆN TỬ

LUẬN ÁN TIẾN SĨ KỸ THUẬT

NGƯỜI HƯỚNG DẪN LUẬN ÁN:

1. GS.TS. NGUYỄN BÌNH

2. TS. NGUYỄN NGỌC MINH

HÀ NỘI – 2017

i

LỜI CAM ĐOAN

Tôi xin cam đoan đây là công trình nghiên cứu của tôi, các số liệu và kết

quả trình bày trong luận án là trung thực và chưa được công bố ở bất kỳ công

trình nào khác.

Tác giả

Nguyễn Trung Hiếu

ii

LỜI CẢM ƠN

Luận án Tiến sĩ kỹ thuật này được thực hiện tại Học viện Công nghệ Bưu

chính Viễn thông dưới sự hướng dẫn của GS.TS. Nguyễn Bình và TS. Nguyễn Ngọc

Minh. Nghiên cứu sinh bày tỏ lòng biết ơn sâu sắc tới GS.TS. Nguyễn Bình, thầy

trực tiếp hướng dẫn, giúp đỡ, cung cấp những kiến thức quý báu và có rất nhiều ý

kiến gợi mở về hướng nghiên cứu để nghiên cứu sinh thực hiện thành công đề tài.

Nghiên cứu sinh cũng xin chân thành cảm ơn TS. Nguyễn Ngọc Minh, người lãnh

đạo trực tiếp đã luôn ủng hộ, giúp đỡ nghiên cứu sinh trong quá trình nghiên cứu.

Nghiên cứu sinh xin dành lời cảm ơn sâu sắc tới các Thầy giáo, nhà khoa học trong

Hội đồng bảo vệ Luận án các cấp, các buổi hội thảo luận án đã nhiệt tình chỉ bảo,

giúp đỡ và có nhiều góp ý quý báu giúp nghiên cứu sinh hoàn thiện luận án.

Tôi cũng xin cảm ơn Ban giám đốc Học viện Công nghệ Bưu chính Viễn

thông, Khoa Quốc tế và Đào tạo Sau đại học, Khoa Kỹ thuật Điện tử 1 (nơi tôi đang

công tác), cũng như các đồng nghiệp đã tạo điều kiện và giúp đỡ tôi hoàn thành

được đề tài nghiên cứu của mình.

Cuối cùng là sự biết ơn tới gia đình, bạn bè đã thông cảm, động viên giúp đỡ

cho tôi có đủ nghị lực để hoàn thành luận án.

Hà Nội, tháng 12 năm 2017

iii

MỤC LỤC

LỜI CAM ĐOAN ................................................................................................................ I

LỜI CẢM ƠN .................................................................................................................... II

DANH MỤC CÁC TỪ VIẾT TẮT ................................................................................... V

DANH MỤC CÁC KÝ HIỆU ......................................................................................... VII

DANH MỤC CÁC BẢNG ............................................................................................... IX

DANH MỤC CÁC HÌNH VẼ ........................................................................................... X

MỞ ĐẦU ............................................................................................................................ 1

CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU .............................................. 5

1. LÝ DO NGHIÊN CỨU ................................................................................... 1 2. MỤC ĐÍCH NGHIÊN CỨU ............................................................................ 1 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU ................................................. 2 4. PHƯƠNG PHÁP VÀ CÔNG CỤ NGHIÊN CỨU .......................................... 2 5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI .............................. 2 6. CẤU TRÚC CỦA LUẬN ÁN ......................................................................... 3

CHƯƠNG 2: CẤP CỦA ĐA THỨC VÀ QUAN HỆ GIỮA NHÓM NHÂN CYCLIC, CẤP SỐ NHÂN CYCLIC VỚI MÃ CYCLIC TRUYỀN THỐNG ................................. 39

1.1. GIỚI THIỆU CHUNG .................................................................................. 5 1.2. VÀNH ĐA THỨC ........................................................................................ 7 1.2.1. Một số khái niệm cơ bản ..................................................................... 7 1.2.2. Chu trình và lũy đẳng ........................................................................ 10 1.3. MÃ TUYẾN TÍNH ..................................................................................... 13 1.3.1. Mã cyclic truyền thống ...................................................................... 13 1.3.2. Một số mã tuyến tính khác ................................................................ 16 1.3.3. Một số tiêu chuẩn đánh giá mã tuyến tính ........................................ 18 1.4. PHÂN HOẠCH VÀNH ĐA THỨC VÀ MÃ CYCLIC CỤC BỘ ............. 19 1.4.1. Nhóm nhân cyclic .............................................................................. 19 1.4.2. Cấp số nhân cyclic ............................................................................. 24 1.4.3. Phân hoạch vành đa thức ................................................................... 24 1.4.4. Mã cyclic cục bộ trên vành đa thức ................................................... 31 1.5. HƯỚNG NGHIÊN CỨU CỦA LUẬN ÁN VÀ MỘT SỐ KẾT QUẢ LIÊN QUAN.......................................................................................................... 34 1.6. KẾT LUẬN CHƯƠNG .............................................................................. 37

2.1. GIỚI THIỆU ............................................................................................... 39

iv

2.2. XÁC ĐỊNH CẤP CỦA ĐA THỨC ............................................................ 40 2.2.1. Đề xuất phương pháp xác định cấp của tích các đa thức .................. 40 2.2.2. Đề xuất phương pháp xác định cấp của nhị thức .............................. 45 2.2.3. Đề xuất thuật toán cải tiến để tìm và liệt kê cấp của đa thức trên

vành ................................................................................................... 51 2.2.4. Xác suất chọn đa thức có cấp cực đại ............................................... 56

2.3. QUAN HỆ GIỮA NHÓM NHÂN CYCLIC, CẤP SỐ NHÂN CYCLIC

VỚI MÃ CYCLIC TRUYỀN THỐNG ...................................................... 58 2.3.1. Cơ sở toán học ................................................................................... 58 2.3.2. Sự tương đương của nhóm nhân cyclic, cấp số nhân cyclic với mã

CHƯƠNG 3: ỨNG DỤNG NHÓM NHÂN CYCLIC, CẤP SỐ NHÂN CYCLIC ......... 75

cyclic truyền thống ............................................................................ 60 2.3.3. Thuật toán xác định nhóm nhân cyclic tương đương mã cyclic truyền thống .................................................................................................. 63 2.4. MỘT CÁCH PHÂN LOẠI MÃ TUYẾN TÍNH MỚI ................................ 69 2.5. KẾT LUẬN CHƯƠNG .............................................................................. 73

KẾT LUẬN ..................................................................................................................... 107

CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ................................................... 108

TÀI LIỆU THAM KHẢO .............................................................................................. 110

PHỤ LỤC........................................................................................................................ 119

3.1. PHƯƠNG PHÁP XÂY DỰNG MÃ CYCLIC ........................................... 75 3.1.1. Phương pháp xây dựng mạch mã hóa ............................................... 75 3.1.2. Phương pháp xây dựng mạch giải mã ............................................... 77 3.2. ĐỀ XUẤT MỘT SỐ MÃ CYCLIC TỐT TRÊN VÀNH ĐA THỨC ........ 79 3.2.1. Phương pháp tìm mã cyclic tốt .......................................................... 79 3.2.2. Mô phỏng, đánh giá một số bộ mã cyclic tốt .................................... 90 3.2.3. Đề xuất thực hiện các bộ mã trên FPGA ........................................... 95 3.3. ĐỀ XUẤT PHƯƠNG PHÁP TẠO KHÓA CHO MỘT SỐ HỆ MẬT ...... 97 3.3.1. Quan hệ giữa vành đa thức có hai lớp kề cyclic và trường số .......... 97 3.3.2. Hệ mật Omura-Massey trên vành đa thức có hai lớp kề cyclic ...... 100 3.4. KẾT LUẬN CHƯƠNG ............................................................................ 105

v

DANH MỤC CÁC TỪ VIẾT TẮT

Từ viết tắt Nghĩa tiếng Anh Nghĩa tiếng Việt

BCH Bose, Chaudhuri, and (Tên ba tác giả nghiên cứu ra

Hocquenghem mã BCH)

Cyclic Geometic Progressions Cấp số nhân cyclic CGP

Cyclic Multiplicate Group Nhóm nhân cyclic CMG

Cyclic Redundancy Check Kiểm tra dư thừa vòng CRC

Error Correcting Code Mã sửa lỗi ECC

Field Programable Gate Array Mảng cổng logic khả trình FPGA

Majority-based Threshold Giải mã ngưỡng theo đa số MTD

Decode

LCC Local Cyclic Code Mã cyclic cục bộ

OALCC Orthogonalable Local Cyclic Mã cyclic cục bộ có khả năng

Code trực giao

Orthogonal Local Cyclic Code Mã cyclic cục bộ tự trực giao OLCC

Low-Density Parity Check Mã kiểm tra chẵn lẻ mật độ LDPC

thấp

LTE Long Term Evolution Tiến hóa dài hạn

RSMA Repeated Square and Multiply Thuật toán nhân và bình

Algorithm phương lặp

Space-Time Block Code Mã khối không gian-thời gian STBC

Trellis Coded Modulation Điều chế mã lưới TCM

Check-sum Tổng kiểm tra CS

vi

OACS Orthogonalable check-sum Tổng kiểm tra có khả năng trực

giao

OCS Orthogonal check-sum Tổng kiểm tra trực giao

VHDL VHSIC Hardware Discription Ngôn ngữ mô tả phần cứng

Language

WCDMA Wideband Code Division Đa truy nhập phân chia theo mã

Multiple Access băng rộng

vii

DANH MỤC CÁC KÝ HIỆU

Ký hiệu Nghĩa tiếng Anh Nghĩa tiếng Việt

Set of cycles Tập hợp các chu trình

Cycle Chu trình

Hamming distance Khoảng cách Hamming

Bậc của đa thức Degree

Đa thức lũy đẳng Idempotent

Swallowing Idempotent Lũy đẳng nuốt

Trường Field

Nhóm Group

Galois Field Trường Galois

Greatest common divisor Ước chung lớn nhất

Ideal Ideal

Least common multiple Bội chung nhỏ nhất

Mod Modulo Phép chia lấy phần dư

Cấp của đa thức Order

Vành Ring

Trọng số Weight

Polynomial for Integer mod 2 Vành đa thức trên

Giao Intersection

Hợp Union

Tập hợp rỗng Empty set

viii

Cardinality Lực lượng hay số phần tử # hoặc

Similarity Tương đương ~

Summation Tổng

Non-redundant division Phép chia hết

Divisor or divides Ước |

Not divisor or not divides Không là ước

Ceiling Số nguyên nhỏ nhất lớn hơn

hoặc bằng giá trị trong ngoặc

ix

DANH MỤC CÁC BẢNG

Bảng 1.1. Bảng giá trị của nhỏ hơn 1000 thỏa mãn là một vành

đa thức có 2 lớp kề cyclic ................................................................. 10

Bảng 1.2. Số kiểu phân hoạch không suy biến của một số vành ................ 27

Bảng 1.3. Tổng số các kiểu phân hoạch của vành ...................... 28

Bảng 2.1. Bảng khảo sát cấp của đa thức trên một số vành đa thức................ 48

Bảng 2.2. So sánh thời gian tính toán của hai thuật toán ................................... 54

Bảng 2.3. Kết quả khảo sát 35 giá trị ............................................................. 57

Bảng 3.1. Một số cặp vành có thể phân hoạch hỗn hợp .................................... 84

Bảng 3.2. Đề xuất một số bộ mã cyclic tốt ........................................................ 89

Bảng 3.3. Phép toán cộng và nhân trên hai cấu trúc vành đa thức và vành số…98

Bảng 3.4. Các phần tử nghịch đảo tương quan trên trường số và vành đa thức..99

x

DANH MỤC CÁC HÌNH VẼ

Hình 2.1. Biểu đồ so sánh thời gian tính toán của hai thuật toán ...................... 55

Hình 2.2. So sánh các mã cyclic và mã cyclic cục bộ........................................70

Hình 2.3. Sơ đồ phân loại mã tuyến tính dựa trên cấu trúc đại số và mã LCC..72

Hình 3.1. Phân hoạch vành đa thức có nhóm nhân sinh là nhóm nhân đơn vị .. 76 Hình 3.2. Phân hoạch vành có nhóm nhân sinh là nhóm nhân cyclic bất kỳ .... 77 Hình 3.3. Lưu đồ thuật toán tìm bộ mã cyclic tốt xây dựng từ cấp số nhân

cyclic............................................................................................................ 88 Hình 3.4. Sơ đồ hệ thống thông tin sử dụng mô phỏng, đánh giá mã cyclic ..... 90 Hình 3.5. Kết quả mô phỏng bộ mã cyclic (255,9,127) ..................................... 92 Hình 3.6. Kết quả mô phỏng bộ mã cyclic (15,5,7) ........................................... 93 Hình 3.7. Kết quả mô phỏng bộ mã cyclic (27,9,9) ........................................... 94 Hình 3.8. Giao thức truyền thông sử dụng hệ mật O-M .................................. 101

1

MỞ ĐẦU

1. LÝ DO NGHIÊN CỨU

Lý thuyết mã hóa đã được nghiên cứu từ những năm 1940 và được ứng dụng

rộng rãi trong nhiều lĩnh vực, đặc biệt là trong lĩnh vực truyền thông góp phần nâng

cao hiệu quả của hệ thống truyền tin. Một trong các lớp mã quan trọng của mã khối

tuyến tính đó là các mã cyclic. Mã cyclic có nhiều ứng dụng trong điện tử dân dụng,

các hệ thống lưu trữ dữ liệu, các hệ thống truyền thông vì có nhiều phương pháp mã

hóa và giải mã hiệu quả.

Việc nghiên cứu truyền thống về mã cyclic đã khá hoàn chỉnh, tuy nhiên loại

mã này có nhược điểm là số lượng từ mã được tạo ra hạn chế, độ dài của mã chỉ cố

định ở một số giá trị cụ thể. Trong những năm trở lại đây một phương pháp khác để

xây dựng mã cyclic được nghiên cứu đó là sử dụng nhóm nhân cyclic, cấp số nhân

cyclic trên vành đa thức, và mã được gọi là mã cyclic cục bộ (LCC- Local Cyclic

Code). Các nghiên cứu gần đây đã đưa ra một số phương pháp phân hoạch vành đa

thức, xây dựng mã cyclic cục bộ, cùng các phương pháp giải mã tương đối hiệu quả.

Nghiên cứu sinh nhận thấy rằng có thể tồn tại mối quan hệ giữa mã cyclic và

cyclic cục bộ, điều đó thôi thúc nghiên cứu sinh nghiên cứu sâu hơn lý thuyết về mã

cyclic cục bộ (mã cyclic được xây dựng từ nhóm nhân cyclic, cấp số nhân cyclic),

tìm hiểu, chứng minh mối quan hệ có thể tồn tại giữa mã cyclic và mã cyclic cục

bộ. Chính vì lẽ đó, nghiên cứu sinh đã chọn đề tài “Nhóm nhân cyclic và mã cyclic

trên vành đa thức” để định hướng nghiên cứu luận án tiến sĩ của mình. Trên cơ sở

kết quả nghiên cứu lý thuyết đạt được sẽ đề xuất một số ứng dụng có thể về mã sửa

lỗi và mật mã trong các hệ thống truyền thông.

2. MỤC ĐÍCH NGHIÊN CỨU

Mục đích chính của luận án là góp phần hoàn thiện lý thuyết và thực nghiệm

về nhóm nhân cyclic và mã cyclic trên các vành đa thức, trong đó các kết quả nghiên

cứu đạt được của luận án nhằm giải quyết các vấn đề cụ thể sau:

2

- Quan hệ giữa nhóm nhân cyclic, cấp số nhân cyclic trên vành đa thức với

mã cyclic truyền thống.

- Phương pháp kiến thiết nhóm nhân cyclic có cấp cực đại trên vành đa thức.

- Đề xuất ứng dụng của nhóm nhân cyclic, cấp số nhân cyclic để tìm một số

bộ mã cyclic tốt, hay ứng dụng trong các hệ mật.

3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

Đối tượng nghiên cứu của luận án là các đa thức, nhóm nhân cyclic, cấp số

nhân cyclic và mã cyclic trên vành đa thức.

Phạm vi nghiên cứu của luận án này được giới hạn trong việc nghiên cứu mối

quan hệ giữa nhóm nhân cyclic, cấp số nhân cyclic với mã cyclic truyền thống, cấp

của đa thức và phương pháp xây dựng nhóm nhân cyclic có cấp cực đại trên vành

đa thức, trên cơ sở đó có thể đề xuất một số mã cyclic tốt và phương pháp hiện thực

hóa các mã cyclic trên FPGA (Field Programable Gate Array).

4. PHƯƠNG PHÁP VÀ CÔNG CỤ NGHIÊN CỨU

Phương pháp nghiên cứu của đề tài là phân tích và tổng hợp dựa vào các công

cụ toán học, đặc biệt là đại số, lý thuyết mã hóa, lý thuyết xác suất...

Luận án sử dụng các công cụ toán học, kết hợp với việc tính toán, mô phỏng

trên máy tính và các chương trình phần mềm xử lý (C++, Matlab, VHDL (VHSIC

Hardware Discription Language), Excel).

5. Ý NGHĨA KHOA HỌC VÀ THỰC TIỄN CỦA ĐỀ TÀI

Những kết quả trong luận án này góp phần phát triển hoàn thiện lý thuyết mã

cyclic, mã cyclic cục bộ nói riêng và lý thuyết mã sửa lỗi nói chung. Các đóng góp

chính của Luận án:

- Kiến thiết các nhóm nhân cyclic có cấp cực đại trên vành đa thức thông qua

việc đề xuất phương pháp xác định đa thức có cấp cực đại.

- Chứng minh sự tương đương giữa nhóm nhân cyclic, cấp số nhân cyclic với

mã cyclic truyền thống.

3

- Đề xuất một số bộ mã cyclic tốt xây dựng trên vành đa thức, đề xuất khả

năng thực hiện các bộ mã cyclic cục bộ trên cấu kiện phần cứng.

6. CẤU TRÚC CỦA LUẬN ÁN

Nội dung luận án bao gồm các phần: Mở đầu, ba chương và kết luận. Trong

đó, chương 1 trình bày tổng quan và lý thuyết cơ bản về vấn đề nghiên cứu, các kết

quả nghiên cứu chính của Luận án được trình bày trong hai chương còn lại, cụ thể

như sau:

Chương 1 trình bày tổng quan vấn đề nghiên cứu, lý thuyết cơ bản về vành đa

thức, mã cyclic làm cơ sở cho các nội dung nghiên cứu của luận án. Các nội dung

về vành đa thức bao gồm các khái niệm vành đa thức, các tính chất đa thức, chu

trình, luỹ đẳng, vành đa thức có hai lớp kề cyclic, trong đó Luận án đề cập việc

chứng minh bổ đề về một tính chất luỹ đẳng nuốt, chính xác hoá các vành đa thức

có hai lớp kề cyclic với . Tiếp theo, luận án trình bày lý

thuyết về nhóm nhân cyclic và cấp số nhân cyclic cùng các bổ đề liên quan. Lý

thuyết về mã cyclic truyền thống và các mã tuyến tính khác cũng được đề cập trong

chương, kèm theo đó là trình bày về một số tiêu chuẩn đánh giá mã tuyến tính tốt.

Tiếp đến, Luận án trình bày về phân hoạch vành đa thức và các mã cyclic cục bộ

với các nội dung liên quan đến nhóm nhân cyclic, cấp số nhân cyclic, phân hoạch

vành đa thức và mã cyclic cục bộ. Nội dung cuối cùng, luận án nhận xét về công

trình nghiên cứu của các tác giả khác và hướng nghiên cứu của luận án.

Trong Chương 2, luận án tập trung trình bày các kết quả nghiên cứu mới và

hai đóng góp quan trọng của Luận án: Nội dung thứ nhất là đề xuất phương pháp

kiến thiết các nhóm nhân cyclic có cấp cực đại thông qua việc xác định cấp của đa

thức với nhiều hướng tiếp cận cùng các đề xuất quan trọng như: phương pháp xác

định cấp của đa thức là tích các đa thức, phương pháp xác định cấp của nhị thức,

thuật toán tìm và liệt kê cấp của đa thức trên vành, đánh giá xác xuất tìm phần tử có

cấp cực đại trên vành đa thức có hai lớp kề cyclic đã góp phần giải quyết khá hoàn

chỉnh bài toán đặt ra. Nội dung thứ hai là nghiên cứu, đánh giá mối quan hệ giữa

4

các nhóm nhân cyclic, cấp số nhân cyclic với mã cyclic truyền thống, đã góp phần

chỉ ra có một mối quan hệ tương đương giữa mã cyclic truyền thống với mã cyclic

xây dựng trên nhóm nhân, cấp số nhân trên vành đa thức. Từ hai kết quả nghiên cứu

trên, luận án đề xuất sơ đồ phân loại mã tuyến tính dựa trên cấu trúc đại số và mã

cyclic cục bộ. Đóng góp của chương này được công bố trong các công trình khoa

học [J2], [J3], [J4], [J5], [C3], [C4], [C5].

Ở Chương 3, Luận án trình bày phương pháp xây dựng mã cyclic với các nội

dung liên quan đến việc xây dựng khối mã hoá và giải mã, tiếp đến luận án đề xuất

một số mã cyclic tốt xây dựng từ nhóm nhân cyclic, cấp số nhân cyclic gồm phương

pháp tìm mã cyclic tốt, danh sách một số mã cyclic tốt được đề xuất, mô phỏng

đánh giá bộ mã; đề xuất phương pháp xây dựng bộ mã trên cấu kiện phần cứng

FPGA, đưa ra một phương pháp cải tiến việc xây dựng bộ mã hoá và giải mã cho

phù hợp với đặc điểm phần cứng logic khả trình và góp phần minh chứng cho khả

năng hiện thực hoá các bộ mã cyclic, cyclic cục bộ trên cấu kiện logic khả trình.

Nội dung cuối, luận án trình bày ứng dụng của nhóm nhân cyclic và cấp số nhân

cyclic trong việc làm khóa một số hệ mật. Đóng góp của chương này được công bố

trong các công trình khoa học [J1], [J6], [C1], [C2].

Phần kết luận sẽ đưa ra những kết luận của Luận án đối với những đóng góp

kể trên và đưa ra những vấn đề mở trong tương lai.

5

CHƯƠNG 1: TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU

Nội dung của chương trình bày lý thuyết tổng quan về vành đa thức, nhóm

nhân cyclic, cấp số nhân cyclic và mã cyclic. Các tiêu chuẩn đánh giá mã sửa lỗi

cũng được giới thiệu trong chương này. Chương này cũng sẽ tập trung khảo sát các

nghiên cứu liên quan đến mã cyclic để từ đó tìm ra các hạn chế của các nghiên cứu

trước đây và đề xuất hướng nghiên cứu, phạm vi nghiên cứu và phương thức tiếp

cận của luận án.

1.1. GIỚI THIỆU CHUNG

Lý thuyết mã hoá được bắt đầu nghiên cứu từ những năm 1940 và được phát

triển theo ba hướng lớn đó là: mã nguồn [7], [17], mã kênh (có khả năng sửa lỗi

[35], [74]) và mật mã [8], [63].

Đặt nền móng cho lý thuyết mã hoá là các nghiên cứu của Shannon trong hai

năm 1948-1949 về độ tin cậy của truyền tin trên các kênh truyền có nhiễu [59]. Khởi

đầu cho việc thiết kế các bộ mã tốt và các phương pháp giải mã hiệu quả đó là mã

Hamming, mã Golay [59] và các mã khác vào cuối những năm 1940. Các nghiên

cứu về mã hóa những năm 1950, 1960 tập trung vào việc phát triển lý thuyết về các

mạch mã hóa và giải mã hiệu quả. Trên thực tế, các sơ đồ mã hoá và giải mã hiện

nay đều không thoả mãn giới hạn của Shannon, nhưng bộ giải mã có độ phức tạp

(giá thành) thấp hơn. Vì lý do này, các hướng nghiên cứu tập trung vào việc thiết

kế các sơ đồ mã hoá và giải mã với mục tiêu dễ dàng thực hiện về mặt kỹ thuật. Các

nghiên cứu của Reed và Solomon (1960), Hocquenghem (1959), Bose và Chaudhuri

(1960), Gorenstein và Zierler (1961) và Peterson (1961) đều tập trung theo hướng

này [45], [59], [74]. Bằng cách kết hợp mỗi con số của mã với một phần tử trong

trường Galois, có thể tìm được phương trình đại số mà các nghiệm của nó mô tả vị

trí của các lỗi. Do đó, độ phức tạp tính toán khi giải mã cũng giảm đi bằng cách

thiết lập các phương trình đại số và tìm nghiệm của chúng.

6

Trong những năm gần đây các nghiên cứu về lý thuyết mã tập trung vào việc

xây dựng các phương pháp mã hóa đạt được giới hạn của Shannon bao gồm các

hướng: điều chế mã lưới - TCM (Trellis Coded Modulation), mã Turbo [61], mã

kiểm tra chẵn lẻ mật độ thấp - LDPC (Low-Density Parity Check) [32], mã khối

không gian-thời gian – STBC (Space-Time Block Code) [47].

Các quan điểm xây dựng mã cũng rất phong phú: dựa trên các cấu trúc đại số,

dựa trên lý thuyết dàn, dựa trên hình học – đại số, dựa trên hình học chiếu, dựa trên

lý thuyết tổ hợp, dựa trên Graph.

Các phương pháp giải mã chính được nghiên cứu bao gồm: giải mã ngưỡng

của Messey [51], giải mã liên tiếp của Zigalgirov, giải mã Viterbi [7], giải mã hợp

lý tối đa [54], giải mã lặp và giải mã có liên hệ ngược, giải mã đại số [7].

Các công trình nghiên cứu cho thấy, các mã sửa lỗi (ECC - Error Correcting

Code) là hướng kiến thiết cho định lý tồn tại là định lý mã hoá thứ hai của CE.

Shannon [59], [70]. Hướng nghiên cứu chủ đạo ở đây là xây dựng các mã trên các

cấu trúc đại số khác nhau như nhóm, vành, trường, module, không gian tuyến tính

[69], [74]. Mã (hay bộ mã) được xem là một tập con có cấu trúc trong một cấu trúc

đại số nào đó [35]. Một trong các lớp mã quan trọng của mã khối tuyến tính đó là

các mã cylic, trong đó thành tựu nổi bật nhất và được ứng dụng rộng rãi nhất trong

thực tế là các mã cyclic trên vành đa thức [17], [59].

Mã cyclic được Eugene Prange nghiên cứu đầu tiên năm 1957 [65]. Sau đó

quá trình nghiên cứu về mã cyclic tập trung theo cả hai hướng sửa lỗi ngẫu nhiên

và sửa lỗi cụm. Nhiều lớp mã cyclic đã được xây dựng trong những năm này, bao

gồm các mã BCH (Bose, Chaudhuri, and Hocquenghem), các mã Reed-Solomon,

các mã hình học Euclid [74], [77].

Mã cyclic gồm các từ mã là bội của đa thức sinh , với [74].

Từ mã hay đa thức mã của mã cyclic là một phần tử của ideal thoả mãn

điều kiện [59]. Một tính chất quan trọng rất thuận lợi cho việc mã hoá và

giải mã cho các mã cyclic là dịch vòng của một đa thức mã cũng là một đa thức mã

7

[59], [7]. Các mã cyclic được ứng dụng rất rộng rãi trong thực tế. Rất nhiều đa thức

sinh cụ thể đã được sử dụng trong các chuẩn truyền tin [74]. Các thiết bị mã hoá và

giải mã trong thực tế được thực hiện rất đơn giản bằng các bộ ghi dịch tuyến tính

có liên hệ ngược [51]. Có thể đánh giá rằng các nghiên cứu về mã cyclic đã được

hoàn thiện vào những năm 70 của thế kỷ 20 [77].

Mặc dù có nhiều ưu điểm nhưng có thể nhận thấy một số hạn chế của mã cyclic

như sau: Mã cyclic chủ yếu được xây dựng cho các giá trị lẻ, số các đa

thức sinh có thể được lựa chọn để tạo các mã tốt không nhiều và phụ thuộc vào số

ideal có thể xây dựng. Nếu phân tích nhị thức thành tích của các đa thức bất

khả qui thì khả năng lựa chọn rất thấp khi không có nhiều đa thức bất khả qui. Điều

này đặc biệt thấy rõ đối với các vành đa thức có hai lớp kề cyclic (với = 3, 5, 11,

13, 17, 19,…), các vành này không thể xây dựng được các mã cyclic tốt ngoài hai

mã tầm thường duy nhất là mã (mã kiểm tra chẵn) và mã (mã lặp) [1].

Các hạn chế này có thể xem là do tính chặt chẽ về cấu trúc của mã cyclic.

Ngược lại, với mã ngẫu nhiên tuyến tính của Shannon ta thấy không có những

hạn chế này. Shannon đã chứng minh rằng luôn tồn tại các mã tốt thỏa mãn định lý

mã hóa thứ hai. Tuy nhiên do tính lỏng lẻo về mặt cấu trúc nên rất khó khăn cho

việc thực hiện mã hóa và giải mã có hiệu quả cho các mã này. Cần chú ý thêm là

việc nghiên cứu các ideal trên vành số đã xây dựng được các mã AN-cyclic [74]

được sử dụng có hiệu quả trong kỹ thuật máy tính.

Phần tiếp theo luận án sẽ trình bày một số nội dung lý thuyết về mã tuyến tính,

cơ sở lý thuyết về mã cyclic xây dựng trên vành đa thức.

1.2. VÀNH ĐA THỨC

1.2.1. Một số khái niệm cơ bản

Định nghĩa 1.1: là một vành giao hoán, một đa thức của biến trên vành

là một biểu thức có dạng [7]:

(1.1)

8

Trong đó: – là hệ số, . Trong trường , nhận giá trị 0 hoặc 1.

– biến, ẩn hình thức.

Bậc của đa thức là:

được gọi là định chuẩn nếu hệ số cao nhất của nó .

Nếu (đa thức hằng số), thì có bậc 0.

Nếu với , thì được gọi là đa thức 0.

Định nghĩa 1.2: Cho là một vành giao hoán, vành đa thức là một

vành được tạo bởi tập tất cả các đa thức của biến có các hệ số trong . Hai phép

toán là phép cộng và phép nhân đa thức theo modulo [7], [63].

Khi các hệ số của đa thức nằm trong trường nhị phân , phép cộng và

phép trừ là tương đương, vành đa thức được ký hiệu .

Trong trường nhị phân, vành đa thức ký hiệu: .

gọi là phần tử đơn vị, .

là một nhóm đối với phép cộng, thỏa mãn tiên đề của nhóm.

là nửa nhóm đối với phép nhân, tồn tại , thỏa mãn

.

* Phép cộng hai đa thức: Xét hai đa thức và , đa

thức là tổng của hai đa thức này và được tính như sau:

với và (1.2)

Phép cộng các hệ số và được thực hiện trên trường (cộng theo modulo).

Bậc của :

* Phép nhân hai đa thức:

9

Xét 2 đa thức , ; là tích của hai đa thức và được tính như sau:

(1.3)

* Đa thức bất khả quy:

Định nghĩa 1.3: Đa thức với được gọi là đa thức bất khả

quy nếu nó chỉ chia hết cho 1 và chính nó [7].

Như vậy đa thức bất khả quy là đa thức không thể phân tích được thành tích

của các đa thức có bậc nhỏ hơn.

Định lý 1.1: Bất kỳ đa thức bất khả quy nào trên trường đều là ước

của [7].

Định nghĩa 1.4: Đa thức được gọi là đa thức đối ngẫu của đa thức

nếu [7].

* Đa thức đối xứng:

Định nghĩa 1.5: Đa thức được gọi là đa thức đối xứng với đa thức

nếu [20]:

thì (1.4)

Với: .

Dựa vào tính chất của lũy đẳng nuốt, ta có:

* Vành đa thức có hai lớp kề cyclic:

Định nghĩa 1.6: Vành đa thức theo modulo được gọi là vành đa thức

có hai lớp kề cyclic nếu phân tích của dưới dạng tích các đa thức bất khả quy

trên trường GF(2) có dạng [1]:

(1.5)

10

trong đó, và là các đa thức bất khả quy.

Nhận xét:

- Vành đa thức có hai lớp kề cyclic là vành đa thức mà trong đó

chỉ có 2 chu trình (mục 1.2.2.1): , với .

- Vì là một đa thức bất khả quy nên phải là một số lẻ.

Bổ đề 1.1: Vành đa thức theo modulo là một vành đa thức có hai lớp kề

cyclic nếu thoả mãn [1]:

phải là một số nguyên tố; 

 phần tử 2 phải thoả mãn điều kiện với mỗi ước nguyên tố

của , với là hàm phi Euler.

Căn cứ vào đặc điểm trên của vành đa thức có hai lớp kề cyclic, tác giả của

[1] đề xuất một thuật toán xác định giá trị thỏa mãn vành đa thức có hai lớp kề

cyclic. Ví dụ, các số nhỏ hơn 1000 thoả mãn điều kiện là một vành

đa thức có 2 lớp kề cyclic được liệt kê trong Bảng 1.1.

Bảng 1.1. Bảng giá trị của nhỏ hơn 1000 thỏa mãn là một vành

= 3 5 11 13 19 29 37 53 59 61 67 83 101 107 131 139 163 173 179 181 197 211 227 269

293 317 347 349 389 419 421 443 461 467 491 509 523 541 547 557 563 587 613 619 653

659 661 677 701 709 757 773 787 797 821 827 829 853 859 877 883 907 941 947

đa thức có 2 lớp kề cyclic

1.2.2. Chu trình và lũy đẳng

1.2.2.1. Chu trình

* Khái niệm [6]

Các chu trình theo modulo n trên trường được xác định như sau:

(1.6)

11

Tập các số nguyên theo modulo n được phân hoạch thành các chu trình.

(1.7)

Số phần tử của chu trình được gọi là lực lượng của chu trình, ký hiệu .

* Một số ý nghĩa của việc phân tích chu trình:

+ Số lượng chu trình cho biết số đa thức bất khả quy trong vành .

+ Lực lượng của các chu trình cho biết bậc của đa thức bất khả quy tương ứng

trong phân tích của nhị thức .

+ Các số trong một chu trình cho biết số mũ tương ứng của lũy đẳng .

1.2.2.2. Lũy đẳng

Định nghĩa 1.7: Trong vành đa thức , đa thức có giá trị bình

phương bằng chính nó thì được gọi là đa thức lũy đẳng, ký hiệu [6].

(1.8)

Các lũy đẳng được xác định trên cơ sở phân tích chu trình .

Ví dụ 1.1:

. Do đó, có các lũy đẳng:

. Do đó, có các lũy đẳng:

. Do đó, có các lũy đẳng:

Định nghĩa 1.8: Trong vành đa thức với lẻ, luôn tồn tại duy

nhất một lũy đẳng “nuốt” (Swallowing Idempotent) [6].

12

Bổ đề 1.2: Cho , là lũy đẳng nuốt.

1)

với lẻ. 2)

Hệ quả: Với , thì:

(1.9) 𝑓(𝑥). 𝑒𝑛(𝑥) = { 𝑒𝑛(𝑥) nếu 𝑊(𝑓(𝑥)) lẻ 0 nếu 𝑊(𝑓(𝑥)) chẵn

Định nghĩa 1.9: Lũy đẳng nguyên thủy là các đa thức chứa các đơn thức với

số mũ thuộc . Tập các lũy đẳng nguyên thủy với phần tử 0 tạo nên vành lũy đẳng

[7].

Ví dụ 1.2: Xét vành , theo định nghĩa về chu trình, ta có:

Trong trường hợp này, chính là lũy đẳng nuốt của vành.

Vành đa thức sẽ được phân tích dưới dạng tích của 03 đa thức bất khả

quy: . Số đa thức bất khả quy bằng với số lượng

chu trình và bậc của các đa thức này bằng với số chữ số trong các chu trình (tương

ứng là 1 ( ), 2 ( ) và 6 ( )).

13

1.3. MÃ TUYẾN TÍNH

Mã tuyến tính độ dài là mã mà từ mã của nó có các dấu mã là các dạng tuyến

tính. Mã hệ thống tuyến tính là mã tuyến tính độ dài trong đó ta có thể chỉ

ra được vị trí của dấu thông tin trong từ mã. Mã tuyến tính ngẫu nhiên là mã tuyến

tính có các dấu mã được chọn ngẫu nhiên từ các dạng tuyến tính có thể có [7]. Một

số mã tuyến tính phổ biến như: mã chẵn lẻ, mã lặp, mã vòng, mã Hamming, mã

Golay, mã BCH, mã Reed-Solomon, mã Goppa,… [7], [35], [74]. Tiếp theo luận án

giới hạn trình bày về mã cyclic, một số mã có tính chất tương tự có thể xây dựng

trên vành đa thức, và một số tiêu chuẩn đánh giá mã tuyến tính phổ biến.

1.3.1. Mã cyclic truyền thống

1.3.1.1. Ideal của vành đa thức

Định nghĩa 1.10: Ideal của vành đa thức gồm tập các đa thức là bội

của một đa thức thỏa mãn [7]:

( là ước của ). +

với . +

Ký hiệu Ideal trong vành đa thức là . Với mọi , ta có:

với . Để tìm các tất cả các Ideal trong vành đa thức

cần phải thực hiện phân tích vành này thành tích của các đa thức bất khả quy.

1.3.1.2. Định nghĩa mã cyclic

Mã cyclic được định nghĩa theo một trong hai cách dưới đây:

Định nghĩa 1.11: Mã cyclic là Ideal của vành đa thức

[7].

Trong đó, là bậc của đa thức (cũng là độ dài từ mã), là bậc của đa

thức sinh và (cũng là số bit thông tin của từ mã).

14

Định nghĩa 1.12: Mã cyclic là một bộ mã tuyến tính có tính chất sau: Nếu

là một từ mã thì dịch vòng của cũng là một từ mã thuộc bộ mã này [7].

Đa thức được gọi là đa thức sinh của mã cyclic. Vì Ideal chứa tất

cả các bội của nên nếu thì và hiển nhiên:

hay .

Ví dụ 1.3: Trong vành , đa thức được phân tích thành 3 đa

thức bất khả quy như sau:

sẽ có 7 đa thức sinh tương ứng để tạo ra 7 bộ mã cyclic khác nhau.

1.3.1.3. Ma trận sinh và ma trận kiểm tra của mã cyclic

Vì mã cyclic là một mã tuyến tính nên có thể mô tả nó thông qua ma

trận sinh chứa véc tơ hàng độc lập tuyến tính. Ma trận được viết như sau:

(1.10)

Vì nên có thể viết , hay:

(1.11)

15

Đa thức được gọi là đa thức kiểm tra.

Vì nên các đa thức và được gọi là các đa

thức trực giao.

Ta có với với

Ma trận kiểm tra của mã cyclic với đa thức sinh như sau:

(1.12)

Trong đó là đa thức đối ngẫu của

Từ công thức (1.9), (1.10) và (1.11) ta rút ra: .

. Với là một từ mã ta có:

1.3.1.4. Một số nhận xét về mã cyclic

Đặc điểm của mã cyclic:

- Mã cyclic được xây dựng trên các Ideal của vành đa thức nên số các mã

cyclic bằng số các Ideal trên vành đa thức.

- Số các Ideal phụ thuộc vào phân tích của nhị thức thành tích của các

đa thức bất khả quy.

- Khi biểu diễn một bộ mã cyclic thì thường dưới dạng đa thức sinh

của bộ mã, từ có thể tạo ra ma trận sinh hàng cột để tạo ra

mã cyclic hệ thống và không hệ thống.

Các phương pháp giải mã cho mã cyclic [7]: dùng thuật toán Megrit để giải

mã theo thuật toán dịch vòng; giải mã theo thuật toán Berlekamp; giải mã dựa vào

biến đổi Fourier trên trường hữu hạn; dùng các hệ tổng kiểm tra theo phương pháp

giải mã ngưỡng.

16

Các mạch lập mã và giải mã cho mã cyclic thường là các mạch nhân hoặc

mạch chia bằng các bộ ghi kết hợp với mạch cộng nhị phân.

Ưu điểm của mã cyclic [7]:

- Có cấu trúc tường minh nên dễ thực hiện về mặt kĩ thuật. Thiết bị mã hóa và giải

mã đơn giản nhờ sử dụng tính chất dịch vòng của từ mã.

- Có nhiều phương pháp giải mã hiệu quả.

- Có thể xây dựng bộ mã có khả năng sửa lỗi với số lượng tùy ý.

Do có những ưu điểm nổi bật như trên mà mã cyclic được sử dụng trong nhiều

thủ tục truyền tin thực tế [7]. Một trong các loại mã hay được sử dụng trong các

kênh thông thường hiện nay là mã cyclic-RC với các đa thức sinh có bậc khác nhau

từ RC-4 đến RC-32 [74].

Nhược điểm của mã cyclic [1], [7]: Do tính hạn chế về cấu trúc nên số các bộ

mã xây dựng được trên một phân hoạch vành bị hạn chế bởi với một số giá trị của

có rất ít các Ideal. Đặc biệt, với vành đa thức có hai chu trình chỉ

có thể xây dựng được hai bộ mã cyclic tầm thường là mã và . Với

mỗi bộ mã cyclic thì chỉ có duy nhất một phương án thiết kế mạch mã hoá và giải

mã, hơn nữa tốc độ mã hoá và giải mã chậm, cụ thể là cần phải có đúng nhịp để

tạo ra được bộ mã và giải mã thì cần xung nhịp.

Dựa vào một số giá trị có tính chất đặc biệt, mã cyclic đã tạo được một số

loại mã riêng như mã cyclic Hamming, mã BCH, mã tựa cyclic,… [7].

1.3.2. Một số mã tuyến tính khác

Mã cyclic Hamming

Mã Hamming biểu diễn dưới dạng đa thức được gọi là mã cyclic Hamming

[7]. Các bộ mã này có các đa thức sinh là các đa thức nguyên thủy, một phần tử

nguyên thủy bất kì có thể là nghiệm của đa thức mã. Trong thực tế, nếu mã cyclic

Hamming biểu diễn dưới dạng các phần tử 𝛼 là nghiệm trên trường hữu hạn thì ma

trận kiểm tra 𝐻 có thể xây dựng trên trường hữu hạn tương ứng. Mặc dù mã

17

Hamming là một mã hoàn thiện đạt đến giới hạn Hamming nhưng nhược điểm của

nó là chỉ sửa được một lỗi.

Mã BCH

Mã BCH là một bộ mã được đề cập tới nhiều do có được những ưu điểm sau [7]: Có

thể tạo ra các bộ mã có độ dài mã 𝑛 cũng như tốc độ mã 𝑅 = 𝑘/𝑛 đa dạng, phong

phú; Là loại mã tuyến tính rất hiệu quả; Có thuật toán giải mã đại số tổng quát.

Với mã BCH tổng quát, ta có hệ:

Trong đó:

- 𝑞: cơ số của bộ mã

- 𝑚: là một số nguyên nào đó

- 𝛿: là khoảng cách mã theo theo thiết kế (định trước).

Để giải mã cho mã BCH, cần phải giải quyết được hai vấn đề chính:

- Xác định được vị trí bit sai.

- Xác định được giá trị của bit sai.

Trường hợp mã BCH nhị phân, ta có:

Để giải mã trong trường hợp BCH nhị phân thì chỉ cần xác định được vị trí bit

sai là đủ. Để giải quyết được hai vấn đề trên cho việc thực hiện giải mã thì trình tự

giải mã cho mã BCH thường bao gồm các bước chính sau:

- Tính syndrome (lập hệ các tổng kiểm tra cho từ mã thu được), lập hàm đối

xứng cơ sở dựa trên các vị trí sai.

- Tính các số định vị sai.

- Tính giá trị của biên độ sai.

Ngoài các nhược điểm chung như mã cyclic, mã BCH còn có nhược điểm nữa

là việc xác định các đa thức sinh tạo mã rất khó khăn, vì theo định nghĩa, mã

18

BCH muốn sửa được sai thì đa thức sinh của nó phải là bội số chung nhỏ nhất của

các đa thức có nghiệm liên tiếp là , với là số nguyên tố có bậc ).

Với mỗi giá trị khác nhau của thì các đa thức chứa nghiệm lại khác nhau, dẫn

đến việc tìm đa thức sinh rất khó.

Mã tựa cylic (Quasi cyclic)

Mã tựa cylic là một biến thể của mã cyclic, được nghiên cứu đầu tiên bởi

Townsend R.L vào năm 1967 [75]. Theo Townsend và Weldon, mã khối tuyến tính

kích thước và được gọi là mã tựa cyclic nếu dịch vòng từ

mã đi ký hiệu thì có thể thu được từ mã khác.

Những năm gần đây, cùng với sự tiến bộ của công nghệ chế tạo vật liệu bán

dẫn, các nhà khoa học tiếp tục nghiên cứu và phát triển các mã tựa cyclic có hướng

tiếp cận với xu thế nghiên cứu hiện tại của thế giới, trong đó nổi bật là mã quasi

cyclic LDPC [56], [67], [68].

Với đặc điểm bất biến với phép quay nên mã tựa cyclic có thể dễ dàng thực

hiện trong việc lập các mạch mã hóa và giải mã. Hầu hết các công trình nghiên cứu

về mã tựa cyclic đều chưa đưa ra được một phương pháp tổng quát nào để tạo ra

được mã tựa cyclic tối ưu mà chỉ là công bố các kết quả cụ thể tìm được.

1.3.3. Một số tiêu chuẩn đánh giá mã tuyến tính

Mã cyclic là một mã tuyến tính có đặc điểm chung nổi bật là khả năng

lựa chọn mã khá phong phú, tuy nhiên để có thể thực hiện việc lựa chọn các bộ mã

tốt thỏa mãn được định lý mã hóa thứ hai của Shanon, các nhà nghiên cứu về mã

sửa lỗi đã xây dựng một bộ các tiêu chuẩn giới hạn để xác định và lựa chọn các bộ

mã tốt, trong đó phổ biến là ba giới hạn cơ bản là: Griesmer, Plotkin, Hamming [7],

[35]. Như vậy, tiêu chí xây dựng mã cyclic tốt gắn liền với việc đánh giá bộ mã tiến

tới một trong số các giới hạn này.

Giới hạn Griesmer

Với mã tuyến tính nhị phân, giới hạn Griesmer được xây dựng theo công thức:

19

(1.13)

Trong đó là độ dài của từ mã, là số dấu thông tin trong từ mã và là

khoảng cực tiểu của từ mã.

Giới hạn Griesmer được sử dụng trong trường hợp cố định khoảng cách cực

tiểu và số dấu thông tin , với yêu cầu tìm độ dài từ mã là nhỏ nhất.

Trường hợp tổng quát đối với mã tuyến tính phân, ta có công thức của giới

hạn Griesmer:

Giới hạn Plotkin

Với mã tuyến tính nhị phân, giới hạn Plotkin được xây dựng theo công thức:

(1.14)

Giới hạn Plotkin được xây dựng trong trường hợp cố định độ dài từ mã và

dấu thông tin, yêu cầu tìm giá trị lớn nhất của khoảng cách cực tiểu .

Trường hợp tổng quát đối với mã tuyến tính phân, giới hạn Plotkin được xây

dựng theo công thức:

Giới hạn Hamming

Với mã tuyến tính nhị phân, giới hạn Hamming được xây dựng theo công thức:

(1.15)

Giới hạn Hamming được xây dựng trong trường hợp cố định độ dài từ mã

và số lượng sai có thể sửa được cho trước, xác định độ thừa của từ mã là

nhỏ nhất (tương đương với việc xác định số dấu thông tin lớn nhất).

Mã đạt được giới hạn Hamming được gọi là mã hoàn thiện.

1.4. PHÂN HOẠCH VÀNH ĐA THỨC VÀ MÃ CYCLIC CỤC BỘ

1.4.1. Nhóm nhân cyclic

20

Định nghĩa 1.13: Nhóm nhân cyclic (CMG-Cyclic Multiplicate Group) trong

vành đa thức là tập hợp các phần tử bằng lũy thừa của một phần tử gọi là phần tử

sinh. Trong vành đa thức có nhiều nhóm nhân mỗi nhóm nhân có thể gồm nhiều

nhóm nhân cyclic, số nhóm nhân bằng số các lũy đẳng có thể có trong vành [6].

(1.16)

Trong đó:

là nhóm nhân cyclic.

là phần tử sinh (đa thức sinh).

là cấp của nhóm nhân, cũng chính là cấp của phần tử sinh . Cấp

của nhóm là tổng số các phần tử của nhóm.

Phần tử đơn vị của nhóm chính là một lũy đẳng có cấp bằng 1.

1.4.1.1. Nhóm nhân cyclic đơn vị

Định nghĩa 1.14: Nhóm nhân cyclic đơn vị là một nhóm nhân bao gồm mọi

đơn thức có trong vành và nó có cấp là . Ký hiệu là [7].

Hay nhóm nhân cyclic đơn vị là nhóm nhân cyclic có phần tử sinh là x.

(1.17)

1.4.1.2. Nhóm nhân cyclic với phần tử sinh

Định nghĩa 1.15: Nhóm nhân cyclic với phần tử sinh là đa thức bao gồm

các phần tử là lũy thừa của phần tử sinh và có thể viết dưới dạng sau [7]:

(1.18)

Trong đó: là cấp của .

1.4.1.3. Nhóm nhân cyclic đối xứng

Bổ đề 1.3: (Nhóm nhân cyclic đối xứng)

21

Xét là một phần tử sinh của nhóm nhân cyclic A, là phần tử sinh

của nhóm nhân cyclic ( được gọi là đối xứng của nhóm nhân A) [19]. Ta có:

(1.19)

Do đó, có thể khẳng định tính chất của nhóm nhân cyclic đối xứng:

(1.20)

Từ việc khảo sát các nhóm nhân đối xứng trong vành đa thức, ta thấy chỉ cần

khảo sát các nhóm nhân trong một nửa vành là ta có thể suy ra kết quả khảo sát cho

toàn bộ vành. Khi coi mỗi nhóm nhân là một mã tương ứng mà ta có thể xây dựng

được trên nó, ta sẽ khảo sát được các mã trên vành.

1.4.1.4. Cấp của đa thức và phân bố đa thức theo cấp trong CMG

a) Khái niệm cấp của đa thức

Định nghĩa 1.16: Cấp của đa thức (ký hiệu ) là số

nguyên dương nhỏ nhất thỏa mãn [59]:

hoặc (1.21)

Trong đó là lũy đẳng trong vành, thỏa mãn .

Như vậy, tạo nên một nhóm cyclic cấp trong nhóm nhân của vành.

Định lý 1.2: Xét vành đa thức với trong đó

là các đa thức bất khả quy, cấp cực đại của một đa thức nào đó được xác định

như sau [19]:

- Nếu lẻ thì .

22

- Nếu chẵn và có dạng thì .

* Nhận xét

Trong đó .

- Trường hợp là số Mersen: thì ta có .

- Vành chứa một số nhóm nhân với các lũy đẳng khác nhau. Số

các nhóm nhân này bằng số các Ideal trong vành. Mỗi nhóm nhân lại bao gồm một

số các nhóm con cyclic có cấp được xác định theo [25] và các ước của giá trị đó.

- Vành với lẻ được gọi là vành cơ sở. Số các Ideal trong một

vành cơ sở được xác định bằng: . Trong đó là số đa thức bất khả quy

trong phân tích nhị thức .

Ví dụ 1.4: Xét các nhóm nhân trong vành

Do nên vành này là vành cơ sở. Số Ideal trong vành này là ,

với là số đa thức bất khả quy trong phân tích nhị thức .

ứng với .

Số Ideal trong vành là . Cấp cực đại của một phần tử trong vành

này là: . Trong đó .

b) Phân bố đa thức theo cấp của đa thức trên CMG

Bổ đề 1.4: Trong một nhóm nhân cyclic cấp , cấp của đa thức thứ bằng

[44]:

(1.22)

Hệ quả: Trong một nhóm nhân cyclic cấp thì:

+ Các đa thức tại vị trí thứ nguyên tố với thì có cấp bằng , nghĩa là

thì có cấp bằng (hay ).

23

+ Số đa thức đạt cấp là . Trong đó: là hàm Phi-

Euler, với ; - các số nguyên tố; - các số nguyên dương.

Ví dụ 1.5: Xét vành đa thức , không xét lũy đẳng nuốt

, có 2 nhóm nhân như sau:

Cả hai nhóm nhân đều có cấp bằng 15. Xem xét CMG :

Có 8 đa thức ở các vị trí 1, 2, 4, 7, 8, 11, 13, 14 có cấp bằng 15 và là cấp cực

đại, phù hợp với hệ quả: .

Các đa thức ở vị trí thứ 3, 6, 9, 12 có cấp bằng 5 (có ). Các

đa thức này cùng với đa thức thứ 15 tạo thành nhóm nhân con {3, 1, 4, 2, 0}.

Các đa thức ở vị trí thứ 5 và 10 có cấp bằng 3 (có ). Các đa

thức này cùng với đa thức thứ 15 tạo thành nhóm nhân con {(023), (014), (0)}.

Bổ đề 1.5: Số các đa thức đạt cấp cực đại trên vành được tính bằng ,

với là cấp cực đại và là số nhóm nhân cyclic đạt cấp cực đại độc lập (nghĩa

là không có nhóm nhân nào là hoán vị của nhóm nhân khác).

Ví dụ 1.6: Xem xét các đa thức trên vành

24

Số đa thức đạt cấp cực đại là . Ta có 16 đa thức đạt cấp cực đại:

(012), (024), (034), (123), (013), (134), (234), (124), (01), (02), (04), (34), (03),

(23), (24), (12), (13).

1.4.2. Cấp số nhân cyclic

Xét vành đa thức với n lẻ, giả sử là số hạng đầu tiên của

cấp số nhân cyclic và là công bội của cấp số nhân.

Định nghĩa 1.17: Cấp số nhân cyclic (CGP - Cyclic Geometic Progressions)

trên vành đa thức là một tập hợp con có dạng sau [6]:

(1.23)

Trong đó: m là số các số hạng khác nhau của cấp số nhân.

là số hạng đầu của cấp số nhân.

là công bội.

Giá trị của m chính là cấp của nhóm nhân sinh với phần tử sinh và lũy

đẳng .

Trong trường hợp chọn số hạng đầu , công bội là thì

(với ) là cấp số nhân cyclic cấp m.

Như vậy, trong vành đa thức , nếu chọn số hạng đầu và hạt

nhân phân hoạch khác nhau thì sẽ tạo ra nhiều kiểu phân hoạch khác nhau của

vành, do đó sẽ có các cấp số nhân cyclic tương ứng để xây dựng được các mã cyclic

có cấu trúc khác nhau với đặc tính sửa lỗi tốt.

1.4.3. Phân hoạch vành đa thức

Quá trình phân hoạch vành đa thức thực chất là quá trình phân chia các phần

tử trong vành đa thức thành các tập (hay các lớp kề) không trùng nhau. Các phần tử

25

sinh của nhóm nhân sinh được gọi là các hạt nhân của phân hoạch. Trong mỗi phân

hoạch vành đa thức, các lớp kề của nó là các cấp số nhân cyclic với cùng một công

bội. Dựa vào các lớp kề này ta có thể tạo được mã LCC và các mã cyclic khác nhau.

Trong vành đa thức, số phân hoạch là khá lớn nên có thể xây dựng được nhiều mã

cyclic có đặc tính sửa lỗi tốt.

1.4.3.1. Các bước phân hoạch vành đa thức

Để phân hoạch một vành đa thức ta thực hiện theo các bước sau đây [13]:

Bước 1: + Chọn một phần tử sinh .

+ Xây dựng nhóm nhân cyclic: ,

trong đó: .

+ ;

Bước 2: + Chọn .

+ Xây dựng cấp số nhân cyclic:

+

Bước 3: Lặp lại bước 2 cho đến khi

Thông số là cấp của (ký hiệu ). Giá trị chỉ có thể bằng

hoặc ước số của .

Do vành đa thức có cấu trúc đối xứng, một nửa vành gồm các phần tử có trọng

số lẻ, một nửa vành gồm các phần tử có trọng số chẵn. Vì vậy, khi phân hoạch ta

chỉ cần tìm các phần tử có trọng số lẻ của vành rồi có thể dễ dàng suy ra các phần

tử chẵn (với lẻ).

Để xây dựng được tất cả các nhóm nhân của vành, ta thực hiện các bước sau:

 Xác định tất cả các đa thức lũy đẳng trong vành, trên cơ sở phân tích các

chu trình.

26

 Chọn các đa thức lũy đẳng có trọng số lẻ để xây dựng các nhóm nhân

chứa chúng.

 Xây dựng tất cả các nhóm nhân cyclic có thể có của vành. Tùy theo từng

lũy đẳng mà mỗi lũy đẳng có thể tham gia trong nhiều nhóm nhân.

 Lấy đối xứng tất cả các nhóm nhân có chứa các phần tử có trọng số lẻ sẽ

tạo được tất cả các nhóm nhân có chứa các phần tử có trọng số chẵn.

1.4.3.2. Phân hoạch vành đa thức suy biến và không suy biến

Quá trình phân hoạch vành đa thức thực chất là quá trình phân chia các phần

tử trong vành thành các tập không trùng nhau. Có nhiều dạng phân hoạch vành đa

thức khác nhau, song dạng phân hoạch chung nhất là phân hoạch suy biến và phân

hoạch không suy biến.

Định nghĩa 1.18: Phân hoạch vành đa thức được gọi là không suy biến nếu

phân hoạch bao gồm tất cả các phần tử khác 0 trong vành đa thức. Ngược lại, phân

hoạch là phân hoạch suy biến [13].

Bổ đề 1.6: Trong một phân hoạch không suy biến tùy ý, số lớp kề trong phân

hoạch xác định theo biểu thức [13]:

(1.24)

* Điều kiện để phân hoạch không suy biến

Định lý 1.3: Điều kiện cần và đủ để phân hoạch vành không suy biến là nhóm

nhân sinh của phân hoạch có lũy đẳng bằng 1 [13].

Bổ đề 1.7: Số kiểu phân hoạch không suy biến khác nhau bằng số các bậc khác

nhau của các phần tử trong vành (trừ các phần tử lũy đẳng có bậc là 1), ký hiệu là

[13].

Số kiểu phân hoạch không suy biến khác nhau chính là số ước khác nhau của

giá trị cấp lớn nhất của phần tử ( [25]).

27

Kết quả tính số kiểu phân hoạch không suy biến của một số vành được

thống kê trong Bảng 1.2.

Bảng 1.2. Số kiểu phân hoạch không suy biến của một số vành

Biểu diễn dưới n dạng tích các số nguyên tố

15 3.5 3 5

7 7 1 7

63 3.3.7 5 9

1023 3.11.31 7 11

4095 3.3.5.7.13 16 13

15 3.5 3 15

Bổ đề 1.8: Số kiểu phân hoạch suy biến (ký hiệu là ) bằng số Ideal trong vành

đa thức [13].

Trong vành đa thức , số Ideal của vành được xây dựng tương

ứng với các đa thức sinh , mỗi Ideal tương ứng với bộ mã cyclic (theo quan

điểm xây dựng mã cyclic cổ điển).

Các đa thức sinh tương ứng với mỗi Ideal được lập từ tổ hợp các đa thức

bất khả quy trong phân tích của nhị thức xn + 1.

, với (1.25)

28

, với | xn + 1, (1.26)

Như vậy, số đa thức sinh g(x) (tương ứng là Ideal) có thể thiết lập được từ t đa

thức bất khả quy trong phân tích nhị thức xn + 1 được xác định: .

Bổ đề 1.9: Tổng số các kiểu phân hoạch có trong một vành đa thức (ký hiệu là

) được xác định bởi biểu thức: [30].

Tổng số các kiểu phân hoạch của một số vành khác nhau

như trong trong Bảng 1.3.

Bảng 1.3. Tổng số các kiểu phân hoạch của vành

Số đa thức bất khả quy

n

M

I

C = M.I

trong phân tích xn + 1

5 2 3 2 6

7 3 1 6 6

9 3 5 6 30

11 2 7 2 14

13 2 16 2 32

15 5 3 30 90

Như vậy, trong một vành đa thức , với mỗi giá trị n thì số kiểu

phân hoạch cũng khá lớn, tạo ra khả năng lớn để chọn dạng mã cyclic có đặc tính

sửa lỗi tốt. Trong mỗi dạng mã đã xác định, tiến hành lựa chọn các mã sửa lỗi tối

ưu để sử dụng.

1.4.3.3. Các kiểu phân hoạch

a) Phân hoạch chuẩn

Phân hoạch chuẩn hay phân hoạch theo – nhóm nhân cyclic đơn vị.

(1.27)

29

Hạt nhân của phân hoạch là , có cấp .

+ Các lớp kề có độ lớn bằng hoặc ước của .

Bổ đề 1.10: Trong phân hoạch chuẩn thì số lớp kề trong phân hoạch được xác

định theo biểu thức [13]:

(1.28)

+ Khi n là số nguyên tố có thể tính chính xác được số lớp kề trong phân hoạch.

Có một lớp kề chỉ chứa , số phần tử còn lại trong các lớp kề là

. Do đó số các lớp kề là: .

b) Phân hoạch cực đại

Định nghĩa 1.19: Phân hoạch được gọi là cực đại nếu nhóm nhân cyclic sinh

có phần tử sinh với cấp lớn nhất, [6].

Bổ đề 1.11: Với , trong phân hoạch cực đại thì số lớp kề

của phân hoạch được xác định theo công thức sau [13]:

(1.29)

c) Phân hoạch cực tiểu

Định nghĩa 1.20: Phân hoạch là cực tiểu (hay phân hoạch tầm thường) là phân

hoạch có phần tử sinh của nhóm nhân cyclic là [6].

Bổ đề 1.12: Trong phân hoạch cực tiểu với phần tử của nhóm nhân , số

lớp kề trong phân hoạch được xác định [13]:

(1.30)

Trong phân hoạch cực tiểu, mỗi lớp kề chỉ gồm 1 phần tử, do vậy số lớp kề

trong phân hoạch này đúng bằng số phần tử khác 0 có trong vành: 2n – 1 .

30

d) Phân hoạch vành thành các cấp số nhân có cùng trọng số

Trong trường hợp và thì cấp số nhân bao gồm các

đa thức có cùng trọng số. Vành đa thức được phân hoạch thành các cấp số nhân với

các phần tử trong mỗi cấp số nhân sẽ có cùng trọng số.

Dạng phân hoạch này chính là phân hoạch không suy biến và phân hoạch theo

nhóm nhân đơn vị.

e) Phân hoạch vành thành các phần tử có cùng tính chẵn lẻ của trọng số

Xét cấp số nhân cyclic có dạng sau:

- Nếu lẻ.

+ Phần tử đầu tiên là đa thức có trọng số lẻ thì tất cả các phần tử của

cấp số nhân đều là đa thức có trọng số lẻ. Vì tích của các đa thức có trọng

số lẻ là một đa thức có trọng số lẻ.

+ Phần tử đầu tiên là đa thức có trọng số chẵn thì tất cả các phần tử

của cấp số nhân đều là đa thức có trọng số chẵn.

Vậy khi lẻ  các lớp kề có các đa thức có trọng số chẵn hoặc lẻ.

- Nếu chẵn, với phần tử đầu tiên là đa thức bất kỳ thì tất cả các

phần tử của cấp số nhân đều là đa thức có trọng số chẵn  phân hoạch suy biến.

Tóm lại, nếu công bội (hạt nhân phân hoạch) là một đa thức có trọng số

lẻ thì các phần tử của mỗi cấp số nhân trong phân hoạch sẽ cùng tính chẵn lẻ về

trọng số.

f) Phân hoạch vành đa thức thành các cấp số nhân theo modulo h(x)

Vành đa thức có thể được phân hoạch thành các cấp số nhân

theo modulo với .

31

Từ phân tích nhị thức

Trong đó, là các đa thức bất khả quy.

Như vậy, là tổ hợp của các sao cho . Tuỳ theo giá

trị mà có số đa thức bất khả quy khác nhau, nên sẽ có số khác nhau. Khi đó,

trên vành sẽ có nhiều phân hoạch ứng với các khác nhau.

Trong trường hợp này phân hoạch vành chỉ gồm phần tử cho nên phân

hoạch sẽ suy biến và vành đa thức bị suy biến thành các vành nhỏ hơn.

1.4.4. Mã cyclic cục bộ trên vành đa thức

1.4.4.1. Khái niệm

Định nghĩa 1.21: Mã cyclic cục bộ là một mã tuyến tính có các dấu mã là một

tập con không trống tuỳ ý các lớp kề trong phân hoạch của vành đa thức theo một

nhóm nhân cyclic [6].

Nhận xét:

 Nếu chỉ chọn 1 lớp kề, khi đó mã LCC trở thành mã cyclic.

 Nếu các lớp kề được chọn có chứa nhóm nhân cyclic đơn vị

thì ta có mã LCC hệ thống.

Tập các trưởng lớp kề tạo mã sẽ mô tả đầy đủ mã LCC.

1.4.4.2. Cách biểu diễn mã cyclic cục bộ

Để có khả năng tạo ra các mã LCC có đặc tính tốt cần phải sử dụng các cấu

trúc đại số phức tạp. Việc xây dựng các mã LCC, sự phức tạp thể hiện ở chỗ: mỗi

từ mã đặc đặt lên nó hai cấu trúc đại số, mỗi từ mã là một phần tử của không gian

con tuyến tính chiều trong không gian chiều. Mặt khác, mỗi từ mã lại là một bộ

phận của vành giao hoán (hoặc ). Vì vậy, ta có thể biểu diễn từ mã LCC

theo các cách khác nhau:

32

a) Biểu diễn theo trưởng lớp kề

Định nghĩa 1.22: Lớp kề là một tập hợp có tối đa phần tử mà giá trị của

chúng được xác định từ phần tử trưởng lớp kề theo một biểu thức toán học (trưởng

lớp kề là phần tử đứng đầu tiên trong một lớp kề). Nếu gọi giá trị của trưởng lớp kề

là thì các phần tử khác trong lớp kề được tính [12]:

(1.31)

Cách biểu diễn này đơn giản, vì khi biểu diễn mã chỉ việc nêu các trưởng lớp

kề tham gia tạo mã và các trưởng lớp kề này được để trong dấu “{}”.

b) Biểu diễn theo ma trận sinh

Mã LCC là mã hệ thống tuyến tính nên có thể mô tả theo ma trận sinh

có hàng và cột.

(1.32)

trong đó: là ma trận đơn vị cấp .

là ma trận kiểm tra.

Biểu diễn theo trưởng lớp kề sẽ đơn giản hơn, song để biết rõ về bộ mã thì cần

phải biết cụ thể các lớp kề tham gia tạo mã, hay nói cách khác là phải biết phân

hoạch vành đa thức tương ứng với giá trị đó.

1.4.4.3. Các lớp mã LCC

a) Mã cyclic cục bộ tự trực giao (OLCC)

Do tính tính chất đơn giản của thiết bị lập mã, giải mã nên các mã OLCC là

một lớp mã quan trọng nhất trong loại mã LCC. Vì vậy việc nghiên cứu cách tạo

mã OLCC và đánh giá hiệu quả của nó là rất quan trọng [2].

Định nghĩa 1.23: Mã OLCC là bộ mã LCC với [2]:

(1.33)

33

Trong đó: dấu thông tin là phần tử của nhóm nhân cyclic cấp .

Các dấu kiểm tra là một tập con không trống nào đó của tất cả các phần tử

trong nhóm kề liên tiếp (từ nhóm kề thứ hai trở đi).

Định lý 1.4: Mã OLCC với sẽ có [2]

. (1.34)

Bổ đề 1.13: Giới hạn trên số tổng kiểm tra trực giao (OCS) của bộ mã OLCC

là [2]:

(1.35)

Nhận xét: Muốn thiết lập một OCS thì chỉ việc lấy tổng của 2 CS tương ứng.

Trong trường hợp mã không phải là mã OLCC thì có thể phải lấy nhiều hơn 2 CS

mới nhận được một OCS. Tuy nhiên, khi lấy càng nhiều CS thì mã xây dựng được

sẽ không tối ưu vì khi đó số OCS lập được ít và do đó d0 sẽ nhỏ.

b) Mã LCC có khả năng trực giao (OALCC)

Mã OALCC là một lớp quan trọng tiếp theo sau mã OLCC [3]. Hệ CS có khả

năng trực giao (OACS) cho một cặp dấu mã. Mạch giải mã của nó phải dùng hai

cấp ngưỡng (hoặc nhiều hơn) mới tìm được dấu cần giải mã, trong khi đó mã OLCC

chỉ cần một cấp ngưỡng.

Định nghĩa 1.24: Mã Cyclic cục bộ có khả năng trực giao là mã LCC

với [3].

Mã OALCC được xây dựng theo nguyên tắc sau:

 k dấu thông tin là k phần tử của nhóm nhân cyclic cấp k.

 Các dấu kiểm tra được lấy là các phần tử ở các lớp kề lẻ liên tiếp.

34

như vậy mỗi giá trị của k có thể lập được bộ mã OALCC.

Định lý 1.5: Mã OALCC với , có [3]:

(1.36)

Từ trước đến nay các nghiên cứu về mã LCC hầu như tập trung vào hai lớp

mã tự trực giao và có khả năng trực giao, ngoài ra còn có thể xây dựng được các

lớp mã được khác tùy thuộc vào việc chọn các lớp kề cyclic tương ứng.

1.5. HƯỚNG NGHIÊN CỨU CỦA LUẬN ÁN VÀ MỘT SỐ KẾT QUẢ

LIÊN QUAN

Trên thế giới, việc nghiên cứu cấu trúc đại số cho các cấu trúc mã hiện nay

vẫn đang được nghiên cứu và hoàn thiện như mã LDPC [32], [55], [66], mã Turbo

[36], [61], [76][75] nhằm mục đích tối ưu hóa các mã kênh, mã truyền tin trong các

mạng thông tin di động thế hệ mới.

Đối với mã cyclic, một số hướng nghiên cứu trên thế giới hiện nay như xem

xét một số giới hạn của mã cyclic [37], [46], [81], [82], đánh giá giới hạn Schaub

trên vành đa thức với [52], đánh giá trọng số của mã cyclic

[34], [39], [41], [42], [78], đề xuất phương án giải mã tối ưu cho mã cyclic [50],

[58]. Một số nghiên cứu đề cập đến mã tuyến tính và đặc tính của các đa thức sinh

dựa trên cấu trúc trellis [33], [49], [66], xây dựng mã cyclic [44], [53], [60], [79],

đề xuất xây dựng mã khác dựa trên mã cyclic [71], [80]. Hiện nay các công trình

nghiên cứu đề cập đến mã cyclic đều đang tìm thêm các ứng dụng dựa trên tính chất

dịch vòng của mã cyclic ví dụ tính các chuỗi nhảy tần tối ưu trong thông tin di động

[43], xác định việc đồng bộ các cell trong hệ thống WCDMA (Wideband Code

Division Multiple Access) [21], [72], xây dựng cấu trúc đại số mới để hình thành

mã quasi cyclic [57], hay quasi cyclic LDPC [56], [67], [68], hiện thực hóa các mã

cyclic trên các cấu kiện phần cứng logic khả trình FPGA (Field Programable Gate

35

Array) [48]. Theo lý thuyết mã cyclic cổ điển, từ cấu trúc đại số của Berlekamp

[45], đến các nghiên cứu hoàn chỉnh về xây dựng mã cyclic theo Ideal được

MacWilliams, F.J., và Sloane, N.J.A [59] tổng kết, việc nghiên cứu các mã cyclic

còn chưa chặt chẽ và mang tính tổng thể đối với vành đa thức với các

giá trị bất kỳ.

Ở Việt Nam, vào năm 1987, hai nhà khoa học Nguyễn Bình và Nguyễn Xuân

Quỳnh đã bắt đầu một hướng nghiên cứu mới về mã sửa lỗi đó là mã cyclic cục bộ

(LCC) [6], [12], [14], [24], [25]. Các nghiên cứu đầu tiên về mã LCC được thực

hiện trênh vành số . Tuy nhiên chỉ tới khi được xây dựng trên các vành đa thức

vào năm 1996 các nghiên cứu về mã LCC mới được thúc đẩy mạnh mẽ và thu được

nhiều kết quả khích lệ [6]. Các công trình có liên quan đến vấn đề này đều kèm theo

các nghiên cứu tường minh về các phương pháp giải mã ngưỡng theo các hệ tổng

kiểm tra trực giao [5], [11].

Về cơ bản, mã LCC cũng có được các ưu điểm của mã cyclic, ngoài ra mã

LCC còn có nhiều ưu điểm nổi trội khác [6], [18]:

 Số lượng mã LCC tìm được rất nhiều. Với cùng một thông số có

rất nhiều bộ mã LCC khác nhau (tương ứng có nhiều mạch mã hóa và

giải mã khác nhau).

 Có thể xây dựng được các bộ mã trên mọi vành đa thức, tức là mã LCC

có thể có các độ dài khác nhau kể cả độ dài chẵn, điều này thì mã cyclic

không thể thực hiện được.

 Về mặt kỹ thuật thì các mạch mã hóa và giải mã LCC có thể thực hiện

được tương tự các mã cyclic. Đặc biệt nếu sử dụng phương pháp giải mã

ngưỡng thì bộ giải mã rất đơn giản.

 Tốc độ lập mã LCC nhanh, mã LCC có thể tạo các khối kiểm tra (độ dài

một khối tối đa là ) một cách song song. Với mã cyclic thì phải

36

dùng đến nhịp, còn với một số mã LCC cùng với tham số thì chỉ

cần nhịp là tạo xong mã.

Đánh giá các công trình nghiên cứu trong nước hiện nay về mã cyclic và cyclic

cục bộ, ngoài các kết quả của các tác giả Nguyễn Bình, Nguyễn Xuân Quỳnh và

Nguyễn Thế Truyện về các mã LCC xây dựng trên các vành số [11], [16], các kết

quả còn lại đều đề cập đến việc xây dựng các mã LCC trên các vành đa thức. Các

kết quả này hiện đã hoàn thiện một số nghiên cứu như xây dựng được các dạng phân

hoạch khác nhau và các kiểu phân hoạch khác nhau của vành đa thức làm cơ sở để

xây dựng các mã LCC của tác giả Vũ Việt [18], [29]. Một số kết quả của tác giả Lê

Đình Thích đã chứng minh các mã cyclic là một lớp con trong các mã cyclic cục bộ

[12], [24]. Một số nghiên cứu đã xây dựng được một số lớp mã cyclic cục bộ tự trực

giao và mã cyclic cục bộ có khả năng trực giao [2], [3]. Trong một số nghiên cứu

của mình, tác giả Trần Đức Sự cũng đưa ra phương thức xây dựng được một số mã

cyclic cục bộ đối xứng và tự đối xứng trên các lớp kề (các cấp số nhân) đối xứng và

tự đối xứng [26], [27], [28]. Gần đây, tác giả Ngô Đức Thiện cũng đã đề xuất các

phương thức mới tạo ra được các bộ mã cyclic cục bộ dựa trên các phân hoạch hỗn

hợp [13], [30], tác giả Đặng Hoài Bắc nghiên cứu về các mã cyclic và cyclic cục bộ

trên vành đa thức có 2 lớp kề cyclic [1], [19], [20]. Một số cấu trúc đại số mới cũng

được ứng dụng để xây dựng hệ mật đa biểu trên một số loại vành đặc biệt [22], [23],

ứng dụng cấp số nhân cyclic và mã cyclic trong việc xây dựng các hệ mật, hàm băm

trong nghiên cứu của tác giả Hồ Quang Bửu và Ngô Đức Thiện [9], [14]. Một số

hướng nghiên cứu đang được thực hiện và có kết quả bước đầu của tác giả Nguyễn

Văn Trung nghiên cứu về các mã đối ngẫu của mã cyclic [15], tác giả Vương Đức

Hạnh nghiên cứu ứng dụng mã cyclic cục bộ xây dựng các mã khối Turbo [10].

Các công trình này đều có ý nghĩa về mặt lý thuyết, đạt được những thành tựu

và kết quả nhất định. Tuy nhiên, lý thuyết và thực nghiệm về mã cyclic cục bộ đặc

biệt là mã cyclic nói chung vẫn chưa hoàn thiện và có một số hướng nghiên cứu mở

về các mã cyclic được đề cập như sau:

37

- Về việc kiến thiết mã cyclic, gồm các nội dung như: Nghiên cứu mối quan

hệ giữa nhóm nhân, cấp số nhân cyclic với mã cyclic truyền thống; Xác

định cấp của đa thức và kiến thiết nhóm nhân cyclic có cấp cực đại trong

vành đa thức.

- Về phương án hiện thực bộ mã gồm các nội dung như: Phương pháp xây

dựng thiết bị mã hóa và giải mã cyclic xây dựng trên nhóm nhân cyclic

bằng các cấu kiện phần cứng khả trình FPGA; Nghiên cứu các phương pháp

giải mã khác (ngoài giải mã ngưỡng).

- Về đánh giá mã cyclic, gồm các nội dung như: Xác định mã tốt (đạt hoặc

gần đạt một trong số các tiêu chuẩn Griesmer, Plotkin, Hamming); Xây

dựng ma trận kiểm tra của mã LCC; Nghiên cứu mã LCC trên miền tần số;

Nghiên cứu phổ trọng số của mã LCC; Xây dựng tiêu chí chọn các lớp kề

để tạo các mã tốt.

- Về cấu trúc mã cyclic, gồm các nội dung như: Nghiên cứu các mã ghép xây

dựng từ mã LCC; Nghiên cứu mã LCC trên trường mở rộng ;

Nghiên cứu mã LCC theo quan điểm lý thuyết hệ thống.

Trên cơ sở tìm hiểu và đánh giá các kết quả nghiên cứu, nghiên cứu sinh xác

định tập trung luận án nghiên cứu về các hướng: kiến thiết mã cyclic, lựa chọn và

đánh giá mã cyclic tốt xây dựng trên vành đa thức, hiện thực các bộ mã cyclic trên

cấu kiện phần cứng. Cụ thể là nghiên cứu nghiên cứu việc kiến thiết nhóm nhân

cyclic có cấp cực đại, mối quan hệ của mã cyclic cục bộ (mã cyclic xây dựng từ

nhóm nhân cyclic, cấp số nhân cyclic trên vành đa thức) với mã cyclic truyền thông,

phương pháp lựa chọn mã cyclic tốt, ứng dụng của nhóm nhân cyclic, cấp số nhân

cyclic trong mã sửa lỗi, mật mã, và khả năng thực hiện các bộ mã cyclic trên cấu

kiện phần cứng.

1.6. KẾT LUẬN CHƯƠNG

Trong chương này, Luận án đã trình bày cơ sở lý thuyết cho các nội dung

nghiên cứu của luận án bao gồm các nội dung về vành đa thức, vành đa thức có hai

38

lớp kề cyclic, tính chất đa thức, chu trình, luỹ đẳng, mã tuyến tính, mã cyclic truyền

thống, một số tiêu chuẩn đánh giá mã tuyến tính, nhóm nhân cyclic, cấp số nhân

cyclic, phân hoạch vành đa thức và mã cyclic cục bộ. Ở cuối chương trình bày

hướng nghiên của của luận án và thảo luận một số kết quả nghiên cứu liên quan từ

đó làm rõ hơn nội dung nghiên cứu của luận án.

39

CHƯƠNG 2: CẤP CỦA ĐA THỨC VÀ QUAN HỆ GIỮA

NHÓM NHÂN CYCLIC, CẤP SỐ NHÂN CYCLIC VỚI MÃ

CYCLIC TRUYỀN THỐNG

Trong chương này, Luận án trình bày các kết quả nghiên cứu về phương pháp

kiến thiết nhóm nhân cyclic có cấp cực đại, mối quan hệ giữa nhóm nhân cyclic,

cấp số nhân cyclic với mã cyclic truyền thống góp phần bổ sung và hoàn thiện lý

thuyết về mã cyclic. Nội dung chương 2 được bố cục gồm ba phần và kết luận

chương. Phần đầu tiên giới thiệu chung về nội dung của chương và các vấn đề liên

quan. Nội dung tiếp theo trình bày một số kết quả nghiên cứu mới của tác giả về

cấp của đa thức. Phần cuối cùng trình bày kết quả nghiên cứu mới về mối quan hệ

giữa nhóm nhân cyclic, cấp số nhân cyclic với mã cyclic truyền thống qua đó chứng

minh được sự tương đương giữa nhóm nhân và cấp số nhân cyclic với mã cyclic

truyền thống.

2.1. GIỚI THIỆU

Trong chương 1 đã đề cập đến việc xây dựng mã cyclic được thực hiện dựa

trên phân hoạch vành đa thức, trong đó các phần tử sinh của nhóm nhân sinh được

coi là hạt nhân của phân hoạch. Trong số các kiểu phân hoạch thì phân hoạch cực

đại (tức là dựa trên phần tử sinh/nhóm nhân sinh có cấp cực đại) có vai trò quan

trọng nhất và có nhiều ứng dụng mã sửa lỗi, mật mã [6], [9], [13]. Như vậy, có thể

thấy rằng việc tìm phần tử sinh của nhóm nhân sinh có cấp cực đại hay nói cách

khác là tìm đa thức có cấp cực đại (phần tử sinh của nhóm nhân cyclic cấp cực đại)

trên vành đa thức có nhiều ý nghĩa trong mã sửa lỗi, mật mã. Tuy nhiên, đến thời

điểm hiện tại, chưa có công trình nào tập trung nghiên cứu và có kết quả đầy đủ về

cấp của đa thức, về kiến thiết nhóm nhân cyclic có cấp cực đại trên vành đa thức.

Đặc biệt cũng chưa có tiêu chuẩn toán học nào cho việc tìm kiếm đa thức có cấp

cực đại trên vành. Chính điều này gợi mở cho nghiên cứu sinh hướng nghiên cứu

40

về xác định cấp của đa thức, từ đó kiến thiết nhóm nhân cyclic có cấp cực đại trên

vành đa thức. Các kết quả nghiên cứu sẽ được trình bày chi tiết trong mục 2.2.

Cũng trên cơ sở nghiên cứu về mã cyclic cục bộ (xây dựng từ nhóm nhân

cyclic, cấp số nhân cyclic trên vành đa thức), nghiên cứu sinh thấy rằng có thể tồn

tại mối quan hệ giữa mã cyclic cục bộ (hay nhóm nhân cyclic, cấp số nhân cyclic)

với mã cyclic truyền thống và việc chứng minh bằng toán học, khảo sát đánh giá

mối quan hệ này hiện nay vẫn là một vấn đề mở cần được nghiên cứu. Việc chứng

minh được mối quan hệ này sẽ góp phần làm sáng tỏ mối liên hệ và tạo ra cầu nối

giữa các cách xây dựng mã cyclic khác nhau. Một kết quả nghiên cứu về vấn đề này

được trình bày trong mục 2.3.

Khi giải quyết được hai nội dung lý thuyết quan trọng như đề cập sẽ góp thêm

sở cứ cho việc đề xuất một sơ đồ phân loại mã tuyến tính dựa trên cấu trúc đại số

và mã cyclic cục bộ.

2.2. XÁC ĐỊNH CẤP CỦA ĐA THỨC

Việc xác định được cấp của đa thức, đặc biệt cấp cực đại của đa thức có ý

nghĩa quan trọng trong lý thuyết mã hóa. Nếu đa thức là phần tử sinh của nhóm

nhân cyclic thì cấp đa thức chính là cấp của nhóm nhân, khi đa thức được sử dụng

làm khóa trong các hệ mật thì ở góc độ nào đó cấp đa thức giúp xác định một phần

độ phức tạp của hệ mật. Ngoài ra, xác định được cấp đa thức giúp chỉ ra bộ mã

cyclic tối ưu, hoặc hạ bậc của đa thức để tạo ra bộ mã cyclic tối ưu xây dựng trên

vành nhỏ hơn (chi tiết về ứng dụng này được trình bày trong chương 3). Như vậy,

trong nội dung nghiên cứu này luận án sẽ đề xuất một số phương pháp và thuật toán

xác định cấp của đa thức trên vành, đồng thời cũng đề xuất đánh giá về xác suất

chọn đa thức có cấp cực đại trên vành đa thức có hai lớp kề cyclic.

2.2.1. Đề xuất phương pháp xác định cấp của tích các đa thức

Hiện tại vẫn chưa có phương pháp chung để xác định cấp của đa thức trên

vành, do đó trong nội dung này luận án tập trung trình bày một hướng nghiên cứu

41

xác định cấp của đa thức thông qua việc tìm cấp của đa thức là tích của các đa thức

thông qua việc đề xuất và chứng minh đầy đủ hai bổ đề liên quan.

Bổ đề 2.1: Xét đa thức ; trong đó là các đa thức có cấp

tương ứng là . Khi đó, cấp của thỏa mãn công thức sau [J5]:

, với là bội số chung nhỏ nhất (2.1)

Chứng minh:

Đặt , ( - bội số chung nhỏ nhất).

Ta có , do đó:

Theo tính chất về cấp của đa thức, ta có: .

Bổ đề 2.2: Xét . Cấp của đa thức

xác định như sau [J5]:

1) Trường hợp 1: Xét hai đa thức và (hoặc

), cấp thì

(2.2)

2) Trường hợp 2: Nếu và , với và

không đối xứng nhau, cấp tương ứng của , là , thì

(2.3)

Đặc biệt nếu , thì

(2.4)

Chứng minh:

1) Xét hai trường hợp:

42

+ Trường hợp 1: và

Ta có:

Áp dụng bổ đề 1.4 [C5], suy ra:

+ Trường hợp 2: và

Ta có:

Áp dụng bổ đề 1.2 [J5], có:

- Nếu chẵn thì , ta có:

- Nếu lẻ thì , áp dụng bổ đề

1.3 ta có:

. Như vậy, trong cả hai trường hợp thì

2) Xét hai đa thức thuộc hai nhóm nhân cyclic độc lập và không đối xứng

Giả sử hay

hay

Trong đó: , là các lũy đẳng.

Gọi là lũy đẳng của CMG với đa thức sinh .

43

Ta có: , với và .

Xảy ra các trường hợp như sau:

+ Khi và , có

+ Khi và , có:

+ Khi và , có:

+ Khi và , có: . Khi đó:

 Nếu cả đều có trọng số lẻ thì lũy đẳng

và ta có:

 Nếu ít nhất 1 trong 2 đa thức có trọng số chẵn thì lũy đẳng của nó

tương ứng là . Ta có:

 Nếu ít nhất 1 trong 2 đa thức có trọng số chẵn thì lũy đẳng nguyên

thủy của nó tương ứng là . Khi đó:

Như vậy, ta có:

Trường hợp thì .

Bổ đề đã được chứng minh.

Hệ quả:

- Cấp của đa thức là tích hai đa thức bất kỳ thuộc cùng CMG hoặc hai CMG

đối xứng không lớn hơn cấp cực đại của CMG đó.

44

- Có thể tìm đa thức cấp cực đại bằng việc lấy tích của các đa thức có cấp là

nguyên tố cùng nhau.

Ví dụ 2.1: Trên vành đa thức , xét 2 nhóm nhân:

Các đa thức , , đều có

cấp là 15.

Ta có: và là

hai đa thức có cấp bằng nhau và bằng 3.

Trong khi đó, nếu áp dụng bổ đề 1.4, cấp của hai đa thức này được tính theo

công thức: (với 1 và 4 là các số mũ hay vị trí tương ứng trong

nhóm nhân cyclic của các đa thức hạng tích).

Ví dụ 2.2: Trên vành đa thức , xét 2 nhóm nhân:

, ; và ,

Ta có: là đa thức có cấp bằng 63

(theo kết quả thuật toán 2.2). Kết quả này thỏa mãn bổ đề 2.2.

Từ đây, có thể khẳng định rằng dễ dàng xây dựng đa thức đạt cấp cực đại từ

các đa thức có cấp nhỏ hơn và nguyên tố cùng nhau, từ đa thức kết quả có thể xây

dựng được nhóm nhân cyclic tương ứng trên vành đa thức. Vì vậy, bổ đề 2.2 góp

phần khẳng định và mở ra một hướng kiết thiết mới trong việc xây dựng các nhóm

nhân đạt cấp cực đại trên vành đa thức. Kết quả này được công bố trong [J5].

45

Việc xác định phần tử có cấp cực đại còn là cơ sở để tạo các CMG hoặc CGP

có cấp cực đại. Các CMG và CGP có cấp cực đại được sử dụng trong một số ứng

dụng khác nhau như: tạo dãy giả ngẫu nhiên [1], tạo các khóa cho một số hệ mật

khóa đối xứng [9].

2.2.2. Đề xuất phương pháp xác định cấp của nhị thức

Nhị thức là một đa thức có biểu diễn khá đơn giản và có khả năng đạt cực đại

trên vành đa thức. Việc nghiên cứu cấp của nhị thức có thể tìm ra nhị thức đạt cấp

cực đại hoặc làm cơ sở tìm đa thức có cấp phù hợp để nhân với nhị thức tạo thành

đa thức có cấp cực đại. Trong phần này, luận án trình bày kết quả nghiên cứu về

cấp của nhị thức thông qua đề xuất và chứng minh hoàn chỉnh một định lý, một bổ

đề, đồng thời đề xuất một thuật toán xác định cấp nhị thức.

Định lý 2.1: Cấp của nhị thức trên được xác định [J3]:

(2.5)

Chứng minh:

Xét chu trình

Với , ta có: . Rõ ràng .

Xét nhóm nhân cyclic sinh bởi , nhóm này chứa tất cả các nhị thức

với . Như vậy mọi phần tử đều có cùng cấp và chúng có cấp là ước của

với là số nguyên dương nhỏ nhất thỏa mãn .

Bổ đề 2.3: Trên vành đa thức [J5].

+ Các nhị thức với là các nhị thức có cấp lớn nhất.

+ Nhị thức là phần tử có cấp cực đại trong số tất cả các nhị thức.

Chứng minh:

46

1) Xác định nhị thức đạt cấp lớn nhất

Xét chu trình

. Với ,

, với . Với ,

, với . Với ,

, đi đến kết luận . Ta có:

Mở rộng hơn, đặt (với và ).

Ta có , cho nên

.

Do , vì vậy , mà nên

suy ra .

Như vậy có thể đi đến kết luận: , với . Nói cách khác, là chu

trình có lực lượng lớn nhất.

2) Xác định cấp nhị thức .

Ta có phân tích , với , trong đó

và .

Như vậy, nhị thức trong phân tích trên luôn là một phần tử của CMG

với phần tử sinh là nhị thức . Áp dụng bổ đề 1.4, có thể xác định cấp của nhị

thức như sau: . Rõ ràng , với (cấp

của CMG có phần tử sinh ).

47

Xét trường hợp , với , và . Áp

dụng bổ đề 2.2, có: và , trong đó

. Như vậy, .

Có thể đi đến kết luận: nhị thức là phần tử có cấp cực đại trong số tất

cả các nhị thức trên vành đa thức.

Bổ đề đã được chứng minh.

Ví dụ 2.3: Xét vành đa thức .

+ Với : và .

Các nhị thức: , có cấp bằng 3.

+ Với : và .

+ Với : và .

Nhị thức cấp bằng 1: .

Nhị thức cấp bằng 3: , .

Nhị thức cấp bằng 7: , , .

Nhị thức cấp bằng 9: , , , , ,

Nhị thức cấp bằng 21: , , , , ,

Việc xác định các phần tử có cấp cực đại trên vành đa thức là một vấn đề quan

trọng khi xây dựng nhóm nhân cyclic. Bổ đề 2.3 đã đề xuất và chứng minh tường

minh về cấp của nhị thức trên vành, tiếp theo nghiên cứu sinh sẽ trình bày thuật toán

xác định cấp của nhị thức trên một số vành đa thức được xây dựng để kiểm

nghiệm lại kết quả bổ đề đã được chứng minh về lý thuyết như trình bày ở trên.

Thuật toán xác định cấp của nhị thức (Thuật toán 2.1) [J3]

48

VÀO: Giá trị n

RA: Cấp của nhị thức trên vành đa thức ( )

1. Chuyển nhị thức về mảng có kích thước bằng giá trị của vành.

2. Đặt và

3. Lấy

4. So sánh với :

4.1. Nếu thì và lặp lại bước 2

4.2. Nếu , dừng chương trình và in kết quả

Thực hiện thuật toán xác định cấp của nhị thức , thu được kết quả khảo

sát trên một số vành đa thức như trong Bảng 2.1.

Bảng 2.1. Bảng khảo sát cấp của đa thức trên một số vành đa thức [J3]

Cấp tương ứng của Cấp cực đại của đa Giá trị Ghi chú nhị thức thức trên vành trên vành

3 Đạt cực đại 3 3

15 Đạt cực đại 15 5

7 Đạt cực đại 7 7

63 Đạt cực đại 63 9

1023 Không đạt cực đại 341 11

4095 Không đạt cực đại 819 13

15 Đạt cực đại 15 15

255 Đạt cực đại 255 17

262143 Không đạt cực đại 9709 19

63 Đạt cực đại 63 21

2047 Đạt cực đại 2047 23

1048575 Không đạt cực đại 25575 25

262143 Không đạt cực đại 13797 27

49

Cấp tương ứng của Cấp cực đại của đa Giá trị Ghi chú nhị thức thức trên vành trên vành

3 Đạt cực đại 3 3

15 Đạt cực đại 15 5

7 Đạt cực đại 7 7

63 Đạt cực đại 63 9

341 Không đạt cực đại 1023 11

819 Không đạt cực đại 4095 13

15 Đạt cực đại 15 15

255 Đạt cực đại 255 17

9709 262143 Không đạt cực đại 19

63 63 Đạt cực đại 21

475107 268435455 Không đạt cực đại 29

31 Đạt cực đại 31 31

1023 Đạt cực đại 1023 33

4095 Đạt cực đại 4095 35

3233097 68719476735 Không đạt cực đại 37

4095 Đạt cực đại 4095 39

41943 1048575 Không đạt cực đại 41

5461 16383 Không đạt cực đại 43

4095 4095 Đạt cực đại 45

Từ kết quả khảo sát này, ta có thể nhận thấy rằng nhị thức có khả năng đạt cấp

cực đại trên khá nhiều vành, do đó có thể lựa chọn làm phần tử sinh để tạo ra nhóm nhân

đạt cấp cực đại trên những vành mà nhị thức này đạt cấp cực đại. Ngoài ra, ta có một

phương pháp để tìm đa thức có cấp cực đại từ nhị thức , bằng cách chọn

đa thức (với điều kiện ).

Ví dụ 2.4: Xét vành đa thức .

.

+ Với , có

50

Xét đa thức có cấp bằng 3 là . Áp dụng bổ đề 2.2,

ta có . Tích của hai đa thức đã cho là

đa thức cũng có cấp bằng 1023.

.

+ Với , có

Xét đa thức có cấp bằng 5 . Áp dụng bổ đề 2.2, ta có

. So sánh với kết quả thu được từ thuật

toán 2.3 (thuật toán cải tiến), tích của hai đa thức đã cho là đa thức

có cấp bằng 4095.

Vậy với các trường hợp như khảo sát ở trên thì nhị thức

không đạt cấp cực đại.

Khảo sát với các giá trị lớn hơn mà cấp của nhị thức không đạt giá

trị cực đại của vành, So sánh với kết quả thu được từ thuật toán tìm cấp của các đa

thức trên vành, nhận thấy đa thức là tích của nhị thức với các đa thức có cấp nguyên

tố với nhị thức có thể đạt cấp cực đại trong vành.

Theo bổ đề 2.2 và bổ đề 2.3, cùng với kết quả khảo sát cấp của nhị thức

trong Bảng 2.1, suy ra có thể tìm đa thức đạt cấp cực đại trên một số vành đa thức

mà nhị thức không đạt cấp cực đại bằng cách lấy nhị thức

nhân với các đa thức có cấp nguyên tố với cấp của nó (lưu ý là đa thức được nhân

không thuộc cùng một nhóm nhân cyclic hoặc nhóm nhân cyclic đối xứng với nhị

thức ).

Kết quả nghiên cứu này góp phần khẳng định rằng việc xác định đa thức đạt

cấp cực đại trở nên khá dễ dàng, do đó bài toán quan trọng trong việc xây dựng các

CMG có cấp cực đại đã có một hướng giải quyết mới và hiệu quả. Kết quả này được

công bố trong [J3], [J5].

51

2.2.3. Đề xuất thuật toán cải tiến để tìm và liệt kê cấp của đa thức trên

vành

Như đã trình bày, việc tìm cấp của tất cả các đa thức trên vành là một vấn đề

quan trọng trong tính toán và xác định các đa thức đạt cấp cực đại trên vành là cơ

sở cho việc kiến thiết các nhóm nhân cyclic và các mã cyclic tương ứng. Hai phương

pháp được trình bày ở trên đã góp phần hoàn thiện lý thuyết và mở ra hướng tiếp

cận mới. Trong phần này nghiên cứu sinh tiếp tục trình bày một phương pháp thực

nghiệm đó là đề xuất thuật toán tìm và liệt kê cấp của đa thức trên vành.

Có đa thức trên một vành (nếu không tính lũy đẳng nuốt, một vành có

đa thức), việc tìm và liệt kê cấp của tất cả các đa thức trên mỗi vành thường

được thực hiện theo phương pháp vét cạn (vừa phức tạp và mất nhiều thời gian). Để

minh chứng nhận định này, phần tiếp theo nghiên cứu sinh sẽ trình bày thuật toán

vét cạn và một thuật toán cải tiến do nghiên cứu sinh đề xuất. Từ kết quả thu được

sẽ tiến hành so sánh, đánh giá về các thuật toán này. Chú ý, trong đó các thuật toán

thì mỗi đa thức được biểu diễn bằng một số nguyên, các hệ số của đa thức là biểu

diễn của số nguyên đó trong hệ nhị phân, ví dụ .

2.2.3.1. Thuật toán vét cạn (Thuật toán 2.2)

a) Ý tưởng: Thử lần lượt tất cả các đa thức có trên vành đa thức và kiểm tra

cấp của từng đa thức.

b) Độ phức tạp thuật toán: , với O(n) là chi phí kiểm tra

mỗi đa thức có n hệ số.

c) Thuật toán 2.2:

Thuật toán vét cạn (Thuật toán 2.2) [25]

INPUT: integer n.

OUTPUT: order of all polynomials.

For k from 1 to ( ) do:

52

1. Convert k to polynomial

2. Set

3. Set

4. While(1) do:

4.1. Set

4.2.

then and break the loop 4.3. If

End while

End for

Chạy chương trình phần mềm ứng với thuật toán này cho thấy hạn chế về mặt

thời gian và khả năng tính toán đối với các vành lớn.

2.2.3.2. Thuật toán cải tiến (Thuật toán 2.3)

Do thuật toán 2.2 sử dụng phương pháp vét cạn để xác định cấp của tất cả các

phần tử trên mỗi vành đa thức nên độ phức tạp thuật toán là khá cao, đặc biệt là đòi

hỏi thời gian tính toán lớn và kém hiệu quả đối với các vành lớn. Trên cơ sở các

tính chất của nhóm nhân cyclic, đa thức và cấp của đa thức đã trình bày trong

chương 1, phần dưới đây sẽ áp dụng kết hợp một số bổ đề liên quan để xây dựng

một thuật toán cải tiến với mong muốn làm giảm độ phức tạp thuật toán, giảm thời

gian tính toán trong việc tìm cấp của các đa thức trong vành.

a) Ý tưởng chủ đạo của thuật toán là sử dụng các kết quả nghiên cứu về cấp

đa thức và CMG đối xứng đã được trình bày trong chương 1, trong đó dựa trên ba

vấn đề cụ thể sau:

(1) Tìm cấp cực đại của đa thức trên vành bằng việc kiểm tra chiều dài cực

đại của các lớp kề cyclic (hay chính là các chu trình). Độ phức tạp O(n).

53

(2) Áp dụng bổ đề 1.4. Tìm các CMG, các đa thức ở vị trí thứ với cấp

, trong đó là cấp của đa thức sinh của CMG.

(3) Áp dụng bổ đề 1.3 để tìm các CMG đối xứng.

b) Độ phức tạp thuật toán: , N là số nhóm nhân cyclic

đạt cấp cực đại độc lập (theo bổ đề 1.5 [C5]).

c) Thuật toán 2.3:

Thuật toán cải tiến do nghiên cứu sinh đề xuất (Thuật toán 2.3) [C5]

INPUT: integer n.

OUTPUT: order of all polynomials.

1. Set all

2. For k from 1 to ( ) do

2.1. If then continue

2.2. Convert k to polynomial

2.3. Set

2.4. Set

2.5. While(1) do

2.5.1. Set

2.5.2. Convert inversely to an integer M

2.5.3.

2.5.3. If then break the loop

End while

2.6. For i from 1 to count

2.6.1.

2.6.2.

54

2.6.3. , and

2.6.4. and

End for

End for

2.2.3.3. Đánh giá các thuật toán

Sử dụng cấu hình máy tính CPU Core i5 3230M, 2.6 Ghz, RAM 12 Gb, thời

gian tính toán cho mỗi thuật toán với ( lẻ) được liệt kê trong Bảng 2.2.

Bảng 2.2. So sánh thời gian tính toán của hai thuật toán

Nội dung Số lượng đa thức Cấp cực đại Thuật toán vét cạn (s) Thuật toán cải tiến (s) N

5 31 15 0.686 0.78

7 127 7 0.671 0.79

9 511 63 0.718 0.81

11 2047 1023 6.349 0.83

13 8191 4095 77.439 0.89

15 32767 15 3.182 1.03

17 131071 255 170.446 1.4

19 524287 262143 x 2.2

21 2097151 63 x 12

23 838807 2047 x 28

25 27 33554431 1048575 262143 134217726 x x 152 716

Trong đó “x” thể hiện thời gian tính toán lớn hơn 48 giờ hoặc tràn bộ nhớ.

10000000

Thuật toán vét cạn

1000000

Thuật toán cải tiến

100000

55

i

10000

1000

100

) s ( n ệ h c ự h t n a i g i

ờ h T

10

1

5

7

9

11

13

15

17

19

21

23

25

27

N

Hình 2.1. Biểu đồ so sánh thời gian tính toán của hai thuật toán

Từ kết quả tổng hợp ở Bảng 2.2 và Hình 2.1, có thể khẳng định thuật toán cải

tiến do nghiên cứu sinh đề xuất đã rút ngắn thời gian tính toán một cách đáng kể so

với thuật toán vét cạn, đặc biệt khi vành lớn hơn, thuật toán cải tiến có thời gian tính

toán ngắn hơn đến hàng nghìn lần và thực hiện được với những vành lớn mà thuật

toán vét cạn không thể thực hiện trong cùng một cấu hình máy tính.

Việc xác định cấp của đa thức trên vành có vai trò quan trọng trong việc xác

định cấp của CMG – một thành phần quan trọng để kiến trúc mã LCC [6]. Có một

số nghiên cứu và kết quả tính toán về vấn đề này, tuy nhiên các tác giả chủ yếu sử

dụng thuật toán vét cạn với các hạn chế về năng lực, thời gian tính toán và dung

lượng bộ nhớ [19], [25]. Luận án đã đề xuất thuật toán cải tiến giúp giảm độ phức

tạp và thời gian tính toán trong khi độ chính xác là tương đương với thuật toán vét

cạn, đặc biệt thuật toán có thể thực hiện trên các vành lớn mà thuật toán vét cạn

không thể thực hiện trong cùng một điều kiện về cấu hình máy tính. Một số kết quả

của việc xác định phân bố đa thức theo cấp trên vành được đưa ra trong Phụ lục 1.

Từ kết quả trong Phụ lục 1, có thể thấy rằng số đa thức đạt cấp cực đại chiếm

một tỉ lệ lớn trong tổng số đa thức trên vành, do đó thuận lợi cho việc tìm chọn phần

tử đạt cấp cực đại để kiến thiết các mã cyclic. Danh sách đa thức phân bố theo cấp

56

trong các vành (với ) đã được tính toán đến giá trị ,

danh sách này sẽ giúp ích cho việc kiểm tra, đánh giá các kết quả nghiên cứu, khảo

sát. Kết quả nghiên cứu này được công bố trong [C5].

2.2.4. Xác suất chọn đa thức có cấp cực đại

Vành đa thức có hai lớp kề cyclic là một kiểu vành đa thức đặc biệt trong lý

thuyết mã. Các nhóm nhân có cấp cực đại trong các vành đa thức này là cơ sở để

xây dựng các mã cylic cục bộ có ứng dụng hiệu quả trong viễn thông và trong lĩnh

vực bảo mật [20]. Trong phần này, nghiên cứu sinh tập trung tìm hiểu khả năng xây

dựng các CMG có cấp cực đại trên các vành đa thức có hai lớp kề cyclic.

Áp dụng Định nghĩa 1.6, Định nghĩa 1.16 và Định lý 1.2 có thể xác định cấp

cực đại của đa thức trên vành đa thức có hai lớp kề cyclic như sau:

(2.6)

Ví dụ 2.5: Xét vành đa thức có hai lớp kề cyclic , từ kết quả phụ

lục 1 vành này có 2046 đa thức phân bổ các đa thức theo cấp như sau:

Cấp của đa thức Số lượng đa thức theo cấp

2 1

4 3

20 11

60 31

40 33

120 93

600 341

1200 1023

Với , nhóm nhân có cấp cực đại .

Để xây dựng được các CMG ta phải tìm được các phần tử sinh (hay phần tử

nguyên thủy). Có thể đánh giá khả năng tìm phần tử sinh đạt cấp cực đại thông qua

tính xác suất chọn theo công thức sau:

57

Số phần tử đạt cấp cực

đại (2.7)

Số phần tử được lựa chọn

trong đó, là số phần tử trong nhóm nhân cyclic đơn vị

: tổng số phần tử trừ số phần tử là đơn thức và lũy đẳng nuốt.

là hàm Phi-Euler có ý nghĩa và cách tính như đã được đề cập tại

bổ đề 2.2.

Bảng 2.3 chỉ ra kết quả khảo sát và đánh giá xác suất tìm cấp cực đại của phần

tử trên vành đa thức có hai lớp kề cyclic của 35 giá trị đầu tiên của .

Bảng 2.3. Kết quả khảo sát 35 giá trị

TT

TT

n

p(n)

n

p(n)

5

1

19

179

~0,5

~0,663

11

2

20

181

~0,586

~0,315

13

3

21

197

~0,42

~0,492

19

4

22

211

~0,534

~0,377

29

5

23

227

~0,494

~0,664

37

6

24

269

~0,378

~0,531

53

7

25

293

~0,529

~0,530

59

8

26

317

~0,65

~0,532

61

9

27

347

~0,35

~0,665

67

10

28

349

~0,53

~0,445

83

11

29

389

~0,658

~0,531

101

12

30

419

~0,45

~0,629

107

13

31

421

~0,66

~0,318

131

14

32

443

~0,575

~0,665

139

15

33

461

~0,559

~0,444

163

16

34

467

~0,530

~0,665

173

17

35

491

~0,529

~0,557

173

18

35

491

~0,529

~0,557

58

Từ bảng này, có thể nhận thấy xác suất thấp nhất là 0,31 và phần lớn xác suất

là trên 0,5 nên khả năng chọn ra phần tử nguyên thủy (không phải đơn thức) thông

thường đạt trên 50%.

Chúng ta luôn mong muốn tìm ra được tiêu chuẩn lựa chọn phần tử sinh (phần

tử nguyên thủy), nhưng trong khi chưa có được tiêu chuẩn lựa chọn phần tử sinh thì

việc đánh giá xác suất lựa chọn phần tử sinh như kết quả ở trên khẳng định rằng khả

năng lựa chọn phần tử nguyên thủy thông thường đạt trên 50%. Kết quả nghiên cứu

này được công bố trong [J2].

Từ phân tích, các số nguyên tố n thỏa mãn vành đa thức có hai lớp kề cyclic

có thể được sử dụng để xây dựng các nhóm nhân cyclic đạt cấp cực đại cho việc tạo

ra các chuỗi giả ngẫu nhiên.

2.3. QUAN HỆ GIỮA NHÓM NHÂN CYCLIC, CẤP SỐ NHÂN

CYCLIC VỚI MÃ CYCLIC TRUYỀN THỐNG

Một số nghiên cứu trước đây đã dự đoán hoặc cho ví dụ trong một số trường

hợp riêng về một quan hệ giữa nhóm nhân cyclic, cấp số nhân cyclic với mã cyclic

truyền thống [6], [13], tuy nhiên cho đến hiện tại vẫn chưa có công trình nghiên cứu

nào đưa ra chứng minh toán học chặt chẽ cho trường hợp tổng quát về mối quan hệ

này. Trong nội dung này của luận án, nghiên cứu sinh sẽ đề xuất một cách chứng

minh toán học chặt chẽ cho mối quan hệ này trong trường hợp tổng quát và kết quả

khảo sát thực nghiệm trên công cụ mô phỏng mối quan hệ giữa nhóm nhân cyclic,

cấp số nhân cyclic trên vành đa thức với mã cyclic truyền thống.

2.3.1. Cơ sở toán học

2.3.1.1. Quan hệ giữa phép nhân và ánh xạ tuyến tính trên

Định nghĩa 2.1: Với mỗi đa thức ký hiệu ánh xạ được

xác định như sau: , thì và được gọi là ánh xạ nhân với [38].

59

Định lý 2.2: Với mọi thì là ánh xạ tuyến tính với ma trận

được xác định theo đẳng thức sau:

(2.8)

Chứng minh:

Giả sử , ta có:

(2.9)

Như vậy hệ số của trong đa thức tích chính là và theo công

thức tích vô hướng của hai vector thì:

(2.10)

Với

Lập ma trận thì từ (2.10) và phép nhân vector

với ma trận [38], ta có:

(2.11)

Đẳng thức (2.11) có nghĩa hay là ánh xạ tuyến tính.

Mặt khác các phần tử trên dòng thứ của ma trận lần lượt sẽ là các tọa độ

thứ của các vector , đó là và đây chính là

tọa độ của vector và điều này đã chứng minh đẳng thức (2.8). Như vậy, định lý

đã được chứng minh.

60

Hệ quả: Nếu là ma trận của thì với mọi ta có là ma trận của .

2.3.1.2. Một tính chất của tích vô hướng

Tính chất 2.1: Với mọi và mọi ma

trận vuông cấp , ta có:

(2.12)

Chứng minh:

Ký hiệu là vector cột thứ của ma trận , ta có

.

Do đó

(2.13)

Tương tự, kí hiệu là vector cột thứ của ma trận và do đó là vector

dòng thứ của ma trận , ta có:

Do đó:

(2.14)

Từ đẳng thức (2.13) và (2.14) suy ra (2.12), tính chất được chứng minh.

2.3.2. Sự tương đương của nhóm nhân cyclic, cấp số nhân cyclic với mã

cyclic truyền thống

61

Trong mục 2.3.1 các kết quả được trình bày cho một trường tổng quát, còn

tại mục này ta quay lại với trường vì khái niệm về mã cyclic cục bộ được

phát biểu trên với lẻ và do đó, cần đến một số tính chất mà vành

này có được. Dễ thấy, trong các phép toán cộng và trừ là như nhau nên

có thể sử dụng thay cho . Nhóm nhân cyclic và mã cyclic cục bộ trên

với lẻ, có tính chất sau:

Tính chất 2.2: Với mọi với lẻ thì là

ước của [25]. Hơn thế nữa, ta có:

(2.15)

Trên cơ sở đó, ta có bổ đề về tính cyclic của mã cyclic cục bộ được tạo từ một

cấp số nhân cyclic (hay lớp kề cyclic) như sau.

Bổ đề 2.4: Mã cyclic cục bộ xây dựng từ một cấp số nhân cyclic cũng là một

mã cyclic truyền thống. Mã cyclic này được xây dựng trên vành đa thức có bậc là

cấp của cấp số nhân cyclic trong phân hoạch của vành đa thức xây dựng cấp số nhân

cyclic [J4].

Chứng minh:

Theo định nghĩa của mã cyclic cục bộ xây dựng từ cấp số nhân cyclic với

nhóm nhân cyclic và đa thức là không gian tuyến tính

con của với sinh bởi vector dòng của ma trận cấp

dưới đây:

(2.16)

Ký hiệu các vector dòng của lần lượt là .

62

Vậy mỗi từ của mã này là một tổ hợp tuyến tính của vector nói trên. Giả sử

là một từ mã với ( ) nếu kí hiệu , ta có:

(2.17)

Chọn:

(2.18)

Với là ma trận của phép nhân với trong

Xét từ mã , ta có:

Áp dụng (2.12), ta có:

Áp dụng (2.18), ta có:

Áp dụng (2.15), ta có:

(2.19)

Từ (2.17) và (2.19) cho thấy chính là dịch vòng đi một vị trí. Điều này

có nghĩa là mã cyclic cục bộ xây dựng trên chính là mã cyclic và đây là điều cần

chứng minh.

Chứng minh này đưa đến khẳng định rằng mã cyclic cục bộ xây dựng từ cấp

số nhân cyclic là một mã cyclic, từ đây có thể mở ra một phương án mới để xây

dựng các lớp mã cyclic. Với phương án tiếp cận này, việc xây dựng các mã cyclic

(nhất là với các mã cyclic ở trên các vành lớn) trở nên đơn giản hơn, ta chỉ cần khảo

sát các cấp số nhân cyclic trên các vành nhỏ cũng có thể xây dựng được các mã

63

cyclic ở trên các vành lớn, trong khi đối với các vành lớn (số mũ lớn), việc phân

tích giá trị ra thành các đa thức bất khả quy cũng là một trở ngại cho việc

xây dựng mã cyclic.

2.3.3. Thuật toán xác định nhóm nhân cyclic tương đương mã cyclic

truyền thống

Một số nghiên cứu bước đầu về mã cyclic cục bộ đã chỉ ra rằng giữa nhóm

nhân cyclic và mã cyclic truyền thống có mối quan hệ với nhau [6]. Từ kết quả bổ

đề 2.4, khi thì cấp số nhân cyclic tương đương nhóm nhân cyclic, do đó có

thể nhận định rằng mã LCC xây dựng trên nhóm nhân cyclic cũng tương đương với

mã cyclic truyền thống. Phần này sẽ trình bày kết quả khảo sát và đánh giá về sự

tương đương giữa mã LCC xây dựng trên nhóm nhân cyclic và mã cyclic truyền

thống.

Do vành đa thức có cấu trúc đối xứng, một nửa vành gồm các phần tử có trọng

số lẻ, một nửa vành có trọng số chẵn nên khi phân hoạch chỉ cần tìm các phần tử có

trọng số lẻ và suy ra các phần tử có trọng số chẵn với cấu trúc tương tự.

Để xây dựng được tất cả các nhóm nhân của vành, ta thực hiện các bước như

trình bày trong mục 1.4.3.1.

Đối với mã cyclic, việc khảo sát và lựa chọn để tìm ra một bộ mã tối ưu trên

các vành đa thức có giá trị lớn là rất phức tạp và khó khăn, bằng việc chứng minh

được sự tương đương giữa các mã cyclic cục bộ được xây dựng trên các vành có

giá trị nhỏ tương đương với các mã cyclic truyền thống được xây dựng trên các

vành có giá trị lớn là một kết quả quan trọng giúp cho việc khảo sát và tìm kiếm

các bộ mã cyclic tối ưu được dễ dàng hơn.

Để chứng minh cho sự tương đương này, ta xét một số ví dụ.

Ví dụ 2.6:

Trong vành , đa thức được phân tích dưới dạng tích của ba

đa thức bất khả quy: .

64

Xét trên vành , xây dựng nhóm nhân:

Lập ma trận mã từ các phần tử của nhóm nhân , ta được ma trận mã:

(2.20)

Sử dụng phương pháp Gauss-Jordan biến đổi ma trận mã trên về ma trận hệ

thống [38], [40], ta được ma trận:

(2.21)

Loại bỏ các hàng bằng 0 của ma trận ta được ma trận hệ thống tương đương:

(2.22)

Dễ dàng nhận thấy là nhóm nhân được xây dựng trên phân hoạch vành đa

thức theo modulo hay trên

vành .

65

Theo tính chất của mã cyclic cục bộ được xây dựng theo modulo , ta luôn

tìm được mã cyclic truyền thống với đa thức sinh tương đương với

mã cyclic cục bộ xây dựng theo modulo .

Ta có:

(2.23)

Trên vành , xét mã cyclic truyền thống được xây dựng theo đa thức sinh

Theo định nghĩa ma trận sinh của mã cyclic truyền thống được thiết lập:

(2.24)

Sử dụng phương pháp Gauss-Jordan biến đổi về ma trận hệ thống [38], [40],

ta được:

(2.25)

Từ (2.22) và (2.25) suy ra hay hai phương pháp thực hiện cùng đi đến

kết quả là ma trận mã hệ thống bằng nhau.

Ví dụ 2.7:

Trong vành , đa thức được phân tích dưới dạng tích của ba

. đa thức bất khả quy:

66

Xét trên vành , xây dựng nhóm nhân:

(2.26)

Tiến hành tương tự, lập ma trận và chuyển ma trận lập được về ma trận hệ

thống, loại bỏ các hàng có kết quả bằng ta được ma trận mã hệ thống:

(2.27)

Biểu thức (2.27) là ma trận mã cyclic cục bộ được xây dựng theo CMG

trên vành .

Có thể nhận thấy là ma trận sinh đối với mã cyclic cục bộ được sinh bởi

CMG xây dựng theo modulo trên

vành .

Xét vành đa thức , phân tích đa thức dưới dạng tích của

các đa thức bất khả quy:

Xét , biến đổi ta có:

(2.28)

Theo định nghĩa ma trận sinh của mã cyclic truyền thống được thiết lập:

67

(2.29)

(2.30)

Dùng công thức Gauss-Jordan biến đổi về ma trận hệ thống, ta có ma trận

tương đương:

2.31)

Biểu thức (2.31) là ma trận mã cyclic truyền thống xây dựng theo đa thức sinh

trên vành .

Từ (2.27) và (2.31) suy ra , hay mã cyclic cục bộ xây dựng theo nhóm

nhân cyclic trên vành và mã cyclic truyền thống

xây dựng theo đa thức sinh trên vành cùng đi đến kết quả là ma

trận mã hệ thống bằng nhau.

68

Nhận xét: Qua hai ví dụ trên, có thể nhận thấy rằng hai phương pháp xây dựng

mã khác nhau là xây dựng mã cyclic cục bộ theo nhóm nhân cyclic trên phân hoạch

vành đa thức và xây dựng mã cyclic truyền thống theo đa thức sinh đều dẫn đến một

ma trận mã hệ thống như nhau.

Tiếp tục quá trình khảo sát và đánh giá ta xây dựng được thuật toán 2.4 để xác

định mã cyclic truyền thống tương đương với các nhóm nhân cyclic trên phân hoạch

vành đa thức.

Kết quả khảo sát với các toàn bộ nhóm nhân khác nhau trên các vành đa thức

khác nhau (các giá trị lẻ ) cũng cho kết quả tương tự, có nghĩa là có mã

cyclic cục bộ được xây dựng theo nhóm nhân trên phân hoạch vành đa thức sẽ tương

đương với một mã cyclic truyền thống được xây dựng trên vành là cấp của nhóm

nhân trên vành đa thức đã xét. Kết quả nghiên cứu được công bố trong [C3].

Thuật toán xác định mã cyclic truyền thống tương đương (Thuật toán 2.4)

VÀO:

RA: Mã cyclic truyền thống tương đương với CMG

Bước 1:

- Xây dựng .

- Đặt

- Lập ma trận mã LCC từ các phần tử của CMG .

- Sử dụng thuật toán Gauss-Jordan để chuyển ma trận lập được ở trên về

dạng ma trận hệ thống.

- Loại bỏ các hàng bằng (nếu có) của ma trận mã, được ma trận sinh .

Bước 2:

- Chuyển đổi ma trận sinh về dạng các phần tử trong nhóm

- Đặt

69

- Tính

- Từ đa thức sinh , được ma trận mã tương đương với mã cyclic

truyền thống.

Một số kết quả khảo sát trên các vành đa thức với các giá trị khác nhau được

trình bày trong Phụ lục 3.

2.4. MỘT CÁCH PHÂN LOẠI MÃ TUYẾN TÍNH MỚI

Từ quan điểm xây dựng mã cyclic và LCC, ta thấy có thể thực hiện việc mô

tả mã cyclic theo quan điểm xây dựng các mã LCC dựa trên phân hoạch vành đa

thức [6], [18].

 Theo quan điểm xây dựng mã cyclic: mã cyclic là một Ideal của vành đa

thức; trong đó mỗi từ mã là một phần tử của Ideal đó trên vành đa thức.

 Theo quan điểm xây dựng mã LCC mỗi dấu mã là một phần tử của Ideal;

toàn bộ từ mã là một bộ phận của vành gồm phần tử xác định của Ideal.

Như vậy, có thể dùng lý thuyết xây dựng các đa thức sinh của mã cyclic để

tạo các trưởng lớp kề cho các mã LCC. Với quan điểm đó, lớp kề được xây dựng

theo cách sau đây sẽ tạo nên một mã cyclic [6], [7]:

- Đa thức sinh là ước của .

- Bậc của đa thức sinh bằng .

- Sử dụng dấu thông tin giả khi tạo lớp kề này; tức là cho trước:

.

Như vậy, có thể nói rằng mã cyclic là một lớp kề đặc biệt của mã LCC.

Hình 2.2. So sánh các mã cyclic và mã cyclic cục bộ

70

Có thể hình dung mã cyclic như một chuỗi hạt có tốc độ xử lý khác nhau như trong

Hình 2.2. Mã cyclic truyền thống có nhịp dịch của từ mã là , mã cyclic xây dựng từ mã

LCC (hay CMG) có nhịp dịch khác , còn mã LCC chứa các từ mã khác nhau, mỗi từ

mã có thể có nhịp dịch khác nhau.

Theo quan điểm trên thì các mã cyclic xây dựng trên các Ideal là một trường

hợp đặc biệt của mã LCC. Có thể xem xét:

Nhóm nhân cyclic: ; và

Nhóm nhân là một mã cyclic (n,k) có đa thức sinh với:

và là đa thức đối ngẫu của .

Nhận xét:

 Với mã cyclic truyền thống, ma trận sinh của mã được xây dựng từ

phương trình đồng dư sau:

(2.32)

 Với mã cyclic xây dựng từ mã LCC, ma trận sinh của mã được xây

dựng từ phương trình đồng dư sau:

(2.33)

71

Chú ý: (1.29) là phương trình tạo các hàng của

(1.30) là phương trình tạo các cột của

Một ưu điểm của mã LCC đó là có thể xây dựng được mã trên mọi vành đa

thức ( bất kỳ), với các vành chẵn ta có thể xây dựng mã LCC trên các lớp các phần

tử liên hợp [23], trong khi mã cyclic thì chỉ có thể xây dựng trên các vành lẻ. Có

những vành không thể xây dựng được mã cyclic tốt (ví dụ với các vành có hai lớp

kề cyclic thì khó tìm được mã cyclic tốt), nhưng ngược lại ta có thể tìm được nhiều

mã LCC trên các vành này [1]. Việc xây dựng mã LCC trên phân hoạch vành đa

thức sẽ cho nhiều bộ mã hơn và trên cơ sở đó cũng có nhiều bộ mã tốt hơn với các

độ dài từ mã khác nhau.

Mặc dù đã có một số cách phân loại mã tuyến tính nhưng chỉ dựa vào cấu trúc

đại số mà không đề cập tới mã LCC, vì vậy các kiểu phân loại đã có là chưa toàn

diện. Nghiên cứu các mã cyclic cục bộ trong mối quan hệ với mã cyclic nói riêng

và trong hệ thống mã tuyến tính xây dựng trên các cấu trúc đại số nói chung, với

các dạng phân hoạch khác nhau có thể cho ra các loại mã sửa lỗi khác nhau, hệ

thống phân loại các mã tuyến tính xây dựng trên các cấu trúc đại số được trình bày

trong Hình 2.3.

Hình 2.3. Sơ đồ phân loại mã tuyến tính dựa trên cấu trúc đại số và mã LCC [C4]

72

Trước hết, về mặt cấu trúc thì mã tuyến tính được chia thành hai loại là có cấu

trúc và không có cấu trúc. Trong đó mã không có cấu trúc là cơ sở xây dựng mã

tuyến tính ngẫu nhiên có khả năng đạt được được giới hạn của Shanon nhưng việc

thực hiện mạch mã hoá và giải mã gặp nhiều khó khăn chính vì tính không có cấu

trúc nên ít được nghiên cứu. Các loại mã tuyến tính có cấu trúc được tập trung

nghiên cứu chủ yếu dựa trên cấu trúc vành số (tiêu biểu như mã cyclic AN [74]),

vành ma trận (tiêu biểu như mã Goppa, mã BCH [74], [77]) và vành đa thức (tiêu

biểu là các loại mã cyclic). Hướng xây dựng mã tuyến tính có cấu trúc dựa trên vành

đa thức lại gồm các loại như: vành chẵn ( chẵn) hướng đến xây dựng

73

các mã cyclic dựa trên vành các lớp liên hợp (trong số này tiêu biểu là LCC), vành

lẻ ( lẻ) thường tập trung nghiên cứu các mã cyclic truyền thống, đối với vành bất

kỳ (hay bất kỳ) thì một hướng nghiên cứu được đề xuất đó là thực hiện phân hoạch

vành theo nhóm nhân cyclic với một số kết quả được công bố trong [6], [12], [13],

[30].

Trên cơ sở tham khảo và đánh giá kết quả nghiên cứu về mã cyclic cục bộ,

một số mã khối tuyến tính đề cập ở trên và cấu trúc đại số, nghiên cứu sinh đề xuất

sơ đồ thể hiện mối quan hệ như Hình 2.3 với trọng tâm tập trung vào mã cyclic và

cyclic cục bộ. Các nội dung đã nghiên cứu trong hai mục trên bao gồm: phương

pháp kiến thiết nhóm nhân cyclic có cấp cực đại (liên quan trực tiếp đến phân hoạch

cực đại, nội dung được đánh giá là quan trọng nhất trong phân hoạch vành đa thức

theo CMG); mối quan hệ giữa nhóm nhân cyclic, cấp số nhân cyclic với mã cyclic

truyền thống (liên quan đến mối quan hệ giữa mã cyclic nhịp đa thức, nhịp và mã

cyclic truyền thống), ngoài ra có thể chỉ ra được những mối quan hệ khác mà chưa

thể hiện trong sơ đồ. Hai kết quả chính đó góp phần hoàn thiện lý thuyết và thực

nghiệm về các nội dung được tô sẫm trong Hình 2.3.

2.5. KẾT LUẬN CHƯƠNG

Chương 2 của luận án đã trình bày các nội dung liên quan đến nhóm nhân và

cấp số nhân cyclic trên vành đa thức. Trên cơ sở đó, Luận án cũng đã trình bày kết

quả nghiên cứu mới đóng góp vào việc bổ sung, hoàn thiện lý thuyết về mã cyclic.

Các kết quả nghiên cứu này được công bố trong các công trình [J2], [J3], [J4], [J5],

[C3], [C5] và tập trung vào hai nội dung chính:

1) Kiến thiết các nhóm nhân cyclic trên vành đa thức thông qua việc đề xuất

phương pháp xác định cấp của đa thức và đa thức đạt cấp cực đại, đồng thời chứng

minh hoàn chỉnh một số bổ đề quan trọng, cụ thể: (a) Đề xuất phương pháp xác

định cấp của đa thức là tích các đa thức trên vành đa thức với đóng góp quan trọng

nhất là đề xuất và chứng minh hoàn chỉnh bổ đề 2.2 cùng các hệ quả của bổ đề góp

phần khẳng định một hướng tiếp cận mới để xây dựng đa thức có cấp cực đại trên

74

vành đa thức [J5]; (b) Đề xuất phương pháp xác định cấp của nhị thức trên vành đa

thức với đóng góp là đề xuất và chứng minh hoàn chỉnh bổ đề 2.3 cùng với bảng

2.3 khảo sát cấp của dẫn tới một hướng xây dựng đa thức có cấp cực đại trên

vành đa thức bằng việc chọn nhị thức hoặc đa thức là tích của đa thức có

cấp nguyên tố với cấp của nhị thức [J3], [J5]; (c) Đề xuất thuật toán cải tiến

để tìm và liệt kê cấp của đa thức trên vành đa thức, thuật toán 2.3 được đề xuất giúp

giảm độ phức tạp và thời gian tính toán, cũng như giúp thu được các kết quả về cấp

của đa thức trên các vành lớn [C5]; (d) Đánh giá xác suất tìm phần tử có cấp cực

đại trên vành đa thức có hai lớp kề cyclic cho thấy xác suất lựa chọn phần tử sinh

là khá cao (hầu hết là trên 50%) [J2].

2) Chứng minh sự tương đương giữa các nhóm nhân cyclic, cấp số nhân cyclic

với mã cyclic truyền thống, với việc trình bày một chứng minh về lý thuyết (bổ đề

2.4), xây dựng thuật toán (thuật toán 2.4), sau đó tiến hành khảo sát, đánh giá và

xây dựng được một phụ lục minh chứng cho tính tương đương này [J4], [C3]. Kết

quả này góp phần mở ra một hướng tiếp cận mới là xây dựng mã cyclic truyền thống

từ các nhóm nhân, cấp số nhân cyclic trên vành đa thức có bậc bằng cấp của nhóm

nhân/cấp số nhân cyclic, điều này đặc biệt có ý nghĩa khi các nhóm nhân cyclic trên

các vành nhỏ có thể được dùng để kiến thiết nên mã cyclic truyền thống trên các

vành lớn hơn và bằng cấp của nhóm nhân cyclic.

Ở cuối chương, Luận án đã trình bày và thảo luận một sơ đồ phân loại các mã

tuyến tính dựa trên cấu trúc đại số và mã cyclic cục bộ, góp phần khẳng định mối

quan hệ giữa mã cyclic với mã cyclic cục bộ và đánh giá vai trò của mã cyclic cục

bộ trong hệ thống mã tuyến tính, mã sửa lỗi [C4].

75

CHƯƠNG 3: ỨNG DỤNG NHÓM NHÂN CYCLIC, CẤP SỐ

NHÂN CYCLIC

Các kết quả đạt được trong chương 2 về việc kiến thiết nhóm nhân cyclic, mối

quan hệ tương đương của mã cyclic xây dựng từ nhóm nhân cyclic, cấp số nhân

cyclic với mã cyclic truyền thống là cơ sở để tiếp tục nghiên cứu ứng dụng của nhóm

nhân cyclic, cấp số nhân cyclic trong mã sửa lỗi và mật mã. Một đặc điểm nổi bật

của các bộ mã cyclic xây dựng từ nhóm nhân cyclic, cấp số nhân cyclic là có độ dài

thay đổi được có khả năng ứng dụng trong LTE, mã mạng [62], [64], [73]. Trong

số các nhóm nhân trên một vành đa thức thì nhóm nhân có cấp cực đại có độ ngẫu

nhiên của các phần tử cao nhất do đó có thể sử dụng các phần tử có cấp cao nhất

trong nhóm nhân cấp cực đại trên vành đa thức làm khóa cho một số hệ mật.

Trong chương này, luận án sẽ trình bày phương pháp xây dựng mã cyclic với

các nội dung liên quan đến việc xây dựng khối mã hoá và giải mã, tiếp đến luận án

trình bày đề xuất một số mã cyclic tốt xây dựng từ nhóm nhân cyclic, cấp số nhân

cyclic gồm phương pháp tìm mã cyclic tốt, danh sách một số mã cyclic tốt được đề

xuất, mô phỏng đánh giá bộ mã, đồng thời đề xuất phương pháp xây dựng bộ mã

trên cấu kiện phần cứng FPGA. Nội dung cuối, luận án trình bày ứng dụng của

nhóm nhân cyclic và cấp số nhân cyclic trong việc làm khóa một số hệ mật.

3.1. PHƯƠNG PHÁP XÂY DỰNG MÃ CYCLIC

3.1.1. Phương pháp xây dựng mạch mã hóa

Bước đầu tiên để xây dựng mã LCC là xác định tất cả các nhóm nhân cyclic

có thể có trên một vành đa thức, các nhóm nhân này có cấp khác nhau. Sau đó cần

xác định nhóm nhân sinh (hay lớp kề sinh của vành) để xây dựng các cấp số nhân.

Nó tương ứng với việc xác định đa thức sinh trong mã cyclic cổ điển.

Trên cơ sở đã xác định được các nhóm nhân sinh, ta chọn phần tử đầu tiên

nhân với nhóm nhân sinh (lớp kề sinh) sẽ tạo được cấp số nhân cyclic tương đương

76

với lớp kề mới, phần tử sinh của lớp kề (trưởng lớp kề) tương ứng số hạng đầu của

cấp số nhân cyclic. Nếu gắn dấu thông tin cho nhóm nhân sinh, ta sẽ tạo được mã

LCC tương ứng với nhóm nhân đó. Có hai cách chọn nhóm nhân sinh:

+ Cách thứ nhất: Chọn nhóm nhân đơn vị I, các dấu thông tin được gắn vào

nhóm nhân đơn vị I để tạo mã. Việc tạo mã LCC dựa trên cách phân hoạch vành

Hình 3.1. Phân hoạch vành đa thức có nhóm nhân sinh là nhóm nhân đơn vị

trong trường hợp này được mô tả trên Hình 3.1.

+ Cách thứ hai: Chọn nhóm nhân sinh là nhóm nhân cyclic bất kỳ.

Hoàn toàn tương tự cách thứ nhất, ta chọn phần tử đầu tiên nhân với

nhóm nhân sinh đó sẽ tạo ra được cấp số nhân cyclic tương ứng với một lớp kề tạo

mã.

Phân hoạch vành đa thức có nhóm nhân sinh là nhóm nhân cyclic bất kỳ để

tạo mã được mô tả trên Hình 3.2.

Hình 3.2. Phân hoạch vành có nhóm nhân sinh là nhóm nhân cyclic bất kỳ

77

3.1.2. Phương pháp xây dựng mạch giải mã

Có nhiều phương pháp giải mã cho mã cyclic và LCC, trong số đó phương

pháp giải mã ngưỡng là một phương pháp khá hiệu quả và có sơ đồ giải mã đơn

giản [5], [31], [51]. Các phương pháp giải mã ngưỡng bao gồm:

 Giải mã ngưỡng theo đa số (MTD) các tổng kiểm tra.

 Giải mã ngưỡng theo đa số 1 biểu quyết (MTD + 1), giải mã ngưỡng theo

đa số 2 biểu quyết (MTD + 2).

Các phương pháp giải mã ngưỡng đều sử dụng các OCS, hoặc các OACS,

hoặc CS  liên hệ [4], [7], [11], [16].

a) Hệ tổng kiểm tra trực giao

Xét mã tuyến tính (n, k) trên trường GF(2), gọi H là ma trận kiểm tra của nó,

khi đó với mọi từ mã , ta có:

(3.1)

Trong đó: là ma trận chuyển vị của H.

Khi đó mỗi hàng hj của H là:

với . (3.2)

Sẽ cho một tổng kiểm tra của các dấu mã:

(3.3)

Giả sử sau khi truyền từ mã a qua kênh ta nhận được từ mã

khác với từ mã a đã phát một dãy lỗi: .

Tức là:

với (3.4)

78

Như vậy nếu xác định được dãy lỗi e ta sẽ xác định được từ mã đã phát đi ở

đầu phát: .

Với một từ mã thu được b bất kỳ ta có:

(3.5)

Tập các Aj sẽ tạo nên tập các CS đối với các dấu lỗi.

Tập các CS được gọi là hệ OCS nếu từ tập giá trị ta lập được giá trị

thỏa mãn:

 Một dấu lỗi nào đó nằm trong tất cả các CS với .

 Một dấu lỗi bất kỳ chỉ nằm ở nhiều nhất trong một CS.

Khi đó ta gọi tập là hệ OCS với dấu . Như vậy trong các OCS

với dấu , thông tin về nằm trong CS, còn thông tin về chỉ nằm nhiều

nhất trong một CS; cho nên với CS sẽ cho ta thông tin khá đầy đủ về để giải mã

cho dấu .

b) Phương pháp giải mã ngưỡng theo đa số

Giả sử ta xét một bộ mã tự trực giao nào đó, với bộ mã này ta có thể xây dựng

được OCS cho một dấu mã nào đó.

(3.6)

Nếu (trong đó là số nguyên nhỏ nhất lớn hơn hoặc bằng x),

thì coi có lỗi ở dấu thứ , ngược lại là dấu thứ thu đúng.

Mỗi CS trong hệ CS này cho phép đưa ra các dấu ở dạng tổ hợp tuyến

tính của các dấu khác mà nó không nằm trong một CS. Vì vậy hệ thống có CS

để giải mã đúng các dấu theo biểu quyết đa số. Do các CS phải

79

thỏa mãn với bất kỳ từ mã nào thì tính chất tuần hoàn của bộ mã mới có hiệu quả

để giải mã các dấu tiếp theo, nên ta dịch chuyển tuần hoàn từ mã và lại áp dụng biểu

quyết theo đa số. Cứ làm như vậy sẽ thực hiện giải mã cho tất cả các dấu mã.

Như vậy với mã cyclic tự trực giao thì phương pháp giải mã ngưỡng đơn giản

hơn nhiều so với các phương pháp giải mã khác về thiết bị giải mã với bộ mã có

cùng chiều dài. Thiết bị giải mã chỉ gồm bộ ghi, bộ cộng và thiết bị ngưỡng theo đa

số. Chính có ưu điểm này nên việc thực hiện kỹ thuật sẽ đơn giản.

Đối với các mã có khả năng trực giao, ta có thể thiết lập được hệ Tổng kiểm tra

có khả năng trực giao (OACS). Một hệ OACS nếu tồn tại một tổ hợp tuyến tính các

dấu mã thỏa mãn điều kiện sau:

 Tổ hợp tuyến tính các dấu mã có mặt trong mọi CS.

 Các dấu còn lại: chỉ nằm ở nhiều nhất một CS.

Trên cơ sở đó ta có thể coi tập đóng vai trò như một dấu mã trong hệ

OCS. Theo nguyên tắc giải mã theo đa số, ta có thể giải mã cho tập hay có thể

nói đây là hệ OCS với tập (thông thường tập là một cặp dấu mã).

3.2. ĐỀ XUẤT MỘT SỐ MÃ CYCLIC TỐT TRÊN VÀNH ĐA THỨC

3.2.1. Phương pháp tìm mã cyclic tốt

Trong phần này, nghiên cứu sinh sẽ trình bày phương pháp tìm mã cyclic

(n,k,d) tốt phù hợp theo các tiêu chí đánh giá trình bày trong chương 1. Các kết quả

nghiên cứu liên quan đến mã cyclic xây dựng từ nhóm nhân, cấp số nhân cyclic.

3.2.1.1. Mã cyclic tối ưu xây dựng từ nhóm nhân, cấp số nhân cyclic

) làm dấu mã là mã tối ưu đạt giới 𝑥𝑖

Định lý 3.1: Mã cyclic (2𝑘 − 2, 𝑘) trên vành đa thức 𝑍2[𝑥]/(𝑥𝑘 + 1) sử dụng 𝑘−1 tất cả đa thức khác không (trừ 𝑒0(𝑥) = ∑ 𝑖=0 hạn Griesmer và thỏa mãn giới hạn Plotkin, có khoảng cách mã 𝑑0 = 2𝑘−1 − 1 [J6].

Chứng minh:

80

Dựa vào tính chất của phân hoạch vành đa thức theo nhóm nhân cyclic đơn vị,

ta có 2𝑘−1 đa thức có trọng số lẻ và 2𝑘−1 đa thức có trọng số chẵn. Khi thiết lập

tổng kiểm tra trực giao ứng với một dấu mã bất kỳ, ta cần ít nhất 3 dấu mã [2]:

(3.7) 𝑎𝑖(𝑥) + 𝑎𝑗(𝑥) = 𝑎𝑚(𝑥)

Nếu cố định dấu 𝑎𝑖(𝑥) và cho 𝑎𝑗(𝑥) biến đổi thì phương trình (3.7) luôn tồn

tại nghiệm với ∀𝑗 ≠ 𝑖, có nghĩa là ứng với mỗi 𝑎𝑗(𝑥), ta xác định được 𝑎𝑚(𝑥). Vậy

ta có tổng kiểm tra trực giao với dấu 𝑎𝑖(𝑥) như phương trình (3.8):

(3.8) 𝑎𝑖(𝑥) = 𝑎𝑗(𝑥) + 𝑎𝑚(𝑥)

𝑘−1 𝑖=0

𝑥𝑖

Theo định lý, số dấu của từ mã là 𝑛 = 2𝑘 − 2 (loại bỏ đa thức 𝑒0(𝑥) = ∑ lớp kề có một đa thức), để thiết lập số tổng kiểm tra trực giao giải mã cho một dấu

mã nào đó sẽ đạt tối đa là:

2

2

(3.9) ⌋ = ⌊2𝑘−2−1 ⌋ = 2𝑘−1 − 2 𝐽max = ⌊𝑛−1

Theo phương pháp giải mã ngưỡng, khoảng cách mã 𝑑0 được xác định:

(3.10) 𝑑0 = 𝐽max + 1 = 2𝑘−1 − 1

𝑘−1 𝑗=0

Kiểm tra theo giới hạn Griesmer: 𝑛 ≥ ∑ thay 𝑑0 = 2𝑘−1 − 1 , ta được: ⌈𝑑0 2𝑖 ⌉

𝑛 ≥ (2𝑘−1 − 1) + 2𝑘−2 + ⋯ + 1

Áp dụng công thức tính tổng của cấp số nhân, ta được:

𝑛 ≥ 2𝑘 − 2

Theo định lý, số dấu của bộ mã là: 𝑛 = 2𝑘 − 2. Vậy bộ mã (2𝑘 − 2, 𝑘) đạt

được giới hạn Griesmer.

2𝑘−1 2𝑘−1

Kiểm tra giới hạn Plotkin: 𝑑0 ≤ 𝑛.

Thay 𝑛 = 2𝑘 − 2 vào vế phải, kết quả của vế phải bằng:

1 (2𝑘 − 2). = = 2𝑘−1 − 2𝑘−1 2𝑘 − 1 (2𝑘 − 1). 2𝑘−1 − 2𝑘−1 2𝑘 − 1 2 − ( 1 2𝑘−1)

81

Với 𝑑0 = 2𝑘−1 − 1 nên bộ mã thỏa mãn giới hạn Plotkin.

Định lý 3.2: Mã cyclic (2𝑘−1 − 1, 𝑘) trên vành đa thức 𝑍2[𝑥]/(𝑥𝑘 + 1) với 𝑘

𝑘−1 𝑖=0

) làm dấu mã 𝑥𝑖 lẻ và sử dụng tất cả đa thức trọng số lẻ (trừ đa thức 𝑒0(𝑥) = ∑

là mã tối ưu đạt giới hạn Griesmer và thỏa mãn giới hạn Plotkin, có khoảng cách

𝑑0 = 2𝑘−2 − 1 [J6].

Chứng minh:

Phân hoạch của vành 𝑍2[𝑥]/(𝑥𝑘 + 1) theo nhóm nhân đơn vị {𝑥𝑖} cấp k luôn tồn tại 2𝑘−1 đa thức có trọng số chẵn và 2𝑘−1 đa thức có trọng số lẻ (theo tính chất

của vành đa thức).

𝑘−1 𝑖=0

𝑥𝑖 Trọng số của đa thức 𝑒0(𝑥) = 𝑊(∑ ) = 𝑘. Khi 𝑘 lẻ, đa thức 𝑒0(𝑥) có

trọng số lẻ, thuộc lớp kề trọng số lẻ một phần tử và là một lũy đẳng. Khi 𝑘 chẵn, đa

thức 𝑒0(𝑥) có trọng số chẵn không được chọn làm dấu mã và cũng không tồn tại

lớp kề trọng số lẻ có một phần tử.

Nếu số dấu mã bớt đi một dấu là đa thức 𝑒0(𝑥), thì số dấu mã của bộ mã là

𝑛 = 2𝑘−1 − 1.

Theo phương pháp giải mã ngưỡng để thiết lập được một tổng kiểm tra có khả

năng trực giao cho hai dấu mã nào đó, ta cần ít nhất 4 dấu mã như trong phương

trình (3.11) [3]:

(3.11) 𝑎𝑖(𝑥) + 𝑎𝑗(𝑥) + 𝑎𝑠(𝑥) = 𝑎𝑚(𝑥)

Theo phương trình (3.11), vế phải là một tổng 3 dấu mã của từ mã và mỗi dấu

mã là một đa thức có trọng số lẻ, do đó kết quả vế phải là một đa thức có trọng số

lẻ. Vậy phương trình (3.11) luôn cón nghiệm với ∀𝑖 ≠ 𝑗 ≠ 𝑠 ≠ 𝑚. Nếu ta cố định

một cặp hai dấu 𝑎𝑖(𝑥), 𝑎𝑗(𝑥), thì ứng với mỗi 𝑎𝑠(𝑥) ta luôn xác định được 𝑎𝑚(𝑥).

Phương trình (3.11) có dạng:

(3.12) [𝑎𝑖(𝑥) + 𝑎𝑗(𝑥)] = 𝑎𝑠(𝑥) + 𝑎𝑚(𝑥)

Số dấu còn lại của từ mã bằng (𝑛 − 2). Như vậy số tổng kiểm tra thiết lập

được để giải mã là:

82

2

2

(3.13) ⌋ = ⌊(2𝑘−1−1)−2 ⌋ = 2𝑘−2 − 2 𝐽max = ⌊𝑛−2

Khoảng cách mã Hamming 𝑑0 xác định là:

(3.14) 𝑑0 = 𝐽max + 1 = 2𝑘−2 − 1

𝑘−1 𝑗=0

Kiểm tra theo giới hạn Griesmer: 𝑛 ≥ ∑ thay 𝑑0 = 2𝑘−2 − 1 , ta được: ⌈𝑑0 2𝑖 ⌉

𝑛 ≥ (2𝑘−2 − 1) + 2𝑘−3 + ⋯ + 1 + 1

Áp dụng công thức tính tổng của cấp số nhân, ta được:

(3.15) 𝑛 ≥ 2𝑘−1 − 1

Theo định lý 3.2, số dấu của bộ mã: 𝑛 = 2𝑘−1 − 1. Vậy bộ mã (2𝑘−1 − 1, 𝑘)

đạt được giới hạn Griesmer.

2𝑘−1 2𝑘−1

Kiểm tra giới hạn Plotkin: 𝑑0 ≤ 𝑛.

Thay 𝑛 = 2𝑘−1 − 1 vào vế phải, kết quả của vế phải bằng:

1 (2𝑘−1 − 1). = = 2𝑘−2 − 2𝑘−1 2𝑘 − 1 (2𝑘 − 1). 2𝑘−2 + 2𝑘−2 − 2𝑘−1 2𝑘 − 1 4 − ( 1 2𝑘−2)

Với 𝑑0 = 2𝑘−2 − 1 nên bộ mã thỏa mãn giới hạn Plotkin.

Như vậy, theo định lý 3.1 và 3.2 thì các bộ mã cyclic được xây dựng từ các

nhóm nhân cyclic, cấp số nhân cyclic có dạng (2𝑘 − 2, 𝑘) và (2𝑘−1 − 1, 𝑘) là các

bộ mã tối ưu đặt giới hạn Griesmer và Plotkin.

Đối với mã cyclic xây dựng từ các cấp số nhân cyclic, về cơ bản có thể xây

dựng mã (2𝑘 − 2, 𝑘) bằng việc lấy tất cả các lớp kề của vành đa thức trừ phần tử 0

𝑘−1 𝑖=0

𝑥𝑖 ; có thể xây dựng mã (2𝑘−1 − 1, 𝑘) bằng việc lấy tất cả và phần tử 𝑒0(𝑥) = ∑

𝑘−1 𝑖=0

. 𝑥𝑖 các lớp kề có trọng số lẻ của vành đa thức trừ phần tử 𝑒0(𝑥) = ∑

Đối với mã cyclic xây dựng từ các nhóm nhân cyclic thì có thể xây dựng các

bộ mã này như sau:

83

+ Nếu cấp cực đại của các đa thức thuộc vành 𝑍2/(𝑥𝑘 + 1) bằng 2𝑘−1 − 1 thì

chọn đa thức có cấp cực đại làm phần tử sinh của bộ mã.

+ Nếu cấp cực đại của các đa thức thuộc vành 𝑍2/(𝑥𝑘 + 1) không nhỏ hơn 2𝑘−1 − 1 thì chọn đa thức thuộc vành lớn hơn (vành 𝑍2/(𝑥𝑝 + 1), với 𝑝 > 𝑘) và có cấp bằng với 2𝑘−1 − 1 sau đó hạ bậc đa thức theo ℎ(𝑥) [13] thì được đa thức mới

có thể chọn làm phần tử sinh của bộ mã.

Việc thực hiện hạ bậc đa thức theo ℎ(𝑥) như vậy là trường hợp thực hiện phân

hoạch hỗn hợp trên hai vành đa thức bất kỳ [13]. Xét 2 vành và với

nếu trên vành ta tìm được đa thức thỏa mãn điều kiện:

là tích của một vài đa thức bất khả quy và thì ta có thể thực hiện được

phân hoạch hỗn hợp trên hai vành này.

Để có thể dễ dàng tìm được đa thức ta nên chọn ít nhất một vành là vành

lẻ. Xét phân tích của một số vành đa thức sau:

84

Theo các phân tích này ta có thể tìm được các giá trị và đa thức

thỏa mãn điều kiện phân hoạch hỗn hợp như trong Bảng 3.1.

Bảng 3.1. Một số cặp vành có thể phân hoạch hỗn hợp

phù hợp

Các đa thức

thỏa mãn

(

)

(vành

)

6, 9, 15, 21 ; 3 7, 21 ;

5, 15, 25

7 ;

4 15 ;

21 ;

15, 25 ; 5 15 ;

7 ;

9

;

6 15 ;

; 21 ;

85

9

15

7

21

9

15

8

17

21

17

9

21

86

Dựa trên kết quả hai định lý 3.1, 3.2 cùng với phân tích trong Bảng 3.1 có thể

nhận thấy rằng luôn có thể xây dựng được các bộ cyclic mã tối ưu trên các vành đa

thức từ các cấp số nhân (hay lớp kề) cyclic.

Khi xây dựng mã cyclic từ các nhóm nhân với phần tử sinh là đa thức có cấp

cực đại trên vành 𝑍2/(𝑥𝑘 + 1) và thỏa mãn cấp của đa thức là 2𝑘−1 − 1 thì bộ mã cũng đạt giới hạn tối ưu.

Trường hợp cấp cực đại của đa thức trên vành không đạt 2𝑘−1 − 1 thì có thể

hạ bậc của đa thức có cấp bằng 2𝑘−1 − 1 và thuộc vành lớn hơn theo ℎ(𝑥) như Bảng

3.1 thì có thể tìm được bộ mã tối ưu.

Xét vành 𝑍2/(𝑥9 + 1), cấp cực đại của các đa thức bằng 63 (theo phụ lục 1) nên không xây dựng được mã cyclic tối ưu từ các nhóm nhân cyclic với phần tử

sinh là đa thức thuộc vành, tuy nhiên theo Bảng 3.1 ta thấy rằng có thể hạ bậc đa thức có cấp bằng 255 trong vành 𝑍2/(𝑥17 + 1) theo ℎ1(𝑥) hoặc ℎ2(𝑥) để xây dựng mã. Ví dụ chọn đa thức 𝑎(𝑥) = 1 + 𝑥 + 𝑥2 + 𝑥3 + 𝑥8 + 𝑥9 + 𝑥10 + 𝑥11 + 𝑥12 có

cấp là 255 (theo phụ lục 1) là phần tử sinh của nhóm nhân cyclic xây dựng trên vành 𝑍2/(𝑥17 + 1), chọn ℎ1(𝑥) để hạ bậc các phần tử trong nhóm nhân cyclic trên ta được một nhóm nhân có cấp là 255 trên vành vành 𝑍2/(𝑥9 + 1), từ đây xây dựng được bộ mã cyclic (255,9,127) là mã tối ưu đạt giới hạn Griesmer và Plotkin.

3.2.1.2. Mã cyclic tốt xây dựng từ cấp số nhân cyclic trên vành đa thức

Các mã cyclic tối ưu (𝑛, 𝑘, 𝑑) được nghiên cứu và đề xuất ở trên có ưu điểm

là sửa sai tốt (𝑑 lớn), xây dựng bộ mã dễ dàng, tuy nhiên tồn tại một nhược điểm

lớn là hiệu suất mã (𝑘/𝑛) thường khá nhỏ, do đó nghiên cứu sinh cũng tiến hành

nghiên cứu và đề xuất phương pháp tìm mã cyclic tốt xây dựng từ các cấp số nhân/

𝑘

1

lớp kề cyclic với các giá trị (𝑛, 𝑘, 𝑑) phù hợp, đặc biệt là đề xuất các mã tốt xây

𝑛

3

dựng từ 3 lớp kề cyclic trên vành (hướng tới mục tiêu đạt hiệu suất mã với >

khả năng sửa lỗi hợp lý).

Để tìm mã cyclic tốt xây dựng trên 3 lớp kề cyclic sử dụng phương pháp giải

mã ngưỡng [2], [3], [5], [7], ta thực hiện theo các bước sau đây:

87

Bước 1: + Cho giá trị 𝑘 của vành đa thức 𝑍2/(𝑥𝑘 + 1).

+ Lập phân hoạch cho vành đa thức, xác định số lớp kề 𝑚 (số lượng

lớp kề trong vành)

+ Cho 𝑖 = 2

Bước 2: + Gán 𝑗 = 𝑖 + 1

Bước 3: + Lập mã gồm 3 lớp kề {1, 𝑖, 𝑗}

+ Xác định giá trị 𝑛 trong bộ mã (𝑛, 𝑘, 𝑑) , trong đó 𝑛 là tổng số

phần tử của 3 lớp kề được chọn (cũng là độ dài từ mã).

+ Tính tổng kiểm tra của bộ mã theo cả 3 trường hợp CS trực giao,

CS có khả năng trực giao, CS  liên hệ, sau đó lưu lại số CS của bộ mã ứng với mỗi

trường hợp. Từ số tổng kiểm tra sẽ tính được khoảng cách Hamming 𝑑.

+ Nếu 𝑗 = 𝑚 thì chuyển sang bước 4, nếu 𝑗 < 𝑚 thì tăng 𝑗 và lặp

lại bước 3.

Bước 4: + Nếu 𝑖 = 𝑚 − 1 thì chuyển sang bước 5, nếu 𝑖 < 𝑚 − 1 thì tăng

𝑖 và lặp lại bước 2.

Bước 5: Tính toán bộ tham số (𝑛, 𝑘, 𝑑) ứng với các bộ mã, so sánh với các

giới hạn tối ưu. Liệt kê bộ mã (𝑛, 𝑘, 𝑑) tốt nhất thu được.

Từ các bước trên có thể xây dựng được lưu đồ thuật tìm các bộ mã cyclic tốt

theo lưu đồ thuật toán như trên Hình 3.3 và danh sách một số bộ mã cyclic tốt tìm

được như trong Bảng 3.2.

Hình 3.3. Lưu đồ thuật toán tìm bộ mã cyclic tốt xây dựng từ cấp số nhân cyclic

88

89

Bảng 3.2. Đề xuất một số bộ mã cyclic tốt

Vành CGPs/CMG TTG CKNTG TTGLH

{(1), (7), (11)} (15,5,7) 𝑥5 + 1

{(1), (11), (21)} 𝑥6 + 1

(14,6,5)  = 2, CS = 8

{(1), (13), (21)}

(14,6,5)  = 2, CS = 8

{(1), (23), (29)} (21,7,7) 𝑥7 + 1

{(1), (11), (87)} (24,8,7) 𝑥8 + 1

{(1), (13), (87)} (24,8,7)

{(1), (31), (91)} (24,8,7)

{(1), (47), (61)} (24,8,7)

{(1), (13), (19)}

(24,8,7)  = 2, CS = 12

{(1), (13), (25)}

(24,8,7)  = 2, CS = 12

{(1), (37), (47)}

(24,8,7)  = 2, CS = 12

{(1), (37), (61)}

(24,8,7)  = 2, CS = 12

{(1), (11), (61)} (27,9,9) 𝑥9 + 1

{(1), (13), (47)} (27,9,9)

{(1), (19), (59)} (27,9,9)

{(1), (25), (55)} (27,9,9)

{(1), (41), (87)} (27,9,9)

{(1), (41), (117)} (27,9,9)

Thực hiện tìm mã cyclic tốt với nhiều lớp kề hơn cũng cho những bộ mã tốt,

tuy nhiên lại phải trả giá về hiệu suất mã (tỉ số 𝑘/𝑛 thấp). Hướng nghiên cứu tiếp

theo, nghiên cứu sinh sẽ tiếp tục tìm các bộ mã cyclic tốt với nhiều lớp kề hơn và

các bộ mã cyclic ứng với các phương pháp giải mã khác.

90

3.2.2. Mô phỏng, đánh giá một số bộ mã cyclic tốt

3.2.2.1. Đề xuất kịch bản mô phỏng, đánh giá

Trong phần này, nghiên cứu sinh đề xuất một sơ đồ truyền thông dùng để mô

phỏng, đánh giá mã cyclic như Hình 3.4, trong đó sử dụng các phương pháp điều

chế/giải điều chế khác nhau và kênh truyền sử dụng nhiễu Gauss trắng cộng, các bộ

Hình 3.4. Sơ đồ hệ thống thông tin sử dụng mô phỏng, đánh giá mã cyclic

mã cyclic cần mô phỏng, đánh giá được đưa vào các khối mã hóa và giải mã hóa.

Phân tích sơ đồ hệ thống

Bên phát gồm:

- Dữ liệu phát: là phần thông tin gốc được truyền đi.

- Mã hóa: là bước sử dụng bộ mã cyclic để mã hóa tín hiệu gốc. Các bộ mã

thay đổi sẽ ảnh hưởng đến dãy bit đưa tới khối điều chế.

- Điều chế: là các phương pháp điều chế, chương trình mô phỏng sẽ sử dụng

các kiểu điều chế khác nhau để hỗ trợ đánh giá bộ mã.

Kênh truyền gồm:

- Nhiễu: được tạo ra trên kênh truyền, trong các mô phỏng ở phần này đều sử

dụng bộ tạo nhiễu Gauss.

Bên thu: Là các bước ngược của bên phát, bao gồm: giải điều chế, giải mã hóa

và khôi phục thông tin từ phía phát. Phần giải điều chế, giải mã hóa được thực hiện

tương ứng với phương pháp điều chế và bộ mã hóa được xây dựng ở phía phát.

91

Hoạt động của hệ thống

Trong một chu kỳ mô phỏng cần thực hiện:

- Tạo nhiễu Gauss trắng cộng.

- Cố định bộ mã cyclic, phương pháp điều chế.

- Tạo ngẫu nhiên dãy dữ liệu phát.

- Lần lượt tăng tỉ số 𝐸𝑏/𝑁0 ở phía phát theo bước nhảy phù hợp.

- Đo tỉ số lỗi bit 𝐵𝐸𝑅 của chuỗi bit nhận được.

Phương pháp đánh giá:

- Vẽ đồ thị biểu thị mối quan hệ 𝐸𝑏/𝑁0 và 𝐵𝐸𝑅 của bộ mã từ nguồn dữ liệu

mô phỏng thu được.

- Thực hiện đánh giá hiệu của của bộ mã, so sánh bộ mã với các bộ mã khác

(nếu có).

3.2.2.2. Kết quả mô phỏng, đánh giá một số bộ mã cyclic

a) Bộ mã cyclic (255,9,127)

Chọn đa thức 𝑎(𝑥) = 1 + 𝑥 + 𝑥2 + 𝑥3 + 𝑥8 + 𝑥9 + 𝑥10 + 𝑥11 + 𝑥12 có cấp

là 255 (theo phụ lục 1) là phần tử sinh của CMG xây dựng trên vành 𝑍2/(𝑥17 + 1), chọn ℎ1(𝑥) = (1 + 𝑥)(1 + 𝑥3 + 𝑥4 + 𝑥5 + 𝑥8) để hạ bậc 𝑎(𝑥) ta xây dựng được CMG tương ứng có cấp 255 trên vành 𝑍2/(𝑥9 + 1), tiến hành xây dựng bộ mã hóa và giải mã ứng với CMG này ta thu được bộ mã cyclic (255,9,127) đạt giới hạn

Griesmer và Plotkin. Kết quả mô phỏng bộ mã cyclic (255,9,127) thể hiện như

Hình 3.5.

Trong mô phỏng ứng với bộ mã này, nghiên cứu sinh sử dụng nhiễu Gauss

trắng cộng trên kênh truyền. Thử nghiệm với các phương pháp điều chế khác nhau

(QPSK, 16QAM,...), cho chất lượng rất tốt. Trên Hình 3.5 biểu thị kết quả mô phỏng

của bộ mã ứng với điều chế 64QAM, 128QAM và so sánh với trường hợp truyền

dẫn chỉ điều chế 64QAM không mã hóa và trường hợp truyền dẫn không điều chế,

92

𝐸𝑏 𝑁0

không mã hóa. Kết quả cho thấy bộ mã đạt 𝐵𝐸𝑅 ≈ 10−7 với = 5 (trường hợp

𝐸𝑏 𝑁0

Hình 3.5. Kết quả mô phỏng bộ mã cyclic (255,9,127)

điều chế 64QAM), và 𝐵𝐸𝑅 ≈ 10−7 với = 6,5 (trường hợp điều chế 128QAM).

b) Bộ mã cyclic (15,5,7)

Chọn mã cyclic cục bộ xây dựng từ ba lớp kề cyclic {(1), (7), (11)} trên vành

𝑍2/(𝑥5 + 1) sẽ tạo ra bộ mã (15,5) (các phần tử của ma trận sinh của bộ mã này cũng tương đương CMG được tạo bởi phần tử sinh là đa thức trọng số lẻ đạt cấp

cực đại trên vành 𝑍2/(𝑥5 + 1)), tiến hành xây dựng bộ mã hóa và giải mã ta thu được bộ mã cyclic (15,5,7) đạt giới hạn Griesmer và Plotkin. Kết quả mô phỏng bộ

mã cyclic (15,5,7) thể hiện như Hình 3.6.

Tương tự như mô phỏng bộ mã (255,9,127), ta sử dụng nhiễu Gauss trắng

cộng trên kênh truyền. Thử nghiệm với các phương pháp điều chế QPSK, 4QAM,

16QAM cho chất lượng khá tốt. Trên Hình 3.6 biểu thị kết quả mô phỏng của bộ

mã ứng với điều chế QPSK, 16QAM và so sánh với trường hợp truyền dẫn tín hiệu

chỉ điều chế (QPSK, 16QAM) không mã hóa. Kết quả cho thấy với điều chế QPSK

93

𝐸𝑏 𝑁0

tại = 7, nếu không mã hóa thì kênh truyền đạt 𝐵𝐸𝑅 ≈ 1,2.10−3, nếu sử dụng bộ

mã cyclic (15,5,7) thì kênh truyền đạt 𝐵𝐸𝑅 ≈ 1,5.10−7 (tốt hơn trường hợp không

𝐸𝑏 𝑁0

mã hóa khoảng 8000 lần); với điều chế 16QAM tại = 10, nếu không mã hóa thì

kênh truyền đạt 𝐵𝐸𝑅 ≈ 2,5.10−3, sử dụng bộ mã cyclic (15,5,7) thì kênh truyền đạt

𝐵𝐸𝑅 ≈ 1,5.10−6 (tốt hơn trường hợp không mã hóa hơn 1600 lần). Kết quả mô

phỏng cũng cho thấy đường truyền sử dụng cùng một bộ mã, thì điều chế QPSK

𝐸𝑏 𝑁0

cho 𝐵𝐸𝑅 tốt hơn 16QAM (ví dụ, tại = 7, điều chế QPSK cho 𝐵𝐸𝑅 ≈ 1,5.10−7,

Hình 3.6. Kết quả mô phỏng bộ mã cyclic (15,5,7)

trong khi điều chế 16QAM cho 𝐵𝐸𝑅 ≈ 10−3) là phù hợp với lý thuyết.

c) Bộ mã cyclic (27,9,9)

Chọn mã cyclic cục bộ xây dựng từ ba lớp kề cyclic {(1), (11), (61)} trên vành 𝑍2/(𝑥9 + 1), tiến hành xây dựng bộ mã hóa và giải mã ta thu được bộ mã cyclic (27,9,9). Kết quả mô phỏng bộ mã cyclic (27,9,9) thể hiện như Hình 3.7.

Hình 3.7. Kết quả mô phỏng bộ mã cyclic (27,9,9)

94

Tương tự, nghiên cứu sinh sử dụng nhiễu Gauss trắng cộng trên kênh truyền.

Thử nghiệm với các phương pháp điều chế QPSK, 4QAM, 16QAM cho chất lượng

khá tốt. Trên Hình 3.7 biểu thị kết quả mô phỏng của bộ mã ứng với điều chế QPSK,

16QAM, so sánh với trường hợp truyền dẫn sử dụng bộ mã cyclic (15,5,7) và trườn

hợp truyền dẫn tín hiệu chỉ điều chế (QPSK, 16QAM) không mã hóa. Kết quả cho

𝐸𝑏 𝑁0 đạt 𝐵𝐸𝑅 ≈ 1,2.10−3, nếu sử dụng bộ mã cyclic (27,9,9) thì kênh truyền đạt 𝐵𝐸𝑅 ≈

thấy với phương pháp điều chế QPSK tại = 7, nếu không mã hóa thì kênh truyền

2,4.10−5, sử dụng bộ mã cyclic (15,5,7) thì đạt 𝐵𝐸𝑅 ≈ 1,5.10−7; với phương pháp

𝐸𝑏 𝑁0

điều chế 16QAM tại = 10, nếu không mã hóa thì kênh truyền đạt 𝐵𝐸𝑅 ≈

2,5.10−3, sử dụng bộ mã cyclic (27,9,9) thì kênh truyền đạt 𝐵𝐸𝑅 ≈ 9.10−5, sử dụng

bộ mã cyclic (15,5,7) thì đạt 𝐵𝐸𝑅 ≈ 1,5.10−6. Kết quả mô phỏng trên Hình 3.7 cho

thấy dù sử dụng phương pháp điều chế nào thì bộ mã cyclic (15,5,7) đạt giới hạn

tối ưu Griesmer và Plotkin (có khả năng sửa 𝑡 = 3 bit lỗi, và 𝑡/𝑛 = 3/15) cho khả

năng sửa lỗi tốt hơn (hay tỉ số 𝐵𝐸𝑅 thấp hơn) bộ mã cyclic (27,9,9) là mã cyclic tốt

95

(có khả năng sửa 𝑡 = 4 bit lỗi, và 𝑡/𝑛 = 4/27) . Tác giả cũng đã mô phỏng đánh

giá bộ mã với điều chế 64QAM, 128QAM thì cho tỉ lệ lỗi lớn và khả năng sửa lỗi

không tốt như mã (255,9,127).

3.2.3. Đề xuất thực hiện các bộ mã trên FPGA

Trong phần này, nghiên cứu sinh sẽ trình bày việc xây dựng một số bộ mã

cyclic trên FPGA với các nội dung: nghiên cứu phương pháp xây dựng bộ mã, thực

hiện thiết kế và mô phỏng bộ mã trên FPGA. Trước hết, có thể thấy rằng mỗi bộ mã

cyclic khác nhau đều có sơ đồ mã hoá và giải mã khác nhau [6], [12], [19], do đó

theo lý thuyết về phương pháp xây dựng mã cyclic thì với mỗi bộ mã ta cần phải có

một cấu kiện phần cứng tương ứng với sơ đồ mạch điện của nó. Tuy nhiên với sự

phát triển của công nghệ điện tử, ngày nay công nghệ FPGA đã góp phần cung cấp

cho thị trường các chip logic số có số lượng cổng logic lớn và đặc biệt là có thể viết

chương trình để tạo ra các mạch điện thực hiện chức năng theo yêu cầu.

Nhằm kết hợp ưu điểm của cấu kiện logic khả trình và hướng tới xây dựng

một mạch điện tử thực hiện được chức năng một số bộ mã cyclic, phần tiếp theo

luận án trình bày phương pháp xây dựng mạch mã hoá và giải mã trên cấu kiện logic

khả trình FPGA để thực hiện chức năng của một số bộ mã có đặc điểm tương tự

nhau. Dưới đây sẽ trình bày kết quả nghiên cứu xây dựng hai bộ mã LCC(15,5) và

LCC(27,9) là những mã tốt được đề xuất ở trên.

3.2.3.1. Đề xuất thực hiện thuật toán nhân và bình phương trên FPGA

Từ thuật toán nhân và bình phương lặp (RSMA – Repeated Square-and-

Multiply Algorithm) trong , [63], nghiên cứu sinh đề xuất thực hiện thuật toán

trên FPGA để tiến tới ứng dụng xây dựng CMG cho bộ mã cyclic trên cấu kiện phần

cứng logic khả trình. Kết quả nghiên cứu về nội dung này được trình bày tại hội

nghị khoa học quốc tế và công bố trong [C1]. Chi tiết nội dung được nghiên cứu

sinh trình bày tại phụ lục 5.

96

3.2.3.2. Thiết kế bộ mã LCC (15, 5) trên FPGA

Muốn xây dựng bộ mã LCC (15,5) cần phải làm hai phần việc như sau: Thứ

nhất, là xây dựng mạch mã hóa theo phương pháp xây dựng mã LCC đã được trình

bày; Thứ hai, là xây dựng mạch giải mã theo phương pháp giải mã ngưỡng.

Chọn đa thức sinh có cấp 15 (cấp cực đại của vành)

trên vành đa thức 𝑍2/(𝑥5 + 1). Tiếp đến, ta xây dựng xây dựng mạch mã hóa và giải mã, sau đó thực hiện thiết kế và mô phỏng bộ mã trên FPGA. Chi tiết nội dung

được trình bày trong phụ lục 5.

Kết quả mô phỏng cho thấy rằng bộ mã có khả năng sửa tới 3 bit lỗi, trong đó

có ưu điểm trong việc sửa lỗi cụm. Tài nguyên logic được sử dụng để xây dựng bộ

mã hóa là rất nhỏ, do đó hoàn toàn có thể tận dụng phần tài nguyên FPGA trong các

hệ thống số để xây dựng các bộ mã cyclic hỗ trợ sửa lỗi cho quá trình truyền tin.

Ưu điểm nổi bật của phương pháp này là chỉ với một chương trình phần mềm

được viết sẵn, ta có thể thay đổi phần tử sinh thì tự động tổng hợp được mạch mã

hoá và giải mã tương ứng trên FPGA để thực hiện chức năng của mạch. Nghiên cứu

sinh cũng đang thực hiện việc xây dựng các bộ mã cyclic trên các bộ vi điều khiển,

kết quả bước đầu cho thấy việc thực hiện mạch mã hoá và giải mã các bộ mã LCC

trên FPGA có nhiều ưu điểm về tài nguyên, tốc độ.

3.2.3.3. Thiết kế bộ mã LCC (27, 9) trên FPGA

Phần này đề xuất việc xây dựng bộ mã LCC (27, 9, 9) từ 3 cấp số nhân cyclic

lấy trong phân hoạch vành đa thức thành các CGP cấp 9 [6]. Trước

hết nghiên cứu phương pháp xây dựng bộ mã, sau đó thực hiện thiết kế và mô phỏng

bộ mã trên FPGA. Chi tiết nội dung được trình bày trong phụ lục 5.

Tài nguyên logic sử dụng để xây dựng bộ mã là tương đối nhỏ, có thể nhận

thấy tài nguyên phần cứng sử dụng cho bộ mã LCC (29,9,9) lớn hơn bộ mã LCC

(15,5,7) khoảng hai lần, trong đó điểm đặc biệt là số trigơ sử dụng tăng gấp nhiều

97

lần là do trong quá trình mô phỏng bộ mã LCC(15,5,7) được xây dựng từ CMG của

một phần sinh, còn bộ mã LCC(27,9,9) được xây dựng từ 3 lớp kề cyclic.

Kết quả mô phỏng cho thấy rằng bộ mã có khả năng sửa tới 4 bit lỗi, trong đó

có ưu điểm trong việc sửa lỗi cụm.

Như vậy, trong phần này nghiên cứu sinh đã trình bày một kết quả nghiên cứu

mới là thực hiện xây dựng và cứng hóa một số bộ mã hóa và giải mã cylic, cyclic

cục bộ trên cấu kiện phần cứng FPGA với hướng tiếp cận xây dựng mã trên vành

đa thức cho kết quả tương đối khả quan [J1]. Nhóm tác giả Gaurav Chawla and

Vishal Chaudhary cũng công bố kết quả thực hiện bộ mã hóa và giải mã trên FPGA

đối với mã cyclic theo phương pháp truyền thống [48], tuy nhiên chưa đề cập đến

việc thực hiện xây dựng bộ mã theo quan điểm vành đa thức, hay các bộ mã LCC.

3.3. ĐỀ XUẤT PHƯƠNG PHÁP TẠO KHÓA CHO MỘT SỐ HỆ MẬT

Nghiên cứu sinh đã nghiên cứu ứng dụng CMG và CGP có cấp cực đại trong

việc tạo khóa để xây dựng hệ mật mã khối kết hợp sơ đồ Lai-Massey với sơ đồ

Feistel và ứng dụng vào hàm băm công bố trong bài báo [C2].

Trong phần này nghiên cứu sinh đề xuất một hướng tiếp cận mới về sự tương

đương của vành đa thức có hai lớp kề cyclic với trường số. Từ đó trình bày một ứng

dụng của nhóm nhân cyclic có cấp cực đại trên một số vành đa thức có hai lớp kề

cyclic đặc biệt để làm khóa cho một số hệ mật.

3.3.1. Quan hệ giữa vành đa thức có hai lớp kề cyclic và trường số

∗ = 𝑍𝑝/{0} là một

∗ : 𝑎. 𝑏 ≡ 1 mod 𝑝

Xét 𝑝 = 2𝑛 − 1 là số nguyên tố. Khi đó ℤ𝑝 → 𝐺𝐹(𝑝), ℤ𝑝

∗ | = 2𝑛 − 2 với 𝑎 ∈ ℤ𝑝

∗ → ∃𝑏 ∈ ℤ𝑝

nhóm nhân cyclic cấp |ℤ𝑝

Xét 𝑊(𝑎(𝑥)) lẻ. Khi đó ∃𝑏(𝑥) với 𝑊(𝑏(𝑥)) lẻ thỏa mãn

𝑎(𝑥). 𝑏(𝑥) ≡ 1 mod (𝑥𝑛 − 1)

Do vậy, có thể xây dựng phép tương ứng sau:

98

∗ ∈ ℤ𝑝

𝑖∈𝐼

𝑖∈𝐼

𝑎(𝑥) = ∑ 𝑓𝑖𝑥𝑖 ↦ 𝑎 = ∑ 𝑓𝑖2𝑖

𝑛−1 𝑖=0

𝑥𝑖 = 0. Với 𝑒0(𝑥) = ∑

Khi đó ta có thể coi ánh xạ trên là một ánh xạ 1-1 giữa các phần tử của ℤ2[𝑥]/(𝑥𝑛 − 1) và các phần tử của 𝐺𝐹(𝑝). Như vậy, vành đa thức có hai lớp kề cyclic và trường số 𝐺𝐹(𝑝) với 𝑝 = 2𝑛 − 1 là số nguyên tố được gọi là tựa đẳng cấu

(quasi-isomorphism). Ta có thể so sánh việc thực hiện các phép toán cộng và nhân

trên hai cấu trúc này như Bảng 3.3.

Bảng 3.3. Phép toán cộng và nhân trên hai cấu trúc vành đa thức và vành số

Phép tính Trường số 𝐺𝐹(𝑝) Vành đa thức ℤ2[𝑥]/(𝑥𝑛 − 1)

𝑖∈𝐼⊂ℤ𝑛

𝑖∈𝐽⊂ℤ𝑛

𝑎, 𝑏 ∈ 𝐺𝐹(𝑝) Phép cộng 𝑎(𝑥) = ∑ 𝑎𝑖𝑥𝑖 ; 𝑏(𝑥) = ∑ 𝑏𝑗𝑥 𝑗

𝑎 + 𝑏 ≡ (𝑎 + 𝑏) mod 𝑝

𝑘∈𝐾⊂ℤ𝑛

𝑎(𝑥) + 𝑏(𝑥) = 𝑐(𝑥) = ∑ 𝑐𝑘𝑥𝑘

𝐾 = (𝐼 ∪ 𝐽) − (𝐼 ∩ 𝐽)

Phép nhân 𝑎(𝑥). 𝑏(𝑥) ≡ 𝑎(𝑥). 𝑏(𝑥) mod (𝑥𝑛 − 1) 𝑎. 𝑏 ≡ 𝑎. 𝑏 mod 𝑝

Ví dụ 3.1:

Trường số 𝐺𝐹(31) Vành đa thức ℤ2[𝑥]/(𝑥5 − 1)

Phép cộng 𝑎(𝑥) = 1 + 𝑥 + 𝑥3 𝑎 = 11

𝑏(𝑥) = 1 + 𝑥2 + 𝑥4 𝑏 = 21

𝑎 + 𝑏 ≡ (11 + 21) mod 31 𝑎(𝑥) + 𝑏(𝑥) = 𝑐(𝑥)

𝑐(𝑥) = 𝑥 + 𝑥2 + 𝑥3 + 𝑥4 𝑎 + 𝑏 ≡ 32 mod 31 = 1

Phép nhân 𝑎(𝑥). 𝑏(𝑥) 𝑎. 𝑏 ≡ 11.21 mod 31

≡ 𝑎(𝑥). 𝑏(𝑥) mod (𝑥31 − 1) 𝑎. 𝑏 ≡ 14 ↔ (𝑥 + 𝑥2 + 𝑥3)

𝑎(𝑥). 𝑏(𝑥) ≡ (1 + 𝑥 + 𝑥4) ↔ 19

99

Bảng 3.4 chỉ ra các phần tử nghịch đảo tương quan trên trường số 𝐺𝐹(31) và

vành ℤ2[𝑥]/(𝑥5 − 1). Trong đó các phần tử 𝑎(𝑥) và 𝑏(𝑥) là các đa thức có giá trị tương đương hoặc bù với giá trị trong trường số.

Bảng 3.4. Các phần tử nghịch đảo tương quan trên trường số và vành đa thức

TT Trên 𝐺𝐹(31) Trên ℤ2[𝑥]/(𝑥5 − 1)

𝑎. 𝑏 ≡ 1 mod 31 𝑎(𝑥). 𝑏(𝑥) ≡ 1 mod (𝑥5 − 1)

1 𝑎(𝑥) = (234), 𝑏(𝑥) = (024) 3.21 ≡ 1

2 𝑎(𝑥) = (124), 𝑏(𝑥) = (012) 9.7 ≡ 1

3 𝑎(𝑥) = (2), 𝑏(𝑥) = (3) 27.23 ≡ 1

4 𝑎(𝑥) = (014), 𝑏(𝑥) = (023) 19.18 ≡ 1

5 𝑎(𝑥) = (134), 𝑏(𝑥) = (034) 26.6 ≡ 1

6 𝑎(𝑥) = (4), 𝑏(𝑥) = (1) 16.2 ≡ 1

7 𝑎(𝑥) = (123), 𝑏(𝑥) = (013) 17.11 ≡ 1

8 𝑎(𝑥) = (013), 𝑏(𝑥) = (123) 20.14 ≡ 1

9 𝑎(𝑥) = (1), 𝑏(𝑥) = (4) 29.15 ≡ 1

10 𝑎(𝑥) = (034), 𝑏(𝑥) = (134) 25.5 ≡ 1

11 𝑎(𝑥) = (023), 𝑏(𝑥) = (014) 13.12 ≡ 1

12 𝑎(𝑥) = (3), 𝑏(𝑥) = (2) 8.4 ≡ 1

13 𝑎(𝑥) = (012), 𝑏(𝑥) = (124) 24.22 ≡ 1

14 𝑎(𝑥) = (024), 𝑏(𝑥) = (234) 10.28 ≡ 1

15 𝑎(𝑥) = (0), 𝑏(𝑥) = (0) 30.30 ≡ 1

Với tính đặc thù như trình bày ở trên, quan hệ tựa đồng cấu chỉ xảy ra đối với

một số vành đa thức có hai lớp kề cyclic đặc biệt, các vành đa thức này được liệt kê

trong phụ lục 4.

100

Nhận xét: Có thể sử dụng quan hệ tựa đồng cấu này để xây dựng một số hệ

mật trên vành đa thức có 2 lớp kề cyclic.

3.3.2. Hệ mật Omura-Massey trên vành đa thức có hai lớp kề cyclic

Hệ mật Omura-Massey (O-M) được đề xuất bởi James Massey và Jim. K.

Omura lần đầu tiên vào năm 1982 được xem như một cải thiện tích cực trên giao

thức Shamir (1980) [8], [63]. Trong phần này, trên cơ sở hệ mật gốc, kết hợp với

tính chất đặc biệt của một số vành đa thức có hai lớp kề cyclic được trình bày ở

phần trên, nghiên cứu sinh sẽ trình bày hệ mật O-M và một số biến thể mới của hệ

mật O-M được xây dựng trên vành đa thức có hai lớp kề cyclic trong đó sử dụng

phần tử có cấp cao nhất của nhóm nhân cyclic đạt cấp cực đại trên vành làm khóa

cho hệ mật.

3.3.2.1. Hệ mật O-M gốc

a) Tạo khóa

Khóa công khai: 𝑝 (là một số nguyên tố lớn)

Khóa riêng của A: A chọn ngẫu nhiên (𝑚, 𝑛): 𝑚. 𝑛 ≡ 1 mod (𝑝 − 1)

Khóa riêng của B: B chọn ngẫu nhiên (𝑢, 𝑣): 𝑢. 𝑣 ≡ 1 mod (𝑝 − 1)

b) Quá trình truyền thông

A muốn gửi một bản tin 𝑀 tới B

𝐴(𝑚, 𝑛) 𝐵(𝑢, 𝑣)

𝐴 tính: (𝑀)𝑚 mod 𝑝 →

← 𝐵 tính: (𝑀𝑚)𝑢 mod 𝑝

𝐴 tính: (𝑀𝑚𝑢)𝑛 mod 𝑝 = (𝑀)𝑢 mod 𝑝 →

𝐵 tính: (𝑀)𝑢𝑣 mod 𝑝 = 𝑀

c) Nhận xét

- K. Sakurai & H. Shizyya chỉ ra rằng với những giải thiết nhất định, việc bẻ

khóa hệ mật O-M liên quan tới giả thiết D-H.

101

- Giao thức được trình bày ở trên chưa bao gồm tính xác thực.

- Đối với giao thức này, hệ số mở rộng bản tin là 3.

Hình 3.8. Giao thức truyền thông sử dụng hệ mật O-M

- Chúng ta có thể minh họa giao thức này như Hình 3.8.

Hệ mật này phải là một hệ mật không suy biến và có tính giao hoán.

3.3.2.2. Hệ mật O-M trên vành đa thức có hai lớp kề cyclic

a) Tạo khóa

Khóa công khai: ℤ2[𝑥]/(𝑥𝑛 + 1) – Vành đa thức có hai lớp kề cyclic.

Khóa riêng của A: A chọn ngẫu nhiên (𝑚, 𝑛): 𝑚. 𝑛 ≡ 1 mod (2𝑛−1 − 1)

Khóa riêng của B: B chọn ngẫu nhiên (𝑢, 𝑣): 𝑢. 𝑣 ≡ 1 mod (2𝑛−1 − 1)

b) Quá trình truyền thông

A muốn gửi bản tin 𝑀(𝑥) tới B

𝐴(𝑚, 𝑛) 𝐵(𝑢, 𝑣)

𝐴 tính: [𝑀(𝑥)]𝑚 mod (𝑥𝑛 + 1) →

← 𝐵 tính: [𝑀𝑚(𝑥)]𝑢 mod (𝑥𝑛 + 1)

𝐴 tính: →

[𝑀𝑚𝑢(𝑥)]𝑛 mod (𝑥𝑛 + 1) =

[𝑀(𝑥)]𝑢 mod (𝑥𝑛 + 1)

← 𝐵 tính: [𝑀𝑢(𝑥)]𝑣 mod (𝑥𝑛 + 1) = 𝑀(𝑥)

c) Ví dụ 3.2

Khóa công khai: Đặt ℤ2[𝑥]/(𝑥𝑛 + 1) = ℤ2[𝑥]/(𝑥5 + 1).

Khóa riêng của A: (𝑚, 𝑛) = (2,8): 2.8 ≡ 1 mod 15

102

Khóa riêng của B: (𝑢, 𝑣) = (4,4): 4.4 ≡ 1 mod 15

A muốn gửi bản tin 𝑀 = (034) tới B

𝐴(2,8) 𝐵(4,4)

𝐴 tính: (034)2 mod (𝑥5 + 1) = (013) →

← 𝐵 tính:

(013)4 mod (𝑥5 + 1) = (024)

𝐴 tính: (024)8 mod (𝑥5 + 1) = (012) →

← 𝐵 tính:

(012)4 mod (𝑥5 + 1) = (034)

d) Nhận xét

- Hệ mật là an toàn nếu bài toán logarit rời rạc trên vành đa thức có hai lớp kề

cyclic là bất khả giải.

- Hệ mật này là không xác thực.

- Hệ số mở rộng bản tin của hệ mật này là 3.

3.3.2.3. Một số biến thể của hệ mật O-M trên vành đa thức có hai lớp kề

cyclic

a) Hệ mật O-M cộng trên vành đa thức có hai lớp kề cyclic

Tạo khóa

Khóa công khai: ℤ2[𝑥]/(𝑥𝑛 + 1) – Vành đa thức có hai lớp kề cyclic.

Khóa riêng của A: một đa thức ngẫu nhiên 𝑎(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1)

Khóa riêng của B: một đa thức ngẫu nhiên 𝑏(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1)

103

Quá trình truyền thông

A muốn gửi bản tin 𝑀(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1) tới B

𝐴 tính: [𝑀(𝑥) + 𝑎(𝑥)] mod (𝑥𝑛 + 1)

← 𝐵 tính:

[𝑀(𝑥) + 𝑎(𝑥) + 𝑏(𝑥)] mod (𝑥𝑛 + 1)

𝐴 tính:

{[𝑀(𝑥) + 𝑎(𝑥) + 𝑏(𝑥)] + 𝑎(𝑥)} mod (𝑥𝑛 + 1)

= [𝑀(𝑥) + 𝑏(𝑥)] mod (𝑥𝑛 + 1)

← 𝐵 tính: {[𝑀(𝑥) + 𝑏(𝑥)] +

𝑏(𝑥)} mod (𝑥𝑛 + 1) = 𝑀(𝑥)

𝐴 𝑎(𝑥) 𝐵 𝑏(𝑥)

Ví dụ 3.3:

Khóa công khai: Đặt ℤ2[𝑥]/(𝑥𝑛 + 1) = ℤ2[𝑥]/(𝑥5 + 1).

Khóa riêng của A: 𝑎(𝑥) = (013)

Khóa riêng của B: 𝑏(𝑥) = (124)

A muốn gửi bản tin 𝑀(𝑥) = (034) tới B

𝐴 (013) 𝐵 (124)

𝐴 tính: (034) + (013) = (14) →

← 𝐵 tính: (14) + (124) = (2)

𝐴 tính: (2) + (013) = (0123) →

← 𝐵 tính: (0123) + (124) = (034)

Nhận xét

- Nếu khóa bí mật được chọn ngẫu nhiên thì hệ mật là an toàn nếu không gian

khóa được cung cấp đủ lớn.

- Hệ mật này là không xác thực.

104

- Hệ số mở rộng bản tin của hệ mật này là 3.

- Việc tính toán của hệ mật này rất đơn giản.

b) Hệ mật O-M có tính nhân trên vành đa thức có hai lớp kề cyclic

Tạo khóa

Khóa công khai: ℤ2[𝑥]/(𝑥𝑛 + 1) – Vành đa thức có hai lớp kề cyclic.

Khóa riêng của A: đa thức ngẫu nhiên 𝑎(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1), 𝑤(𝑎(𝑥)) lẻ.

Khóa riêng của B: đa thức ngẫu nhiên 𝑏(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1), 𝑤(𝑏(𝑥)) lẻ.

Quá trình truyền thông

A muốn gửi một bản tin 𝑀(𝑥) ∈ ℤ2[𝑥]/(𝑥𝑛 + 1) tới B

𝐴 𝑎(𝑥) 𝐵 𝑏(𝑥)

𝐴 tính: →

[𝑀(𝑥). 𝑎(𝑥)] mod (𝑥𝑛 + 1)

← 𝐵 tính:

[𝑀(𝑥). 𝑎(𝑥). 𝑏(𝑥)] mod (𝑥𝑛 + 1)

{[𝑀(𝑥). 𝑎(𝑥). 𝑏(𝑥)]. 𝑎−1(𝑥)} mod (𝑥𝑛 + 1)

𝐴 tính: →

= [𝑀(𝑥). 𝑏(𝑥)] mod (𝑥𝑛 + 1)

{[𝑀(𝑥). 𝑏(𝑥)]. 𝑏−1(𝑥)} mod (𝑥𝑛 + 1)

← 𝐵 tính:

= 𝑀(𝑥)

Ví dụ 3.4:

Lấy ℤ2[𝑥]/(𝑥𝑛 + 1) = ℤ2[𝑥]/(𝑥5 + 1).

Khóa riêng của A: 𝑎(𝑥) = (013) → 𝑎−1(𝑥) = (123)

Khóa riêng của B: 𝑏(𝑥) = (124) → 𝑏−1(𝑥) = (012)

105

A muốn gửi một bản tin 𝑀(𝑥) = (034) tới B

𝐴 𝑎(𝑥) 𝐵 𝑏(𝑥)

𝐴 tính: →

[𝑀(𝑥). 𝑎(𝑥)]

= [(034). (013)] mod (𝑥5 + 1) = (2)

← 𝐵 tính

[(2). (124)] mod (𝑥5 + 1)

= (134)

𝐴 tính: →

[(134). (123)] mod (𝑥5 + 1) = (3)

← 𝐵 tính

[(3). (012)] mod (𝑥5 + 1)

= (034)

Nhận xét

- Nếu các khóa bí mật được chọn ngẫu nhiên thì hệ mật là an toàn nếu không

gian khóa đủ lớn.

- Hệ mật là không xác thực.

- Hệ số mở rộng bản tin của hệ mật là 3.

- Việc tính toán hệ mật này là đơn giản.

- Để tránh phép tấn công “Kẻ đứng giữa” (Man in the midle) có thể sử dụng

thêm các phương pháp xác thực.

3.4. KẾT LUẬN CHƯƠNG

Chương 3 của luận án đã trình bày các nội dung liên quan đến phương pháp

xây dựng mã cyclic, đề xuất phương pháp tìm kiếm mã cyclic tốt, hiện thực hóa các

bộ mã cyclic trên cấu kiện logic khả trình FPGA, đồng thời nghiên cứu khả năng

ứng dụng nhóm nhân và cấp số nhân cyclic làm khóa cho một số hệ mật.

106

Kết quả chính và mới của chương này là: đề xuất phương pháp tìm mã cyclic

tốt thông qua việc chứng minh hai định lý về mã cyclic tối ưu, xây dựng thuât toán

tìm kiếm mã cyclic tốt và bước đầu lập được bảng một số mã cyclic tốt, thông qua

kết quả mô phỏng, đánh giá hiệu năng của các bộ mã có thể nhận xét rằng kết quả

nghiên cứu đã góp phần chỉ ra cách xác định các mã cyclic tốt có thể ứng dụng vào

thực tế [J6]; Đề xuất việc xây dựng các thiết bị mã hóa và giải mã ngưỡng cho các

nhóm nhân cyclic và cấp số nhân cyclic trên cấu kiện logic khả trình FPGA. Các

kết quả này góp phần minh chứng và khẳng định khả năng xây dựng các bộ mã

cyclic đặc biệt là cyclic cục bộ, cũng như việc cứng hóa các bộ mã này trên cấu kiện

logic khả trình. Đồng thời, các phương pháp xây dựng các bộ mã cyclic trên cấu

kiện phần cứng logic khả trình FPGA được trình bày một cách tường minh góp phần

bổ sung kiến thức lý thuyết và thực nghiệm về mã cyclic, có thể làm tài liệu tham

khảo cho các nghiên cứu tiếp theo trong việc xây dựng và cứng hóa trên các cấu

kiện điện tử khả trình đối với bộ mã này. Kết quả nghiên cứu được công bố trong

các bài báo [J1], [C1]; Nghiên cứu sinh cũng trình bày một đề xuất ứng dụng nhóm

nhân, cấp số nhân cyclic làm khóa cho một số hệ mật là một hướng nghiên cứu mở

có thể tiếp tục nghiên cứu [C2].

107

KẾT LUẬN

Những đóng góp chính của luận án:

1. Đề xuất một số phương pháp xác định đa thức có cấp cực đại, bao gồm kết quả

quan trọng: đề xuất và chứng minh bổ đề về cấp của đa thức là tích của các đa

thức trên vành; Đề xuất và chứng minh bổ đề về cấp nhị thức trên vành đa thức,

đồng thời đánh giá cấp nhị thức trên vành đa thức; Đề xuất thuật toán cải

tiến xác định cấp của đa thức trên vành; Đánh giá xác suất tìm phần tử có cấp

cực đại giúp kiến thiết các nhóm nhân và mã cyclic trên vành đa thức có hai lớp

kề cyclic ([J2], [J3], [J5], [C5]).

2. Chứng minh được sự tương đương của nhóm nhân cyclic, cấp số nhân cyclic với

mã cyclic truyền thống, góp phần mở ra một hướng tiếp cận mới là xây dựng mã

cyclic truyền thống từ các nhóm nhân cyclic, cấp số nhân cyclic trên vành đa

thức có bậc bằng cấp của nhóm nhân cyclic, cấp số nhân cyclic ([J4], [C3], [C4]).

3. Đề xuất phương pháp tìm mã cyclic tốt xây dựng từ nhóm nhân cyclic, cấp số

nhân cyclic trên vành đa thức và bước đầu lập được bảng một số mã cyclic tốt,

đánh giá khả năng thực hiện các bộ mã cyclic cục bộ trên cấu kiện phần cứng

(như FPGA). Các kết quả này góp phần chỉ ra các mã cyclic tốt có thể sử dụng

trong thực tế, đồng thời minh chứng và khẳng định khả năng xây dựng các bộ

mã cyclic đặc biệt là cyclic cục bộ, cũng như việc mô phỏng các bộ mã này trên

cấu kiện logic khả trình ([J1], [J6], [C1]).

Các định hướng nghiên cứu tiếp theo

Nghiên cứu các mã LCC trên trường mở rộng GF (2m)

Tiếp tục nghiên cứu ứng dụng nhóm nhân cyclic, cấp số nhân cyclic và mã

cyclic cục bộ vào các kỹ thuật mã hóa, bảo mật, hệ thống truyền thông.

108

CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ CỦA TÁC GIẢ

[J1] Nguyen Trung Hieu, Dang Hoai Bac, Nguyen Ngoc Minh (2012), “An

FPGA-based implementation method for local cyclic code encoder/decoder”,

Journal of Science and Technology, Vietnam, ISSN 0866 708X, 50(2A), pp.

38-49.

[J2] Nguyen Trung Hieu, Ngo Duc Thien, Tran Duc Su (2012), “On constructing

cyclic multiplicative groups with maximum order over polynomial ring with

two cyclotomic cosets”, Tạp chí Nghiên cứu khoa học và Công nghệ Quân sự,

Hà Nội, Việt Nam, ISSN 1859-1043, Số 17, 02-2012, tr. 133-140.

[J3] Nguyễn Trung Hiếu, Nguyễn Văn Trung, Nguyễn Bình (2013), “Về cấp của

các đa thức trên vành”, Tạp chí Khoa học và Công nghệ, Việt Nam, ISSN

0866 708X, 51(1A) , tr. 101-107.

[J4] Nguyễn Văn Trung, Nguyễn Trung Hiếu (2015), “Mã cyclic cục bộ xây dựng

từ một lớp kề cyclic”, Tạp chí Nghiên cứu khoa học và Công nghệ Quân sự,

Hà Nội, Việt Nam, ISSN 1859-1043, số Đặc san KH-CNQS, 10-2015, tr. 331-

336.

[J5] Nguyễn Trung Hiếu, Ngô Đức Thiện (2016), “Một phương pháp tìm kiếm

các đa thức có cấp cực đại trên vành đa thức”, Tạp chí Khoa học và Công nghệ

các trường Đại học Kỹ thuật, Việt Nam, ISSN 2354-1083, số 110, 2016, tr.

75-80.

[J6] Nguyễn Trung Hiếu, Nguyễn Bình (2017), “Một số bộ mã cyclic tốt xây dựng

trên vành đa thức”, Tạp chí Khoa học công nghệ Thông tin và Truyền thông,

Việt Nam, ISSN 2525-2224, số 01 (CS.01) 2017, tr. 20-27.

[C1] Hieu T. Nguyen, Minh N. Nguyen, Cuong L. Nguyen, Edhem Custovic

(2011), “An FPGA-based Implementation for Repeated Square-and-Multiply

Polynomials”, Proceedings of the 6th International Conference on Broadband

Communications & Biomedical Applications, November 21 - 24, 2011,

109

Melbourne, Australia, ISBN: 978-0-9872129-0-0, pp. 173-178 (publication in

IEEE Xplore).

[C2] Ngô Đức Thiện, Nguyễn Trung Hiếu, Nguyễn Toàn Thắng, Đặng Hoài Bắc

(2013), “Một phương pháp xây dựng hệ mật mã khối kết hợp sơ đồ Lai-

Massey với sơ đồ Feistel và ứng dụng vào hàm băm”, Kỷ yếu Hội nghị Quốc

gia về Điện tử - Truyền thông (REV2013-KC01), Hà Nội, Việt Nam, ngày 17-

18/12/2013, tr. 75-80.

[C3] Nguyễn Trung Hiếu, Nguyễn Văn Trung, Phạm Việt Trung (2013), “Sự

tương đương giữa mã Cyclic cục bộ xây dựng trên nhóm nhân Cyclic và mã

Cyclic truyền thống”, Kỷ yếu Hội nghị Quốc gia về Điện tử - Truyền thông

(REV2013-KC01), Hà Nội, Việt Nam, ngày 17-18/12/2013, tr. 225-230.

[C4] Nguyen Trung Hieu, Nguyen Van Trung, Nguyen Binh (2014), “A

Classification of Linear Codes Based on Algebraic Structures and Local

Cyclic Codes”, Proceedings of The 2014 International Conference on

Advanced Technologies for Communications, October 15-17, 2014, Hanoi,

Vietnam, ISBN: 978-1-4799-6955-5, pp. 349-354 (publication in IEEE

Xplore).

[C5] Nguyễn Trung Hiếu (2015), “Một số phương pháp mới xác định cấp của đa

thức trên vành đa thức sử dụng tính chất của nhóm nhân cyclic đối xứng”, Hội

thảo quốc gia 2015 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT-

2015), tháng 12/2015, TP. Hồ Chí Minh, Việt Nam, tr. 248-252.

110

TÀI LIỆU THAM KHẢO

Tài liệu tham khảo Tiếng Việt

[1] Đặng Hoài Bắc (2010), Các mã xyclic và xyclic cục bộ trên các vành đa thức

có 2 lớp kề xyclic, Luận án Tiến sĩ kỹ thuật, Học viện Công nghệ Bưu chính

Viễn thông.

[2] Nguyễn Bình, Nguyễn Thế Truyện (1996), “Các mã xyclic cục bộ tự trực

giao”, Hội nghị Vô tuyến Điện tử toàn quốc lần thứ 6 (REV’96).

[3] Nguyễn Bình, Nguyễn Thế Truyện (1996), “Các mã xyclic cục bộ có khả năng

trực giao”, Hội nghị Vô tuyến Điện tử toàn quốc lần thứ 6 (REV’96).

[4] Nguyễn Bình, Nguyễn Xuân Quỳnh (1998), “Thiết lập các tổng kiểm tra cho

mã xyclic tạo từ các mã xyclic cục bộ”, Hội nghị tự động hóa toàn quốc lần

thứ ba (VICA-3).

[5] Nguyễn Bình, Nguyễn Xuân Quỳnh (1996), “Giải mã ngưỡng dựa trên hệ tổng

kiểm tra liên kết chặt”, Hội nghị tự động hóa toàn quốc lần 2 (VICA-2).

[6] Nguyễn Bình (2012), “Các mã xyclic và xyclic cục bộ trên vành đa thức”, Tạp

chí Khoa học và Công nghệ, ISSN 0866 708X, Tập 50, Số 6, trang 735-749.

[7] Học viện Công nghệ Bưu chính Viễn thông (2008), Giáo trình Lý thuyết thông

tin, Nhà xuất bản Bưu điện.

[8] Học viện Công nghệ Bưu chính Viễn thông (2007), Giáo trình Mật mã học,

Nhà xuất bản Bưu điện.

[9] Hồ Quang Bửu, Ngô Đức Thiện, Trần Đức Sự (2012), “Xây dựng hệ mật trên

các cấp số nhân cyclic của vành đa thức”, Tạp chí Khoa học và Công nghệ,

ISSN 0866 780X, Tập 50, số 2A, trang 109-119.

[10] Vương Đức Hạnh, Nguyễn Lê Cường, Nguyễn Bình (2013), “Đánh giá hiệu

quả của các mã Turbo xây dựng trên các mã cyclic cục bộ”, Tạp chí Khoa học

và Công nghệ, ISSN 0866 708X, Tập 51, số 4A, trang 98-108.

111

[11] Nguyễn Xuân Quỳnh, Nguyễn Thế Truyện (1996), “Thuật toán thiết lập hệ

tổng kiểm tra tự trực giao cho mã xyclic cục bộ”, Hội nghị tự động hóa toàn

quốc lần thứ hai (VICA-2).

[12] Lê Đình Thích (2002), Nghiên cứu các mã xyclic cục bộ trên vành đa thức,

Luận án Tiến sĩ kỹ thuật.

[13] Ngô Đức Thiện (2010), Các mã xyclic cục bộ xây dựng trên các phân hoạch

hỗn hợp, Luận án Tiến sĩ kỹ thuật, Học viện Công nghệ Bưu chính Viễn thông.

[14] Ngô Đức Thiện, Nguyễn Toàn Thắng, “Một phương pháp xây dựng hệ mật

mã khối theo sơ đồ Lai – Massey và khả năng ứng dụng vào các hàm băm”,

Tạp chí Khoa học và Công nghệ Việt Nam, ISSN 0866 780X, Tập 51, số 4A,

trang 109-119.

[15] Nguyễn Văn Trung (2015), “Các mã cyclic trên vành Mersenne”, Tạp chí

Nghiên cứu Khoa học và Công nghệ Quân sự, ISSN 1859-1043, số tháng

2/2015, trang 44-49.

[16] Nguyễn Thế Truyện (1999), Các thuật toán để tự động lập mã sửa sai mới –

mã xyclic cục bộ, Luận án tiến sĩ kỹ thuật.

[17] Nguyễn Thúy Vân (1999), Lý thuyết mã, Nhà xuất bản KHKT, Hà Nội.

[18] Vũ Việt (2002), Đánh giá hiệu quả của mã xyclic cục bộ, Luận án Tiến sĩ Kỹ

thuật, Học viện Kỹ thuật Quân sự.

Tài liệu tham khảo Tiếng Anh

[19] Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh (2007), "Novel Algebraic

Structure for Cyclic Codes", Applied Algebra, Algebraic Algorithms, and

Error Correcting Codes –Conf. AAECC 17, LNCS 4851, December, Springer-

Verlag Berlin Heidelberg, pp. 301-310.

[20] Dang Hoai Bac, Nguyen Binh, Nguyen Xuan Quynh (2007), "New Algebraic

Structure Based on Cyclic Geometric Progressions over Polynomial Ring

Applied for Cryptography", IEEE, International Conference on

112

Computational Intelligence and Security (CIS) CIS'07, December 15-19,

Harbin, China.

[21] Dang Hoai Bac, Le Ngoc Hung (2008), “Using cyclic code in WCDMA cell

search algorithm”, Journal on Information and Communications

Technologies, ISSN: 0866-7039, issue 3, pp34-38, June 2008.

[22] Nguyen Binh (2002), “Crypto-System Based on Cyclic Geometric

Progressions over Polynomial Ring (Part I)”, REV’02, Vietnam.

[23] Nguyen Binh (2002), “Circulant Crypto System over Polynomial Ring

(Part II)”, REV’02, Vietnam.

[24] Nguyen Binh, Le Dinh Thich (1998), “Systematic cyclic codes constructed

from LCCs over polynomial ring”, REV’98, Vietnam.

[25] Nguyen Binh, Le Dinh Thich (2002), “The Oders of Polynomials and

Algorithms for Defining Oder of Polynomial over Polynomial Ping”, 5th

Vietnam Conference on Automation (VICA-5), Hanoi, Vietnam, October

2002.

[26] Nguyen Binh, Tran Duc Su (2002), “Local Cyclic Codes Constructed on

Conjugate Elements of Swallowing Idempotent”, REV’02, Vietnam.

[27] Nguyen Binh, Tran Duc Su (2002), “Self-symmetric Cosets and Local Cyclic

Codes”, REV’02, Vietnam.

[28] Nguyen Binh, Tran Duc Su, Pham Viet Trung (2001), “Decomposition of

polynomial ring according to the classes of conjugate elements”, AIC-26,

Hanoi, Vietnam.

[29] Nguyen Binh, Vu Viet, Pham Viet Trung (2000), “Decomposition of

Polynomial Ring and Coding with Random Clock”, Proceedings of the 18th

Conference of ASEAN Federation of Engineering Organisations (CAFEO),

22-24 November 2000, Hanoi, Vietnam.

[30] Ngo Duc Thien, Nguyen Binh (2008), “Some Local Cyclic Codes Based on

Compound Decomposition of Two Polynomial Rings”, 2008 International

113

Conference on Advanced Technologies for Communications (ATC 2008 -

REV’11). October 6th-9th, 2008, Hanoi, Vietnam. IEEE Catalog Number:

CFP08ATC-PRT; ISBN: 978-1-4244-2680-5.

[31] Nguyen Xuan Quynh, Nguyen Binh (1993), “Threshold-Decoding Method for

Local Cyclic Orthogonalable Codes”, System Modeling Control, Volume II,

p119-120, Zakopane, Poland.

[32] Amin Shokrollahi (2003), LDPC Codes: An Introduction, Digital Foutain, Inc.,

[33] A. Vardy (1998), “Trellis structure of codes”, Handbook of Coding Theory,

V. S. Pless and W. C. Huffman, Eds. Amsterdam, The Netherlands: Elsevier,

1998, pp. 1989–2118.

[34] Baocheng Wang, Chunming Tang, Yanfeng Qi, Yixian Yang (2012), “The

Weight Distributions of Cyclic Codes and Elliptic Curves”, IEEE

Transactions on Information Theory, ISSN 0018-9448, Vol. 58, No. 12, pp

7253 - 7259.

[35] Blahut R. E. (1983), Theory and Practice of Error Control Codes, Addision-

Wesley, Reading Mass.

[36] Breddermann. T., Vary. P. (2014), “Rate-Compatible Insertion Convolutional

Turbo Codes: Analysis and Application to LTE”, IEEE Transactions on

Wireless Communications, ISSN 1536-1276, Vol. 13, No. 3, pp 1356 - 1366.

[37] B. Heijne, J. Top (2009), “On the minimal distance of binary self-dual cyclic

codes”, IEEE Transactions on Information Theory, ISSN 0018-9448, Vol. 55,

No. 11, pp. 4860–4863.

[38] Carl D. Mayer (2000), Matrix Analysis and Applied Linear Algebra, Society

for Industrial and Applied Mathematics Philadelphia, PA, USA, 2000.

[39] Changli Ma, Liwei Zeng, Yang Liu, Dengguo Feng, and Cunsheng Ding

(2011), “The Weight Enumerator of a Class of Cyclic Codes”, IEEE

Transactions on Information Theory, ISSN 0018-9448, Vol. 57, No. 1, pp.

397-402.

114

[40] Charles L. Byrne (2013), Applied and Computational Linear Algebra: A First

Course, University of Massachusetts Lowell, 2013.

[41] Chengju Li, Qin Yue (2014), “Weight Distributions of Two Classes of Cyclic

Codes With Respect to Two Distinct Order Elements”, IEEE Transactions

on Information Theory, ISSN 0018-9448, Vol. 60, No. 1, pp 296 – 303.

[42] Chunlei Li, Nian Li, Helleseth, T., Cunsheng Ding (2014), “The Weight

Distributions of Several Classes of Cyclic Codes From APN Monomials”,

IEEE Transactions on Information Theory, ISSN 0018-9448, Vol. 60, No. 8,

pp 4710 – 4721.

[43] Cunsheng Ding, Yang Yang, Xiaohu Tang (2010), “Optimal Sets of

Frequency Hopping Sequences From Linear Cyclic Codes”, IEEE

Transactions on Information Theory, ISSN 0018-9448, Vol. 56, No. 7, pp

3605 - 3612.

[44] C. Ding (2012), “Cyclic codes from the two-prime sequences”, IEEE

Transactions on Information Theory, ISSN 0018-9448, 58(6), pp. 357–363.

[45] Elwyn R. Berlekamp (1968), Algebraic Coding Theory, McGraw-Hill Book

Company.

[46] Emanuele Betti and Massimiliano Sala (2006), “A New Bound for the

Minimum Distance of a Cyclic Code From Its Defining Set”, IEEE

Transactrions on Information theory, ISSN 0018-9448, Vol. 52, No. 8, pp

3700 - 3706.

[47] Erik G. Larsson and Petre Stoica (2008), Space-Time Block Coding for

Wireless Communications, Cambridge University Press.

[48] Gaurav Chawla and Vishal Chaudhary (2014), “FPGA Implementation of

Cyclic Code Encoder and Decoder”, Advance in Electronic and Electric

Engineering, ISSN 2231-1297, Volume 4, Number 3, pp. 273-278.

115

[49] Haibin Kan, Hong Shen (2005), “A Relation Between the Characteristic

Generators of a Linear Code and its Dual”, IEEE Transactions on Information

theory, ISSN 0018-9448, Vol. 51, No. 3, March 2005, pp. 1199-1202.

[50] Houshou CHEN (2006), “Optimal Encoding of Binary Cyclic Codes”, IEICE

Transactions on Communications, ISSN 0090-6778, Vol.E89–B, No.12,

Decemer 2006, pp 3280-3287.

[51] James L. Massey (1963), Threshold Decoding, M.I.T Press, Cambridge

Massachusetts.

[52] Junru ZHENG, Takayasu KAIDA (2006), “On Linear Complexity and Schaub

Bound for Cyclic Codes by Defining Sequence with Unknown Elements”,

IEICE Trans. Fundamentals, Vol.E89–A, No. 9 September 2006, pp 2337-

2340.

[53] J. Luo, K. Feng (2008), “Cyclic codes and sequences from generalized

Coulter-Matthews function”, IEEE Transactions on Information Theory,

ISSN 0018-9448, Vol. 54, No. 12, pp. 5345–5353.

[54] Kaneko T., Nishijima. T., Inazumi. H., Hirasawa. S. (2002), “An Efficent

maximum-likelihood decoding algorithm for linear block codes with algebraic

decoder”, IEEE Transactions on Information Theory, ISSN 0018-9448, Vol.

40, No. 2, pp 320-327.

[55] Kechao Huang, Mitchell. D.G.M., Lai Wei, Xiao Ma, Costello. D.J. (2015),

“Performance Comparison of LDPC Block and Spatially Coupled Codes Over

GF”, IEEE Transactions on Communications, ISSN 0090-6778, Vol. 63, No.

3, pp. 592-604.

[56] Keke Liu, Shu Lin, Abdel-Ghaffar. K. (2013), “A Revolving Iterative

Algorithm for Decoding Algebraic Cyclic and Quasi-Cyclic LDPC Codes”,

IEEE Transactions on Communications, ISSN 0090-6778, Vol. 61, No. 12, pp

4816 - 4827.

116

[57] Kristine Lally, Patrick Fitzpatrick (2001), “Algebraic structure of quasicyclic

codes”, Discrete Applied Mathematics, 111, pp 157–175.

[58] Li Zhang, Qin Huang, Shu Lin (2011), “Iterative Algorithms for Decoding a

Class of Two-Step Majority-Logic Decodable Cyclic Codes”, IEEE

Transactions on Communications, ISSN 0090-6778, Vol. 59, No. 2, pp 416 -

427.

[59] Mac Williams F. J., Sloane N. J .A. (1997), The Theory of Error-Correcting

Codes, North-Holland Mathematical Library, Vol. 16, Netherlands.

[60] Maosheng Xiong, Nian Li (2015), “Optimal Cyclic Codes With Generalized

Niho-Type Zeros and the Weight Distribution”, IEEE Transactions

on Information Theory, ISSN 0018-9448, Vol. 61, No. 9, pp 4914 – 4922.

[61] Mark Sum Chuen Ho (2002), Serial and Parallel Concatenated Turbo Codes,

Institute of Telecommunications Research School of Electrical and

Information Engineering, The University of South Australia.

[62] Md. Abbas Ali, Alcardo Alex Barakabitze (2015), “Evolution of LTE and

Related Technologies towards IMT Advanced”, International Journal of

Advanced Research in Computer Science and Software Engineering, Vol. 5

(1), 2015, pp. 16 - 22.

[63] Menezes A. J, Van Oorchot P. C. (1998), Handbook of Applied Cryptography,

CRC Press.

[64] Mikio Iwamura, Hideaki Takahashi, Satoshi Nagata (2010), “Relay

Technology in LTE-Advanced”, NTT DOCOMO Technical Journal Vol. 12

(2), 2010, pp. 29 - 36.

[65] E. Prange (1957), Cyclic error-correcting codes in two symbols, Electronics

Research Directorate, Air Force Cambridge Research Center.

[66] Pisek. E., Rajan. D., Cleveland. J.R (2015), “Trellis-Based QC-LDPC

Convolutional Codes Enabling Low Power Decoders”, IEEE Transactions

on Communications, ISSN 0090-6778, Vol. 63 , No. 6, pp. 1939 - 1951.

117

[67] Qin Huang, Qiuju Diao, Shu Lin, Abdel-Ghaffar. K. (2011), “Cyclic and

quasi-cyclic LDPC codes: New developments”, Information Theory and

Applications Workshop (ITA), 6-11 Feb. 2011, La Jolla, CA, ISBN 978-1-

4577-0360-7, pp 1-10.

[68] Qin Huang, Qiuju Diao, Shu Lin, Abdel-Ghaffar. K. (2012), “Cyclic and

Quasi-Cyclic LDPC Codes on Constrained Parity-Check Matrices and Their

Trapping Sets”, IEEE Transactions on Information Theory, ISSN 0018-

9448, Vol. 58, No. 5, pp 2648 - 2671.

[69] Rudolf Lidl, Harald Neiderreiter (1983), Finite Fields, Addision-Wesley

Publishing Company.

[70] Shannon C. E. (1948), A mathematical theory of communication, Bell Syst Tech J.

[71] Shum. K.W., Hanxu Hou, Minghua Chen, Huanle Xu, Hui Le (2014),

“Regenerating codes over a binary cyclic code”, 2014 IEEE International

Symposium on Information Theory (ISIT), June 29 2014-July 4 2014, pp.

1046 – 1050.

[72] Siemens (1998), A new correlation sequence for the Primary Synchronisation Code

with good correlation properties and low detector complexity, Tdoc SMG2 UMTS-

L1 427/98, Oct. 14-16

[73] Suwen Wu, Jinkang Zhu, Ling Qiu, Ming Zhao (2010), “Network-coding-

based coded cooperation”, Journal of Communications and Networks, Vol 12

(4), 2010, pp. 366 - 374.

[74] Todd K. Moon (2005), Error Correction Coding: Mathematical Methods and

Algorithm, John Wiley & Sons, Inc, 2005.

[75] Townsend R. L and Weldon E. J., Jr. (1967), "Self-orthogonal quasi-cyclic

codes", IEEE Trans. Inform. Theory, vol. IT-13, no. 2, pp. 183-195.

[76] Vucetic, B., Yonghui Li, Perez, L.C, Fan Jiang (2007), “Recent Advances in

Turbo Code Design and Theory”, Proceedings of the IEEE, June 2007, ISSN

0018-9219, Vol. 95, No. 6, pp 1323-1344.

118

[77] Weldon E. J, Peterson W. W. (1972), Error correcting codes, M.I.T. Press.

[78] Vega. G., Morales. L.B. (2013), “A General Description for the Weight

Distribution of Some Reducible Cyclic Codes”, IEEE Transactions

on Information Theory, ISSN 0018-9448, Vol. 59, No. 9, pp 5994 – 6001.

[79] Yan Jia, San Ling, Chaopin Xing (2011), “On Self-Dual Cyclic Codes over

Finite Fields”, IEEE Transactions on Information Theory, ISSN 0018-9448,

57(4), 2243 - 2251.

[80] Zeh. A., Bezzateev. S. (2012), “Describing a cyclic code by another cyclic

code”, 2012 IEEE International Symposium on Information Theory (ISIT),

ISSN 2157-8095, 1-6 July 2014, pp. 2896 - 2900.

[81] Zeh. A., Wachter-Zeh. A., Bezzateev. S.V. (2012), “Decoding Cyclic Codes

up to a New Bound on the Minimum Distance”, IEEE Transactions

on Information Theory, ISSN 0018-9448, Vol. 58, No. 6, pp 3951-3960.

[82] Zeh. A., Wachter-Zeh. A., Bezzateev. S.V. (2013), “Generalizing bounds on

the minimum distance of cyclic codes using cyclic product codes”, 2013 IEEE

International Symposiom on Information Theory Proceedings, ISSN 2157-

8095, pp 126-130.

119

PHỤ LỤC

Phụ lục 1: Phân bố đa thức theo cấp đa thức trên vành 𝒁𝟐[𝒙]/(𝒙𝒏 + 𝟏)

(không bao gồm đa thức lũy đẳng nuốt)

Vành Cấp của đa

thức

Số lượng đa thức theo cấp

Tổng số đa thức

Xác suất chọn đa thức đạt cấp cực đại

30

n = 5

0.533

126

n = 7

0.952

510

n = 9

0.565

2046

n = 11

0.587

n = 13

8190

1 3 5 15 1 7 1 3 7 9 21 63 1 3 11 31 33 93 341 1023 1 3 5 7 9 13 15 21 35 39 45 63 65 91 105

2 4 8 16 6 120 6 24 24 48 120 288 2 4 20 60 40 120 600 1200 2 4 8 12 12 24 16 24 48 48 48 72 96 144 96

120

Vành Cấp của đa

thức

Số lượng đa thức theo cấp

Tổng số đa thức

Xác suất chọn đa thức đạt cấp cực đại

0.422

n = 15

32766

0.959

n = 17

131070

0.848

n = 19

524286

117 195 273 315 455 585 819 1365 4095 1 3 5 15 1 3 5 15 17 51 85 255 1 3 7 9 19 21 27 57 63 73 133 171 189 219 399 511 513 657 1197 1387 1533

144 192 288 288 576 576 864 1152 3456 30 480 832 31424 6 24 64 416 640 4736 14080 111104 2 4 12 12 36 24 36 72 72 144 216 216 216 288 432 864 648 864 1296 2592 1728

121

Vành Cấp của đa

thức

Số lượng đa thức theo cấp

Tổng số đa thức

Xác suất chọn đa thức đạt cấp cực đại

0.534

n = 21

2097150

0.881

8388606

n = 23

0.998

33554430

n = 25

1971 3591 4161 4599 9709 12483 13797 29127 37449 87381 262143 1 3 7 9 21 63 1 23 89 2047 1 3 5 11 15 25 31 33 41 55 75 93 123 155 165 205 275 341 451 465 615

2592 3888 5184 5184 15552 15552 15552 31104 46656 93312 279936 62 448 16320 2688 230976 1846656 6 1144 16192 8371264 6 24 64 40 416 240 120 200 160 560 1680 600 800 1680 4000 2240 2400 1200 1600 12000 16000

122

Vành Cấp của đa

Số lượng đa thức theo cấp

Tổng số đa thức

thức

Xác suất chọn đa thức đạt cấp cực đại

0.601

n = 27

134217726

775 825 1023 1025 1271 1353 1705 2255 2325 3075 3813 5115 6355 6765 8525 11275 13981 19065 25575 31775 33825 41943 69905 95325 209715 349525 1048575 1 3 7 9 19 21 27 57 63 73 133 171 189 219 399

7200 16800 6000 9600 4800 8000 16800 22400 50400 67200 24000 120000 67200 160000 72000 96000 48000 480000 504000 288000 672000 240000 672000 2016000 4800000 2880000 20160000 14 112 240 672 144 3504 1440 1584 28224 576 3888 11232 63072 6336 60912

123

Vành Cấp của đa

thức

Số lượng đa thức theo cấp

Tổng số đa thức

Xác suất chọn đa thức đạt cấp cực đại

511 513 657 1197 1387 1533 1971 3591 4161 4599 9709 12483 13797 29127 37449 87381 262143

15552 25920 44928 502848 10368 243648 103680 1135296 114048 2011392 279936 808704 4541184 4385664 1866240 36205056 81741312

0.609

Phụ lục 2: Xác suất chọn đa thức có cấp cực đại trên vành đa có hai lớp kề

cyclic với 35 giá trị đầu tiên của

2n-1 – 1

p(n)

𝒏

3 3 5 15 11 1023 13 4095 19 262143 29 268 435455

TT 1 2 3 4 5 6

68719 476735

~0,5 ~0,5 ~0,586 ~0,42 ~0,534 ~0,494 ~0,378

37

7

4503 599627 370495

~0,529

53

8

288230 376151 711743

~0,65

59

9

1152921 504606 846975

~0,35

10

61

73786976 294838 206463

~0,53

11

67

Phân tích nguyên tố 3 3.5 3.11.31 3.3.5.7.13 3.3.3.7.19.73 3.5.29.43.113.127 3.3.3.5.7.13.19.37.73. 109 3.5.53.157.1613.2731. 8191 3.59.233.1103.2089.3 033169 3.3.5.5.7.11.13.31.41. 61.151.331.1321 3.3.7.23.67.89.683.12 503333503

124

TT

2n-1 – 1

𝒏

4835703 278458 516698 824703

p(n) ~0,658

12

83

~0,45

13

101

1267650 600228 229401 496703 205375

~0,66

14

107

~0,575

15

131

81129638 414606 681695 789005 144063 1361129467 683753 853853 498429 727072 845823

Phân tích nguyên tố 3.83.19420495094 210910 437047 3.5.5.5.11.31.41.101.2 51.601.1801.4051.217 5126601 3.107.6361.39732794 621531167436196823 3.11.31.131.2731.3 719039 635089 626747 719861 3.3.7.47.139..

~0,559

16

139

~0,530

17

163

3.3.3.3.3.7.19.73.163. 1467.2593… 3.5.173.431…

~0,529

18

173

3.179…

~0,663

19

179

~0,315

348449 143727 040986 586495 598010 130648 530943 5846006 549323 611672 814739 330865 132078 623730 171903 5986310706 507378 352962 293074 805895 248510 699696 029695 383123 885216 472214 589586 756787 577295 904684 780545 900543 1532495 540865 888858 358347 027150 309183 618739 122183 602175

20

181

~0,492

21

197

~0,377

22

211

3.3.3.5.5.7.11.13.19.3 1.37.41.61.73.109.151 .181.331.631.1321… 3.5.29.43.113.127.197 … 3.3.5.7.7.11.31.43.71. 127.151.211.281.331. 337.5419… 3.227.3391…

~0,664

23

227

3.5.269…

~0,531

24

269

3.5.293.439.9929…

~0,530

25

293

3.5.317.2687…

~0,532

26

317

3.347.4153…

~0,665

27

347

100433 627766 186892 221372 630771 322662 657637 687111 424552 206335 1645 504557 321206 042154 969182 557350 504982 735865 633579 863348 609023 107839786 668602 559178 668060 348078 522694 548577 690162 289924 414440 996863 474284397 516047 136454 946754 595585 670566 993857 190463 750305 618264 096412 179005 177855 7957171782 556586 274486 115970 349133 441607 298412 757563 479047 423630 290551 952200 534008 528895 133499 189745 056880 149688 856635 597007 162669 032647 290798 121690 100488 888732 861290 034376 435130 433535 143343663 499379 469475 676305 956380 433799 785311 823017 570233

125

TT

Phân tích nguyên tố

p(n)

𝒏

~0,445

3.3.5.7.13.59.233.349. 1103.2089.4177…

28

349

~0,531

3.5.389.971.1553.388 1.4657.5821.11447...

29

389

3.23.89.419...

~0,629

30

419

~0,318

31

421

3.3.5.5.7.11.13.29.31. 41.43.61.71.113.127.1 51.211.281.331.337.4 21.1321.1429.5419…

~0,665

3.443.1327.2731.8191 …

32

443

~0,444

3.5.5.11.31.41.47.277. 461.691.1013.1657.14 951…

33

461

3.467.1399…

~0,665

34

467

~0,557

3.11.31.43.71.127.281 .491.1471…

35

491

2n-1 – 1 599302 461682 679755 530300 504376 159569 382855 409663 573374653 997517 877902 705223 825521 735199 141247 292070 280934 397209 846730 719022 121202 017504 638277 531421 638655 630432099 142311 667396 464641 602297 820881 275828 327447 146687 172694 467931 548343 955369 782628 260078 158650 252906 047844 909055 676921 312041 214565 326761 275425 557544 784286 395355 423968 547480 366360 991530 225982 818124 993751 490268 451683 933401 113623 918903 558143 2707685 248164 858261 307045 101702 230179 137145 581421 695874 189921 465443 966120 903931 272499 975005 961073 806735 733604 454495 675614 232575 11356855 067118 857664 833184 498250 070849 275646 260739 344691 898284 362197 488876 771842 551971 735167 402555 711886 914400 097909 030211 478150 447103 2977131 414714 805823 690030 317109 266572 712515 013375 254774 912983 855843 898524 112477 893944 078543 723575 564536 883288 499266 264815 757728 270805 630975 190536410 541747 572716 161940 294993 060653 600960 856016 305594 430966 774009 505543 198585 212421 026798 308836 130360 530463 953040 948208 494609 331560 382463 3196670515 523576 044934 755563 308202 297086 564498 088930 458479 776726 656380 660551 439995 003193 449537 015778 467662 777468 320381 844938 727095 591204 153641 140223

126

Phụ lục 3: Bảng khảo sát các mã cyclic cục bộ xây dựng trên nhóm nhân

VĐT mã

tt

(0 1 2), (1 3),

(0 1 2 4) (0 1 3)

(2 3),

(0 1 2 3 5)

(0 2 3 4) (0 2 3)

(0 1 3), (0 2

3), (0 3 4), (2

3 4), (0 1 2 3

4)

(1 2), (1 2 3 5)

(0 1 3 )

(0 1 2 4)

(0 2 3)

(0 2 3 4)

(3 4), (0 2 3

4), (1 2 3 4)

(0 3 6)

(0 3)

(1 4)

(1 2 4)

(0 1 4 6) (0 2 4 5 8 9 10 12 13 14 15) (0 4 5 8 10 12 13 14 15 16) (0 1 5)

(0 1 2 4)

(1 4 5), (2 4 5)

(0 1 2 3 5

(0 2 3 6 8 11 12)

6 7 9)

(1 4 5 6), (2 4

(0 1 3 6

(0 2 4 5 6 7 9 11 12 13)

8)

5 6)

(0 1)

0 1 2 3 4 5 6 7 9 11 13 15 16 19 20 23 27 31 32 33 34 39 41 47 48 55

(0 1 2)

(0 7 8) (0 2 6 7) 0 1 2 3 4 6 7 8 9 12 13 14 16 18 19 24 26 27 28 32 33 35 36 38 41 45

48 49 52 54 56

(0 1 3)

(0 1 2 3 4

0 1 2 4 5 6 7 8 10 16 17 20 23 24 26 27 28 29 32 33 34 38 40 41 42

6 8 9)

45 49 53 54

(0 1 4)

(0 2 3 5 6

0 1 3 5 7 8 9 12 13 18 22 24 27 29 30 33 36 37 38 40 41 43 44 45 46

7)

50 51 52 53 54 56

(0 1 3 4)

(0 1 2 5

0 1 2 3 6 9 11 13 16 17 19 24 28 30 31 33 34 35 36 37 38 40 42 43

6)

44 48 49 52 53 54 56 57

(0 2 3 4)

(0 2 4 7) 0 3 5 6 7 9 10 11 12 14 17 18 20 22 24 25 27 28 33 34 35 36 37 40

44 45 48 49 50 54 56

(0 1 2 3 4)

(0 2 8 9) 0 1 2 3 4 5 6 8 9 10 11 12 13 16 17 18 19 20 22 24 25 26 27 32 33 34

36 37 38 40 41 44 45 48 50 52 54

(1 2 3 5)

(0 1 8)

0 7 8 14 16 21 22 23 24 28 32 35 36 39 40 42 44 46 48 49 50 51 52

53 54 55

cyclic trên phân hoạch vành đa thức và mã cyclic tương ứng

VĐT mã

tt

(0 1)

0 1 4 5 11 13 16 17 19 20 22 23 24 25 26 27 28 29 30 31 33 34 35 37

(0 1 2 7 8 9 10)

38 39 40 41 42 45 46 47 49 50 52 53 55 57 59 61 63 64 66 69 71 73

77 79 80 82 83 85 86 89 90 93 94 96 97 101 102 105 106 107 108

111 114 117 121 125 128 133 137 139 143 144 145 149 150 151 152

157 158 159 165 166 167 168 171 172 173 174 176 181 183 189 191

192 193 194 195 196 198 200 201 202 204 206 207 213 214 221 222

224 226 228 229 232 234 235 238 245 253 256 257 260 264 265 267

268 269 277 278 279 280 281 282 283 284 288 292 293 294 295 297

298 300 309 311 313 315 320 321 322 323 325 327 328 330 331

(0 1 2)

(0 5 8 9

0 1 4 5 6 9 11 13 15 16 20 22 25 26 27 30 31 32 33 34 35 36 37 38

10 11)

40 42 44 45 47 55 57 58 63 65 66 68 70 71 72 73 74 75 76 77 84 88

89 90 91 92 93 97 99 100 101 105 110 111 112 113 114 115 116 118

119 120 121 122 125 126 128 129 130 131 132 134 135 139 140 142

143 146 147 148 150 151 152 153 154 155 158 159 160 161 163 165

168 169 170 171 174 176 177 179 182 184 186 187 190 191 192 193

194 196 198 199 200 206 208 209 210 212 216 220 226 228 230 231

232 233 238 239 241 242 243 244 248 249 253 254 257 258 261 262

263 264 270 271 272 274 275 276 278 281 282 283 285 286 288 290

291 293 295 297 299 301 302 303 305 306 307 308 310 311 314 315

319 321 322 325 330

127

VĐT mã

tt

(0 1 3)

0 1 4 5 7 8 9 10 14 18 20 22 23 24 25 26 27 29 35 36 40 41 42 44 46

(0 1 2 4 8 9 10 11)

49 50 54 55 62 64 67 68 69 70 71 74 75 77 81 82 83 86 88 89 93 95

97 99 101 105 109 110 111 112 113 115 118 120 121 124 125 126

127 128 129 130 133 135 137 138 139 141 146 147 150 154 156 157

158 160 162 164 165 168 175 179 180 182 187 190 191 192 194 197

198 201 202 205 207 208 210 217 218 220 221 225 234 237 238 243

244 246 248 249 250 252 253 255 258 259 260 261 264 265 269 272

274 276 279 281 282 283 286 288 291 296 297 299 300 301 303 304

305 307 308 312 313 315 317 319 320 321 325 327 328 330 332 334

336 337 339 340 341 343 345 346 347 350 351 352 353 357 358 360

361 362 363 364 366 367 368 370 373 376 377 380 383 384 385 386

388 389 392 395 397 401 402 403 404 409 410 411 413 417 418 421

422 423 424 426 429 430 431 434 435 438 439 440 445 446 451 457

459 460 461 468 469 470 471 474 477 481 484 490 491 492 494 495

497 498 501 503 504 505 506 507 509 511 512 513 514 517 519 520

521 523 524 525 526 527 530 535 539 544 546 550 552 555 557 559

560 565 567 569 575 578 581 583 584 586 587 589 591 596 597 598

602 605 606 607 608 609 610 613 614 615 616 617 619 620 625 626

627 628 629 630 632 633 635 637 638 640 643 645 648 649 651 654

655 657 658 661 662 663 665 667 668 671 672 674 676 679 682 685

686 687 691 692 695 697 702 704 705 707 708 709 710 711 712 713

715 716 717 718 719 720 724 726 734 735 736 739 740 741 744 747

748 750 751 752 755 759 760 761 763 764 765 766 769 770 771 773

774 775 778 779 781 782 784 785 787 788 789 790 792 796 799 800

802 804 805 809 810 811 812 813 814 815 816 824 826 827 830 832

834 836 837 838 839 841 842 843 844 846 847 849 850 851 856 859

861 862 863 864 870 875 876 877 878 880 881 882 886 887 888 894

895 897 900 904 905 909 911 912 913 914 915 916 917 918 919 921

923 925 928 929 930 932 933 936 937 943 944 945 946 947 951 952

953 954 956 958 959 961 962 968 970 972 973 975 977 978 979 980

981 986 988 989 990 991 993 995 999 1000 1002 1003 1005 1009

1011 1012

128

VĐT mã

tt

(0 1 2 4)

(0 1 4 5 6

0 1 7 8 9 10 11 12 14 15 18 19 21 24 27 29 31 32 33 34 35 38 39 40

7 8 9 10)

42 48 49 50 53 55 56 58 61 63 66 68 69 73 74 76 78 79 81 82 84 85

86 93 94 96 97 100 101 102 106 110 112 115 122 123 124 126 129

130 132 133 134 136 138 141 142 143 144 145 148 152 156 157 161

164 165 166 167 170 171 179 180 181 182 186 187 192 194 195 196

197 198 199 202 203 205 206 211 215 216 217 218 220 223 227 228

230 231 232 235 236 239 240 244 245 248 249 250 252 253 254 258

259 261 262 264 266 267 272 273 274 276 277 278 279 280 282 283

285 287 289 293 294 296 301 302 304 307 308 309 310 312 314 319

320 321 325 326 327 329 331 333 335 336 337 338 340 342 343 344

347 348 349 350 351 352 358 359 362 363 365 366 367 368 371 374

379 380 381 382 383 385 386 387 390 392 394 395 398 401 402 404

406 407 408 410 412 413 414 415 416 417 418 419 420 421 423 424

425 426 427 428 430 432 434 435 437 438 439 441 442 446 447 448

451 452 454 456 460 462 463 470 472 473 474 477 480 481 482 485

486 487 490 495 498 499 501 502 504 505 507 515 518 522 524 525

526 527 532 533 537 538 539 540 541 542 543 545 548 549 550 552

553 555 558 559 563 565 567 568 569 574 575 576 577 579 580 581

582 586 588 592 601 603 608 614 615 617 619 621 622 623 625 626

628 629 630 631 632 637 639 642 643 644 649 652 654 655 656 658

659 660 662 663 664 665 667 668 669 671 674 676 677 678 679 681

682 684 685 688 694 696 697 699 701 704 707 708 711 712 713 714

716 717 723 726 727 728 730 732 733 736 737 738 739 740 742 747

749 750 753 754 757 759 762 763 765 769 771 773 780 784 787 789

793 794 795 801 803 805 806 808 812 813 816 820 821 822 824 825

828 830 831 834 836 838 840 842 845 847 849 852 853 856 859 861

862 864 865 866 867 869 873 876 877 882 883 885 886 887 888 889

890 891 894 896 897 898 902 904 905 906 908 912 913 914 915 916

920 923 926 929 930 931 932 933 934 935 936 940 941 942 943 946

948 954 959 961 963 965 966 970 972 973 975 976 980 985 986 989

991 992 993 994 995 997 999 1000 1002 1004 1005 1006 1007 1010

1011 1012 1013

129

130

Phụ lục 4: Số mersenne và một số vành đa thức có hai lớp kề cyclic có

- Mersenne prime: 2𝑝 − 1

𝑝 = 2, 3, 5, 7, 13, 17, 19, 31, 61, 89, 107, 127, 52, 607, 1279, 2203,

3217, 4253, 9689, 9941, 19937, …, 74207281.

- PR’s with two cyclotomic cosets

𝑛 = 5, 11, 19, 29, 37, 53, 59, 61, 67, 83, 101, 107, 131, …, 523,

613, 1277, 2213, 3203, 3253, 4253, …, 9941

cấu trúc đặc biệt

131

Ví dụ 5.1p: Mã LCC đơn nhịp với nhịp

Phụ lục 5: Một số sơ đồ mã hóa và giải mã cyclic cục bộ

:

Từ mã của mã này có thể được mô tả như hình 5.1.

Hình 5.1p: Từ mã của LCC với nhịp x

Sơ đồ mã hóa được trình bày trong hình 5.2p.

Chú ý: Biểu diễn nhị phân của một số là tương ứng với một đa thức, chẳng

hạn như

Hình 5.2p: Sơ đồ mã hóa cho mã LCC đơn nhịp (15,5,7) với nhịp x

Sơ đồ giải mã ngưỡng được trình bày trong hình 5.3p.

Hệ tổng kiểm tra trực giao với cặp dấu Hệ thổng kiểm tra trực giao với dấu mã

(12) tại mức ngưỡng đầu tiên (1) tại mức ngưỡng thứ hai

S1’ = (1.2) + 2 S1 = 1 + 2

S2’ = (2.4) + 7 S2 = 7 + 4

S3’ = (4.8) + 13 S3 = 25 + 26

S4’ = (8.6) + 25 S4 = 19 + 16

S5’ = (16.1) + 16 S5 = 11 + 8

S6’ = (1.2) + (2.4) + 4 S6 = 13 + 14

132

S7’ = (2.4) + (4.8) +11 S7 = 21 + 22

Ví dụ 5.2p: Mã LCC đơn nhịp với nhịp (024):

Hình 5.3p: Sơ đồ giải mã cho mã LCC đơn nhịp (15,5,7) với nhịp x

Sơ đồ mã hóa và bộ tạo nhịp (clock) được trình bày trong hình 5.4 và 5.5.

Hình 5.4p: Sơ đồ mã hóa cho mã LCC đơn nhịp (15,5,7) với nhịp (024)

133

Hình 5.5p: Bộ tạo nhịp (clock)

Sơ đồ giải mã ngưỡng được trình bày trong hình 5.6p.

Hình 5.6p: Sơ đồ giải mã ngưỡng cho mã LCC đơn nhịp (15,5,7) với nhịp (024)

Ví dụ 5.3p: Mã LCC đa nhịp

Từ mã của mã này có thể được mô tả như hình 5.7p.

Hình 5.7p: Từ mã của LCC đa nhịp (15,5,7)

Sơ đồ mã hóa của mã này được trình bày trong hình 5.8p.

Hình 5.8p: Sơ đồ mã hóa cho mã LCC đa nhịp (15,5,7)

134

Sơ đồ giải mã ngưỡng của mã này được trình bày trong hình 5.9p.

Hình 5.9p: Sơ đồ giải mã cho mã LCC đa nhịp (15,5,7)

Tốc độ nhịp của thanh ghi B bằng hai lần tốc độ nhịp của thanh ghi A và D.

Tốc độ nhịp của thanh ghi C bằng ba lần tốc độ nhịp của thanh ghi A và D.

Tốc độ cơ sở là căn nguyên thủy thứ n của 1 ( )

135

Phụ lục 6: Phương pháp thực hiện bộ mã cyclic trên cấu kiện phần cứng

Trong phần này, nghiên cứu sinh sẽ trình bày việc xây dựng một số bộ mã

cyclic trên FPGA với các nội dung: nghiên cứu phương pháp xây dựng bộ mã, thực

hiện thiết kế và mô phỏng bộ mã trên FPGA. Trước hết, có thể thấy rằng mỗi bộ mã

cyclic khác nhau đều có sơ đồ mã hoá và giải mã khác nhau [6], [12], [19], do đó

theo lý thuyết về phương pháp xây dựng mã cyclic thì với mỗi bộ mã ta cần phải có

một cấu kiện phần cứng tương ứng với sơ đồ mạch điện của nó. Tuy nhiên với sự

phát triển của công nghệ điện tử, ngày nay công nghệ FPGA đã góp phần cung cấp

cho thị trường các chip logic số có số lượng cổng logic lớn và đặc biệt là có thể viết

chương trình để tạo ra các mạch điện thực hiện chức năng theo yêu cầu.

Nhằm kết hợp ưu điểm của cấu kiện logic khả trình và hướng tới xây dựng

một mạch điện tử thực hiện được chức năng một số bộ mã cyclic, phần tiếp theo

luận án trình bày phương pháp xây dựng mạch mã hoá và giải mã trên cấu kiện logic

khả trình FPGA để thực hiện chức năng của một số bộ mã có đặc điểm tương tự

nhau. Dưới đây sẽ trình bày kết quả nghiên cứu xây dựng hai bộ mã LCC(15,5) và

LCC(27,9) là những mã tốt được đề xuất ở trên.

P6.1. Đề xuất thực hiện thuật toán nhân và bình phương trên FPGA

Từ thuật toán nhân và bình phương lặp (RSMA – Repeated Square-and-

Multiply Algorithm) trong , [63], nghiên cứu sinh đề xuất thực hiện thuật toán

trên FPGA để tiến tới ứng dụng xây dựng CMG cho bộ mã cyclic trên cấu kiện phần

cứng logic khả trình. Kết quả nghiên cứu về nội dung này được trình bày tại hội

nghị khoa học quốc tế và công bố trong [C1].

P6.1.1. Đề xuất thực hiện thuật toán áp dụng cho tổng quát

Lưu đồ thực hiện thuật toán trên FPGA được đề xuất như hình 6.1p. Trong lưu

đồ sử dụng các thuật ngữ, cách trình bày theo ngôn ngữ mô tả phần cứng VHDL.

136

Hình 6.1p: Lưu đồ RSMA đa thức thực hiện trên FPGA

137

Trong lưu đồ này, thuật toán được thực hiện theo hai phần chính:

- Phép nhân:

Thực hiện theo nhân hai số nhị phân thông thường, đầu ra g_d <= gx * g_gen;

Thực tế ở đây là phép nhân của bit trọng số thấp trong của mảng gx với

g_gen (là mảng bit), kết quả thu được là g_d (là mảng bit).

- Phép lấy dư:

+ Phương pháp thứ nhất: Theo lý thuyết điện tử số, ta có thể thực hiện phép

chia hai số nhị phân dựa trên phép cộng số bị chia với bù 2 của số chia, sau đó xác

định được thương số và phần dư. Thuật toán như vậy có thể áp dụng tốt trong lập

trình C, dùng cho các bộ vi xử lý, vi điều khiển. Tuy nhiên, thuật toán chia mà sử

dụng bù 2 sẽ làm cho chương trình xuất hiện những vòng lặp vô hạn, điều này dẫn

đến việc không kiểm soát được số chu kỳ xung đồng hồ, và đây là một điều không

mong muốn trong lập trình VHDL và ứng dụng công nghệ FPGA.

+ Phương pháp thứ hai: Thực hiện phép chia như chia hai số nhị phân thông

thường. Chia giá trị bit từ trọng số cao xuống bit có trọng số thấp. Chú ý sử dụng

một mảng để lưu dữ liệu số bị chia, một mảng để lưu dữ liệu số chia, sử dụng phép

dịch vòng trái để dịch vòng số chia đến cùng vị trí bit giá trị 1 có trọng số cao nhất

rồi tiến hành phép XOR. Kết quả sau mỗi phép XOR (giữa số bị chia với số chia đã

dịch vòng) được lưu đè trong mảng chứa dữ liệu số bị chia. Phép chia sẽ dừng lại

khi trọng số bit 1 lớn nhất lưu trong mảng chứa số bị chia nhỏ hơn trọng số bit 1 lớn

nhất lưu trong mảng chứa số chia (cụ thể là phép chia dừng lại sau nhịp),

phần dư chính là giá trị bit trọng số thấp nhất chứa trong mảng số bị chia.

- Lặp đến lũy thừa k: Thuật toán nhân và lấy dư được thực hiện lặp đi lặp lại

đến k lần, đảm bảo thực hiện nhân và lấy dư (mode) lũy thừa k. Kết quả cần tìm thu

được thông qua .

P6.1.1. Đề xuất thực hiện thuật toán áp dụng cho

138

Hình 6.2p: Lưu đồ RSMA đa thức với thực hiện trên FPGA

139

Với đa thức thì thuật toán được đề xuất ở trên được thực hiện như

lưu đồ trong hình 6.2p. Trong lưu đồ này, đa thức là dạng đơn giản nên

có thể thấy rằng phép nhân và phép lấy dư theo thuật toán tổng quát được thay thế

bằng phép dịch vòng và XOR.

P6.2. Thiết kế bộ mã LCC (15, 5) trên FPGA

Muốn xây dựng bộ mã LCC (15,5) cần phải làm hai phần việc như sau: Thứ

nhất, là xây dựng mạch mã hóa theo phương pháp xây dựng mã LCC đã được trình

bày; Thứ hai, là xây dựng mạch giải mã theo phương pháp giải mã ngưỡng.

Chọn đa thức sinh có cấp 15 (cấp cực đại của vành)

trên vành đa thức 𝑍2/(𝑥5 + 1). Tiếp đến, ta xây dựng xây dựng mạch mã hóa và giải mã, sau đó thực hiện thiết kế và mô phỏng bộ mã trên FPGA.

P6.2.1. Phương pháp xây dựng bộ mã

CMG A với phần tử sinh trên :

Mã cyclic được xây dựng theo nhóm nhân A là mã (15,5,7). Đây là mã hệ

thống với ma trận sinh như sau:

Trong ma trận sinh G, ta có thể thấy:

 Cột thứ nhất 1 tương ứng với .

 Cột thứ nhất 2 tương ứng với .

140

 …

 Cột thứ nhất 15 tương ứng với và phần tử này là phần tử

cuối cùng của nhóm nhân A.

Trong nhóm nhân CMG A, có . Do vậy, ta thấy

rằng cột thứ i của dịch chuyển so với cột thứ sang phải 3 vị trí. Thuật

toán mã hóa của mã cyclic dựa trên nhóm nhân CMG:

Ta có sơ đồ thực hiện mã hóa như hình 6.3p. Trong đó 5 ô X0, X1, X2, X3, X4

chứa 5 bit thông tin, sau mỗi nhịp xung đồng hồ sẽ có 1 bit tại đầu ra. Kết quả là từ

5 bit thông tin ban mã hóa theo xung nhịp thành 15 bit để phát đi [6].

Hình 6.3p: Sơ đồ mã hóa mã (15,5,7) với thức sinh

* Giải mã:

Thuật toán giải mã sẽ tuân theo luật giải mã ngưỡng với 2 cấp ngưỡng:

Cấp nưỡng thứ nhất: Hệ CS với cặp Cấp ngưỡng thứ 2: Hệ CS với dấu

dấu thông tin (0) + (1) thông tin (0) trong cặp dấu (0) + (1)

(01) = (024) + (124) (0) = (01) + (1)

= (034) + (134) = (12) + (012)

= (013) + (3) = (23) + (023)

= (014) + (4) = (34) + (034)

141

= (012) + (2) = (04) + (4)

= (023) + (123) = (01) + (12) + (2)

Trong mã này, số CS bằng 6, đo đó khoảng cách Hamming sẽ là: 𝑑0 = 7; sửa

được 3 bit lỗi. Sơ đồ giải mã của mã này được minh họa tại hình 6.4p.

Hình 6.4p: Sơ đồ giải mã cyclic (15, 5) trên 𝑍2[𝑥]/(𝑥5 + 1)

Hoạt động: 15 nhịp đầu đưa từ mã nhận vào các ô nhớ.

Nhịp Giải mã Nhịp Giải mã Nhịp Giải mã Nhịp Giải mã Nhịp Giải mã

16 19 22 25 28 (01) (12) (23) (34) (04)

31 34 37 40 43 (0) (1) (2) (3) (4)

P6.2.2. Thiết kế và mô phỏng trên FPGA

Mô hình thử nghiệm thuật toán mã hóa và giải mã cyclic cục bộ trên vành

bằng FPGA như hình 6.5p. Mô hình gồm các khối:

tức vành

142

Coding: Khối mã hóa, thực hiện thuật toán mã hóa cyclic trên vành chuỗi

thông tin đầu vào 5 bit (dulieuvao), thành từ mã 15 bit (Bi).

Channel: mô phỏng một kênh truyền đơn giản trong đó từ mã vào (Bi) được

đánh lỗi ngẫu nhiên, từ mã ra khỏi kênh (Bo) có từ 0 đến 3 bit lỗi. Nguyên lý thiết

kế: Sử dụng một bộ đếm 15 bit mà đầu ra 15 bit đó có số bit 1 từ 0 đến 3 và vị trí

xuất hiện ngẫu nhiên. Chuỗi bit đó được cộng modul 2 với từ mã vào (Bi) để làm

lỗi từ mã từ 0 đến 3 bit.

DeCoding: Khối giải mã, thực hiện thuật toán giải mã cyclic trên vành

(giải mã ngưỡng) chuỗi từ mã nhận được, tạo ra từ mã thông tin 5 bit dulieura.

Hình 6.5p: Sơ đồ mô hình thử nghiệm dưới dạng RTL

a) Thiết kế mạch mã hóa

Phương án 1: Thiết kế mạch mã hóa giống như sơ đồ lý thuyết tại hình 6.3p.

Phương án 2: Thiết lập mạch mã hóa theo sơ đồ như hình 6.6p. Thành phần

mạch bao gồm một thanh ghi lưu trữ thông tin cần mã hóa, các cổng AND và XOR

để thực hiện. Tiếp theo sẽ trình bày theo phương án 2.

143

Hình 6.6p: Sơ đồ mã hóa thông tin theo nhóm nhân cyclic

Thông tin được phát theo nhóm 5 bit, sử dụng mạch mã hóa (15,5), nghĩa là

mỗi nhóm 5 bit thông tin được mã hóa theo 15 phần tử của nhóm nhân cyclic thành

là nhóm 5 bit thông tin, được mã hóa 15 bit nhị phân và phát đi. Với Di =

thông qua cấu trúc mạch mã hóa như hình 6.6p. bằng 15 tổ hợp Gi =

Hoạt động của mạch mã hóa trong 15 nhịp đầu tiên:

vào 5 ô nhớ dành cho - Nhịp 1: Chuyển nhóm 5 bit thông tin D0 =

D; chuyển tổ hợp G0 vào 5 ô nhớ dành cho G. Tiến hành các phép toán logic AND,

XOR tương ứng. Kết quả được 1 bit X1.

- Nhịp 2: Giữ nhóm 5 bit thông tin D0 trong 5 ô nhớ dành cho D; chuyển tổ

hợp G1 vào 5 ô nhớ dành cho G. Tiến hành các phép logic, kết quả lưu vào X2.

- Nhịp 3->15: Làm tương tự như nhịp 2 (giữ nguyên 5 bit thông tin D0), thay

đổi nội dung trong các ô nhớ G bằng các tổ hợp G2->G14. Kết quả lưu vào X2-> X14.

Kết quả là từ 5 bit thông tin ban đầu , sau mã hóa thu được dãy 15

bit phát đi với thứ tự như sau:

Với cách làm như trên, cứ sau mỗi 15 nhịp ta sẽ mã hóa được 5 bit thông tin

theo 15 phần tử của nhóm nhân thành dãy 15 bit và phát đi trên đường truyền. Trong

144

đó 15 phần tử của nhóm nhân được tìm ra theo phương pháp thực hiện thuật toán

nhân và bình phương đa thức đã nghiên cứu trong mục P6.1.

b) Thiết kế mạch giải mã

Khối DeCoding như trong hình 6.7p, gồm 5 nhánh để thực hiện giải mã song

song cả 5 bit thông tin Io(0:4). Mỗi nhánh gồm:

+ Mạch đệm dịch vòng trái “rol” từ mã 15 bit đầu vào b(1:15). Phần dịch vòng

được thiết kế theo kiểu tổ hợp, nên mạch thực hiện dịch vòng số lần mong muốn

ngay sau một chu kỳ đồng hồ (1 clk).

+ Mạch tính tổng kiểm tra “S”: Mạch tổ hợp để tính ra 7 CS cho cấp ngưỡng

đầu tiên và 7 CS cho cấp ngưỡng 2 theo thuật toán giải mã như ở phần trên.

+ Mạch giải mã ngưỡng “M”: Thực hiện giải mã ngưỡng để xác định giá trị

bit thông tin tương ứng. Nguyên lý mạch giải mã ngưỡng “M”: Thiết kế mạch cộng

logic tổ hợp cho 7 CS, kết quả là m và sử dụng mạch logic tổ hợp so sánh m với 4,

nếu m ≥ 4 thì bit thông tin ra là 1, ngược lại bit thông tin ra là 0. Cấp ngưỡng thứ

nhất giải mã ra 5 bit I_t(0:4), cấp ngưỡng thứ hai giải mã ra 5 bit thông tin Io(0:4).

Hình 6.7p: Sơ đồ RTL của mạch khối DeCoding

145

Với thiết kế mạch giải mã như vậy tốc độ giải mã là lớn nhất, gần như là tức

thời, tuy số tài nguyên cổng logic cần sử dụng nhiều nhưng đó lại là ưu thế của

FPGA vì số lượng cổng logic tương đương rất lớn của nó. Ngoài ra, khi xây dựng

chương trình có thể cài đặt tham số để ứng với mỗi nhóm nhân cyclic sẽ có mạch

giải mã tương ứng.

Hình 6.8p: Kết quả mô phỏng bộ mã cyclic (15, 5) với phần tử sinh (024)

Toàn bộ các khối được thiết kế theo mô hình mạch mã hóa và giải mã đã được

trình bày và được mô tả bằng ngôn ngữ mô tả phần cứng VHDL, sau đó được tổng

hợp và thực hiện bằng FPGA XC3S500E-4CPG132. Kết quả của của quá trình tổng

hợp, cấu hình và mô phỏng như trong hình 6.8p. Tài nguyên logic được sử dụng chỉ

ra trong bảng 3.1p.

Bảng 3.1p: Tài nguyên logic được sử dụng xây dựng bộ mã LCC(15,5)

Tiện ích Logic Đã sử dụng Hiệu suất

Số cổng logic 135 2%

Số tri gơ 6 0%

146

Số LUT 4 đầu vào 238 2%

Số cổng vào/ra (IO) 46 50%

Số GCLK 1 4%

Kết quả mô phỏng trên hình 6.8p cho thấy rằng bộ mã có khả năng sửa tới 3

bit lỗi, trong đó có ưu điểm trong việc sửa lỗi cụm. Từ bảng 1p cho thấy tài nguyên

logic được sử dụng để xây dựng bộ mã hóa là rất nhỏ, do đó hoàn toàn có thể tận

dụng phần tài nguyên FPGA trong các hệ thống số để xây dựng các bộ mã cyclic

hỗ trợ sửa lỗi cho quá trình truyền tin.

Ưu điểm nổi bật của phương pháp này là chỉ với một chương trình phần mềm

được viết sẵn, ta có thể thay đổi phần tử sinh thì tự động tổng hợp được mạch mã

hoá và giải mã tương ứng trên FPGA để thực hiện chức năng của mạch. Nghiên cứu

sinh cũng đang thực hiện việc xây dựng các bộ mã cyclic trên các bộ vi điều khiển,

kết quả bước đầu cho thấy việc thực hiện mạch mã hoá và giải mã các bộ mã LCC

trên FPGA có nhiều ưu điểm về tài nguyên, tốc độ.

P6.3. Thiết kế bộ mã LCC (27, 9) trên FPGA

Phần này đề xuất việc xây dựng bộ mã LCC (27, 9, 9) từ 3 cấp số nhân cyclic

lấy trong phân hoạch vành đa thức thành các CGP cấp 9 [6]. Trước

hết nghiên cứu phương pháp xây dựng bộ mã, sau đó thực hiện thiết kế và mô phỏng

bộ mã trên FPGA.

P6.3.1. Phương pháp xây dựng bộ mã

Mã LCC (27, 9) được xây dựng từ 3 cấp số nhân cyclic lấy trong phân hoạch

vành đa thức thành các CGP cấp 9. CGP1 chính là nhóm nhân cyclic

đơn vị (là đa thức thông tin). Chọn CGP6 (trưởng lớp kề là (11)) và CGP29 (trưởng

lớp là (61)) làm các dấu kiểm tra.

1

2

4

8 16 32 64 128 256 11 22 44 88 176 352 193 386 261 61 122 244 488 465 419 327 143 286

Cấu trúc từ mã LCC (27, 9) với các dấu mã biểu diễn ở dạng thập phân:

Nếu biểu diển mã LCC này theo trưởng lớp kề thì có dạng {1, 11, 61}.

147

Trong đó: Lớp kề 1 có trưởng lớp kề là (CGP6).

Lớp kề 2 có trưởng lớp kề là (CGP29).

Sơ đồ mã hóa cho mã LCC này được trình bày trong hình 6.9p.

Hình 6.9p: Sơ đồ mã hóa LCC (27, 9, 9) với ba lớp kề {(1), (11), (61)}

Số nhịp dịch: Đa thức thông tin: 9 nhịp; Lớp kề 1: 9 nhịp; Lớp kề 2: 9 nhịp.

Tổng cộng sau 27 nhịp thì được toàn bộ từ mã.

* Giải mã:

Do đây là mã OLCC nên ta đi xây dựng hệ OCS, giải mã một cấp ngưỡng, cho

các dấu thông tin: (0), (1), (2),…, (7), (8). Cụ thể ta xây dựng hệ OCS cho dấu (0)

 1, sau đó dịch vòng trong từng lớp kề của từ mã đi một nhịp ta sẽ có OCS của

dấu (1), và cứ như thế sẽ tìm được tất cả các dấu còn lại.

(0) = (1) + (3) + (013)

= (2) + (8) + (028)

= (4) + (235) + (02345)

= (5) + (178) + (01578)

= (6) + (7) + (067)

= (346) + (01268) + (12348)

= (457) + (568) + (04678)

= (13456) + (24567) + (01237)

148

Trong mã này, khoảng cách Hamming là d0 = 9, sửa được 4 bit lỗi. Sơ đồ giải

mã LCC (27, 9, 9) với ba lớp kề {(1), (11), (61)} như trên hình 6.10p.

Hình 6.10p: Sơ đồ khối giải mã LCC (27, 9, 9) với ba lớp kề {(1), (11), (61)}

Hoạt động: 27 nhịp đầu đưa từ mã nhận vào các ô nhớ.

Nhịp Giải mã Nhịp Giải mã Nhịp Giải mã

28 31 34 (0) (3) (6)

29 32 35 (1) (4) (7)

30 33 36 (2) (5) (8)

149

P6.3.2. Thiết kế và mô phỏng trên FPGA

Mô hình thử nghiệm thuật toán mã hóa và giải mã cyclic cục bộ trên vành

Z2[x]/x9+1 bằng FPGA như hình 6.11p.

Hình 6.11p: Sơ đồ mô hình thử nghiệm dưới dạng RTL

Mô hình gồm các khối:

- Coding: Khối mã hóa, thực hiện thuật toán mã hóa cyclic trên vành Z9

chuỗi thông tin vào 9 bit Ii, thành từ mã 27 bit Bi.

- Channel: mô phỏng một kênh truyền đơn giản trong đó từ mã vào Bi được

đánh lỗi ngẫu nhiên, từ mã ra khỏi kênh Bo có từ 0 đến 3 bit lỗi. Nguyên

lý thiết kế: Sử dụng một bộ đếm 27 bit mà đầu ra 27 bit đó có số bit 1 từ 0

đến 4 và vị trí xuất hiện ngẫu nhiên. Chuỗi bit đó được cộng modul 2 với

từ mã vào Bi để làm lỗi từ mã từ 0 đến 4 bit.

- DeCoding: Khối giải mã, thực hiện thuật toán giải mã cyclic trên vành Z9

(giải mã ngưỡng) chuỗi từ mà Bi nhận được tạo ra từ mã thông tin 9 bit Io.

a) Thiết kế mạch mã hóa

Sơ đồ thiết kế mạch mã hóa như hình 6.12p. Thành phần mạch bao gồm một

thanh ghi lưu trữ thông tin cần mã hóa, các cổng AND và XOR để thực hiện.

150

Hình 6.12p: Sơ đồ mã hóa thông tin theo 3 nhóm nhân thuộc 3 lớp kề cyclic

Thông tin được phát theo nhóm 9 bit, sử dụng mạch mã hóa LCC (27, 9, 9)

với ba lớp kề {(1), (11), (61)}, có nghĩa là mỗi nhóm 9 bit thông tin sẽ được mã hóa

theo 27 phần tử của 3 nhóm nhân thuộc 3 lớp kề cyclic thành 27 bit nhị phân và

là nhóm 9 bit thông tin, sẽ được mã hóa bằng 27 tổ phát đi. Với Ii =

thông qua cấu trúc mạch mã hóa như hình 6.12p. hợp Gi =

Hoạt động của mạch mã hóa như sau:

27 nhịp đầu tiên:

vào 9 ô nhớ dành cho I; - Nhịp 1->9: 9 bit thông tin I0 =

chuyển lần lượt 9 tổ hợp G1-> G9 (theo 9 nhịp) vào 9 ô nhớ dành cho G (với G1÷G9

là 9 phần tử thuộc nhóm nhân cyclic đơn vị CGP1). Tại mỗi nhịp đồng hồ tiến hành

các phép toán logic AND, XOR tương ứng. Kết quả là sau 9 nhịp đầu tiên được 9

bit It1It2It3It4It5It6It7It8It9.

vào 9 ô nhớ dành cho - Nhịp 10->18: Lưu 9 bit thông tin I0 =

I; chuyển lần lượt 9 tổ hợp G10-> G18 (theo 9 nhịp) vào 9 ô nhớ dành cho G (với

G9÷G18 là 9 phần tử thuộc CGP6). Tại mỗi nhịp đồng hồ tiến hành các phép toán

logic AND, XOR. Kết quả là sau 9 nhịp được 9 bit It10It11It12It13It14It15It16It17It18.

vào 9 ô nhớ dành cho - Nhịp 19->27: Lưu 9 bit thông tin I0 =

I; chuyển lần lượt 9 tổ hợp G19-> G27 (theo 9 nhịp) vào 9 ô nhớ dành cho G (với

151

G19÷G27 là 9 phần tử thuộc CGP29). Tại mỗi nhịp đồng hồ tiến hành các phép toán

logic AND, XOR. Kết quả là sau 9 nhịp được 9 bit It19It20It21It22It23It24It25It26It27.

Kết quả là từ 9 bit thông tin ban đầu , sau mã hóa thu được dãy

27 bit phát đi với thứ tự như sau:

Với cách làm như trên, cứ sau mỗi 27 nhịp ta sẽ mã hóa được 9 bit thông tin

theo 27 phần tử (thuộc 3 nhóm nhân thuộc 3 lớp kề cyclic) thành dãy 27 bit và phát

đi trên đường truyền.

b) Thiết kế mạch giải mã

Khối DeCoding như hình 6.13p, gồm 9 nhánh để thực hiện giải mã song song

cả 9 bit thông tin Io(0:8). Mỗi nhánh gồm:

+ Mạch đệm dịch vòng trái “rol” từ mã 27 bit đầu vào b(1:27). Phần dịch vòng

được thiết kế theo kiểu tổ hợp, nên mạch thực hiện dịch vòng số lần mong muốn

ngay sau một chu kỳ đồng hồ (1 clk).

+ Mạch tính tổng kiểm tra “S”: Mạch tổ hợp để tính ra 8 CS theo thuật toán

giải mã như ở phần trên.

+ Mạch giải mã ngưỡng “M”: Thực hiện giải mã ngưỡng để xác định giá trị

bit thông tin tương ứng. Nguyên lý mạch giải mã ngưỡng “M”: Thiết kế mạch cộng

logic tổ hợp cho các tổng kiểm tra và mạch logic tổ hợp so sánh cho m, sử dụng 8

CS, nếu m ≥ 5 thì bit thông tin ra là 1, ngược lại bit thông tin ra là 0. Kết quả giải

mã cho ra 9 bit thông tin Io(0:8).

Với thiết kế mạch giải mã như vậy tốc độ giải mã là lớn nhất, gần như là tức

thời, tuy số tài nguyên cổng logic cần sử dụng nhiều nhưng đó lại là ưu thế của

FPGA vì số lượng cổng logic tương đương rất lớn của nó. Toàn bộ các khối được

thiết kế theo mô hình mạch mã hóa và giải mã đã được trình bày và được mô tả

152

bằng ngôn ngữ mô tả phần cứng VHDL. Kết quả tổng hợp, cấu hình và mô phỏng

sử dụng FPGA XC3S500E-4CPG132 như trong bảng 3.2p và hình 3.14p.

Hình 6.13p: Sơ đồ RTL của mạch khối DeCoding

Bảng 3.2p: Tài nguyên logic được sử dụng xây dựng bộ mã LCC(27, 9, 9)

Tiện ích Logic Đã sử dụng Hiệu suất

Số cổng logic 327 7%

Số tri gơ 240 2%

Số LUT 4 đầu vào 631 6%

Số cổng vào/ra (IO) 19 20%

Số GCLK 1 4%

Từ kết quả trong bảng 3.2p, có thể thấy rằng tài nguyên logic sử dụng để xây

dựng bộ mã là tương đối nhỏ, so sánh với kết quả trong bảng 3.1p có thể nhận xét

153

tài nguyên phần cứng sử dụng cho bộ mã LCC (29,9,9) lớn hơn bộ mã LCC (15,5,7)

khoảng hai lần, trong đó điểm đặc biệt là số trigơ sử dụng tăng gấp nhiều lần là do

trong quá trình mô phỏng bộ mã LCC(15,5,7) được xây dựng từ CMG của một phần

sinh, còn bộ mã LCC(27,9,9) được xây dựng từ 3 lớp kề cyclic.

Hình 6.14p: Kết quả mô phỏng bộ mã LCC (27,9,9) với ba lớp kề {(1), (11), (61)}

Kết quả mô phỏng trên hình 6.14p cho thấy rằng bộ mã có khả năng sửa tới 4

bit lỗi, trong đó có ưu điểm trong việc sửa lỗi cụm.

Như vậy, trong phần này nghiên cứu sinh đã trình bày một kết quả nghiên cứu

mới là thực hiện xây dựng và cứng hóa một số bộ mã hóa và giải mã cylic, cyclic

cục bộ trên cấu kiện phần cứng FPGA với hướng tiếp cận xây dựng mã trên vành

đa thức cho kết quả tương đối khả quan. Nhóm tác giả Gaurav Chawla and Vishal

Chaudhary cũng công bố kết quả thực hiện bộ mã hóa và giải mã trên FPGA đối

với mã cyclic theo phương pháp truyền thống [48], tuy nhiên chưa đề cập đến việc

thực hiện xây dựng bộ mã theo quan điểm vành đa thức, hay các bộ mã LCC.