Chapter 9 - Các kỹ thuật mật mã

20 5 0
Chapter 9 - Các kỹ thuật mật mã

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Các kỹ thuật mật mã cho phép nhiều bài toán dường như không thể giải được thành có thể giải được. Một bài toán như vậy là bài toán xây dựng các sơ đồ định danh mật. Trong nhiều trường hợp cần thiết phải “chứng minh” bằng phương tiện điện tử danh tính của ai đó.

Chơng Các sơ đồ định danh 9.1 Giới thiệu Các kỹ thuật mật mà cho phép nhiều toán dờng nh giải đợc thành giải đợc Một toán nh toán xây dựng sơ đồ định danh mật Trong nhiều trờng hợp cần thiết phải chứng minh phơng tiện điện tử danh tính Dới số trờng hợp điển hình: Để rút tiền từ máy thủ quỹ tự động (ATM), ta dùng thẻ với số định danh cá nhân (PIN) có chữ số Để trả tiền cho mua bán điện thoại dùng thẻ tín dụng, tất cần số thẻ tín dụng (và thời hạn dùng thẻ) Để trả tiền cho cú gọi điện thoại đờng dài (dùng thẻ gọi) cần số điện thoại PIN chữ số Để vào mạng máy tính, cần tên hợp lệ ngời sử dụng mật tơng ứng Thực tế, kiểu sơ đồ thờng không đợc thực theo cách an toàn Trong giao thức thực điện thoại, kẻ nghe trộm dùng thông tin định danh cho mục đích riêng Những ngời ngời nhận thông tin Các mu đồ xấu thẻ tín dụng hoạt động theo cách Thẻ ATM an toàn chút song điểm yếu Ví dụ, điều khiển đờng dây liên lạc nhận đợc tất thông tin đợc mà hoá dải từ tính thẻ nh thông tin PIN Điều cho phép kẻ mạo danh tiếp cận vào tài khoản nhà băng Cuối cùng, việc chui vào mạng máy tính từ xa vấn đề nghiêm trọng ID mật ngời sử dụng đợc truyền mạng dạng không mà Nh vậy, họ vùng dễ bị tổn thơng ngời điều khiển mạng máy tính Mục đích sơ đồ định danh là: “nghe” nh Alice t xng danh víi Bob kh«ng thĨ tự bịa đặt Alice Ngoài ra, cố gắng giảm xác suất để Bob thử mạo nhận Alice sau cô ta tù xng danh víi Nãi c¸ch kh¸c, Alice muốn có khả chứng minh danh tính phơng tiện điện tử mà không cần đa chút thông tin hết danh tính Một vài sơ đồ định danh nh đà đợc nêu Một mục đích thực tế tìm sơ đồ đủ đơn giản để thực đợc thẻ thông minh, đặc biệt thẻ tín dụng gắn thêm chíp có khả thực tính toán số học Vì thế, thẻ đòi hỏi khối lợng tính toán lẫn nhớ nhỏ đến mức Thẻ nh an toàn thẻ ATM Tuy nhiên, điều quan trọng cần ý an toàn đặc biệt liên quan đến ngời điều khiển đờng dây thông tin Vì thẻ để chứng minh danh tính nên không cần bảo vệ chống thẻ Song cần thiết có PIN để biết chủ nhân thực thẻ Trong phần sau mô tả số sơ đồ định danh thông dụng Tuy nhiên, trớc hết hÃy xét sơ đồ đơn giản dựa hệ thống mà khoá riêng bất kì, chẳng hạn nh DES Giao thức mô tả hình 9.1 đợc gọi giao thức yêu cầu trả lời, giả thiết rằng, Alice tự xng danh với Bob cô Bob chia khoá mật chung K, khoá hàm mà eK Hình 9.1: Giao thức Yêu cầu đáp ứng: Bob chọn yêu cầu x- chuỗi ngẫu nhiên 64 bit Bob göi x cho Alice Alice tÝnh y = eK(x) göi nã cho Bob Bob tÝnh: y = eK(x) xác minh y = y Ta minh hoạ giao thức ví dụ nhỏ dới dây Ví dụ 9.1 Giả sử Alice Bob dïng hµm m· lµm luü thõa tÝnh modulo: eK(x) = x102379 mod 167653 Giả sử yêu cầu Bob x = 77835 Khi Alice trả lời với y = 100369 Mọi sơ đồ định danh thực giao thức Yêu cầu đáp ứng song sơ đồ hiệu lại không yêu cầu khoá chia sẻ (dùng chung) ý tởng đợc tiếp tục phần lại chơng 9.2 Sơ đồ định danh Schnorr Ta bắt đầu việc mô tả sơ đồ định danh Schnorr - sơ đồ định danh thực tiễn đáng ý Sơ đồ đòi hỏi ngời đợc uỷ quyền có tín nhiệm mà ta ký hiệu TA Ta chọn tham số cho sơ đồ nh sau: p số nguyên tố lớn (tức p 2512) cho toán logarithm rời rạc Zp không giải đợc q ớc nguyên tố lớn p-1 (tức q 2140) *  Z p cã bËc q (cã thÓ tính nh (p-1) ) đợc công khai TA đóng dấu xác nhận cho Alice Khi Alice muốn nhận đợc dấu xác thực từ TA, cô phải tiến hành bớc nh hình 9.2 Vào thời điểm cuối, Alice muốn chứng minh danh tÝnh cđa c« tríc Bob, c« thùc hiƯn giao thøc nh hình 9.3 Nh đà nêu trên, t tham số mật Mục đích ngăn kẻ mạo danh - chẳng hạn Olga - khỏi đoán yêu cầu r Bob Ví dụ, Olga đoán giá trị r, cô ta chọn giá trị cho y tính = yv mod p Cô đa cho Bob nh bớc sau nhận đợc yêu cầu r, cô cung cấp giá trị y đà chọn sẵn Khi đợc Bob xác minh nh bớc Hình 9.2 Cấp dấu xác nhËn cho Alice TA thiÕt lËp danh tÝnh cña Alice cách lập giấy chứng minh thông thờng chẳng hạn nh xác nhận ngày sinh, hộ chiếu Sau TA thiết lập chuỗi ID (Alice) chứa thông tin định danh cô ta Alice bí mËt chän mét sè mị ngÉu nhiªn a,  a  q-1 Alice tÝnh: v = -a mod p gửi v cho TA TA tạo chữ kí: s =sigTA(I,v) Dấu xác nhận C(Alice) = (ID(Alice),v,s) đa cho Alice Xác suất để Olga đoán r -t r đợc Bob chọn ngẫu nhiên Nh vậy, t = 40 giá trị hợp lý với hầu hết ứng dụng, (tuy nhiên, ý rằng, Bob chọn r ngẫu nhiên lần Alice xng danh với Nếu Bob dùng r Olga mạo danh Alice phơng pháp mô tả trên) Có hai vấn đề nảy sinh giao thức xác minh Trớc hết, chữ kí s chứng minh tính hợp lệ dấu xác nhân Alice Nh vậy, Bob xác minh chữ ký TA dấu xác nhận Alice để thuyết phục thân dấu xác nhận xác thực Đây xác nhận tơng tự nh cách đà dùng chơng Vấn đề thứ hai giao thức liên quan đến mà số mật a Giá trị a có chức tơng tự nh PIN ®Ĩ thut phơc Bob r»ng, ngêi thùc hiƯn giao thức định danh thực Alice Tuy nhiên có khác quan trọng so với PIN là: giao thức định danh, a không bị lộ Thay vào đó, Alice (hay xác thẻ thông minh cô) chứng minh rằng, cô (thẻ) biết giá trị a bíc b»ng c¸ch tÝnh y trả lời đòi hỏi r Bob đa Vì a không bị lộ nên kĩ thuật gọi chứng minh không tiết lộ thông tin Hình 9.3 sơ ®å ®Þnh danh Schnorr Alice chän mét sè ngÉu nhiên k, k q-1 tính: = k mod p Alice gưi dÊu x¸c nhËn cho 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 ver(ID(Alice),v,s) = true hay không Bob chọn số ngẫu nhiên r, r 2t đa cho Alice Alice tính: y = k + ar mod q đa y cho Bob Bob xác minh xem có thoả mÃn đồng d thức sau không yvr (mod p) Các đồng d sau chứng minh Alice có khả chứng minh danh tính cô cho Bob: yvr  k+arvr (mod p)  k+arvar (mod p)  k(mod p)   (mod p) Nh vËy sÏ chÊp nhËn b»ng chøng vỊ danh tÝnh cđa Alice vµ giao thức đợc gọi có tính đầy đủ Dới ví dụ nhỏ minh hoạ khía cạnh thách thức đáp ứng giao thức Ví dụ 9.2 Giả sử p=88667, q = 1031, t=10 Phần tử  = 70322 cã bËc * q thuéc Z p Gi¶ sư sè m· mËt cđa Alice a = 755 Khi ®ã: v = -a( mod p) = 703221031-755mod 88667 = 13136 Gi¶ sư Alice chän k = 543, sau cô tính: = k mod p = 70322543 mod 88667 = 84109 vµ gưi  cho Bob Giả thiết Bob đa yêu cầu r = 1000 Khi ®ã Alice tÝnh: y = k + ar mod q = 543 + 755 1000 mod 1031 = 851 gửi y cho Bob Sau Bob xác minh xem 84109  70322851131361000(mod 88667) NÕu ®óng, Bob sÏ tin liên lạc với Alice Tiếp theo ta hÃy xem xét cách mạo danh Alice Olga - kẻ cố mạo danh Alice cách làm giả dấu xác nhận: C(Alice) = (ID(Alice), v, s), vv Song s đợc giả thiết chữ kí (ID(Alice), v, s) đợc Bob x¸c minh bíc cđa giao thøc NÕu sơ đồ chữ kí TA an toàn, Olga làm giả chữ kí s (mà sau bị Bob xác minh) Biện pháp khác cho Olga dùng dấu xác nhận Alice C(Alice) = (ID(Alice), v, s) (nhớ lại rằng, dấu xác nhận không mật thông tin dấu xác nhận bị lộ lần thực giao thức định danh) Tuy nhiên Olga mạo danh Alice cô ta biết giá trị a Đó yêu cầu r bớc bớc 5, Olga phải tính y mà y hàm a Việc tính a từ v bao hàm việc giải toán logarithm rời rạc toán mà ta đà giả thiết giải đợc Có thể chứng minh định lí xác tính an toàn giao thức nh sau: Định lí 9.1 Giả sử Olga biết giá trị nhờ cô có xác suất 1/2t1 để giả mạo Alice thành công giao thức xác minh Khi Olga cã thĨ tÝnh a thêi gian ®a thøc Chøng minh Với phần 2t yêu cầu r, Olga tính giá trị y (sẽ đợc Bob chấp nhận bớc 6) Vì 1/2t-1 nên ta cã 2t/  vµ bëi vËy, Olga cã thể tính đợc giá trị y1,y2,r1 r2 cho y1 y y ẻ  v   y v Ỵ (mod p) hay  y  y v r  r (mod p) Vì v = -a nên ta có: y1-y2 a(r1- r2) (mod q) XÐt thÊy < | r1- r2 | 2t nguyên tố Vì UCLN(r1- r2, q) = vµ Olga cã thĨ tÝnh: a = (y1-y2)(r1 - r2)-1mod q nh mong muèn… 2 2 Định lý chứng minh rằng, có hội (không phải không đáng kể) thực thành công giao thức định danh phải biết (hoặc tính thêi gian ®a thøc) sè mị mËt a cđa Alice Tính chất thờng đợc gọi tính đắn (sound) Dới ví dụ minh hoạ: Ví dụ 9.3 Giả sử ta có tham số nh 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) ®ã cã thĨ tÝnh: a =(851 - 454)(1000 - 19)-1 mod 1031 = 755 vµ nh vËy sÏ 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 cđa m×nh 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, hình dung t×nh hng Alice chøng minh danh tÝnh cđa 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, cßn s b»ng 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 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ỹ thừa modulo mạnh tÝnh to¸n song cã thĨ tÝnh to¸n gi¸n tiÕp nÕu 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 vËy c¸c yêu cầu liên lạc mức độ 9.3 Sơ đồ định danh Okamoto Trong phần ta ®a mét biÕn thĨ cđa 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 y = 131 y2 = 287 Bob 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 lµ Bob sÏ chÊp nhËn b»ng chøng vỊ danh tính 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 Alice phát chuỗi định danh ID(Alice) Alice chän bÝ mËt hai sè mị ngÉu nhiªn a 1,a2 ®ã  a1,a2  q -1 Alice tÝnh: v =  1 a  1 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ị a 1,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 1/2t-1khi đánh giá Alice giao thức xác minh Khi đó, Olga tính giá trị b 1,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 v  1 b1 2 b2 (mod p ) nh mong muèn.… 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, 1 r  2t đa 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 Olga 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ị a a2 cho Olga biết Dĩ nhiên: v   1a  2a (mod p)  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ô 2 1 2 1 2 tả Tuy nhiên, ta (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 A gồm tất cặp đợc chúng số mũ mật cña Alice XÐt thÊy r»ng: A ={a1- c, a2 +  : ZP}, Trong ®ã c = log  Nh A chứa q cặp đợc Cặp đợc (b1,b2) Olga tính 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ô xng 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 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 vµ 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 (a 1, a2) A, tức a1=a1 - c a2 = a2 + ,    q -1 Cã thĨ biĨu diƠn y1 vµ y2 nh sau: y1 = k1 + a1r ' 1 2 ' ' ' = 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 Zp Nghĩa bốn (,r,y1,y2) 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ị k 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. Việc chứng minh tính an toàn tinh vi tối u Chắc hữu dụng để lắp đặc ®iĨm cđa giao thøc, dÉn tíi b»ng chøng vỊ sù an toµn Nh vËy, Alice chän sè mị mËt cao chọn Có tổng cộng q cặp A tơng đơng với cặp (a1,a2) Alice Điều dẫn đến mâu thuẫn là, việc hiều biết hai cặp khác A cho phơng pháp hiệu tính toán logarithm rời rạc c Alice dĩ nhiên biết cặp A; ta chøng minh r»ng Olga cã thĨ gi¶ danh Alice Olga tính cặp A khác với cặp Alice (với xác suất cao) Nh Alice Olga tìm hai cặp A tính c - cho mâu thuẫn nh mong muốn Dới ví dụ nhỏ minh hoạ việc Alice Olga tính toán log : VÝ dô 9.5 Gièng nh vÝ dô 9.4, ta lÊy p =88667, q = 1031, t = 10 giả sử v = 13078 Giả thiết Olga đà xác định đợc rằng: 11312287v489 18902303v199 (mod p) Khi cô tính: b1 = (131 - 890)(489 - 199)-1 mod 1031 = 456 vµ b2 = (287 - 303)(489 - 199)-1 mod 1031 = 519 Dïng c¸c gi¸ trị a1 a2 Alice đa cho, giá trị c tÝnh nh sau: c = (846 - 456)(519 - 515)-1 mod 1031 = 613 giá trị thực tế log mà xác minh b»ng c¸ch tÝnh: 58902613 mod 88667 = 73611 Cuèi cùng, cần nhấn mạnh rằng, chứng minh đà biết chứng tỏ sơ đồ Schnorr an toàn (thậm chí giả thiết rằng, toán logarithm rời rạc không giải đợc) song ta nhợc điểm sơ đồ Thực sơ đồ Schnorr đợc a thích sơ đồ Okamoto nhanh 9.4 Sơ đồ định danh Guillou - quisquater Trong phần mô tả sơ đồ định danh khác Guillou Quisquater đa dựa RSA Việc thiết lập sơ đồ nh sau: TA chọn số nguyên tố p q lập tích n =pq Giá trị p q đợc giữ bí mật n công khai Giống nh trớc đây, p q nên chọn đủ lớn để việc phân tích n thực đợc Cũng nh vậy, TA chọn số nguyên tố đủ lớn b giữ chức tham số mật nh số mũ mật RSA Giả thiết b số nguyên tố dài 40 bít Cuối TA chọn sơ đồ chữ kí hàm hash Hình 9.6: Phát dấu xác nhận cho Alice TA thiết lập định danh cho Alice phát chuỗi định danh ID(Alice) Alice chọn bí mật số nguyên u, u  n -1 Alice tÝnh: v = (u-1)b mod n đa u cho TA TA tạo chữ kí: s = sigTA(I,v) Dấu xác nhận: C(Alice) = (ID(Alice), v, s) đa cho Alice Dấu xác nhận TA phát cho Alice đợc xây dựng nh mô tả hình 9.6 Khi Alice muốn chứng minh danh tÝnh cđa c« cho Bob, c« thùc hiƯn giao thøc hình 9.7 Ta chứng minh rằng, sơ đồ Guillou - Quisquater đắn đầy đủ Tuy nhiên, sơ đồ không đợc chứng minh an toàn (mặc dù giả thiết hệ thống mà RSA an toàn) VÝ dơ 9.6: Gi¶ sư TA chän p = 467, q = 479, n = 223693 Giả sử b = 503 số nguyên mật Alice u = 101576 Khi cô tính: v = (u-1)b mod n = (101576-1)503 mod 223693 = 24412 Hình 9.7: Sơ ®å ®Þnh danh Guillou - Quisquater Alice chän sè ngẫu nhiên k, k n -1 vµ tÝnh:  = kb mod n Alice đa cho Bob dấu xác nhận cô C(Alice) = (ID(Alice), v, s) Bob xác minh chữ kí TA cách kiểm tra xem có thoả mÃn hay không đồng d thức: ver(ID(Alice), v, s) = true Bob chän sè ngÉu nhiªn r,  r b -1 đa cho Alice Alice tính: y = k u mod n đa y cho Bob Bob x¸c minh r»ng   vryb (mod n) Giả sử Bob trả lời yêu cầu r = 375 Khi Alice tính y = ku’ mod n = 187485  101576375 mod 223693 = 93725 đa cho Bob Bob xác minh thÊy: 24412  8988837593725503(mod 223693) v× thÕ Bob chÊp nhËn b»ng chøng vỊ danh tÝnh cđa Alice … Gièng nh trờng hợp tổng quát, việc chứng minh tính đầy đủ đơn giản: vryb (u-b)r(kur)b(mod n) u-brkbubr (mod n)  kb (mod n)   (mod n) B©y ta xét đến tính đắn Ta chứng minh sơ đồ đắn miễn không dễ dàng tính đợc u từ v Vì v đợc lập từ u phép mà RSA nên giả thiết hợp lý Định lí 9.4 Giảsử Olga biết giá trị nhờ cô có xác suất thành công việc giả danh Alice > 1/b giao thức xác minh Khi Olga có thĨ tÝnh u thêi gian ®a thøc Chøng minh Với đó, Olga tính giá trị y1, y2, r1, r2 víi r1  r2 cho:   v r y b v r y2b (mod n) không tính tổng quát, giả sử r1 > r2 Khi ®ã ta cã: v r1  r2 ( y2 / y1 )b (mod n) v× < r1- r2

Ngày đăng: 10/05/2021, 23:49

Mục lục

  • Các sơ đồ định danh

    • Ví dụ 9.1

      • Hình 9.3. sơ đồ định danh Schnorr

      • Chứng minh

        • Hình 9.6: Phát dấu xác nhận cho Alice

        • Ví dụ 9.7

          • Hình 9.8: Phát giá trị u cho Alice

            • Các bài tập

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan