Giả sử ta cũng có các tham số nh− trong ví dụ 9.2: p = 88667, q = 1031, t= 10, α = 70322, a = 755 và v = 13136. Giả sử Olga nghiên cứu thấy rằng: α851v1000 ≡ α454v19(mod p). khi đó có thể tính: a =(851 - 454)(1000 - 19)-1 mod 1031 = 755 và nh− vậy sẽ khám phá ra số mũ mật của Alice. …
Vietebooks Nguyễn Hồng Cương VÝ dơ 9.3 Gi¶ sư ta cịng cã c¸c tham sè nh− vÝ dơ 9.2: p = 88667, q = 1031, t= 10, α = 70322, a = 755 v = 13136 Giả sử Olga nghiªn cøu thÊy r»ng: α851v1000 ≡ α454v19(mod p) ®ã cã thÓ tÝnh: a =(851 - 454)(1000 - 19)-1 mod 1031 = 755 nh khám phá sè mị mËt cđa Alice … Chóng ta ®· chứng minh rằng, giao thức có tính đắn đầy đủ Song tính đắn đầy đủ cha đủ để bảo đảm giao thức an toàn Chẳng hạn, Alice để lộ số mũ mật a chứng minh danh tính cô với Olga giao thức đắn đầy đủ Tuy nhiên hoàn toàn không an toàn sau Olga mạo danh Alice Điều thúc đẩy động xem xét thông tin mật ®· cho ng−êi x¸c minh - ng−êi cịng tham gia giao thức - biết (trong giao thức này, thông mật a) Hy vọng thông tin a bị gia tăng Olga Alice chứng minh danh tính cho cô ta, để sau Olga giả dạng nh Alice Nãi chung, cã thĨ h×nh dung t×nh hng Alice chøng minh danh tÝnh cđa m×nh víi Olga số tình khác Có lẽ Olga không chọn yêu cầu cô (tức giá trị r) theo kiểu ngẫu nhiên Sau vài lần thực giao thức, Olga cố gắng xác định giá trị a để sau mạo danh Alice Nếu Olga xác định đợc chút thông tin a qua tham gia với số lần đa thức thực giao thức sau thực lợng tính toán đa thức giao thức đợc gọi an toàn Hiện cha chứng minh đợc giao thc Schnorr an toàn, song phần tiếp sau, ta đa cải tiến sơ đồ (do Okmoto đa ra) mà chứng minh đợc an toàn cho trớc giả thuyết tính toán Sơ đồ Schnorr đà đợc thiết kế với tốc độ nhanh hiệu theo quan điểm tính toán lẫn lợng thông tin cần thiết để trao đổi giao thức Nó đợc thiết kế nhằm tối thiểu hoá lợng tính toán mà Alice phải thực Đây đặc tính tốt thực tế, tính toán Alice phải tính thẻ thông minh có khả tính toán thấp tính toán Bob lại máy lớn Vì mục đích thảo luận, ta hÃy giả sử rằng, ID(Alice) chuỗi 512 bit, v gồm 512 bit, s 320 bit nến DSS đợc dùng nh sơ đồ chữ kí Kích thớc tổng cộng dấu xác nhận C(Alice) (cần đợc lu thẻ Alice) 1444 bit XÐt c¸c tÝnh to¸n cđa Alice: B−íc cần lấy mũ theo modulo, bớc so sánh phép công modulo phép nhân modulo Đó phÐp luü Trang Vietebooks Nguyễn Hoàng Cương thõa modulo mạnh tính toán song tính toán gián tiếp muốn Còn tính toán trực tiếp đợc Alice thực bình thờng Việc tính số bit cần thiết trình liên lạc để thực giao thức đơn giản Có thể mô tả thông tin đợc liên lạc dạng đồ hình nh sau C,γ Alice r Bob y Alice ®−a cho Bob 1444 + 512 = 1956 bit th«ng tin b−íc 2: Bob đa cho Alice 40 bit bớc Alice ®−a cho Bob 160 bit b−íc Nh− yêu cầu liên lạc mức độ 9.3 Sơ đồ định danh Okamoto Trong phần ta đa biến thể sơ đồ Schnorr Okamoto đa Sơ đồ cải tiến Zp không giải đợc Để thiết lập sơ đồ, TA chọn p q nh sơ đồ Schnorr TA chọn hai phần tử Z*p có bậc q Giá trị c = log12 đợc giữ bí mật kể Alice Ta giả thiết rằng, không giải đợc (thậm chí Alice Olga liên minh với nhau) để tính giá trị c Nh trớc đây, TA chọn sơ đồ chữ kí số hàm hash Dấu xác nhận mà TA đà phát cho Alice đợc xây dựng nh mô tả hình 9.4 Dới ví dụ sơ đồ Okamoto Ví dụ 9.4 Cũng nh− vÝ dơ tr−íc, ta lÊy p = 88667, q = 1031, t = 10 Cho α1 = 58902 vµ cho = 73611 (cả lẫn cã bËc q Z*p ) Gi¶ sư a1=846, a2 = 515, v = 13078 Giả sử Alice chän k1 = 899, k2 = 16, ®ã γ = 14573 Nếu Bob đa yêu cầu r = 489 Alice trả lời y1 = 131 y2 = 287 Bob sÏ x¸c minh thÊy: 58902131786112871378489 ≡ 14574 (mod 88667) V× thÕ Bob chÊp nhËn b»ng chøng cđa Alice vỊ danh tÝnh cđa c« … ViƯc chøng minh giao thức đầy đủ không khó (tức Bob sÏ chÊp nhËn b»ng chøng vỊ danh tÝnh cđa cô) Sự khác sơ đồ Okamoto Schnorr chỗ, ta chứng minh sơ đồ Okamota an toàn miễn toán logarithm rời rác không giải đợc Hình 9.4: Đóng dấu xác nhËn cho Alice TA thiÕt lËp danh tÝnh cña Alice phát chuỗi định danh ID(Alice) Alice chọn bí mật hai số mũ ngẫu nhiên a1,a2 ≤ a1,a2 ≤ q -1 Alice tÝnh: Trang Vietebooks Nguyễn Hoàng Cương v = α 1− a α a mod p đa cho TA TA tạo chữ kí s = sigTA(I,v) đa dấu xác nhËn C(Alice) = (ID(Alice),v,s) cho Alice PhÐp chøng minh vÒ tính an toàn tinh tế Đây ý kiến chung: Nh trớc đây, Alice tự định danh với Olga nhiều thời gian đa thức thông qua thực giao thức Khi ta giả thiết Olga có khả nghiên cứu số thông tin giá trị a1,a2 Nếu nh Olga Alice kết hợp với có khả tính đợc logarithm rời rạc c thời gian đa thức Điều mâu thuẫn với giả định chứng tỏ Olga nhận đợc chút thông tin số mũ Alice thông qua việc tham gia vào giao thức Phần giao thức tơng tự với chứng minh tính đầy đủ sơ đồ Schnorr Định lý 9.2 Giả sử Olga biết a giá trị mà nhờ cô có xác suất thành công t-1 1/2 đánh giá Alice giao thức xác minh Khi đó, Olga tính giá trị b1,b2 thời gian ®a thøc cho v ≡ α 1− b α 1− b mod p Chøng minh: Víi phÇn ε 2t yêu cầu r, Olga tính giá trị y1, y2, z1, z2, r s víi r ≠ s vµ: γ ≡ α y α 2y vr ≡ α z α 2Ζ v8(mod p) Ta định nghĩa: b1= (y1 - z1)(r - s)-t mod q vµ b1= (y2 - z2)(r - s)-t mod q Khi dễ dàng kiểm tra thấy rằng: 2 2 v ≡ α 1− b1α 2− b2 (mod p ) nh− mong muốn. Trang Vietebooks Nguyn Hong Cng Hình 9.5 Sơ đồ định danh Okamoto Alice chọn số ngẫu nhiªn k1, k2, ≤ k1, k2 ≤ q -1 vµ tÝnh: γ = α k α 2k (mod p) Alice gửi dấu xác nhận cô C(Alice) = (ID(Alice),v,s) cho Bob Bob xác minh chữ kí TA cách kiểm tra xem có thoả mÃn đồng thức: verTA(ID(Alice),v,s) = true Bob chọn số ngẫu nhiên r, r 2t ®−a nã cho Alice Alice tÝnh: y1 = k1 + a1r mod q vµ y2 = k2 + a2r mod q đa y1,y2 cho Bob Bob xác minh xem: γ ≡ α 1y α 2y vr(mod p) hay không Bây ta tiếp tục cách Alice Olga tính giá trị c Định lý 9.3 Giả sử Olga biết giá trị (mà với cô có xác suất giả danh Alice thành công 1/2t-1) giao thức xác minh Khi ®ã, Alice vµ Olga cã thĨ cïng tÝnh logα thời gian đa thức với xác suất 1-1/q Chứng minh Theo định lý 9.2, Olga có khả xác định giá trị b1 b2 cho v ≡ α 1b α 2b (mod p ) Giả thiết Alice để lộ giá trị a1 a2 cho Olga biết Dĩ nhiên: v 1a α 2a (mod p ) v× thÕ α 1a −b ≡ α 2b − a (mod p) gi¶ sư (a1,a2) (b1,b2), (a1-b1)-1 tồn logarithm rêi r¹c: c = logα α = (a1-b1)(b2-a2)-1 mod q tính đợc thời gian đa thức Phần lại xem xét xác suất để (a1,a2) = (b1,b2) Nếu xảy điều giá trị c tính theo mô tả Tuy nhiªn, ta sÏ chØ r»ng (a1,a2) = (b1,b2) xảy với xác suất bé 1/q, giao thức nhờ Alice Olga tính đợc c hầu nh chắn thành công Định nghÜa: A ={ (a1' , a2' ) ∈ Ζ p × Ζ q : α1− a α 2− a ≡ α1− a α 2− a (mod p) } NghÜa lµ A gồm tất cặp đợc chúng số mũ mật Alice XÐt thÊy r»ng: A ={a1- cθ, a2 + θ : θ∈ZP}, 2 1 2 2 ' ' Trang ' ' Vietebooks Nguyễn Hoàng Cương Trong ®ã c = logα α Nh− vËy A chứa q cặp đợc Cặp đợc (b1,b2) Olga tÝnh ch¾c ch¾n ë tËp A Ta rằng, giá trị cặp (b1,b2) độc lập với cặp (a1,a2) chứa số mũ mật Alice Vì (a1,a2) đợc Alice chọn cách ngẫu nhiên nên xác suất để (a1,a2) = (b1,b2) 1/q Nh vậy, (b1,b2) độc lập với (a1,a2) Cặp (a1,a2) Alice q cặp đợc A thông tin (là cặp đúng) đà bị Alice để lộ cho Olga biÕt c« x−ng danh víi Olga (Mét cách hình thức, Olga biết cặp A chứa sè mị cđa Alice song c« ta kh«ng biÕt nã cặp nào) Ta hÃy xét thông tin đợc trao đổi giao thức định danh Về bản, lần thực giao thức, Alice chọn , Olga chọn r Alice để lộ y1 y2 cho: γ = α1y α1 y vr (mod p) Ta nhí l¹i r»ng, Alice tÝnh: y1 = k1 + a1r mod q vµ y2 = k2 + a2r mod q ®ã γ = α1k α1k mod q Chó ý k1 k2 không bị lộ (mà a1 a2 không) Bốn phần tử cụ thể (,r,y1,y2) đợc tạo thực giao thức tuỳ thuộc vào cặp (a1,a2) Alice y1 y2 đợc định nghĩa theo a1 a2 Tuy nhiên ta rằng, bốn nh đợc tạo nh từ cặp đợc khác (a1, a2) A Để thấy rõ, giả thiết (a1, a’2) ∈A, tøc lµ a’1=a1 - cθ vµ a’2 = a2 + θ, ®ã ≤ θ ≤ q -1 Cã thĨ biĨu diƠn y1 vµ y2 nh− sau: y1 = k1 + a1r = k1 + (a1’+ cθ)r = (k1 + rcθ)+a1’r vµ y2 = k2 + a2r = k2 + (a2’ - θ)r = (k2 - rθ)+a2’r Trong tất phép tính số học thùc hiƯn Zp NghÜa lµ bé (γ,r,y1,y2) cịng phù hợp với cặp đợc (a1' , a 2' ) việc dùng phép chọn ngẫu nhiên k1' = k1 + rc k 2' = r để tạo Cần ý rằng, giá trị k1 k2 không bị Alice làm lộ nên (, r, y1, y2) không cho biết thông tin cặp A đợc Alice dùng làm số mũ mật cô Đây điều phải chứng minh. 1 2 Trang 10 ... Trong phần ta đa biến thể sơ đồ Schnorr Okamoto đa Sơ đồ cải tiến Zp không giải đợc Để thiết lập sơ đồ, TA chọn p q nh sơ đồ Schnorr TA chọn hai phần tử Z*p có bậc q Giá trị c = log 12 đợc giữ... chøng cđa Alice vỊ danh tính cô Việc chứng minh giao thức đầy đủ không khó (tức Bob chấp nhận chứng danh tính cô) Sự khác sơ đồ Okamoto Schnorr chỗ, ta chứng minh sơ đồ Okamota an toàn miễn... giao thức Phần giao thức tơng tự với chứng minh tính đầy đủ sơ đồ Schnorr Định lý 9 .2 Giả sử Olga biết a giá trị mà nhờ cô có xác suất thành công t-1 1 /2 đánh giá Alice giao thức xác minh Khi