Mã với tích không nhập nhằng

Một phần của tài liệu Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA (Trang 50)

3.2.1. Mã luân phiên

Một hình thức mở rộng khác của tích không nhập nhằng đã được đề xuất bởi P. T. Huy, V. T. Nam (xem [23], 2004) bằng cách tích lặp nhiều lần. Từ đó cho phép thiết lập hai lớp mã mới (gọi là mã luân phiên, mã luân phiên chẵn) và một số tính chất đặc trưng của mã luân phiên, mã luân phiên chẵn với cặp ngôn ngữ có tích không nhập nhằng. Sau đây, ta sẽ trình bày lại một số kết quả đã được trình bày trong [23] và thiết lập mới một số kết quả nhằm làm phong phú thêm cho các lớp

Học viên: Trương Minh Hợi 41 Luận văn Thạc sĩ kỹ thuật mới này.

Cho X, Y  A+, ta định nghĩa phân tích luân phiên theo hai tập ngôn ngữ X, Y như sau:

Định nghĩa 3.2:Cho bảng chữ A và X, Y  A+, w  A+. Ta nói rằng:

(i) Từ w có một phân tích luân phiên theo (X,Y) nếu w = u1u2 ... un (n2), trong đó, u1  X, nếu ui  X thì ui+1  Y và nếu ui  Y thì ui+1  X, với i = 1,...,n-1.

(ii) Từ w có một phân tích luân phiên chẵn theo (X,Y) nếu w = u1u2 ... un

(n2), trong đó, u1  X, un  Y, nếu ui  X thì ui+1  Y và nếu ui  Y thì ui+1  X, với

i = 1,...,n-1và n chẵn.

(iii) Từ w có một phân tích luân phiên theo {X,Y} nếu w cómột phân tích luân phiên theo (X,Y) hoặc (Y,X).

Ví dụ3.1: Cho X = {a, ba} và Y = {b, aba}. Khi đó, từ w = ababaaba có hai phân

tích luân phiên theo {X,Y} như sau:

f1: (a).(b).(a).(b).(a).(aba) là một phân tích luân phiên chẵn theo (X,Y) f2: (aba).(ba).(aba) là một phân tích luân phiên theo (Y,X)

Dựa trên khái niệm tích không nhập nhằng và khái niệm phân tích luân phiên, cho phép ta định nghĩa lại một cách chặt chẽ đối với lớp mã luân phiên, mã luân phiên yếu dạng 1 (dạng 2) và mã luân phiên chẵn như sau:

Định nghĩa 3.3: Cho X, Y  A+. Cặp {X,Y} được gọi là mã luân phiên nếu, với mỗi

từ w  A+

, w có không quá một phân tích luân phiên theo {X,Y}.

Gọi LALT là lớp các cặp ngôn ngữ là mã luân phiên và LC là lớp các ngôn ngữ là mã. Khi đó, cặp {X,Y}  LALT thì XY = . Do đó, từ nay trở đi, ta luôn

Học viên: Trương Minh Hợi 42 Luận văn Thạc sĩ kỹ thuật hiểu là hai ngôn ngữ X, Y không có thứ tự, còn nếu viết là cặp (X,Y) thì được hiểu là hai ngôn ngữ X, Y có thứ tự.

Trong trường hợp cặp {X,Y}  LALT thì tồn tại từ w A+ sao cho các Overlap của hai phân tích của từ w là khác .

y1 . . . . y1x1 x1. . . . Overlap Overlap x2x2 Overlap w

Hình 3.1: Các Overlap của hai phân tích của từ w

Các ví dụ sau cho ta thấy rằng: có cặp {X,Y} không là mã luân phiên cho dù

X, Y là mã. Và có X, Y không là mã nhưng cặp {X,Y} là mã luân phiên.

Ví dụ3.2: Cho X = {ab,ba}, Y = {a}  LC nhưng cặp {X,Y}  LALT. Vì, với từ w =

aba  A+

có hai phân tích luân phiên khác nhau theo {X,Y}: w = (ab).(a) = (a).(ba)

Ví dụ 3.3: Cho X = {a, aa}, Y = {b,bb}  LC, nhưng cặp {X,Y} LALT.

Định nghĩa 3.4: Cho X, Y  A+

. Cặp (X,Y) được gọi là mã luân phiên chẵn nếu,với mỗi từ w  A+

, w có không quá một phân tích luân phiên chẵn theo (X,Y).

Ví dụ sau thể hiện tính phổ dụng của mã luân phiên, mã luân phiên chẵn đối với biểu diễn thông tin trong máy tính:

Ví dụ 3.4: Với mỗi tệp nhị phân có thể biểu diễn như một chuỗi các bit 0, 1. Chẳng hạn: w = 101011000011001101100001011101

Học viên: Trương Minh Hợi 43 Luận văn Thạc sĩ kỹ thuật Đặt X = {1}+

, Y = {0}+, khi đó w là một phân tích luân phiên theo {X,Y}. Nếu ta bổ sung một bit 1 vào đầu w và một bit 0 vào cuối w thì chuỗi kết quả luôn là một chuỗi phân tích luân phiên chẵn theo (X,Y). Cụ thể, với w ở trên, ta có:

w = 11010110000110011011000010111010.

Gọi LEALT là lớp các cặp ngôn ngữ là mã luân phiên chẵn. Ví dụ sau cho ta thấy rằng cặp (X,Y) là mã luân phiên chẵn nhưng cặp {X,Y} không là mã luân

phiên.

Ví dụ3.5: Cho X = {ab, abba}, Y = {b}, dễ thấy cặp (X,Y)  LEALT nhưng cặp {X,Y}  LALT. Vì, với từ w = abbabA+có hai phân tích luân phiênkhác nhau theo (X,Y) là: w = (ab).(b).(ab) = (abba).(b)

Ta đã xét tính chất mã trong quan hệ với phép đồng cấu. Tiếp theo, ta sẽ thiết lập một kết quả tương tự cho mã luân phiên, mã luân phiên chẵn.

Cho bảng chữ A. Đặt B = A  {e, f}, với e, f, (e f) là các chữ cái mới không thuộc A. Khi đó, ta định nghĩa đồng cấu xóa  : B*A*

được cho bởi:

(e) = (f) = . (3.1)

(a) = a , a  A. (3.2)

Đặt S = { ewf ,ewe ,fwe , fwf | w  A+ }  B+. Trên S, ta định nghĩa một phép tích “.” : x = i1u j1, y = i2v j2  B+,

với 0  B+

là phần tử zero mới, 1 là phần tử đơn vị mới của S^ = S  {1,0}. x . y =

i1uv j2 nêu j1 = i2 0 nếu j1  i2

Học viên: Trương Minh Hợi 44 Luận văn Thạc sĩ kỹ thuật Dễ kiểm tra, S^ là một vị nhóm.

Cho X, Y A+, ta xét UX,Y = { exf , fye | x X, y Y }  S và VX,Y = <UX,Y> là vị nhóm con của S^ sinh bởi UX,Y, khi đó VX,Y = U+X,Y.

Mệnh đề 3.3: Cặp {X, Y} LALT khi và chi khi |V

X,Y là đơn ánh.

Chứng minh: () Ta chứng minh cặp {X,Y}  LALT thì |V

X,Y là đơn ánh. Thật vậy, giả sử ngược lại |V

X,Y không là đơn ánh. Khi đó ta có thể chọn hai phần tử khác nhau, chẳng hạn u = ex1fy1ex2fy2 ...  v = f y1e x1f y2e x2 ... và (u) =

(v). Suy ra x1y1x2y2 ... = y1x1y2x2..., mâu thuẫn với giả thiết {X,Y}  LALT. Các trường hợp còn lại ta cũng suy ra được mâu thuẫn

() Ta chứng minh |V

X,Y là đơn ánh thì cặp {X,Y}  LALT.

Thật vậy, giả sử ngược lại cặp {X,Y}  LALT. Khi đó, tồn tại từ w  A+ có hai phân tích luân phiên khác nhau trong X, Y. Chẳng hạn, xét trường hợp

x1y1x2y2 . . . = y1x1y2x2 . . .

Xét hai từ u = e x1f y1e x2f y2 ... , v = f y1e x1f y2e x2... trong VX,Y .Ta có (u) = x1y1x2y2 ... = y1x1y2x2 ... = (v). Suy ra (u) = (v), mâu thuẫn với giả thiết

|V

X,Y là đơn ánh. Các trường hợp còn lại ta cũng suy ra được mâu thuẫn.

Mệnh đề 3.4: Cho A, B là hai bảng chữ rời nhau, khác rỗng và C = AB. Cho đồng

cấu vị nhóm : C*D*, D  C, đặt X = (A) , Y = (B) , U là tập tất cả các từ u

C+, u có ít nhất một phân tích luân phiên theo {A, B}, và V  U là tập tất cả các từ có dạng a1b1 ... anbn, n  1, ai  A, bi  B, i = 1,...,n. Khi đó:

Học viên: Trương Minh Hợi 45 Luận văn Thạc sĩ kỹ thuật (ii) Cặp (X,Y)  LEALT khi và chỉ khi |V là đơn ánh.

Chứng minh.

(i) Cặp {X,Y}  LALT khi và chỉ khi |U là đơn ánh. () Ta chứng minh, nếu cặp {X,Y}  LALT thì |U là đơn ánh.

Phản chứng, giả sử ngược lại |U không là đơn ánh. Khi đó, ta có thể chọn từ hai từ khác nhau u, uU sao cho (u) = (u). Vì u, u có ít nhất một phân tích luân phiên theo {A, B}; chẳng hạn u = a1b1 ... anbn, u = a1b1 ... ambm, với m, n  1, ai,

aj  A, bi, bj  B, i = 1,...,n, j = 1,...,m. Mặt khác,  là đồng cấu nên ta có:

(a1)(b1) . . . (an)(bn) = (a1)(b1) . . . (am)(bm), đây là hai phân tích luân phiên theo {X,Y}, mâu thuẫn.

() Ta chứng minh, nếu |U là đơn ánh thì cặp {X,Y}  LALT.

Thật vậy, giả sử ngược lại cặp {X,Y}  LALT. Khi đó, tồn tại từ w  C+

có hai phân tích luân phiên khác nhau trong X, Y:

w = x1y1 . . . xnyn = y1x1 . . . xmym,

với m, n  1, xi, xj  X = (A), yi, yj  Y = (A), i = 1,...,n, j = 1,...,m. Xét các từ (ai) = xi,(bi) = yi, (aj) = xj,(bj) = yj, i = 1,...,n, j = 1,...,m. Do đó:

(a1)(b1) . . . (an)(bn) = (a1)(b1) . . . (am)(bm). Mặt khác,  là đồng cấu nên ta có:

(a1b1 ... anbn) = (a1b1 ... ambm),

Học viên: Trương Minh Hợi 46 Luận văn Thạc sĩ kỹ thuật với giả thiết |U là đơn ánh.

(ii) Cặp (X,Y)  LEALT khi và chỉ khi |V là đơn ánh. Chứng minh tương tự như trường hợp (i).

3.2.2. Đặc trưng của mã luân phiên

Khi xây dựng các lớp mã mới, một trong các bài toán cơ bản đặt ra là bài toán kiểm định tính chất mã của ngôn ngữ (chính quy) cho trước. Các định lý sau thể hiện đặc trưng cần và đủ đối với một cặp ngôn ngữ X, Y cho trước có là mã luân phiên

chẵn, mã luân phiên hay không và các định lý này cũng tạo cơ sở cho ta thiết lập các thuật toán kiểm tra tính chất mã luân phiên chẵn, mã luân phiên trong phần sau.

Định lý 3.1: Cho X, Y  A+. Khi đó, cặp (X, Y) là mã luân phiên chẵn khi và chỉ khi

hai điều kiện sau được thỏa mãn:

(i) (X, Y) có tích không nhập nhằng. (ii) Z = XY là mã.

Chứng minh.

() Ta chứng minh, nếu (X, Y)  LEALT thì (X,Y) có tích không nhập nhằng

và Z = XY  LC.

Theo định nghĩa tích không nhập nhằng và định nghĩa mã luân phiên chẵn, suy ra (X,Y) có tích không nhập nhằng.

Nếu Z = XY  LC, khi đó tồn tại từ w  Z+

có hai phân tích khác nhau trong

Z: w = z1z2 ... zn = z1z2 ... zm , trong đó zi = xiyi, zi = xiyi, với xi, xj X, yi , yj  Y, i = 1,...,n, j = 1,...,m. Rõ ràng, đây là hai phân tíchluân phiên cùng kiểu khác nhau của từ w theo (X, Y), mâu thuẫn.

Học viên: Trương Minh Hợi 47 Luận văn Thạc sĩ kỹ thuật () Ta chứng minh, nếu (X, Y) có tích không nhập nhằng và Z = XYLC thì (X, Y)  LEALT .

Giả sử Z = XY  LC và (X, Y) có tích không nhập nhằng. Khi đó, từ hệ thức

x1y1x2y2 ... xnyn = x1y1x2y2 ... xmym, đặt zi = xiyi , zj = xjyj, ta có z1 ... zn = z1...

zm với zi , zjZ, i = 1,...,n , j = 1,...,m. Do Z  LC nên m = n, zi = zi hay xiyi = xiyi,

i = 1,...,n.

Từ giả thiết (X,Y) có tích không nhập nhằng và từ hệ thức xiyi =

xiyi,i= 1,...,n, suy ra xi = xi, yi = yi. Vì vậy, (X, Y)  LEALT .

Định lý 3.2: Cho X, Y  A*. Khi đó, cặp {X, Y}  LALT khi và chỉ khi bốn điều kiện sau đồng thời được thỏa mãn:

(i) XY là mã và X–1X Y Y–1– {} = ;

(ii) Y–1(XY)+  (XY)+ = ;

(iii) (XY)+X–1 (XY)+

= ;

(iv) (XY)+ (YX)+

= .

Chứng minh.

() Giả sử {X, Y}  LALT. Ta chứng minh phản chứng: (i) Giả sử{X, Y}  LALT, khi đó có 2 khả năng xẩy ra:

Trường hợp 1: X-1X  YY-1

– {}  

Khi đó, tồn tại các từ u  , x1, x2X, y1, y2Y sao cho x1 = x2u, uy1 = y2, ta có x1y1 = x2y2 với x1  x2. Suy ra, cặp {X, Y}  LALT, mâu thuẫn. Do đó X-1X  YY-1

Học viên: Trương Minh Hợi 48 Luận văn Thạc sĩ kỹ thuật y1 y2 x2 u x1 Hình 3.2: Trường hợp X-1X YY-1 – {}

Trường hợp 2: Tích Z = XY không là mã, nghĩa là tồn tại từ w  A+

thừa nhận hai sự phân tích khác nhau trong Z: w = z1z2 ... zn = z1’z2’ ... zm’ (z1 z1’), sao cho

z1 = x1y1, z2 = x2y2, ..., zn = xnyn, với xi  X, yi  Y

z1’ = x1’y1’, z2’ = x2’y2’, ..., zm’ = xm’ym’ , với xj’ X, yj’ Y

rõ ràng, đây là hai sự phân tích luân phiên khác nhau của w theo X, Y. Suy ra {X, Y}  LALT, mâu thuẫn. Do đó Z = XY là mã.

(ii). Giả sử Y-1

(XY)+ (XY)+, khi đó sẽ tồn tại y  Y , uY-1

(XY)+ (XY)+

sao cho: yz1z2 ... zn = z1’z2’ ... zm’ , zi,zj’  XY , zi = xiyi, zj’ = xj’yj’, xi ,xj’X, yi ,

yj’Y, i=1,...,n , j=1,...,m. . . . . z2 zn . . . . z2 z1 z1 zm’ y u w

Hình 3.3: Trường hợp Y-1(XY)+ (XY)+ Đặt w = yu (XY)+

, ta có w = z1’z2’ ... zm’. Mà u (XY)+

suy ra u = x1y1 ...

xnyn. Do đó w = yx1y1 ... xnyn = x1’y1’ ... xm’ym’. Suy ra {X, Y} LALT, mâu thuẫn với giả thiết. Do đó Y-1(XY)+ (XY)+ = .

(iii). Giả sử (XY)+X-1  (XY)+ , khi đó sẽ tồn tại xX , u (XY)+X-1 (XY)+ sao cho u = z1z2 ... zn và ux = z1z2 ... znx = z1’z2’ ... zm’ , zi,zj’ XY mà zi = xiyi,

Học viên: Trương Minh Hợi 49 Luận văn Thạc sĩ kỹ thuật zj’ = xj’yj’, xi ,xj’X, yi , yj’Y,i=1,...,n , j=1,...,m. . . . . z2 zn . . . . z2 z1 z1 zm’ u x w

Hình 3.4: Trường hợp (XY)+X-1 (XY)+ Đặt w = ux  (XY)+

, ta có w = z2’z2’ ... zm’. Mà u  (XY)+

suy ra u = x1y1 ...

xnyn. Do đó w = x1y1 ... xnynx = x1’y1’ ... xm’ym’. Suy ra {X, Y} LALT, mâu thuẫn với giả thiết. Do đó (XY)+X-1  (XY)+ = .

(iv). Giả sử (XY)+  (YX)+  , khi đó sẽ tồn tại một từ w  A+ thừa hai sự phân tích khác nhau theo X, Y: w = x1y1 ... xnyn= y1’x1’... ym’xm’. Suy ra {X, Y}

LALT, mâu thuẫn với giả thiết. Do đó (XY)+ (YX)+ = . () Giả sử các điều kiện (i), (ii), (iii), (iv) đều được thỏa mãn.

Giả sử ngược lại {X,Y}LALT, khi đó sẽ tồn tại từ w  A+ thừa nhận hai sự phân tích luân phiên khác nhau theo X, Y: w = u1u2 ... ui = u1’u2’ ... uj’, i, j 1, u1u1’.

Xét tính chẵn lẻ của i, j ta có các trường hợp sau:

Trường hợp 1: u1  X, u1’  X

- Với i và j đều chẵn. Nếu tồn tại từ wA+ thừa nhận hai sự phân tích luân phiên khác nhau theo (X, Y):w = x1y1 ...xnyn = x1’y1’ ...xm’ym’ , thì tích XY không là mã, mâu thuẫn với (i).

- Với i và j đều lẻ. Nếu tồn tại từ wA+

thừa nhận hai sự phân tích luân phiên khác nhau theo (X, Y): w = x1y1 ...xn = x1’y1’ ...xm’. Ta thêm y vào cuối hai phân tích, ta có:

Học viên: Trương Minh Hợi 50 Luận văn Thạc sĩ kỹ thuật suy ra w’ thừa nhận hai sự phân tích luân phiên khác nhau trong XY. Do đó XY không là mã, mâu thuẫn với (i).

- Với i chẵn và j lẻ. Nếu tồn tại từ w  A+

thừa nhận hai sự phân tích luân phiên khác nhau theo (X, Y): w = x1y1 ...ynxn = x1’y1’ ...xm’. Đặt u = x1’y1’ ...ym-1’xm-1’  (XY)+, thì w = uxm’ (XY)+. Khi đó u (XY)+X-1, mâu thuẫn với (iii).

- Với i lẻ và j chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân phiên khác nhau theo (X, Y): w = x1y1 ...xn = x1’y1’ ...xm’ym’. Đặt u = x1y1 ...yn-1xn-1 (XY)+, thì w = uxn  (XY)+. Khi đó u (XY)+

X-1, mâu thuẫn với (iii).

Trường hợp 2: u1X,u1’ Y

- Với i và j đều chẵn. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân phiên khác nhau theo X, Y: w = x1y1 ...xnyn = y1’x1’ ...ym’xm’ (XY)+ (YX)+. Suy ra (XY)+  (YX)+  , mâu thuẫn với (vi).

- Với i và j đều lẻ. Nếu tồn tại từ w  A+

thừa nhận hai sự phân tích luân phiên khác nhau theo X, Y: w = x1y1 ...xn = y1’x1’ ...ym’. Xét w’ = w.w = x1y1

...xny1’x1’ ...ym’ = y1’x1’ ...ym’x1y1 ...xn (XY)+ (YX)+. Suy ra (XY)+ (YX)+, mâu thuẫn với (vi).

- Với i chẵn và j lẻ. Nếu tồn tại từ wA+

thừa nhận hai sự phân tích luân phiên khác nhau theo X, Y: w = x1y1 ...ynxn = y1’x1’ ...ym’. Đặt u = x1’y2’ ...xm-1’ym’ (XY)+ thì w = y1’u  (XY)+. Khi đó u Y-1

(XY)+, mâu thuẫn với (ii). - Với i lẻ và j chẵn. Nếu tồn tại từ wA+

thừa nhận hai sự phân tích luân phiên khác nhau theo X, Y: w = x1y1 ...xn = y1’x1’ ...ym’xm’. Ta thêm y vào cuối hai phân tích, ta có:

w’ = x1y1 ...xny=y1’x1’ ...ym’xm’y.

Học viên: Trương Minh Hợi 51 Luận văn Thạc sĩ kỹ thuật thuẫn với (ii).

Trường hợp 3: u1 Y,u1’  Y

- Với i và j đều chẵn. Nếu tồn tại từ w  A+

thừa nhận hai sự phân tích luân phiên khác nhau theo (Y, X):w = y1x1 ...ynxn = y1’x1’ ...ym’xm’. Ta thêm x vào đầu và y vào cuối hai phân tích, ta có:

w’ = x y1x1 ... yn xn y = x y1’x1’ ... ym’xmy

suy ra w’ thừa nhận hai sự phân tích luân phiên trong XY. Do đó XY không là mã, mâu thuẫn với (i).

- Với i và j đều lẻ. Nếu tồn tại từ w  A+ thừa nhận hai sự phân tích luân phiên khác nhau theo (Y, X):w = y1x1 ...yn= y1’x1’ ...ym’. Ta thêm x vào đầu hai phân tích, ta có:

w’ = x y1x1 ... xn-1yn = x y1’x1’ ... xm-1’ym

suy ra w’ thừa nhận hai sự phân tích luân phiên trong XY. Do đó XY không là

Một phần của tài liệu Xây dựng sơ đồ chữ ký số dựa trên hệ mã kết hợp ALT và RSA (Trang 50)

Tải bản đầy đủ (PDF)

(79 trang)