Sơ đồ x−ng danh Okamoto

Một phần của tài liệu Tài liệu Lý thuyết mật mã và An toàn thông tin pptx (Trang 145 - 147)

Cũng nh− đối với sơ đồ Schnorr, sơ đồ x−ng danh Okamoto cần có một cơ quan uỷ thác TA để cấp chứng chỉ cho các ng−ời tham gia.

TA chọ tr−ớc các số nguyên tố p và q nh− đối với sơ đồ Schnorr. Sau đó, TA chọn hai số α α1, 2∈Zp∗,cùng có cấp q . Giá trị

1 2

log

c= α α (tức giá trị c sao cho 1c

2

α =α ) đ−ợc giữ tuyệt mật đối với mọi ng−ời tham gia, kể cả A; nói cách khác, ta giả thiết rằng việc tính ra c là cực kỳ khó đối với bất kỳ ai (chẳng hạn, A,O, hoặc thậm chí liên minh của A và O,...).

Thủ tục cấp chứng chỉ cho A đ−ợc tiến hành nh− sau:

1. TA xác lập các thông tin về danh tính của A d−ới dạng một dãy ký tự mà ta ký hiệu là I A hay ID(A).

2. A chọn bí mật hai số ngẫu nhiên a1, a2 (0≤a1, a2≤q-1), tính

1 2

1 a 2a mod

v=α α− − p , và chuyển số v cho TA.

3. TA tạo chữ ký s =sigTA(IA, v) và cấp cho A chứng chỉ C(A) = (ID(A), v, s ).

Bây giờ, với chứng chỉ C(A) đó, A có thể x−ng danh với bất kỳ đối tác B nào bằng cách cùng B thực hiện một giao thức xác nhận danh tính nh− sau:

1. A chọn thêm hai số ngẫu nhiên k1,k2(0≤k1,k2≤q-1), tính

1 2

1 2

k k

γ α α= modp,

và gửi cho B các thông tin C(A) và γ.

2. B kiểm thử chữ ký của TA trong chứng chỉ C(A) bởi hệ thức verTA(ID(A), v, s) =đúng. Kiểm thử xong, B chọn một số ngẫu nhiên r (1≤r ≤ 2t ) và gửi r cho A.

3. A tính y1 =k1 +a1r modq , y2 =k2 +a2r modq , và gửi y1,y2 cho B.

1 2

1 2

y y r

v

γ α α≡ (modp)

và nếu điều kiện đó đ−ợc thoả mãn thì xác nhận danh tính của A. Thực hiện giao thức đó, A sẽ chứng minh đ−ợc danh tính của mình, vì (modp) 1 2 1 1 2 2 1 2 1 2 1 2 1 2 y y r k a r k a r a r a r v α α ≡α + α + α α− − 1 2 1 2 k k α α ≡ (modp) ≡γ (modp)

tức điều kiện mà B cần thử là đúng. Nh− vậy, do biết cặp số bí mật (a1, a2), nên A có thể thực hiện thông suốt giao thức xác nhận để chứng minh danh tính của mình.

Ng−ợc lại, một ng−ời khác A, do không biết cặp số bí mật (a1, a2), nên khó có khả năng tính đúng đ−ợc (y1,y2) để trả lời B ở b−ớc 3 của giao thức, tức là không v−ợt qua đ−ợc sự kiểm thử của giao thức để mạo nhận mình là A.

Bây giờ giả sử có một ng−ời O có thể thực hiện thông suốt giao thức xác nhận để có thể đ−ợc mạo nhận là A, chẳng hạn ít nhất hai lần. Điều đó có nghĩa là O biết đ−ợc hai số r ≠ s và hai cặp số (y1,y2), (z1,z2) sao cho 1 2 1 2 (modp). 1 2 1 2 y y r z z v γ α α≡ ≡α α s v Đặt 1 1 1 1 1 2 2 ( )( ) mod ( )( ) b y z r s y z r s − − = − − = − − 2 q, b mod ,q ta sẽ đ−ợc 1 1 2 b b v≡α α− −2(modp), do đó 1 2 1 1 2 1 2 b b a a2 α α− − ≡α α− − (modp), tức là 1 1 2 1 2 a b b a α − α − 2 ≡ (modp).

Giả thiết rằng O và A liên minh với nhau, khi đó biết đ−ợc cả các số

a1, a2, b1, b2. Nếu giả thiết (a1, a2) ≠ (b1, b2) thì a2 ≠b2 , và (b2 - a2)-1modq tồn tại, và lôgarit rời rạc c đ−ợc tính bởi

1

1

2 1 1 2 2

log ( )( )

c= α α = ab ba − modq.

Nh− vậy, nếu O có thể thực hiện thông suốt giao thức xác nhận để đ−ợc mạo nhận là A thì khi O và A liên minh với nhau có thể tìm đ−ợc khá dễ dàng lôgarit rời rạc c. Nh−ng từ đầu ta đã giả thiết việc tìm ra c là cực kỳ khó đối với bất kỳ ai (là A, là O, thậm chí là liên minh của A và O,...), nên cũng sẽ cực kỳ khó để O thực hiện đ−ợc thông suốt giao thức xác nhận với mục đích mạo x−ng là A. Vậy là ta đã chứng minh đ−ợc tính an toàn của sơ đồ x−ng danh

Okamoto với giao thức xác nhận danh tính nh− mô tả ở trên. Trong chứng minh đó còn một số chỗ tinh tế cần đuợc bổ sung thêm, chẳng hạn nh− vì sao có thể giả thiết (a1, a2) ≠ (b1, b2), thực ra ng−ời ta đã chứng minh đ−ợc rằng xác suất của khả năng (a1, a2) = (b1, b2) là rất bé, không đáng kể. Tuy nhiên, để đơn giản trình bày, xin phép đ−ợc bỏ qua một vài chi tiết chứng minh tinh tế đó.

Một phần của tài liệu Tài liệu Lý thuyết mật mã và An toàn thông tin pptx (Trang 145 - 147)