Chúng đợc xây dựng trên các Ideal của vành đa thức, tuy nhiên số Ideal trên một vành đa thức ít nên số bộ tạo ra cũng hạn chế.. Để mở rộng khả năng tạo thêm các mã trên một vành đa thức
Trang 1Khảo sát một số mã xiclic trên vành đa thức x 9 + 1
PGS.TS Nguyễn Bình, KS Ngô Đức Thiện
Khoa Kỹ thuật điện tử 1
Tóm tắt: Các mã xyclic đã có nhiều ứng dụng rất hiệu quả trong thực tiễn Chúng đợc xây
dựng trên các Ideal của vành đa thức, tuy nhiên số Ideal trên một vành đa thức ít nên số bộ tạo ra cũng hạn chế Để mở rộng khả năng tạo thêm các mã trên một vành đa thức, bài báo
đề cập đến phơng pháp phân hoạch vành đa thức (cụ thể trên vành đa thức [ ] 9
2
trên cơ sở đó khảo sát một số bộ mã xyclic không có trên vành X 9 +1 theo quan điểm xây dựng mã xyclic truyền thống.
1 Một sô khái niệm
1.1 Vành đa thức
Nếu R là một vành giao hoán thì vành đa thức R[x] là một vành đợc tạo bởi tập tất cả các đa thức của biến x có các hệ số trong R Hai phép toán là phép cộng và phép nhân đa thức thông thờng với số học các hệ số đợc thực hiện trong vành R
Trong trờng nhị phân, vành đa thức đợc ký hiệu:
(f(x); f, •) = Z2[x]/ xn + 1
e(x) = 0 gọi là phần tử đơn vị, deg e(x) = 0 (bậc của e(x) = 0)
(f(x), +) là một nhóm đối với phép cộng, thỏa mãn các tiên đề của nhóm
(f(x), *) là nửa nhóm đối với phép nhân, không tồn tại f(x), g(x) mà f(x).g(x) = 0
Cấp của một đa thức, ký hiệu ord a(x), là số nguyên dơng (m) nhỏ nhất sao cho:
a m(x) = e(x) mod (x n +1)
Trong đó: e(x) là một lũy đẳng nào đó
1.2 Nhóm nhân
Tập các đa thức f(x) trong vành đa thức Z2[x]/ xn +1 với một phép toán nhân đa thức tạo nên một nhóm nhân G
Nếu g(x), f(x) ∈ G thì g(x).f(x) = d(x) ∈ G Trong nhóm nhân tồn tại phần tử đơn vị e(x) với f(x).e(x) = f(x)
Các phần tử đơn vị e(x) thỏa mãn điều kiện: e(x) = e2(x) = e(x2) đợc gọi là lũy đẳng Trong một vành Z2[x]/xn +1 có thể tồn tại nhiều lũy đẳng khác nhau
a) Nhóm nhân xyclic (CMG - Cyclic Multiplicate Groups)
Nhóm nhân xyclic trong vành đa thức là tập hợp các phần tử đều 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 xyclic, số nhóm nhân bằng số các lũy đẳng có thể có trong vành
A = {α, α2 , α3 , }
Trong đó: A là nhóm nhân xyclic; α là phần tử sinh (đa thức sinh), cấp của phần tử sinh là cấp của nhóm (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 e(x)
Trang 2b) Nhóm nhân xyclic đơn vị
Nhóm nhân xyclic đơn vị là một nhóm bao gồm mọi đơn thức và có cấp là n Ký hiệu là I , hay nhóm nhân xyclic đơn vị là nhóm nhân xyclic với phần tử sinh là x
I = {x, (x)2, (x)3, , (x)n-1, 1}
c) Nhóm nhân xyclic với phần tử sinh a(x)
Nhóm nhân xyclic với phần tử sinh là đa thức a(x) 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: A = {a(x), (a(x))2, (a(x))3, }
1.3 Cấp số nhân xyclic (CGP - Cyclic Geometic Progressions) trên vành đa thức
Cấp số nhân xyclic trên vành đa thức là một tập hợp con có dạng sau:
A(a,q) = {a(x), a(x).q(x), a(x).q2(x), , a(x).qm -1(x)}
Trong đó: m là số các số hạng của cấp số nhân; a(x) là số hạng đầu của cấp số nhân; q(x) là công bội; a(x).qm(x) ≡ a(x) mod xn + 1
Giá trị của m đợc xác định bởi cấp của nhóm nhân xyclic
2 Cấu trúc các nhóm nhân xyclic trong vành đa thức Z2[x] /x 9 + 1
2.1 Cấu trúc các nhóm nhân
Với vành Z2[x]/ x9 + 1, ta có n = 9 (là số lẻ)
+ Khai triển nhị thức: x9 + 1 = (1 + x)(1 + x + x2)(1 + x3 + x6)
Vành đa thức này có có 29 - 1 = 511 phần tử khác 0
Trong đó có: 256 phần tử có trọng số lẻ
255 phần tử có trọng số chẵn
+ Cấp cực đại của đa thức a(x) đợc xác định nh sau:
Max ord(a(x)) = 2m -1 = 26 - 1 = 63
ở đây m cũng chính bằng max ms = 6, hay cấp lớn nhất của đa thức bất khả quy trong khai triển nhị thức x9 +1
+ Phân tích max ord(a(x)) ra thừa số nguyên tố để xác định các ớc của nó:
Max ord(a(x)) = 63 = 3.3.7
+ Cấp các phần tử trong vành là các ớc số của max ord(a(x)), tơng ứng các nhóm nhân trong vành có các cấp là: 1, 3, 7, 9, 21, 63
+ Xác định các chu trình Cs
Các chu trình Cs đợc xác định nh sau:
, 2, 2 , , 2m s
s
C = s s s s − trong đó s.2m s− 1≡s mod n
C1 = {1, 2, 4, 8, 7, 5} → |C1| = m1 = 6
C3 = {3, 6} → |C3| = m3 = 2
Đa thức e(x) là một lũy đẳng khi và chỉ khi tập các hệ số khác không của nó là hợp một số các chu trình Cs nào đó Các lũy đẳng chính là các phần tử đơn vị của các nhóm nhân xyclic trong vành đa thức Ta tìm đợc các lũy đẵng nh sau:
Bảng 1: Các lũy đẳng của vành đa thức Z 2 [x]/ x 9 + 1
Trang 3Các lũy đẳng Dạng số mũ
của đa thức
Các chu trình tơng ứng
e1(x) = 1 + x + x2 + x4 + x5 + x7 + x8 (0124578) C0∪ C1
e3(x) = e0(x) = 1 + x + x2 + x3 + x4 + x5 + x6 + x7 + x8 (012345678) C0∪ C1∪ C3
e7(x) = x + x2 + x3 + x4 + x5 + x6 + x7 + x8 (12345678) C1∪ C3
256 phần tử có trọng số lẻ bao gồm:
1 nhóm nhân cấp 63 với phần tử sinh a1(x) = (012), với lũy đẳng e1(x) = (0124578)
1 nhóm nhân cấp 3 với phần tử sinh a2(x) = (147), với lũy đẳng e2(x) = (036)
1 nhóm nhân cấp 1 với phần tử sinh a3(x) = e3(x) = (012345678)
3 nhóm nhân cấp 63 với phần tử sinh a4(x) = (014), a5(x) = (016), a6(x) = (02357) với lũy
đẳng e4(x) = (0)
1 nhóm nhân cấp 21 với phần tử sinh b1(x) = (12345), với lũy đẳng e4(x) = (0)
3 nhóm nhân cấp 21 với phần tử sinh a7(x) = (124), a8(x) = (245), a9(x) = (128) với lũy đẳng
e4(x) = (0)
Một nhóm nhân cấp 7 với phần tử sính b2(x) = (12345) với lũy đẳng e4(x) = (0)
2.2 Phơng pháp phân hoạch vành đa thức thành nhóm nhân xyclic
Các bớc phân hoạch vành đa thức để xây dựng các nhóm nhân xyclic có thể khái quát nh sau:
- Tìm cấp cực đại của nhóm nhân xyclic trong vành
- Tìm phần tử sinh có cấp lớn nhất
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 Hơn nữa do vành đối xứng nên khi biết nửa vành có thể suy ra nửa vành kia Vì vậy trớc tiên ta đi xác định các phần tử có trọng số lể Trong các phần tử có trọng số lẻ xác định các phần tử sinh có cấp lớn nhất
Sau đó xây dựng tất cả các nhóm nhân chứa các phần tử có trọng số lẻ Để xây dựng đợc tất cả các nhóm nhân ta phải thực hiện các bớc:
o 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
o 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 xyclic 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
3 Khảo sát một số mã xyclic và xyclic cục bộ trên vành đa thức X 9 + 1
3.1 Khái niệm mã xyclic cục bộ (XCB)
Mã xyclic cục bộ là mã hệ thống tuyến tính (n, k) trong đó:
Trang 4k dấu thông tin đợc chọn là k đơn thức có dạng x i i( =0,1, 2, ,k−1)và là nhóm nhân xyclic cấp k của vành Z x2[ ]/(x n +1)
r n k= − dấu kiểm tra đợc chọn là một tập con không trống tùy ý nào đó các lớp kề của nhóm nhân này
Tập các trởng lớp kề tạo mã sẽ cho ta mô tả đầy đủ của mã xyclic cục bộ
3.2 Mối quan hệ giữa mã xyclic và xyclic cục bộ
Theo quan điểm xây dựng mã xyclic thông thờng: mã xyclic 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ã XCB 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 n phần tử xác định của Ideal
Nh vậy, ta hoàn toàn có thể dùng lý thuyết xây dựng các đa thức sinh của mã xyclic để tạo các trởng lớp kề cho các mã XCB 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ã xyclic:
Mã XCB đợc xây dựng từ:
+ Trởng lớp kề là một đa thức sinh g(x) thỏa mãn:
− Đa thức sinh là ớc của x n+1; g x x( ) n+1
− Bậc của đa thức sinh bằng r với r = n – k
− Sử dụng r dấu thông tin giả khi tạo lớp kề này; tức là cho trớc:
x = =x x = =x − =
Trên cơ sở phân tích nh vậy thì mã xyclic là một lớp kề đặc biệt của mã XCB Hay mã xyclic
là một dạng đặc biệt của mã XCB
3.3 Khảo sát một số mã xyclic và xyclic cục bộ trên vành đa thức x 9 + 1
a) Khảo sát mã xyclic (n, k) với k = m.
Trong một vành đa thức luôn tồn tại mã xyclic (m, m) có d0 = 1, mã này đợc xây dựng từ nhóm nhân đơn vị I ={x i i, =1,m−1}
Mã này không có khả năng phát hiện và sửa sai Do số dấu thông tin k = m, nên để tạo các mã có khả năng phát hiện và sửa sai xây dựng trên các nhóm nhân xyclic thì yêu cầu phải thỏa mãn
điều kiện n > m Hay nói cách khác là cấp của nhóm nhân xyclic tạo mã phải lớn hơn và bằng bội của m, nhóm nhân đơn vị I phải là nhóm nhân con của nhóm nhân xyclic tạo mã
Nhóm nhân xyclic tạo mã (n, m) phải thỏa mãn 2 điều kiện:
− Nhóm nhân xyclic đơn vị có cấp m phải là một nhóm con của nhóm nhân xyclic cấp n
(n mM hoặc m n).
− Cấp của nhóm nhân xyclic tạo mã (n, m) phải là ớc nào đó của cấp số lớn nhất các phần
tử trong vành: n max ord a( )x
Trong vành Z2[x]/ x9 + 1, ta có m = 9
9 1 1 1 2 1 3 6
Ta có max ord a(x) = 26 - 1 = 63 = 1.3.3.7
Trang 5Do đó, trong vành này tồn tại các nhóm nhân có cấp: 1, 3, 7, 9, 21, 63 Nhng chỉ có các nhóm nhân có cấp 9 và 63 mới tạo đợc mã xyclic Mã xyclic đợc xây dựng trên các nhóm nhân có cấp 9 và 63 là 2 loại mã xyclic (9, 9) và (63, 9)
Mã (9, 9) ⇔ I ={x i i, =0,8} , mã (63, 9) ⇔ A={a x i i( ), =0,62} .
* Mã xyclic (63, 9) xây dựng trên nhóm nhân cấp 63
Xét đa thức sinh a = (1 + x2 + x3 + x5 + x7), đa thức này có cấp 63 Cấu trúc của nhóm nhân là
A = {ai = (1 + x2 + x3 + x5 + x7); i = 0, 1, 2, , 62}.…
Đánh giá:
Số tổng kiểm tra (TKT) tự trực giao của mã này: J = 17, do đó khoảng cách tối thiểu d0 = 18 Theo giới hạn dới của độ dài từ mã (giới hạn Griesmer):
1 0
0 2
k j j
d
n −
=
ta có:
8
0
18
18 9 5 3 2 1 1 1 1 41
2j j
n
=
Với mã này có độ dài từ mã là n = 63 > 41 ⇒ mã không tối u
b) Khảo sát các mã xyclic (n, k) với k < m.
* Mã xyclic (63, 7).
Chọn nhóm nhân xyclic theo modulo h x( ) = + + + + +1 x x3 x4 x6 x7 với phần tử sinh của
Nhóm nhân này có dạng nh sau:
( )
{ imod , 0,1, 2, ,62} { (014 mod)i ( ), 0,1, 2, ,62}
Do mã này là mã xyclic có khả năng trực giao, cho nên phải giải mã 2 cấp ở cấp ngỡng thứ nhất giải mã ra các cặp dấu thông tin, sau đó qua bớc giải mã cấp ngỡng thứ hai mới giải mã
đợc toàn bộ các dấu thông tin
Đánh giá:
Số TKT tự trực giao của mã này là: J = 30, do đó khoảng cách tối thiểu d0 = 31
2
M = + =
Theo giới hạn Griesmer:
0
31
31 16 8 4 2 1 1 63
m
d
n −
c) Khảo sát mã xyclic cục bộ.
* Mã XCB (27, 9)
Mã XCB (27 9) đợc xây dựng từ 3 cấp số nhân (CGP) xyclic lấy trong phân hoạch vành đa
2 / 1
Z x x + thành các CGP cấp 9 CGP1 chính là nhóm nhân xyclic đơn vị (là đa thức thông tin) Chọn CGP2 (trởng lớp kề là (7)) và CGP3 (trởng lớp là (11)) làm các dấu kiểm tra Do CGP2 và CGP3 là 2 lớp kề lẻ liên tiếp, cho nên mã này sẽ là mã XCB có khả năng trực giao
Trang 6Cấu trúc từ mã XCB (27,9) này nh sau: (các dấu mã biểu diễn ở dạng thập phân).
1 2 4 8 16 32 64 128256 7 14 28 56 112224448385259 11 22 44 88 176352193386261 Nếu biểu diển mã XCB này theo trởng lớp kề thì có dạng {1, 7, 11}
Số TKT có khả năng trực giao J = 6 ⇒ d0 = 7 Theo giới hạn Griesmer thì mã này cũng không tối u:
3.4 Phơng pháp giải mã ngỡng
Có các phuơng pháp giải mã nguỡng sử dụng cho việc giải mã XCB:
+ Giải mã nguỡng theo đa số (GMĐS)
+ Giải mã nguỡng đại số khác: giải mã nguỡng trên đa số 1 biểu quyết (GMĐS + 1), giải mã nguỡng trên đa số 2 biểu quyết (GMĐS +2)
* Phơng pháp giải mã ngỡng theo đa số (GMĐ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 J tổng kiểm tra trực giao cho một dấu mã nào đó
Nếu
1
1 2
J
m
m
J S
=
+
≥
∑ , trong đó x là số nguyên nhỏ nhất lớn hơn hoặc bằng x
Thì coi ei = 1 có sai ở dấu thứ i, ngợc lại ei = 0: dấu thứ i thu đúng
Mỗi tổng kiểm tra (TKT) trong hệ J TKT này cho phép đa ra các dấu ai ở 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 TKT Vì vậy có 2t TKT (2t = d0 –1 = J)
để giải mã đúng các dấu ai theo biểu quyết đa số
Do các TKT phải 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 Do vậy 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ứ 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ã xyclic 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ệ TKT có khả năng trực giao Một hệ TKT có khả năng trực giao nếu tồn tại một tổ hợp tuyến tính các dấu mã:
1 2
M =x +x + +x thỏa mãn điều kiện sau:
+ Tổ hợp tuyến tính các dấu mã M có mặt trong mọi TKT
+ Các dấu còn lại: x j∉M chỉ nằm ở nhiều nhất một TKT.
Trên cơ sở đó ta có thể coi tập M đóng vai trò nh một dấu mã x trong hệ TKT trực giao Theo nguyên tắc giải mã theo đa số, ta có thể giải mã cho tập M hay có thể nói đây là hệ TKT trực giao với tập M Thông thờng tập M là một cặp dấu mã
4 Chơng trình mô phỏng mã hóa và giải mã một số mã xyclic và xyclic cục bộ trên vành đa thức X 9 + 1
Chơng trình mô phỏng đợc viết trên phần mềm MATLAB, với u điểm:
− Chơng trình đơn giản, tốc độ tính toán nhanh
Trang 7− Có thể mô phỏng thêm các bộ mã khác dựa trên các hàm mà chơng trình mô phỏng
đã lập
Giao diện của chơng trình mô phỏng mã hóa và giải mã.
4.1 Mã có độ dài 63
4.2 Mã có độ dài 27
Kết luận
Mã xyclic là một trong các mã dễ thực hiện và đã đợc ứng dụng nhiều trong thực tế
Ưu điểm của mã xyclic đó là: là loại mã có cấu trúc đại số tờng tận, có nhiều phơng pháp giải mã hiệu quả, lập mã và giải mã đơn giản Để xây dựng mã xyclic ngời ta tiến hành phân hoạch vành đa thức thành các Ideal, Ideal thực chất là một nhóm con của nhóm cộng trong vành Tuy nhiên, số Ideal trong một vành đa thức ít nên khả năng tạo các bộ mã xyclic cũng
bị hạn chế
Để mở rộng khả năng tạo mã có thể xây dựng các mã xyclic cục bộ trên vành đa thức Bằng cách phân hoạch vành đa thức thành các nhóm nhân xyclic hoặc các cấp số nhân xyclic, trên cơ sở các nhóm nhân và cấp số nhân xyclic này xây dựng các mã xyclic và xyclic cục bộ Khác với các mã xyclic thông thờng (mỗi từ mã là một phần tử có cấu trúc đại số), với mã xyclic cục bộ mỗi dấu mã trong một từ mã là một phần tử có cấu trúc đại số Do đó mã xyclic cục bộ có cấu trúc đại số tinh tế hơn và cũng vì thế mà khả năng sửa sai của nó tốt hơn
Trang 8Tài liệu tham khảo
[1] F.J Mac Williams, N.J.A Sloane: The theory of error-correcting codes North-Holland
Publisher Com 1977
[2] A.J Menezes, P.C Van Oorchot, S.A Vanstone: Handbook of Applied Cryptography
CRC Press 1998
[3] Ass.Prof Nguyễn Bình, Nguyễn Quốc Hng: Circuland Crypto-System based on
polynominal ring with two cycloctomic cosets
[4] PGS TS Nguyễn Bình, ThS Vũ Việt, KS Trần Đức Sự: Các vành đa thức có hai lớp kề
xyclic trong lý thuyết mã hóa
[6] Vũ Việt: Phân hoạch vành đa thức Chuyên đề tiến sĩ, 2001
[7] Nguyen Binh Tran Duc Su, Pham Viet Trung.
"Decomposition of polynomial ring according to the classes of conjugate elements" ATC - 26 Hanoi, 10.2001
[8] Nguyen Binh, Vu Viet, Pham Viet Trung.
"Decomposition of polynomial ring and coding with random clock" CAFEO 2000 Hanoi, 22-24 Nov, 2000