Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 18 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
18
Dung lượng
297,71 KB
Nội dung
Giáotrìnhtin học Các sơ đồđịnhdanhmật và phươngphápchứngminh điện tửdanhtính Vietebooks Nguyn Hong Cng Trang 1 Chơng 9 Cácsơđồđịnhdanh 9.1 Giới thiệ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ácsơđồđịnhdanh mật. Trong nhiều trờng hợp cần thiết phải chứngminh bằng phơng tiện điệntửdanhtính của ai đó. Dới đây là một số trờng hợp điển hình: 1. Để rút tiền từ một máy thủ quỹ tự động (ATM), ta dùng thẻ cùng với sốđịnhdanh cá nhân (PIN) có 4 chữ số. 2. Để trả tiền cho các cuộc mua bán trên điện thoại dùng thẻ tín dụng, tất cả đều cần số thẻ tín dụng (và thời hạn dùng thẻ) 3. Để trả tiền cho các cú gọi điện thoại đờng dài (dùng thẻ gọi) chỉ cần sốđiện thoại và PIN 4 chữ số. 4. Để vào mạng máy tính, cần tên hợp lệ của ngời sử dụng vàmật khẩu tơng ứng. Thực tế, các kiểu sơđồ này thờng không đợc thực hiện theo cách an toàn. Trong cácgiao thức thực hiện trên điện thoại, bất kì kẻ nghe trộm nào cũng có thể dùng thông tinđịnhdanh cho mục đích riêng của mình. Những ngời này cũng có thể là ngời nhận thông tin. Các mu đồ xấu trên thẻ tín dụng đều hoạt động theo cách này. Thẻ ATM an toàn hơn một chút song vẫn còn những điểm yếu. Ví dụ, ai đó điều khiển đờng dây liên lạc có thể nhận đợc tất cả các thông tin đợc mã hoá trên dải từtính của thẻ cũng nh thông tin về PIN. Điều này cho phép một 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ínhtừ xa cũng là vấn đề nghiêm trọng docác ID vàmật khẩu của ngời sử dụng đợc truyền trên mạng ở dạng không mã. Nh vậy, họ là những vùng dễ bị tổn thơng đối với những ngời điều khiển mạng máy tính. Mục đích của sơđồđịnhdanh là: ai đó nghe nh Alice t xng danh với Bob không thể tự bịa đặt mình là Alice. Ngoài ra, chúng ta sẽ cố gắng giảm xác suất để chính Bob có thể thử mạo nhận là Alice sau khi cô ta tự xng danh với anh ta. Nói cách khác, Alice muốn có khả năng chứngminhdanhtính của mình bằng phơng tiện điệntử mà không cần đa ra chút thông tin nào hết về danhtính của mình. Một vài sơđồđịnhdanh nh vậy đã đợc nêu ra. Một mục đích thực tế là tìm một sơđồ đủ đơn giản để có thể thực hiện đợc trên thẻ thông minh, đặc biệt là thẻ tín dụng gắn thêm một chíp có khả năng thực hiện cáctính toán số học. Vì thế, thẻ đòi hỏi cả khối lợng tính toán lẫn bộ nhớ nhỏ đến mức có thể. Thẻ nh vậy an toàn hơn các thẻ ATM hiện tại. Tuy nhiên, điều quan trọng cần chú ý là sự an toàn đặc biệt liên quan đến ngời điều khiển Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Giỏo trỡnh tin hc: Cỏc s nh danh mt v phng phỏp chng minh in t danh tớnh Vietebooks Nguyn Hong Cng Trang 2 đờng dây thông tin. Vì nó là thẻ để chứngminhdanhtính nên không cần bảo vệ chống mất thẻ. Song nó vẫn cần thiết có PIN để biết ai là chủ nhân thực sự của thẻ. Trong các phần sau sẽ mô tả một sốsơđồđịnhdanh thông dụng nhất. Tuy nhiên, trớc hết hãy xét một sơđồ rất đơn giản dựa trên hệ thống mã khoá riêng bất kì, chẳng hạn nh DES. Giao thức mô tả trên hình 9.1 đợc gọi là giao thức yêu cầu và trả lời, trong đó giả thiết rằng, Alice đang tự xng danh với Bob cô và Bob chia nhau một khoá mậtchung K, khoá này chỉ là hàm mã e K . Hình 9.1: Giao thức Yêu cầu và đáp ứng: 1. Bob chọn một yêu cầu x- là một chuỗi ngẫu nhiên 64 bit. Bob gửi x cho Alice 2. Alice tính y = e K (x) gửi nó cho Bob. 3. Bob tính: y = e K (x) và xác minh y = y. Ta sẽ minh hoạ giao thức này bằng ví dụ nhỏ dới dây. Ví dụ 9.1 Giả sử Alice và Bob dùng hàm mã làm luỹ thừa tính modulo: e K (x) = x 102379 mod 167653. Giả sử yêu cầu của Bob x = 77835. Khi đó Alice sẽ trả lời với y = 100369. Mọi sơđồđịnhdanh thực sự đều là cácgiao thức Yêu cầu và đáp ứng song cácsơđồ hiệu quả nhất lại không yêu cầu các khoá chia sẻ (dùng chung). ý tởng này sẽ đợc tiếp tục trong phần còn lại của chơng này. 9.2 Sơđồđịnhdanh Schnorr. Ta bắt đầu bằng việc mô tả sơđồđịnhdanh Schnorr - là một trong những sơđồđịnhdanh thực tiễn và đáng chú ý nhất. Sơđồ này đòi hỏi một ngời đợc uỷ quyền có tín nhiệm mà ta ký hiệu là TA. Ta sẽ chọn các tham số cho sơđồ nh sau: 1. p là số nguyên tố lớn (tức p 2 512 ) sao cho bài toán logarithm rời rạc trong Zp là không giải đợc. 2. q là ớc nguyên tố lớn của p-1 (tức q 2 140 ). 3. * p Z có bậc q (có thể tính nh (p-1) ?? ) đều đợc công khai. TA sẽ đóng một dấu xác nhận cho Alice. Khi Alice muốn nhận đợc một dấu xác thực từ TA, cô phải tiến hành các bớc nh trên hình 9.2. Vào Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 3 thời điểm cuối, khi Alice muốn chứngminhdanhtính của cô trớc Bob, cô thực hiện giao thức nh trên hình 9.3. Nh đã nêu ở trên, t là một tham số mật. Mục đích của nó là ngăn kẻ mạo danh - chẳng hạn Olga - khỏi phỏng đoán yêu cầu r của Bob. Ví dụ, nếu Olga đoán đúng giá trị r, cô ta có thể chọn giá trị bất kỳ cho y vàtính = y v mod p Cô sẽ đa cho Bob nh trong bớc 1 và sau đó khi nhận đợc yêu cầu r, cô sẽ cung cấp giá trị y đã chọn sẵn. Khi đó sẽ đợc Bob xác minh nh trong bớc 6. Hình 9.2 Cấp dấu xác nhận cho Alice. 1. TA thiết lập danhtính của Alice bằng cách lập giấy chứngminh 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 một chuỗi ID (Alice) chứa các thông tinđịnhdanh của cô ta. 2. Alice bí mật chọn một số mũ ngẫu nhiên a, 0 a q-1. Alice tính: v = -a mod p và gửi v cho TA 3. TA tạo ra một chữ kí: s =sig TA (I,v). Dấu xác nhận C(Alice) = (ID(Alice),v,s) và đa cho Alice Xác suất để Olga phỏng đoán đúng r là 2 -t nếu r đợc Bob chọn ngẫu nhiên. Nh vậy, t = 40 là giá trị hợp lý với hầu hết các ứng dụng, (tuy nhiên, chú ý rằng, Bob sẽ chọn r ngẫu nhiên mỗi lần Alice xng danh với anh ta. Nếu Bob luôn dùng cùng một r thì Olga có thể mạo danh Alice bằng phơng pháp mô tả ở trên). Có hai vấn đề nảy sinh trong giao thức xác minh. Trớc hết, chữ kí s chứngminhtính hợp lệ của dấu xác nhân của Alice. Nh vậy, Bob xác minh chữ ký của TA trên dấu xác nhận của Alice để thuyết phục chính bản thân mình rằng dấu xác nhận là xác thực. Đây là xác nhận tơng tự nh cách đã dùng ở chơng 8. Vấn đề thứ hai của giao thức liên quan đến mã sốmật a. Giá trị a có chức năng tơng tự nh PIN để thuyết phục Bob rằng, ngời thực hiện giao thức địnhdanh quả thực là Alice. Tuy nhiên có một khác nhau quan trọng so với PIN là: trong giao thức định danh, a không bị lộ. Thay vào đó, Alice (hay chính xác hơn là thẻ thông minh của cô) chứngminh rằng, cô (thẻ) biết giá trị a trong bớc 5 bằng cách tính y trong khi trả lời đòi hỏi r do Bob đa ra. Vì a không bị lộ nên kĩ thuật này gọi là chứngminh không tiết lộ thông tin. Hình 9.3. sơđồđịnhdanh Schnorr 1. Alice chọn một số ngẫu nhiên k, 0 k q-1 và tính: = k mod p. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 4 2. Alice gửi dấu xác nhận của mình cho C(Alice) = (ID(Alice),v,s) và cho Bob. 3. Bob xác minh chữ kí của TA bằng cách kiểm tra xem có thoả mãn ver(ID(Alice),v,s) = true hay không. 4. Bob chọn một số ngẫu nhiên r, 1 r 2 t và đa nó cho Alice. 5. Alice tính: y = k + ar mod q và đa y cho Bob. 6. Bob xác minh xem có thoả mãn đồng d thức sau không y v r (mod p). Các đồng d sau đây chứngminh rằng Alice có khả năng chứngminhdanhtính của cô cho Bob: y v r k+ar v r (mod p) k+ar v ar (mod p) k (mod p) (mod p) Nh vậy sẽ chấp nhận bằng chứng về danhtính của Alice vàgiao thức đợc gọi là có tính đầy đủ. Dới đây là một ví dụ nhỏ minh hoạ khía cạnh thách thức và đáp ứng của 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 * p Z . Giả sử số mã mật của Alice a = 755. Khi đó: v = -a ( mod p) = 70322 1031-755 mod 88667 = 13136 Giả sử Alice chọn k = 543, sau đó cô tính: = k mod p = 70322 543 mod 88667 = 84109 và gửi cho Bob. Giả thiết Bob đa ra yêu cầu r = 1000. Khi đó Alice tính: y = k + ar mod q = 543 + 755ì 1000 mod 1031 = 851 và gửi y cho Bob. Sau đó Bob xác minh xem 84109 70322 851 13136 1000 (mod 88667) Nếu đúng, Bob sẽ tin rằng anh ta đang liên lạc với Alice. Tiếp theo ta hãy xem xét cách ai đó có thể mạo danh Alice. Olga - kẻ đang cố mạo danh Alice bằng cách làm giả dấu xác nhận: C(Alice) = (ID(Alice), v, s), Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 5 trong đó vv. Song s đợc giả thiết là chữ kí của (ID(Alice), v, s) và nó đợc Bob xác minh trong bớc 3 của giao thức. Nếu sơđồ chữ kí của TA là an toàn, Olga sẽ không thể làm giả chữ kí s (mà sau này sẽ bị Bob xác minh). Biện pháp khác sẽ cho Olga dùng dấu xác nhận đúng của Alice C(Alice) = (ID(Alice), v, s) (nhớ lại rằng, các dấu xác nhận không mậtvà thông tin trên dấu xác nhận bị lộ mỗi lần thực hiện giao thức định danh). Tuy nhiên Olga sẽ không thể mạo danh Alice trừ phi cô ta cũng biết giá trị a. Đó là vì yêu cầu r trong bớc 4. ở bớc 5, Olga sẽ phải tính y mà y là hàm của a. Việc tính a từ v bao hàm việc giải bài toán logarithm rời rạc là bài toán mà ta đã giả thiết là không thể giải đợc. Có thể chứngminh một định lí chính xác hơn về tính an toàn của giao thức nh sau: Định lí 9.1. Giả sử Olga biết giá trị nhờ đó cô có xác suất 1/2 t-1 để giả mạo Alice thành công trong giao thức xác minh. Khi đó Olga có thể tính a trong thời gian đa thức. Chứngminh Với một phần trên 2 t yêu cầu r, Olga có thể tính giá trị y (sẽ đợc Bob chấp nhận trong bớc 6). Vì 1/2 t-1 nên ta có 2 t / 2 và bởi vậy, Olga có thể tính đợc các giá trị y 1 ,y 2 ,r 1 và r 2 sao cho y 1 y 2 và 11 ẻy v 22 ẻy v (mod p) hay )(mod 212 pv rryy Vì v = -a nên ta có: y 1 -y 2 a(r 1 - r 2 ) (mod q) Xét thấy 0 < | r 1 - r 2 | <2 t và q > 2 t là nguyên tố. Vì UCLN(r 1 - r 2 , q) = 1 và Olga có thể tính: a = (y 1 -y 2 )(r 1 - r 2 ) -1 mod q nh mong muốn Định lý trên chứngminh rằng, bất kỳ ai có cơ hội (không phải không đáng kể) thực hiện thành công giao thức địnhdanh đều phải biết (hoặc có thể tính trong thời gian đa thức) số mũ mật a của Alice. Tính chất này thờng đợc gọi là tính đúng đắn (sound). Dới đây là ví dụ minh hoạ: Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 6 Ví dụ 9.3 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: 851 v 1000 454 v 19 (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. Chúng ta đã chứngminh rằng, giao thức có tính đúng đắn và đầy đủ. Song tính đúng đắn và đầy đủ cha đủ để bảo đảm rằng giao thức là an toàn. Chẳng hạn, nếu Alice để lộ số mũ mật a của mình khi chứngminhdanhtính của cô với Olga thì giao thức vẫn còn đúng đắn và đầy đủ. Tuy nhiên nó sẽ hoàn toàn không an toàn vì sau đó Olga có thể mạo danh Alice. Điều này thúc đẩy động cơ xem xét thông tinmật đã cho ngời xác minh - ngời cũng tham gia trong giao thức - biết (trong giao thức này, thông mật là a). Hy vọng là không có thông tin nào về a có thể bị gia tăng bởi Olga khi Alice chứngminhdanhtính của mình cho cô ta, để sau đó Olga có thể giả dạng nh Alice. Nói chung, có thể hình dung tình huống khi Alice chứngminhdanhtính của mình với Olga trong một sốtình huống khác nhau. Có lẽ Olga không chọn các yêu cầu của cô (tức các giá trị r) theo kiểu ngẫu nhiên. Sau vài lần thực hiện giao thức, Olga sẽ cố gắng xác định giá trị a để sau đó có thể mạo danh Alice. Nếu Olga không thể xác định đợc chút thông tin nào về a qua tham gia với số lần đa thức thực hiện giao thức và sau đó thực hiện một lợng tính toán đa thức thì giao thức có thể đợc gọi là an toàn. Hiện tại vẫn cha chứngminh đợc rằng giao thc Schnorr là an toàn, song trong phần tiếp sau, ta sẽ đa ra một cải tiến về sơđồ này (do Okmoto đa ra) mà có thể chứngminh đợc nó là an toàn khi cho trớc giả thuyết tính toán nào đó. Sơđồ Schnorr đã đợc thiết kế với tốc độ nhanh và hiệu quả theo quan điểm cả về tính toán lẫn lợng thông tin cần thiết để trao đổi trong giao thức. Nó cũng đợc thiết kế nhằm tối thiểu hoá lợng tính toán mà Alice phải thực hiện. Đây là những đặc tính tốt vì trong thực tế, cáctính toán của Alice sẽ phải tính trên các thẻ thông minh có khả năng tính toán thấp trong khi cáctính toán của Bob lại trên các máy lớn. Vì mục đích thảo luận, ta hãy giả sử rằng, ID(Alice) là chuỗi 512 bit, v cũng 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 của dấu xác nhận C(Alice) (cần đợc lu trên thẻ của Alice) là 1444 bit. Xét cáctính toán của Alice: Bớc 1 cần lấy mũ theo modulo, b ớc 5 so sánh một phép công modulo và một phép nhân modulo. Đó là phép luỹ Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 7 thừa modulo mạnh về tính toán song có thể tính toán gián tiếp nếu muốn. Còn cáctính toán trực tiếp đợc Alice thực hiện bình thờng. Việc tínhsố bit cần thiết trong quá trình liên lạc để thực hiện giao thức cũng khá đơ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 trong bớc 2: Bob đa cho Alice 40 bit trong bớc 4 và Alice đa cho Bob 160 bit trong bớc 6. Nh vậy các yêu cầu về liên lạc rất mức độ. 9.3 Sơđồđịnhdanh của Okamoto. Trong phần này ta sẽ đa ra một biến thể của sơđồ Schnorr do Okamoto đa ra. Sơđồ cải tiến này Zp không giải đợc. Để thiết lập sơ đồ, TA chọn p và q nh trong sơđồ Schnorr. TA cũng chọn hai phần tử 1 và 2 * p Z đều có bậc q. Giá trị c = log 1 2 đợc giữ bí mật kể cả đối với Alice. Ta sẽ giả thiết rằng, không ai có thể giải đợc (thậm chí Alice và Olga liên minh với nhau) để tính ra giá trị c. Nh trớc đây, TA chọn sơđồ chữ kí sốvà 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 đây là một ví dụ về 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 2 = 73611 (cả 1 lẫn 2 đều có bậc q trong * p Z ). Giả sử a 1 =846, a 2 = 515, khi đó v = 13078. Giả sử Alice chọn k 1 = 899, k 2 = 16, khi đó = 14573. Nếu Bob đa ra yêu cầu r = 489 thì Alice sẽ trả lời y 1 = 131 và y 2 = 287. Bob sẽ xác minh thấy: 58902 131 78611 287 1378 489 14574 (mod 88667). Vì thế Bob chấp nhận bằng chứng của Alice về danhtính của cô. Việc chứngminhgiao thức là đầy đủ không khó (tức là Bob sẽ chấp nhận bằng chứng về danhtính của cô). Sự khác nhau giữa sơđồ của Okamoto và Schnorr là ở chỗ, ta có thể chứngminh rằng sơđồ Okamota an toàn miễn là bài 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. 1. TA thiết lập danhtính của Alice và phát chuỗi địnhdanh ID(Alice). 2. Alice chọn bí mật hai số mũ ngẫu nhiên a 1 ,a 2 trong đó 0 a 1 ,a 2 q -1 Alice tính: Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 8 v = p aa mod 21 11 và đa cho TA. 3. TA tạo chữ kí s = sig TA (I,v). và đa dấu xác nhận C(Alice) = (ID(Alice),v,s) cho Alice Phép chứngminh về tính an toàn rất tinh tế. Đây là ý kiến chung: Nh trớc đây, Alice tựđịnhdanh với Olga trong nhiều thời gian đa thức thông qua thực hiện giao thức. Khi đó ta giả thiết rằng Olga có khả năng nghiên cứu một số thông tin về các giá trị a 1 ,a 2 . Nếu nh vậy thì Olga và Alice kết hợp với nhau có khả năng tính đợc logarithm rời rạc c trong thời gian đa thức. Điều này mâu thuẫn với giả định ở trên vàchứng tỏ rằng Olga chắc không thể nhận đợc chút thông tin nào về cácsố mũ của Alice thông qua việc tham gia vào giao thức. Phần đầu tiên của giao thức này tơng tự với chứngminhtính đầy đủ trong sơđồ Schnorr. Định lý 9.2. Giả sử Olga biết a giá trị mà nhờ nó cô có xác suất thành công 1/2 t-1 khi đánh giá Alice trong giao thức xác minh. Khi đó, Olga có thể tínhcác giá trị b 1 ,b 2 trong thời gian đa thức sao cho v p bb mod 21 11 . Chứng minh: Với phần trên 2 t yêu cầu có thể r, Olga có thể tínhcác giá trị y 1 , y 2 , z 1 , z 2 , r và s với r s và: 2 1 21 y y v r 2 1 21 z v 8 (mod p). Ta định nghĩa: b 1 = (y 1 - z 1 )(r - s) -t mod q và b 1 = (y 2 - z 2 )(r - s) -t mod q Khi đó dễ dàng kiểm tra thấy rằng: )(mod 21 21 pv bb nh mong muốn. Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Vietebooks Nguyn Hong Cng Trang 9 Hình 9.5. Sơđồđịnhdanh Okamoto. 1. Alice chọn cácsố ngẫu nhiên k 1 , k 2 , 0 k 1 , k 2 q -1 và tính: = 2 1 21 k k (mod p). 2. Alice gửi dấu xác nhận của cô C(Alice) = (ID(Alice),v,s) và cho Bob. 3. Bob xác minh chữ kí của TA bằng cách kiểm tra xem có thoả mãn đồng nhất thức: ver TA (ID(Alice),v,s) = true 4. Bob chọn số ngẫu nhiên r, 1 r 2 t và đa nó cho Alice. 5. Alice tính: y 1 = k 1 + a 1 r mod q và y 2 = k 2 + a 2 r mod q và đa y 1 ,y 2 cho Bob. 6. Bob xác minh xem: 21 21 yy v r (mod p) hay không. Bây giờ ta tiếp tục chỉ ra cách Alice và Olga cùng tính giá trị c. Định lý 9.3. Giả sử Olga biết giá trị (mà với nó cô có xác suất giả danh Alice thành công là 1/2 t-1 ) trong giao thức xác minh. Khi đó, Alice và Olga có thể cùng nhau tính 2 1 log trong thời gian đa thức với xác suất 1-1/q. Chứngminh Theo định lý 9.2, Olga có khả năng xác địnhcác giá trị b 1 và b 2 sao cho v )(mod 21 21 p bb Giả thiết rằng Alice để lộ các giá trị a 1 và a 2 cho Olga biết. Dĩ nhiên: v )(mod 21 21 p aa vì thế )(mod 2211 21 p abba giả sử rằng (a1,a2) (b1,b2), khi đó (a1-b1) -1 tồn tại và logarithm rời rạc: c = = 2 1 log (a 1 -b 1 )(b 2 -a 2 ) -1 mod q có thể tính đợc trong thời gian đa thức. Phần còn lại là xem xét xác suất để (a1,a2) = (b1,b2). Nếu xảy ra điều này thì giá trị c không thể tính theo mô tả ở trên. Tuy nhiên, ta sẽ chỉ ra rằng (a1,a2) = (b1,b2) sẽ chỉ xảy ra với xác suất rất bé 1/q, vì thế giao thức nhờ đó Alice và Olga tính đợc c sẽ hầu nh chắc chắn thành công. Định nghĩa: A ={ )(mod:),( ' 2 ' 1 ' 2 ' 1 2121 ' 2 ' 1 paa aaaa qp ì } Nghĩa là A gồm tất cả các cặp đợc sắp có thể vàchúng có thể là cácsố mũ mật của Alice. Xét thấy rằng: A ={a 1 - c, a 2 + : Z P }, Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com [...]... chữ kí từcácsơđồđịnhdanh là do Fiat và Shamir đa ra [FS87] Chúng cũng đợc mô tả và phiên bản dựa trên tính đồng nhất của sơđồđịnhdanh của chính họ Các tổng quan về cácsơđồđịnhdanh này đã đợc công bố trong công trình của Burmester, Desmedt và Beth [BDB92] và công trình của Waleffe và Quisquater [DWQ93] Các bài tập 9.1 Xét sơđồđịnhdanh sau đây: Alice sở hữu khoá mật n = pq, p và q là những... theo cô tính: l = ((r1- r2)t - 1)/b = ((401 - 375)445 -1)/503 = 23 Cuối cùng cô có thể nhận đợc giá trị u mật nh sau: u = (y1/y2)tvl mod n = (103386/93725)4458988823 mod 233693 = 101576 và nh vậy, số mũ mật của Alice đã bị lộ 9.4. 1Sơ đồđịnhdanh dựa trên tính đồng nhất Sơđồđịnhdanh Guillou - Quisquater có thể chuyển thành sơđồđịnhdanh dựa trên tính đồng nhất Điều này có nghĩa là không cần các dấu... lập danhtính của Alice và phát chuỗi địnhdanh ID(Alice): 2 TA tính u = (h(ID(Alice)-1)a mod n và đa u cho Alice Hình 9.9: Sơđồđịnhdanh dựa trên tính đồng nhất Guillou - Quisquater 1 Alice chọn một số ngẫu nhiên k, 0 k n -1 và tính: = kb mod n 2 Alice đa ID(Alice) và cho Bob 3 Bob tính: v = h(ID(Alice)) 4 Bob chọn số ngẫu nhiên r, 0 r b-1 và đa nó cho Alice 5 Alice tính: y = kur mod n và đa... , a, v) và với số ngẫu nhiên k mật *p , ta định nghĩa: sigK(x,k) = (,y) trong đó = k mod p và y = k + ah(x,) mod q với x, *p và yZP, định nghĩa ver(x, , y) = true yvh(x,y)(mod p) 9.6 Các chú giải và tài liệu tham khảo Sơđồđịnhdanh Schnorr nêu trong tài liệu [Sc91], sơđồ Okamoto đợc đa ra trong [OK93] còn sơđồ Guillou - quisquater có thể tìm thấy trong [GQ88] Một sơđồ khác chứngminh sự... thiết tính toán hợp lý là của Brickell và McCurley [BM92] Trang 15 Vietebooks Nguyn Hong Cng Simpo PDF Merge and Split Unregistered Version - http://www.simpopdf.com Cácsơđồđịnhdanh phổ biến khác chứa đựng trong sơđồ Fiege - Fiat - Shamir [FFS88] vàsơđồ nhân hoán vị [SH90] Sơđồ Fiege - Fiat - Shamir đợc chứngminh là an toàn nhờ dùng kĩ thuật tri thức không Phơng pháp xây dựng sơđồ chữ kí từ các. .. mạnh rằng, mặc dù không có chứngminh đã biết nào chứng tỏ sơđồ Schnorr an toàn (thậm chí giả thiết rằng, bài toán logarithm rời rạc không giải đợc) song ta cũng không biết bất kì nhợc điểm nào của sơđồ này Thực sự sơđồ Schnorr đợc a thích hơn sơđồ Okamoto do nó nhanh hơn 1 1 9.4 Sơđồđịnhdanh Guillou - quisquater Trong phần này sẽ mô tả một sơđồđịnhdanh khác do Guillou và Quisquater đa ra dựa... 5 Alice tính: y = kur mod n và đa y cho Bob 6 Bob xác minh xem có thoả mãn hay không điều kiện dới đây: = vryb(mod n) 9.5 Chuyến sơđồđịnhdanh thành sơđồ chữ kí Có một phơng pháp chuẩn để chuyển sơđồđịnhdanh thành sơđồ chữ kí ý tởng cơ bản là thay thế ngời xác minh (Bob) bằng hàm hash công khai h Trong sơđồ chữ kí thực hiện theo phơng pháp này, thông báo không Trang 14 Vietebooks Nguyn Hong... dùng sơđồ Okamoto với q = 1201, p = 122503, t= 10, 1=60497 và 2 = 17163 a/ Giả sử cácsố mũ mật của Alice a1=432, a2 = 423, hãy tính v b/ Giả sử k1 = 389, k2 = 191, tính c/ Giả thiết Bob đa ra yêu cầu r = 21 Hãy tính câu trả lời y1 và y2 của Alice d/ Thực hiện cáctính toan của Bob để xác minh y 1và y2 9.5/ Cũng giả thiết rằng Alice dùng sơđồ Okamoto với p, q, t, 1và 2 nh trong bài tập 9.4, và v... hình 9.6 Khi Alice muốn chứngminhdanhtính của cô cho Bob, cô thực hiện giao thức hình 9.7 Ta sẽ chứngminh rằng, sơđồ Guillou - Quisquater là đúng đắn và đầy đủ Tuy nhiên, sơđồ không đợc chứngminh là an toàn (mặc dù giả thiết hệ thống mã RSA là an toàn) Ví dụ 9.6: Giả sử TA chọn p = 467, q = 479, vì thế n = 223693 Giả sử b = 503 vàsố nguyên mật của Alice u = 101576 Khi đó cô tính: v = (u-1)b mod... Giả thiết số mũ mật của Alice là = 357, hãy tính v c/ Giả sử k = 868, hãy tính d/ Giả sử Bob đa ra yêu cầu r = 501, hãy tính câu trả lời y của Alice e/ Thực hiện cáctính toán của Bob khi xác minh y 9.3 Giả thiết, Alice dùng sơđồ Schnorr với p, q, t nh trong bài tập 9.2 v=51131 và giả sử Olga có thể nghiên cứu thấy rằng: 3v148 151v1077 (mod p) Hãy chỉ ra cách Olga có thể tínhsố mũ mật a của Alice . Giáo trình tin học Các sơ đồ định danh mật và phương pháp chứng minh điện tử danh tính Vietebooks Nguyn Hong Cng Trang 1 Chơng 9 Các sơ đồ định danh 9.1. kí từ các sơ đồ định danh là do Fiat và Shamir đa ra [FS87]. Chúng cũng đợc mô tả và phiên bản dựa trên tính đồng nhất của sơ đồ định danh của chính họ. Các tổng quan về các sơ đồ định danh. 101576 và nh vậy, số mũ mật của Alice đã bị lộ. 9.4. 1Sơ đồ định danh dựa trên tính đồng nhất. Sơ đồ định danh Guillou - Quisquater có thể chuyển thành sơ đồ định danh dựa trên tính đồng nhất.