Lĩnh vực Công nghệ thông tin
Phân hoạch của vành đa thức theo các phần tử liên hợp
và ứng dụng trong lý thuyết mã
PGS.TS Nguyễn Bình, KS. Đặng Hoài Bắc
Khoa Kỹ thuật điện tử 1
Tóm tắt: Mã xyclic cục bộ (XCB) tuy còn non trẻ nhng đã tỏ ra có nhiều u điểm thoả mãn đ-
ợc yêu cầu thực tế của hệ thống truyền tin. Trong bài báo này, chúng tôi sẽ đề cập đến một
cách phân hoạch mới trên vành đa thức chẵn Z
2
[x]/x
2n
+1 (ký hiệu là Z
2n
) đó là phân hoạch
theo lớp các phần tử liên hợp và từ đây xây dựng mã XCB cụ thể trên phân hoạch này.
1. Phân hoạch của vành đa thức Z
2n
theo các phần tử liên hợp
1.1 Các thặng d bậc 2 và các căn bậc 2 của chúng.
Định nghĩa 1.1: Đa thức f(x) đợc gọi là thặng d bậc 2 (quadratic residue - QR) trong Z
2n
nếu
tồn tại đa thức g(x) sau:
g
2
(x)
f(x) mod x
2n+1
(1.1)
Nh vậy g(x) Z
2n
và đợc gọi là căn bậc 2 (Square root - Sqr) của f(x).
Nếu g(x) =
)x(f
đợc gọi là căn bậc 2 chính của f(x).
Chẳng hạn nếu: f(x)= 1+ x
2
+ x
4
thì căn bậc 2 chính của nó là:
)x(f
= 1+ x + x
2
Bổ đề 1.1:Đa thức f(x) nằm trong tập các thặng d bậc 2 Q
2n
( f(x)
Q
2n
) khi và chỉ khi f(x)
chứa các đơn thức có số mũ chẵn.
Số các thặng d bậc 2 trong Z
2n
đợc xác định nh sau:
Q
2n
=
=
n
0i
i
n
C
=
1 2 3 ( 1)
...
n n
n n n n n
C C C C C
+ + + + +
= 2
n
(1.2)
Ví dụ 1.1: Ta xét vành Z
2n
với n=3
ta có vành Z
6
( n = 3)
Tập các thặng d bậc hai Q
2n
trong vành Z
6
đợc xác định theo bổ đề 2.1 nh sau:
Q
6
={0, 1, x
2
, x
4
, 1+x
2
, 1+x
4
, x
2
+x
4
, 1+x
2
+x
4
} ( có tất cả 2
3
- tức 2
n
-
phần tử)
Bổ đề 1.2: Các căn bậc 2 của một thặng d bậc 2 đợc xác định theo công thức sau:
sqr[f(x)] = g(x) = (1+x
n
)
)x(fx
Ut
t
+
(1.3)
Trong đó U là một tập gồm các tổ hợp tuỳ ý các giá trị trong tập s = {0, 1, 2,..., n-1}
Do vậy lực lợng của U sẽ bằng:U = 2
n
-1
Ví dụ 1.2: Trong tập Q
6
ở trên ta xét một QR bất kỳ để xác định căn bậc 2, chẳng hạn f(x)=x
2
áp dụng công thức (1.3) tính các căn bậc hai ở trên ta có
sqr(x
2
) = (1+x
3
)
xx
Ut
t
+
(với
)x(f
=x)
+ khi U= {0, 1, 2} sqr(x
2
) = (1+x
3
)( 1+x+x
2
) + x = 1+x
2
+x
3
+x
4
+x
5
+ Tơng tự ta có: khi U = {0,1} sqr(x
2
) = (1+x
3
)( 1+x) + x = 1+x
3
+x
4
Cứ nh vậy ta sẽ tìm đợc toàn bộ 2
2n
phần tử liên hợp của vành Z
6
.
Nhận xét:
- Trong vành Z
2n
có 2
n
thặng d bậc 2, mỗi thặng d bậc 2 có 2
n
căn bậc 2, vậy có tất cả 2
2n
căn bậc 2 trong vành, các căn bậc 2 này tạo nên toàn bộ vành Z
2n
.
Học viện Công nghệ BCVT
Hội nghị Khoa học lần thứ 5
- Ta sẽ gọi các căn bậc 2 của cùng một thặng d bậc 2 là các phần tử liên hợp (Conjugate
Elements ) tơng ứng với thặng d đó ký hiệu là CEs.
1.2 Phân hoạch vành Z
2
[x]/ x
2n
+1 theo các phần tử liên hợp
Để khảo sát sự phân hoạch theo các CE trên vành Z
2
[x]/x
2n
+1, ta sẽ khảo sát trên vành
cụ thể Z
6
(n=3). Tập các QR trong vành Z
6
là: Q
6
={0, 1, x
2
, x
4
, 1+x
2
, 1+x
4
, x
2
+x
4
, 1+x
2
+x
4
}
Hình 1. Phân hoạch vành Z
6
theo lớp các phần tử liên hợp
Ta thấy rằng, đối với phép cộng các CEs ở hình 1 sẽ thoả mãn bảng 1 nh sau:
Sqr(1) Sqr(x
2
) Sqr(x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(0)
Sqr(1)
Sqr(0) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
) Sqr(x
4
) Sqr(1+x
2
+x
4
) Sqr(x
2
+x
4
) Sqr(1)
Sqr(x
2
)
Sqr(1+x
2
) Sqr(0) Sqr(x
2
+x
4
) Sqr(1) Sqr(1+x
2
+x
4
) Sqr(x
4
) Sqr(1+x
4
) Sqr(x
2
)
Sqrh(x
4
)
Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(0) Sqr(1+x
2
+x
4
) Sqr(1) Sqr(x
2
) Sqr(1+x
2
) Sqr(x
4
)
Sqr(1+x
2
)
Sqr(x
2
) Sqr(1) Sqr(1+x
2
+x
4
) Sqr(0) Sqr(x
2
+x
4
) Sqr(1+x
4
) Sqr(x
4
) Sqr(1+x
2
)
Sqr(1+x
4
)
Sqr(x
4
) Sqr(1+x
2
+x
4
) Sqr(1) Sqr(x
2
+x
4
) Sqr(0) Sqr(1+x
2
) Sqr(x
2
) Sqr(1+x
4
)
Sqr(x
2
+x
4
)
Sqr(1+x
2
+x
4
) Sqr(x
4
) Sqr(x
2
) Sqr(1+x
4
) Sqr(1+x
2
) Sqr(0) Sqr(1) Sqr(x
2
+x
4
)
Sqr(1+x
2
+x
4
)
Sqr(x
2
+x
4
) Sqr(1+x
4
) Sqr(1+x
2
) Sqr(x
4
) Sqr(x
2
) Sqr(1) Sqr(0) Sqr(1+x
2
+x
4
)
Sqr(0)
Sqr(1) Sqr(x
2
) Sqr(x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(0)
Bảng 1. Phép cộng modulo với các phần tử liên hợp trong vành Z
6
Ta kiểm tra một phép cộng modulo trong bảng trên chẳng hạn: Sqr(1)+Sqr(x
4
) = Sqr(1+x
4
)
Ta có: 1+x+x
4
sqr(1) x
5
Sqr(x
4
)
1+x+x
4
x
5
= 1+x+x
4
+x
5
Sqr(1+x
4
) ( thoả mãn)
Kiểm tra với các tổng khác trong bảng 1, chúng ta thấy chúng đều thỏa mãn do vậy rõ
ràng là lớp các phần tử liên hợp tạo nên một nhóm Aben cộng tính.
+ Đối với phép nhân, lớp các phần tử liên hợp trong vành Z
6
cũng thoả mãn bảng sau:
Sqr(1) Sqr(x
2
) Sqr(x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(0)
Sqr(1)
Sqr(1) Sqr(x
2
) Sqr(x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(0)
Sqr(x
2
)
Sqr(x
2
) Sqr(x
4
) Sqr(1) Sqr(x
2
+x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(1+x
2
+x
4
) Sqr(0)
Sqrh(x
4
)
Sqr(x
4
) Sqr(0) Sqr(x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
) Sqr(1+x
2
+x
4
) Sqr(0)
Sqr(1+x
2
)
Sqr(1+x
2
) Sqr(x
2
+x
4
) Sqr(1+x
4
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
) Sqr(0) Sqr(0)
Sqr(1+x
4
)
Sqr(1+x
4
) Sqr(1+x
2
) Sqr(x
2
+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(0) Sqr(0)
Sqr(x
2
+x
4
)
Sqr(x
2
+x
4
) Sqr(x
2
+x
4
) Sqr(1+x
2
) Sqr(1+x
2
) Sqr(1+x
4
) Sqr(x
2
+x
4
) Sqr(0) Sqr(0)
Sqr(1+x
2
+x
4
)
Sqr(1+x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(1+x
2
+x
4
) Sqr(0) Sqr(0) Sqr(0) Sqr(1+x
2
+x
4
) Sqr(0)
Sqr(0)
Sqr(0) Sqr(0) Sqr(0) Sqr(0) Sqr(0) Sqr(0) Sqr(0) 0
Bảng 2. Phép nhân modulo với các phần tử liên hợp trong vành Z
6
Ta kiểm tra các kết quả trong bảng trên, chẳng hạn nh:
Học viện Công nghệ BCVT
Sqr(1)
Sqr(x
2
+x
4
)
Sqr(1+x
2
)
Sqr(1+x
4
)
Sqr(0)
Sqr(x
4
)Sqr(x
2
)
Sqr(1+x
2
+x
4
)
Vành Z
6
Lĩnh vực Công nghệ thông tin
Sqr(1+x
2
)x Sqr(x
4
) = Sqr(1+x
4
) (lu ý Sqr(1+x
4
) = Sqr((1+x
2
) x x
4
))
Xét: (x
3
+x
4
) Sqr(1+x
2
) và (1+x
2
+x
3
) Sqr(1+x+x
2
)
Ta có: (x
3
+x
4
)x(1+x
2
+x
3
) = (x
3
+x
4
+x
6
+x
5
+x
6
+x
7
)mod(x
6
+1) = x+x
3
+x
4
+x
5
Sqr(1+x
4
)
Một cách tơng tự nh trên ta có thể kiểm tra toàn bộ các phép nhân giữa các cặp các
phần tử liên hợp nh trong bảng 2.
Từ kết quả ở bảng 2 ta thấy rằng, các phần tử liên hợp trong vành Z
6
tạo nên một
nhóm theo phép nhân với phần tử đơn vị là Sqr(1), nhng lu ý sẽ có trờng hợp hai phần tử khác
0 nhng khi thực hiện phép nhân theo mod (x
6
+1), ta lại nhận đợc kết quả lại bằng 0.
Ta có thể lấy ví dụ :
(x+x
3
) Sqr(1+x
2
) (1+x
2
+x
4
) Sqr(1+x
2
+x
4
)
Khi thực hiện phép nhân: (x+x
3
) x (1+x
2
+x
4
) = (x+x
3
+x
3
+x
5
+x
5
+x
7
) mod (x
6
+1) = x+x = 0.
Vậy, các phần tử liên hợp của các thặng d bậc 2 trong vành Z
6
tạo nên một nửa nhóm nhân.
Nhận xét:
- Lớp các CE của các thặng d bậc 2 trong vành Z
6
là một nhóm đầy đủ đối với phép cộng
và nửa nhóm đối với phép nhân.
- Lớp các CE trong vành Z
6
thoả mãn các tiên đề về vành, chúng tạo nên một vành. Điều
này cũng đúng cho các phần tử liên hợp của mọi vành đa thức Z
2n
với các n khác nhau.
2. Xây dựng mã XCB theo các phân tử liên hợp của luỹ đẳng nuốt
2.1 Xây dựng mã theo lớp CEs của luỹ đẳng nuốt trên vành Z
10
theo phân hoạch chuẩn
Theo kết quả phần trên ta thấy lớp các phần tử liên hợp trên Z
2n
luôn có cấu trúc của
một vành đại số, dựa vào cấu trúc đại số này ta hoàn toàn có thể xây dựng đợc mã XCB.
Trong vành
1x]x[Z
n
2
+
luôn tồn tại
=
=
1n
0i
i
0
x)x(e
đợc gọi là luỹ đẳng nuốt. Tơng
tự nh vậy, trong vành Z
2n
, ta cũng xác định đợc một lũy đẳng nuốt là
)x(e
2
0
với :
=
=
1n
0i
i22
0
x)x(e
(2.1)
Phép nhân một đa thức bất kỳ với luỹ đẳng nuốt giúp ta kiểm tra đợc tính chẵn lẻ.
Luỹ đẳng nuốt có những tính chất đặc biệt để xây dựng mã XCB.
Trong vành
1x]x[Z
10
2
+
, tức vành Z
2n
với n = 5 ta thấy rằng có tất cả 32 (2
n
) thặng
d bậc 2 mỗi thặng d bậc 2 có tất cả 32 (2
n
) phần tử liên hợp. Các thặng d bậc 2 trong vành là
các đa thức bao gồm các đơn thức có số mũ chẵn đợc xác định nhờ bổ đề 1.1.
Q
10
= {0, 1, x
2
, x
4
, x
6
, x
8
, 1+x
2
, 1+x
4
, 1+x
6
, 1+x
8
, x
2
+x
4
, x
2
+x
6
, x
2
+x
8
, x
4
+x
6
, x
4
+x
8
, x
6
+x
8
, 1+x
2
+x
4
,
1+x
2
+x
6
, 1+x
2
+x
8
, 1+x
4
+x
6
, 1+x
4
+x
8
, 1+x
6
+x
8
, x
2
+x
4
+x
6
, x
2
+x
4
+x
8
, x
2
+x
6
+x
8
, x
4
+x
6
+x
8
, 1+x
2
+x
4
+x
6
,
1+x
2
+x
4
+x
8
, 1+x
2
+x
6
+x
8
, 1+x
4
+x
6
+x
8
, x
2
+x
4
+x
6
+x
8
, 1+x
2
+x
4
+x
6
+x
8
}
Các phần tử liên hợp của luỹ đẳng nuốt e
0
(x
2
)=1+x
2
+x
4
+x
6
+x
8
Ta xác định CEs của luỹ đẳng nuốt e
0
(x
2
)=1+x
2
+x
4
+x
6
+x
8
trong tập Q
10
trên theo biểu thức:
Sqr(e
0
(x
2
)) = (1+x
n
)
Ut
t
x
+
2
0
( )e x
(2.2)
Học viện Công nghệ BCVT
Hội nghị Khoa học lần thứ 5
Toàn bộ các phần tử liên hợp của luỹ đẳng nuốt đợc thể hiện ở bảng bên trái, bảng
bên phải thể hiện phân hoạch của các luỹ đẳng nuốt trong vành Z
10
theo phân hoạch chuẩn
(phân hoạch trong đó các phần tử trong một lớp dịch vòng theo các trởng lớp kề) .
Bảng 3. Phân hoạch chuẩn của các CE trên vành Z
10
Bổ đề 2.1:Tập tất cả các phần tử liên hợp với luỹ đẳng nuốt e
0
(x
2
) sẽ tạo ra các mã xyclic
cục bộ với các giá trị sau: (n, k, d
0
) = ( 2
n
- 1, n, 2
n-1
)
Đây là mã tối u thoả mãn giới hạn Griesmer nghĩa là độ dài từ mã n thoả mãn:
1
0
0
2
k
i
i
d
n
=
(2.2)
Nhận xét:
- Để trực giao hóa hệ tổng kiểm tra
n
x1)x(b)x(a
+=+
, ta có thể chọn trớc giá trị của n
dấu thông tin. Để thuận tiện, bắt đầu từ đây khi lập mã ta sẽ chọn
0xxx
1n21nn
====
+
).
- Từ toàn bộ các lớp kề, ta có thể xây dựng mã (31, 5) với
16d
0
=
.
Sau đây, ta sẽ xây dựng mã xyclic cục bộ cụ thể từ các lớp kề C
1
, C
2
và C
3
trong bảng 3.1.
Các phần tử (5 6 7 8 9) không cần phát vì theo giả định chúng đều bằng 0, nhng để nhận biết
chúng khi giải mã phải thêm 0 vào, do đó mã xyclic cục bộ này có chiều dài là 29. Mã này
chính là mã (29, 5) với
0
d 14
=
đây mã gần tối u (29, 5, 14) với sơ đồ lập mã nh sau:
Hình 2. Sơ đồ mã hoá mã (29,5) theo các lớp kề C
1
, C
2
, C
3
Ta có thể phát bất kỳ từ mã C
1
hoặc C
2
hoặc C
3
tuỳ theo chọn bit. Sau 5 nhịp dịch vòng xác
định đợc 5 dấu thông tin từ x
0
đến x
4
. Sau đây là sơ đồ giải mã.
Học viện Công nghệ BCVT
qr(e
0
(x
2
)) =
{1+x+x
2
+x
3
+x
4
,+x
2
+x
3
+x
4
+x
6
,1+x
2
+x
4
+x
6
+x
8
,
1+x
3
+x
4
+x
6
+x
7
, x+x
2
+x
3
+x
4
+x
5
, x+x
3
+x
4
+x
5
+x
7
,
x+x
3
+x
5
+x
7
+x
9
, x+x
4
+x
5
+x
7
+x
8
, x
2
+x
3
+x
4
+x
5
+x
6
,
x
2
+x
4
+x
5
+x
6
+x
8
, x
2
+x
5
+x
6
+x
8
+x
9
, x
3
+x
4
+x
5
+x
6
+x
7
,
x
3
+x
5
+x
6
+x
7
+x
9
, 1+x
3
+x
6
+x
7
+x
9
, x
4
+x
5
+x
6
+x
7
+x
8
,
1+x
4
+x
6
+x
7
+x
8
, 1+x+x
4
+x
7
+x
8
, x
5
+x
6
+x
7
+x
8
+x
9
,
x+x
5
+x
7
+x
8
+x
9
, x+x
2
+x
5
+x
8
+x
9
, 1+x
6
+x
7
+x
8
+x
9
,
1+x
2
+x
6
+x
8
+x
9
, 1+x
2
+x
3
+x
6
+x
9
, 1+x
2
+x
7
+x
8
+x
9
,
1+x+x
3
+x
7
+x
9
, 1+x+x
3
+x
4
+x
7
, 1+x+x
2
+x
8
+x
9
,
1+x+x
2
+x
4
+x
8
, x+x
2
+x
4
+x
5
+x
8
, 1+x+x
2
+x
3
+x
9
,
N
0
C
1
C
2
C
3
C
3
1
(01234) (02346) (03467) (02468)
2
(12345) (13457) (14578) (13579)
3
(23456) (24568) (25689)
Phân 4
(34567) (35679) (36790)
hoạch 5
(45678) (46780) (47801)
6
(56789) (57891) (58912)
7
(67890) (68902) (69023)
8
(78901) (79013) (70134)
9
(89012) (80124) (81245)
10
(90123) (91235) (92356)
x
0
x
1
x
2
x
3
x
4
00000
+ + + +
C
1
+
+
++
C
2
C
3
Lĩnh vực Công nghệ thông tin
Bộ giải mã ngỡng của mã này đợc thể hiện ở hình 3. Tại xung clock thứ nhất, đầu ra
của thiết bị giải mã M là x
0
. Tại xung clock thứ hai, đầu ra của M là x. Tại xung clock thứ ba,
đầu ra cuả M là x
2
. Tại xung clock thứ t, đầu ra là x
3
. Tại xung clock thứ 5, đầu ra là x
4
. Ng-
ỡng chính của thiết bị giải mã ngỡng M sẽ là 8. Bộ mã có khả năng sửa đợc 6 bit sai.
Lu đồ thuật toán mô phỏng cách lập, giải mã trên đợc thể hiện ở trang tiếp theo.
2.2 Xây dựng mã theo lớp CEs của luỹ đẳng nuốt trên vành Z
10
theo phân hoạch cực đại
Trong vành
1x]x[Z
10
2
+
, nhóm nhân với phần tử sinh là phần tử nguyên thuỷ a(x)
= 1+x+x
2
đợc xác định nh sau:
)012(xx1)x(a
2
++=
A= {a
i
(x),
1, 30
} = {(012), (024)), (01356), (048), (1245689), (6), (678), (068),
(12679), (046), (0124578), (2), (234), (246), (23578), (026), (0134678), (8), (089), (028),
(13489), (268), (0234679), (4), (456), (468), (04579), (248), (0235689),(0)}
Sau đây chúng ta sẽ xem xét cách xây dựng mã xyclic cục bộ cụ thể trên một phân
hoạch cực đại theo các phần tử liên hợp của luỹ đẳng nuốt trên vành Z
10
.
Với
32,5n
=
phần tử của luỹ đẳng
)x(e
2
0
đợc phân hoạch theo hai lớp kề nh sau:
}30,1b,b{}29,0i),x(a)x(e{B
ii
01
====
Học viện Công nghệ BCVT
+
1
3
C
2
3
C
3
3
C
4
3
C
5
3
C
6
3
C
7
3
C
8
3
C
9
3
C
10
3
C
1
2
C
2
2
C
3
2
C
4
2
C
5
2
C
6
2
C
7
2
C
8
2
C
9
2
C
10
2
C
1
1
C
2
1
C
3
1
C
4
1
C
5
1
C
6
1
C
7
1
C
8
1
C
9
1
C
10
1
C
+
+
+
+
+
+
+
+
+
+
+
+
+
M=8
OUTPUT
Hình 3. Bộ giải mã mã XCB (29,5) theo phân hoạch chuẩn