Ch ơng 10
CáC M XáC THựCã
10.1 Mỏ ĐầU
Ta đã dành nhiều thời gian để nghiên cứu các hệ mật đợc dùng để
đảm bảo độ mật .Mã xác thực sẽ cung cấp phơng pháp bảo đảm tình toàn
vẹn của bản tin,mghĩa là bản tin phải không bị can thiệp một cách bất
hựp pháp và nó thực sự đợc gửi đi từ mày phát.
Mục đích của chơng này là phải có đợc khả năng xá thực ngay cả khi
có một đối phơng tích cực-Oscar là ngời có thể quan sát các bản tin
trong kênh.Mục đích này có thể đạt đợc bằng cách thiết lập một khoa
riêngK bằng cách để Alice và Bob chungchung một khoá bí mật trớc
hki mỗi bản tin đợc gửi đi.
Trong chơng này ta sẽ nghiên cứu đảm bảo xacs thực chứ không phải
các mã đảm bảo độ mật.Trong mã này,khoá sẽ đợc dùng dể tính một mã
xác thực cho phép Bob kiểm tra đợc tính xác thực của thông báo mà anh
ta nhận đợc.Một ứng dụng khác của mã xác thực là để kiểm tra xem các
số liệu trong một file lớn có bị can thiệp vào một cách hợp pháp hay
không.Nhãn xác thực sẽ đợc lu cùng với số liệu:KHOá ĐƯẻc dùng để
tạo và kiểm tra dấu xác thực đợc lu một cách tách bạch trong
mộtvùngan toàn.
Ta cũng sẽ chỉ ra rằng,về nhiều khía cạnh mã xác thực cũng tơng tự
nh một sơ đồ chữ kí hoặc tơng tự nh một maw xác thực thông
báo(MAC).Sự khác biệt chính là sự an toàn của một maw xác thực là
không điều kiện biên,trong khi đó các sơ đồ chữ kí và MAC lại đợc
nghiên cứu theo quan điểm độ an toàn tính toán.Cũng vậy,khi một maw
xác thực (hoặc MAC) đợc dùng,một bản tin chỉ có thể đợc kiểm tra bởi
ngời nhận hợp pháp.Trong khi đó baats cứ mỗi ai cũng có thể xác minh
đợc chữ kí bằng cách dùng một thuật toán xác minh công khai.
Bây giờ ta sẽ đa ra một định nghia hình thức cho thuật ngữ đợc sử
dụng khi nghiên cứu các mã xác thực.
Định nghĩa 10.1
Một mã xác thực là một bộ 4(S,R,K,C)thoả mãn các điều kiện
sau :
1. S là tập hữu hạn các trạng thái nguồn có thể
2. A là tập hợp các nhãn xác thực có thể
3. K là một tập hữu hạn các khoá có thể (không gian khoá)
4. Với mỗi k
K có một quy tắc xác thực e
k
: S
R
Tập bản tin đợc xác định bằng M=S
R
Nhận xét:
Chú ý một trạng thái nguồn tơng đơng với một bản rõ.Một bản tin gồm
một bản rõ với một nhãn xác thực kèm theo,một cách chính xác hơn có thể coi
đó là là một bản tin đã đợc xác nhận.Một quy tắc xác thực không nhất thiết
phải là hàm đơn ánh.
Đẻê phát một thông báo (đã đợc kí).Alice và Bob phải tuân theo giao thức
sau.Trớc tiên họ phải chộn một khoá ngẫu nhiên KK.Điều này đợc thuwc
hiện một cách bí mật nh trong hệ mật khoá bi mật.Sau đó giả sử rằng Alice
muốn gửi một trạng thái nguồn sS cho Bob trong một kênh không an
toàn>Alice sẽ tính a=e
k
(s) và gửi bản tin (s,a)cho Bob.Khi nhận đợc (s,a) Bob
tính a=e
K
(s).Nếu a=a thì Bob chấp nhận bản tin là xác thực,ngợc lại Bob sẽ
loại bỏ nó.
Ta sẽ nghiên cứu hai kiểu tấn công khác nhau mà Oscar có thể tiến
hành.Trong cả hai loại này,Oscar sẽ làkẻ xâm nhập vào gia cuộc.Các phép
tấn công này đợc mô tả nh sau:
Giả mạo
Oscar đa ra một bản tin (s,a) vào kênh và hi vọng nó sẽ đợc chấp
nhận .Phơng pháp này đợc mô tả trong hình 10.1.
Thay thế
Oscar quan sát một bản tin trong (s,a)kênh ,sau đó anh ta biến đổi nó
thành(s,a),trong đó s=s và hi vọng đợc Bob chấp nhận nh một bản tin xác
thực .Bởi vậy anh ta tin sẽ lái đợc Bob đi tới trạng thái nguồn mới này.Phơng
pháp này đợc mô tả nh hình 10.2.
.
Oscar
Gắn với mỗi phơng pháp này là một xác xuất lừa bịp,là xác suất để
Oscar thành công trong việc lừa Bob nếu anh ta (Oscar) tuân thủ một
Hình 10.1. Việc giả mạo bởi Oscar
Oscar (s,a) Bob
Hình 10.2 . Phép thay thế của Oscar.
Alice (s,a) Oscar (s,a) Bob
chiến lợc tối u .Các xác suất này đợc kí hiệu là Pd
0
(trờng hợp giả mạo)và
Pd
1
(trờng hợp thay thế) .Để tình Pd
0
và Pd
1
ta cần phải xác định các
phân bố xác suất trên S vàK.Các xác suất này đợc kí hiệu tơng ứng là p
s
và p
k
.
Giả sử rằng Oscar đẵ biết mã xác thực và hai phân bố xác suất này.Chỉ
có một thông tin mà Alice và Bob có nhng mà Oscar không đợc biết là
giá trị của khoá K .Điều này tơng tự với cách mà chúng ta đã nghiên cứu
độ an toàn không điều kiện của các hệ mật khoá bí mật.
10.2.Tính xác suất lừa bịp
Trong phần này sẽ xét đến việc tính các xác suất lừa bịp.Ta bắt đầu
về một mã xác thực.
Ví dụ 10.1
Giả sử K=R=Z
và K=Z
3
xZ
3
Với mỗi (i,j) K và mỗi s
S ta xác định
e
k
(s) =i.s+j mod 3
Để thuận tiện cho việc nghiên cứu ta dùng ma trận xác thực (ma trận này
tạo bằng tất cả các giá trị e
k
(s)).Với mỗi khoá KK và với mỗi s
S
ta đặt nhãn xác thực e
k
(s) vào hàng K và cột s của một ma trận M kích
thớc K xS .Mảng M đợc mô tả trên hình 10.3.
Hình 10.3.Ma trận xác thực
Khoá 0 1 2
(0,0) 0 0 0
(0,1) 1 1 1
(0,2) 2 2 2
(1,0) 0 1 2
(1,1) 1 2 0
(1,2) 2 0 1
(2,0) 0 1 2
(2,1) 1 0 2
(2,2) 2 1 0
Giả sử rằng khoá đợc chọn một cách ngẫu nhiên,tức là p
k
(K)=1/9 đối
với mọi KK. Ta không phải xác định phân bố xác suất p
S
vì trong thí
dụ này nó khong có ý nghĩa gì.
Trớc tiên xét cách tấn công giả mạo,Oscar sẽ chọn ra một trạng thái
nguồn s và cố gắng phỏng ddoand\s một nhãn xác thực đúng.Kí hiệu
K
0
là khoá đang sử dụng (mà Oscar không biết).ócả sẽ thành công trong
việc đánh lừa Bob nếu anh ta phỏng đoán a
0
=e
K0
(s).Tuy nhiên với bất kì
sS và aR dễ dàng thấy rằng ,chỉ có đúng 3(chứ không phải là 9)quy
tắc xác thực KK sao cho e
k
(s) =a.(Nói cách khác mỗi kí hiệu chỉ xuất
hiện 3 lần trong mỗi cột của ma trận xác thực ).Bởi vậy dẫn tới Pd
0
=1/3.
Phân tích phép thay thế có phức tạp hơn một chút.Giả sử Oscar đã
quan sát đợc trên kênh 1 bản tin (0.0).Nhờ đó anh ta đã biết một thông
tin nào đó về khoá:anh ta biết rằng :
K
0
{(0,0),(1,0),(2,0)}
Bây giờ ,giả sử Oscar thay bản tin (0,0) bằng bản tin (1,1).Khi đó anh
ta sẽ lừa bịp thành công khi và chỉ khi K
0
=(1,1) ,xác suất để K
0
là khoá
bằng 1/3 vì khoá nằm trong tập {(0,0),(1,0),(2,0)}.
Có thể thực hiện một phân tích tơng tự đối với bất kì một phép thay
thế nào mà Oscar tiến hành.Nói chung nếu Oscar quan sát một bản tin
(s,a) và thấy nó bằng một bản tin bất kì (s,a) trong đó s=s thì anh ta sẽ
đánh lừa đợc Bob với xác suất 1/3.Ta có thể thấy rõ điều này nh sau
.Việc quan sát đợc (s,a) sẽ hạn chế khóa và một trong ba khả năng.Trong
khi đó với một phép chọn (s,a) chỉ có một khoá chứ không phải ba
khoá có thể )theo quy tắc a là nhãn xác thực của s.
Bây giờ ta sẽ thảo luận cách tính toán tổng quát cho các xác suất
lừa bịp.Trớc tiên ta hãy xát Pd
0
.Cũng nh trên K
0
là khoá đợc chọn bởi
Alice và Bob.Với sS và aR ta xác định payoff(s,a)là xác suất để Bob
chấp nhận bản tin (s,a) là bản tin xác thực .Dễ dàng thấy rằng :
Payoff(s,a) = prob(a=e
K
(s))
=
K
K
(ek(s) = a)
p
K
(K)
Nghĩa là payoff(s,a) đợc tính bằng cách chọn các hàng của ma trận xác
thực có phần tử a nằm trong cột s và lấy tổng xác suất của các khoá K t-
ơng ứng.
Để cơ hội thành công là lớn nhất.Oscar phỉa chọn (s,a) sao cho
payoff(s,a) là cực đại .Bởi vậy:
Pd
0
=max{payoff(s,a): sS.aR} (10.1)
Chú ý rằng Pd
0
không phụ thuộc vào phân bố xác suất p
S
Việc tính Pd
1
có khó hơn một chút và nó có thể phụ thuộc vào p
S
.Tr-
ớc tiên ta sẽ xét bài toán sau:Giả sử Oscar quan sát đợc thông báo (s,a)
trong kênh.Oscar sẽ thay (s,a) bằng một bản tin (s,a) nào đó ,trong đó
ss.Khi đó,với s,sS ,ss và a,aR ta định nghĩa payoff(s,a;s,a) là
xác suất để phép thay thế (s,a) bằng (s,a) thành công(để đánh lừa
Bob) .Khi đó có thể tính nh sau :
Payoff(s,a;s,a) =prob(a=e
Ko
(s)a=e
Ko
(s))
=
))((
))()'('(
seaprob
seaseaprob
K
KK
=
==
Tử số của phân số này đợc tính bằng cách chọn các hàng của ma trận
xác thực có giá trị a trong cột s và giá trị a trong cột svà lấy tổng các
xác suất của các khoá tơng ứng.Vì Oscar muốn tăng cực đại cơ hội đánh
lừa Bob nên anh ta tính :
P
S
= max{payoff(s,a;s,a);sS,ss,aR}
Đại lợng p,kí hiệu để Oscar đánh lừa Bob bằng một phép thay thế khi đã
quan sát đợc bản tin (s,a) trên kênh.
Bây giờ phải làm thế nào để tính để tinhs xác suất lừa bịp Pd
1
?Rõ
ràng là ở đây ta ta phải tính trung bình các giá trị của lợng p
S
theo các
xác suất p
M
(s,a) quan sát các bản tin trên kênh.Nghĩa là Pd
1
đợc tính
bằng :
Pd
1
=
(S,a)
M
p
M
(s,a).p
M
(10.2)
Phân bố xác suất p
M
nh sau:
P
M
(s,a) =p
s
(s)x p
K
(as)
=p
S
(s)x
(K
K; ek(s)=a)
p
K
(K)
=p
S
(s)xpayoff(s,a)
Trong ví dụ 10.1:
Payoff(s,a) =1/3
Với s,a,s,a,ss .Bởi vậy Pd
1
=1/3 đối với mọi phân tố xác suất p
S
(nói
chung Pd
1
phụ thuộc vào p
S
).
Trong ví dụ sau đây sẽ xét việc tính Pd
0
và Pd
1
.
Ví dụ 10.2:
Xét ma trận trên hình 10.4Giả sử các phân bố xác suất trên S và K là:
P
S
(i)=1/4
1 i 4 và
p
K
(1)=1/2 ; p
K
(2)=p
K
(3)=1/4
Hình 10.4 Ma trận xác thực
Khoa 1 2 3 4
1 1 1 1 2
2 2 2 1 2
3 1 2 2 1
Các giá trị payoff(s,a) nh sau :
Payoff(1,1) =3/4 Payoff(1,1) =1/4
Payoff(2,1) =1/2 Payoff(2,2) =1/2
Payoff(3,1) =3/4 Payoff(3,2) =1/4
Payoff(4,1) =1/4 Payoff(4,2) =3/4
Bởi vậy Pd
0
=3/4 .Chiến lợc đánh lừa tối u của Oscar là đa một thông báo
bất kì trong số các thông báo (1,1),(3,1) hoặc (4,2) vào kênh.
Bây giờ ta sẽ chuyển sang tính Pd
1
.Trớc hết ta đa các giá trị khác
nhau của payoff(s,a;s,a).
(1,1) (1,2) (2,1) (2,2) (3,1) (3,2) (4,1) (4,2)
(1,1)
(1,2)
2/3
0
1/3
1
2/3
1
1/3
0
1/3
1
2/3
0
(2,1)
(2,2)
1
1/2
0
1/2
0
1/2
1
1/2
0
1/2
1
1/2
(3,1)
(3,2)
2/3
1
1/3
0
2/3
0
1/3
1
0
1
1
0
(4,1)
(4,2)
1
2/3
0
1/3
0
2/3
1
1/3
0
1
1
0
Nh vậy ta có p
1.1
=2/3,p
2.2
=1/2,p
3.3
=1 với mọi giá trị s,a khác .Khi đó việc
đánh giá Pd
1
sẽ trở nên rất đơn giản:Pd
1
=7/8.Chiến lợc thay thế tối u của
Oscar là:
(1,1) (2,1)
(1,2) (2,2)
(2,1) (1,1)
(2,2) (1,1)
(3,1) (4,2)
(3,2) (1,1)
(4,1) (1,1)
(4,2) (3,1)
Chiến lợc này thực sự dẫn đến Pd
1
=7/8
Việc tính toán Pd
1
trong ví dụ 10.2 dễ hiểu nhng khá dài dòng .Trên
thực tế có thể đơn giản hóa việc tính Pd
2
dựa trên nhận xét là ta đã
thực hiện việc chia cho đại lợng payoff(s,a) khi tính P
s,a
và sau đó
Lại nhân với payoff(s,a) khi tính Pd
1
.Dĩ nhiên là hai phép tính này loại
bỏ nhau.Giả sử định nghĩa :
q
s,a
=max{
AassSsKp
asekasekKK
K
==
',',':)(
'Ư})'(,)(:{
}
Với mọi s,a. Khi đó có công thức đơn giản hơn sau:
10.3.Các giới hạn tổ hợp
Ta đã thấy ràng độ an toàn của một mã xác định đợc đo bằng
Các xác xuất lừa bịp . Bởi vậy cần xây dựng các mã sao cho các xác
Xuất này nhỏ tới mức có thể .Tuy nhiên những khía canh khác cũng
Rất qoan trọng .Ta xem xét một số vấn đề cấn qoan tâm trong mã xác
thực .
1.Các xác xuất lừa bịp Pd
0
và Pd
1
phải đủ nhỏ để đạt đợc mức an toàn
mong muốn .
2.số các trạng thái nguồn phải đủ lớn để có thể truyền các thông tin cần
thiết bằng cách gán một nhãn xác thực vào một trạng thái nguồn .
3. Kích thớc của không gian khóa phải đợc tối thiểu hóa và các giá trị
của khóa phải truyền qua một kênh an toàn (Cần chú ý rằng phải thay
đổi khóa sau mỗi lần truyền tin giống nh khi dùng OTP).
Trong phần này sẽ xác địinh giới hạn dới đối với các xác suất lừa bịp và
chúng đợc tính theo các tham số của mã.Hãy nhớ lại rằng ta đã định
nghĩa mã xác thực là một bộ bốn (S,R,K,E).Trong phần này ta sẽ ký hiệu
R=l
Giả sử cố định một trạng thái nguồn sS.Khi đó có thể tính :
a
R
payoff(s,a)=
a
R
(K
K :ek(s)=a}
p
K
(K)
=
K
K
p
K
(K)
=1
Bởi vậy với mỗi sS,tồn tại một nhãn xác thực a(s) sao cho :
Payoff(s,a(s))1/l.
Dễ dàng rút ra định lý sau:
Đinh lý 10.1
Giả sử (S,R,K,E) là một mã xác thực .Khi đó Pd
0
1/l trong đó
l=
R
.Ngoài ra Pd
0
=1/l khi và chỉ khi :
{K
K :ek(s)=a}
p(K)=1/l (10.4)
với mỗi s
S,a
R.
Baauy giờ ta sẽ chuyển sang phơng pháp thay thế .Giả sử cố định s,a và
s
,ss
.Ta có:
{
1
)(
)(
)(
)(
),;','(
})(:{
})(:
' '
})(:{
}')'(,)(:{
==
=
=
=
=
==
asekKK
K
asekKK
K
Ra Ra
asekKK
K
asekasekKK
K
Kp
Kp
Kp
Kp
asaspayoff
Nh vậy tồn tại một nhãn thực a
(s
,s,a) sao cho :
Payoff(s
,a
(s
,s,a) :s,a)1/l
Định lý sau sẽ rút ra kết quả :
Định lý10.2
Giả sử (S,R,K,E) là một mã xác thực .Khi đó Pd
1
>=1/l trong đó
L=
R
.Ngoài ra Pd
1
1/l khi và chỉ khi :
l
Kp
Kp
asekKK
K
asekasekKK
K
/1
)(
)(
})(:{
}')'(,)(:{
=
=
==
Với mỗi s,s
S,s=s
,a,a
R
Chứng minh
Ta có : Pd
1
=
(s,a)
M
p
M
(s,a).p
s,a
(s,a)
M
p
M
(s,a)/l = 1/l
Ngoài ra dấu bằng chỉ tồn tại khi và chỉ khi p
s,a
=1/l với mỗi (s,a) .Tuy
nhiên điều kiện này lại tơng đơng với điều kiện :
Payoff(s
,a
;s,a)=1/l với mọi (s,a).
Định lý 10.3
Giả sử (S,R,K,E) là một mã xác thực trong đó l=
R
.Khi
đóPd
0
=Pd
1
=1/l khi và chỉ khi :
2
}')'(,)(:{
/1)( lKp
asekasekKK
K
=
==
(10.6)
Vớ mọi s,s
S,a,a
R,s
s
Chứng minh
Các phơng trình (10.4)và (10.5) boa hàm phơng trình (10.6).Ngợc lại ,
phơng trình (10.6) kéo theo các phơng trình (10.4) và(10.5).
Nừu các khóa là đồng khả năng thì ta nhận đợc hệ quả sau:
Hệ quả 10.4:
Giả sử (S,R,K,e) là một mã xác thực ,trong đó l=R và các khoá chọn
đồng xác suất.Khi đó Pd
0
=Pd
1
=1/l khi và chi khi :
{KK :e
K
(s)=a,e
K
(s)=a}=K/l
2
(10.7)
Với mọi s,sS,ss,a,aR.
10.3.1.Các mạng trực giao
Trong phần này ta xét các mối liên quan gia các mã xác thực và các cấu
trúc tổ hợp đợc gọi là các mảng trực giao.Trớc tiên ta sẽ đa ra các định
nghĩa:
Định nghĩa 10.2:
Một mạng trực giao 0A(n,k,
)là một mảng kích thớc
n
2
xk chứa n kí
hiệu sao cho trong hai cột bất kì của mảng mỗi cặp trong n
2
cặp kí
hiệu chỉ xuất hiện trong đúng
hàng.
Các mạng trực giao là các cấu trúc đã đợc nghiên cứu kĩ trong lí thuyets
thiết kế tổ hợp và tơng đơng với các cấu trúc khác nh các hình vuông
Latinh trực giao hỏi các lới
Trong hình 10.5 ta đa ra một mảng trực giao 0A(3.3.1) nhận đợc từ ma
trận xác thực ở hình 10.3.
Hình 10.5. 0A(3.3.1)
012
201
120
102
021
210
222
111
000
Có thể dùng một mảng trực giao bất kì 0A(n,k,) để xây dựng một mã
xác thực có Pd
0
=Pd
1
=1/n nh đợc nêu trong định lí sau:
Định lí 10.5.
Giả sử có một mảng trực giao 0A(n,k,
).Khi đó cùng tồn tại một mã
xác thực (S,A,K,E).trong đó
S
=k,
R
=n,
K
=
n
2
và
Pd
0
=Pd
1
=1/n.
Chứng minh:
Hãy dùng mỗi hàng của mảng trực giao làm một quy tắc xác thực với
xác suất nh nhau bằng 1/(n
2
).Mối liên hệ tơng ứng gia mảng trực giao
và mã xác thực đợc cho ở bảng dới đây.Vì phơng trình (10.7) đợc thoả
mãn nên ta có thể áp dụng hệ quả 10.4 để thu đợc một mã xác thực có
các tính chất đã nêu.
Mảng trực giao Mã xác thực
Hàng Quy tắc xác thực
Cột Trạng thái nghuồn
Kí hiệu Nhãn xác thực
10.3.2.Phơng pháp xây dựng và các giới hạn đối với các 0A
Giả sử ta xây dựng một mã xác thực từ một 0A(n,k,).Tham số n sẽ xác
định số các nhãn (tức là độ an toàn của mã).Tham số k xác định số các
trạng thái nguồn mà mã có thể thích ứng.Tham số chỉ quan hệ tới số
khoá (là n
2
).Dĩ nhiên trờng hợp =1là trờng hợp mong muốn nhất tuy
nhiên ta sẽ thấy rằng đôi khi cần phải dùng các mảng trực giao có lớn
hơn.Giả sử ta muốn xây dựng một mã xác thực ới tập nguồn xác định S
và có một mức an toàn xác định (tức là để Pd
0
< và Pd
1
<).Khi đó
mảng trực giao thích hợp phải thoả mãn các điều kiện sau:
1. n 1/
2. k S.(Xét thấy có thể loại một hoặc một số cột khỏi mảng
trực giao và mảng kết quả vẫn còn là một mảng trực giao,bởi
vậy không đòi hỏi k=S).
3. đợc tối thiểu hoá ,tuỳ thuộc vào các điếu kiện trên đợc thoả
mãn
Trớc tiên xét các mảng trực giao có =1 .Với một giá trị n cho
trớc ,ta cần làm cực đại hoá số cột,sau đây là một số điều kiện
cần để tồn tại .
Định lí 10.6.
Giả sử tồn tại một 0A(n,k,
) .Khi đó k
n+1
Chứng minh:
Cho A là một 0A(n,k,l) trên tập kí hiệu X={0,1 n-1}.Giả sử
là một phép hoán vị của X và ta hoán vị các kí hiệu trong một cột
bất kì của A theo phép giao hoán .Kết quả là ta lại có một
0A(n,k,l).Bởi vậy bằng cách áp dụng liên tiếp các phép vị kiểu
này ,có thể xem (mà không làm mất tính tổng quát) rằng hàng
đầu tiên cuả A là (00 0).
Tiếp theo ta sẽ chỉ ra rằng mỗi kí hiệu chỉ xuất hiện đùng n
lần trong mỗi cột của A.Hãy chọn hai cột (chẳng hạn c và c)và
cho X là một kí hiệu bất kì .Khi đó với mỗi kí hiệu x tồn tại một
hàng duy nhất của A trong đó x ở cột c và x ở cột c.Cho x thay
đổi trên X ta thấy rằng x xuất hiện đúng n lần trong cột c.
Vì hàng thứ nhất là (00 0) nên ta đã vét cạn các khả năng xuất
hiện của các cặp đợc sắp (0.0).Bởi vậy không có một hàng nào
khác có nhiều hơn một kí hiệu o.Bây giờ ta sẽ đếm số các hàng
chứa ít nhất một kí hiệu 0.Tổng số là 1+k(n-1).Tuy nhiên tổng
này không thể lớn hơn tổng số các hàng trong A (bằng n
2
).Bởi
vậy 1+k(n-1)n
2
hay kn+1 nh mong muốn .
Bây giờ ta sẽ đa ra một cấu trúc cho mảng trực giao có =1
,trong đó k=n .Trong thực tế đây chính là cấu trúc đã dùng để thu
đợc mảng trực giao nêu ở hình 10.5.
Định lí 10.7
Giả sử p là một số nguyên tố.Khi đó tồn tại một mảng
trực giao 0A(p.p.1).
Chứng minh:
Mảng này sẽ là một cấp p
2
ìp,trong đó các hàng đợc lập chỉ
số trong Z
P
xZ
P
và các cột đợc lập chỉ số trong Z
P
.Phần tử ở hàng
(i,j) và cột x đợc tính bằng i.x+j mod p.
Giả sử chọn hai cột x và y,xy,và hai kí hiệu a,b.Ta cần
tìm một hàng duy nhất (i,j) sao cho a nằm trong cột x và y nằm
trong cột y của hàng (i,j).Vì thế cần giải hai phơng trình:
a=i.x+j
b=i.y+j
theo các ẩn i và j (trong đó tất cả các phép tính số học đợc thực
hiện trong trờng Z).Nhng hệ này có nghiệm duy nhất:
i=(a-b)(x-y)
4
mod p
j=a-y.x mod p
Bởi vậy ta có một mảng trực giao.
Nhận xét rằng một 0A(n,n,1) bất kì có thể mở rộng thêm
một cột để tạo thành 0A(n,n+1,1)(xem các bài tập ).Vì thế dùng
định lí 10.7 có thể nhận đợc vô hạn các 0A đạt đợc giới hạn của
định lí 10.6 với dấu bằng.
Định lí 10.6 cho biết rằng >1 nếu k>n+1.Ta sẽ chứng
minh một kết quả tổng quát hơn khi đặt giới hạn dới của nh
một hàm của n và k.Tuy nhiên,trớc tiên cần đa ra một bất đẳng
thức quan trọng sẽ dùng trong chứng minh.
Bổ đề 10.8.
Giả sử b
1
b
m
là các số thực.Khi đó:
2
1
1
1
2
1
)(
==
n
m
n
m
bbm
Chứng minh
áp dụng bất đẳng thức Jensen(Định lí 2.5) với f(x)=-x
2
và
a
1
=1/m.1im.Hàm f là liên tục là và lõm.Vì thế ta nhận đợc :
2
1
1
1
2
1
==
m
i
m
i
m
b
m
b
Từ đây dễ dàng rút ra kết quả mong muốn.
Định lí 10.9.
Giả sử tồn tại một 0A(n,k,).Khi đó
2
1)1(
n
nk +
Chứng minh
Cho A là một 0A(n,k,) trên tập kí hiệu X={0,1 n-1},trong đó hàng
đầu tiên của A là (0,0 0)(giả thiết này không làm mất tính tổng quát
nh đã thấy trong định lí 10.6).
Kí hiệu các tập hàng của Alà R và r
1
là hàng đầu tiên,cho R
1
=R\
{r1}.Với một hàng bất r của A,kí hiệu x
r
chỉ số lần xuất hiện của 0 trong
hàng r.Có thể dễ dàng tình đợc tổng số lần xuaat hiện của 0 trong R
1
.Vì
mỗi kí hiệu phải xuất hiện đúng n lần trong mỗi cột của Anên ta có:
)1.(
1
=
nkx
Rr
r
Bây giờ số lần xuất hiện cặp đợc sắp (0,0) ở các hàng trong R
1
là:
)1.(
)1(
2
121
2
2
=
=
nkx
xxxx
Rr
r
Rr
r
Rr
r
Rr
rr
áp dụng bổ đề (10.8) ta có:
1.
))1.((
2
2
2
1
n
nk
x
Rr
r
và bởi vậy :
)1.(
1
))1.((
)1(
2
1
nk
n
nk
xx
r
Rr
r
Mặt khác,trong một cặp cột cho trớc bất kì,cặp đợc sắp (0,0) xuất hiện
trong đúng hàng .Vì có k(k-1)cặp các cột đợc sắp nên dẫn đến số lần
xuất hiện của cặp đợc sắp (0,0) trong các hàng của R đúng bằng (-
1)k(k-1).Bởi vậy ta có:
(-1)k(k-1)
)1.(
1.
))1.((
2
2
nk
n
nk
và do đó :
((-1)k(k-1)+k(n-1)(n
2
-1)(k(n-1))
2
Khai triển ta có:
2
kn
2
-k.n
2
-
2
n
2
+
2
n
3
-k+k+-n
2
kn
2
-2kn+k
hay:
-
2
n
2
+
2
n
3
kn
2
+k-+n-2kn
hoặc
2
(n
3
-n
2
)(k(n-1)
2
+n-1)
Cuối cùng,chia hai vế cho (n-1) ta có :
n
2
k(n-1)+1
Đây chính là giới hạn cần tìm.
Kết quả sau thiết lập sự tồn tại của một lớp vô hạn các mảng trực giao
đạt đợc giới hạn nêu trên với đấu =.
Định lí 10.10.
Giả sử p là một số nguyên tố và d
2 là một số nguyên.Khi đó tồn tại
một mảng trực giao 0A(p.(p
d
-1)/(p-1).p
d-2
Chứng minh:
Kí hiệu (Z
P
)
d
là không gian véc tơ chứa tất cả bộ d trên Z
P
.Ta sẽ xây
dựng A (là một 0A(p,(p
d
-1)/(p-1),p
d-2
) trong đó các hàng và các cột đợc
lập chỉ số theo các véc tơ trong (Z
P
)
d
.Các phần tử của A sẽ là các phần tử
của Z
P
.Tập hợp các hàng đợc xác định là R=(Z
p
)
d
):tập các cột là :
C = {(c
1
c
d
)(Z
p
)
d
: j,0jd-1 ,c
1
= =c
j
=0,c
j+1
=1}
R chứa tất cả các véc tơ trong (Z
P
)
d
,bởi vậy R=p
d
.C chứa tất cả các
véc tơ khác không có toạ độ khác 0 đầu tiên bằng 1.Nhận thấy rằng:
C=
1
1
p
p
c
và không có hai véc tơ nào trong C là các bội vô hớng của nhau.
Bây giờ vói mỗi véc tơ r R và mỗi cC ta định nghĩa:
A(r.c)=r.c
Trong đó .kí hiệu tích trong hai véc tơ (đợc rút gọn theo mod p).
Ta sẽ chứng minh A là mảng trực giao mong muốn.Cho b,cC là
hai cột khác nhau và cho x,yZ
P
.Ta sẽ tính số hàng r để A(r,b)=x và
A(r,b)=y.Kí hiệu r=(r
1
,r
2
r
d
).b=(b
1
,b
2
b
d
) và c=(c
1
,c
2
c
d
).Hai ph-
ơng trình r.b=x và r.c=y có thể đợc viết thành hai phơng trình tuyến
tính trong Z
P
b
1
.r
1
+ +b
d
.r
d
=x
c
1
.r
1
+ +c
d
.r
d
=y.
Đây là hai phơng trình tuyến tính với d ẩn r
1
r
d
.Vì các bội bvà c không
phải là các bội vô hớng của nhau nên hai phơng trình trên là độc lập
tuyến tính.Bởi vậy hệ này có không gian nghiệm (d-2) chiều.Nghĩa là số
các nghiệm (số các hàng trong đó x nằm ở cột b và y ở cột c)bằng p
d-2
theo mong muốn.
Ta sẽ làm một ví dụ nhỏ minh hoạ cách xây dựng này:
Ví dụ 10.3
Giả sử lấy p=2,d=3,khi đó ta sẽ xây dựng một 0A(2,7,2).Ta có :
R={000,001,010,011,100,101,110,111}
và C={001,010,011,100,101,110,111}
Ta nhận đợc kết quả là mảng trực giao nh trên hình 10.6
Hình 10.6.Một 0A(2,7,2).
1001011
0011110
0101101
1111000
0110011
1100110
1010101
0000000
10.3.3Đặc trng của mã xác thực .
Cho tới giờ ta đã nghiên cứu các mã xác thực nhận đợc từ các mảng
trực giao.Ta cũng đã xem xét các điều kiện tồn tại cần thiết về việc xây
Không có nhận xét nào:
Đăng nhận xét