Bài toán xác nhận và chữ ký điện tử
5.5.3. Tính hợp thức của các giao thức.
Ta sẽ chứng minh hai định lý sau đây để chứng tỏ tính hợp thức của các giao thức kiểm thử và chối bỏ của sơ đồ chữ ký Chaum-van Antverpen.
Định lý 5.5.1. a)Nếu y đúng là chữ ký của A trên x, tức y ≡xa modp,thì việc B chấp nhận y là chữ ký của A trên x theo giao thức kiểm thử là đúng.
b) Nếu y ≢x a
(modp), tức y không phải là chữ ký của A trên
x, thì việc B, theo giao thức kiểm thử, chấp nhận y là chữ ký của A trên x, có thể xẩy ra với xác suất 1/q.
Chứng minh. a) Giả sử y ≡x a modp. Khi đó,
(chú ý rằng tất cả các số mũ đều đ−ợc tính theo modq). Ta cũng có 1
(mod .
a
1 (mod . (mod . a β − α ≡ p) Do đó, 1 1 1 1 2 1 e a e a e e a d c − y − β − x α 2 ≡ ≡ ≡ (modp),
và theo giao thức kiểm thử, B chấp nhận y là chữ ký của A trên x, việc chấp nhận đó là đúng.
b)Bây giờ giả thử y ≢x a(modp). Tr−ớc hêt ta chú ý rằng mỗi lời mời hỏi c t−ơng ứng với đúng q cặp (e1, e2), vì y và β là các phần tử của nhóm nhân G cấp q. Khi A nhận đ−ợc câu hỏi c , A không có cách gì để biết là B đã dùng cặp (e1, e2) nào trong q cặp có thể đó. Ta chứng minh rằng, do y ≢x a(modp), nên trong q cặp đó chỉ có đúng một cặp thoả mãn đồng d− thức e1 e2
d ≡x α (modp). Thực vậy, ta có thể đặt c=αi,d =αj,x=αk,y=αl với i, j, k, l ∈ Zq ,vì α là phần tử sinh của G ,và hai đồng d− thức c≡ ye1βe2(mod )p và
1 2
e e
d ≡x α (modp) t−ơng đ−ơng với hai ph−ơng trình
1 2 1 2 ( ( i le ae e e ≡ + ≡ + q j k q . mod ) mod ) ) − ) ) )
Từ giả thiết y ≢x a(modp) suy ra l – ak≢ 0 (modq), tức định thức của hệ ph−ơng trình nói trên (với các ẩn số e1, e2) là ≢ 0 (modq). Nh−
vậy, mỗi d ∈G là câu trả lời đúng (theo giao thức kiểm thử) chỉ với một cặp (e1, e2) trong q cặp có thể. Vì vậy, nếu y ≢x a
(modp) , thì xác suất để B chấp nhận y là chữ ký của A trên x (theo giao thức) là bằng 1/q. Định lý đ−ợc chứng minh.
Đối với giao thức chối bỏ, ta có định lý sau đây :
Định lý 5.5.2. a) Nếu y ≢x a(modp), và cả A,B đều tuân
theo giao thức chối bỏ, thì (modp), tức giao thức
cho kết quả chính xác.
2 1 2 1
(dα−e )f ≡(Dα f e
b) Nếu y≡x a modp, A và B đều tuân theo giao thức, và có d ≢ xe1.αe2(modp .
D ≢ xf1.αf2(modp .
Khi đó, đồng d− thức (modp) đúng với xác suất
1/q , tức nếu y đúng là chữ ký của A trên x, thì theo giao thức, B có thể kết luận rằng nó là giả mạo (một cách sai lầm) với xác suất 1/q.
2 1 2 1
(dα−e )f ≡(Dα−f e
Chứng minh. a) Giả thử y ≢ xa(modp), và A,B cùng thực hiện giao thức chối bỏ. Do y không là chữ ký của A trên x nên B sẽ kiểm thử đúng các bất đồng d− thức trong các b−ớc 3 và 6 của giao thức. Vì β α≡ a(modp), nên ta có
(modp) 1
2 1 1 2 2 1
a e f11 1 e a2 1f1 e f2 1(modp) y − β − α− ≡ (mode a1 1f1 p). y − ≡ T−ơng tự, ta cũng có 1 2 1 1 1 (Dα−f )e ≡ ye a− f (modp).
Nh− vậy, đồng d− thức ở điểm 7 của giao thức đ−ợc nghiệm đúng, và kết luận y là chữ ký giả mạo của A trên x là chính xác, không thể bác bỏ đ−ợc.
b) Bây giờ giả thiết a
y≡x (modp), và A, B cùng thực hiện giao thức chối bỏ. Đặt 1/1 2/ modp , ta có
0 e e e x =d α− 1 / / 0a a e. ae e x ≡d α− 1 2 /1 2/1 ( e e )a e ae e a ≢ 1 2 1 x α α− ≡x ≡y(modp).
Theo điểm b) trong định lý 5.5.1, B có thể chấp nhận y là chữ ký của A trên x0 , tức là có đồng d− thức
1 2
0
f f
D≡x α (modp),
với xác suất 1/q. Nh−ng đồng d− thức đó t−ơng đ−ơng với đồng d− thức
(modp),
2 1 2 1
(dα−e )f ≡(Dα−f )e
tức đồng d− thức này cũng có thể xẩy ra với xác suất 1/q. Định lý đ−ợc chứng minh.
Ta chú ý rằng trong giao thức chối bỏ, cặp (e1, e2) đ−ợc sử dụng để tạo ra x0 với 0
a
x ≢y(modp); còn cặp (f1, f2) đ−ợc dùng để kiểm thử xem y có là chữ ký của A trên x0 hay không.
Thí dụ minh hoạ. Chọn p = 467, q =233 (p = 2q +1), α =4 là phần tử sinh của một nhóm con G cấp 233 của Z467∗ . Chọn a =101, khi đó ta có β =αa
modp = 4101mod467 =449.
A có cặp khoá K =(K’,K'') với K’ =101, và K'' = (467, 4, 449). Giả thử A ký trên văn bản x =119 với chữ ký
y = 119101mod467 =129.
1)B có thể dùng giao thức kiểm thử để biết y có đúng là chữ ký của A trên x hay không nh− sau: B chọn ngẫu nhiên e1=38,
e2=397, và tính c =13; A sẽ trả lời lại bằng d =9. B thử điều kiện , 1. 2 mod e e d ≡x α p tức là 9 ≡ 11938.4397(mod467). Đồng d− thức đó đúng. B chấp nhận 129 đúng là chữ ký của A trên văn bản 119.
2) Bây giờ ta thử thực hiện giao thức chối bỏ. Giả thử A gửi văn bản x =286 với chữ ký y = 83. B chọn ngẫu nhiên e1=45, e2=237, rồi tính c =305 và gửi cho A; A trả lời lại bằng d =109. B thử điều kiện d≢ xe1.αe2(modp), điều kiện đó đ−ợc thoả mãn vì
109≠149(=28645.4237mod467). B lại tiếp tục phần sau của giao thức bằng cách chọn ngẫu nhiên f1 =125, f2 =9, và tính C =270, gửi cho A, A trả lời lại bằng D =68. B lại thử điều kiện D≢ , điều kiện này cũng đ−ợc thoả mãn vì 68≠25(=286
1. 2(mod
f f
x α p) 125
.49mod467). Bây giờ B lại thử điều kiện cuối cùng của giao thức bằng cách tính
2 12 1 2 1 237) 125 9 45 ( ) (109.4 ) 188(mod 467) ( ) (68.4 ) 188 (mod 467) e f f e d D α α − − − − ≡ ≡ ≡ ≡
Hai giá trị đó bằng nhaụ B có thể kết luận y không phải là chữ ký của A trên x với xác suất sai lầm là 1/233!
Thí dụ này đ−ợc trình bày với mục đích minh hoạ, nên chỉ sử dụng các số nguyên tố p, q bé cho dễ tính. Trong thực tế ứng dụng, để bảo đảm tính an toàn, ta phải dùng các số p, q rất lớn, chẳng hạn phải là các số có biểu diễn nhị phân cỡ 512 bit, khi đó ta có q ≥ 2510, tức là 1/q ≤ 2-510, một xác suất rất bé, có thể bỏ qua; và vì vậy, các yêu cầu đối với các giao thức kiểm thử và giao thức chối bỏ nh− đề cập đến trong phần đặt vấn đề (5.5.1) có thể xem là đ−ợc thoả mãn.
CHƯƠNG VI
Các sơ đồ x−ng danh và