SlideShare a Scribd company logo
1 of 15
1
Đề tài: Chứng minh không tiết lộ thông tin
1. Khái niệm phép chứng minh không tiết lộ thông tin.
1.1 Khái niệm phép chứng minh.
Trong toán học và cuộc sống, chúng ta thường muốn chứng minh một
vấn đề gì đó cho người khác hiểu, điển hình nếu như tôi biết X đúng và
tôi muốn chứng minh điều này cho bạn, tôi cố gắn hết sức để sử dụng
những điều đã có và những điều liên quan để chứng minh rằng X đúng.
1.2 Hệ thống chứng minh tương tác.
Theo lý thuyết tính toán phức tạp, một hệ thống chứng minh tương
tác là một máy trừu tượng mà các mô hình tính toán như là việc trao đổi
tin nhắn giữa hai bên. Các bên có Verifier và Prover(ngườixác minh và
người chứng minh), tương tác vời nhau bằng cách trao đổi thông điệp
để xác định một chuỗi thuộc về một ngôn ngữ hay không. Prover là toàn
năng và sỡ hữu không giới hạn nguồn lực tính toán, nhưng không thể tin
tưởng được, trong khi người xác minh đã bị chặn sức mạnh tính toán.
Thông điệp được gửi giữa hai bên Verifier và Prover cho đến khicó một
câu trả lời cho vấn đề này và đã thuyết phục chính nó nếu nó đúng.
Tất cả các hệ thống chứng minh tương tác gồm có hai yêu cầu:
2
 Đầy đủ: Nếu phát biểu là đúng, việc xác minh trung thực sẽ được
thuyết phục thực tế bởi Prover trung thực.
 Hoàn thiện: Nếu phát biểu là sai, không có Prover, ngay cả khi không
theo giao thức, có thể thuyết phục người xác minh trung thực rằng
nó là đúng, trừ với một số xác suấtrất nhỏ.
 Chú ý rằng chúng ta không quan tâm tới nững gì xảy ra nếu người xác
minh không trung thực, chúng ta tin vào người xác minh.
 Bản chất cụ thể của hệ thống, và do đó các lớp phức tạp của ngôn
ngữ nó có thể nhận ra, phụ thuộc vào những gì sắp xếp giới hạn
được được trên Verifier, cũng như những gì mà khả năng của nó
mang lại. Ví dụ hầu hết các hệ thống chứng minh tương tác phụ
thuộc vào rất nhiều vào khả năng của Verifier để đưa ra lựa chọn
ngẫu nhiên. Nó cũng phụ thuộc vào bản chất của tin nhắn trao đổi-có
bao nhiêu và những gì chứa bên trong nó. Hệ thống chứng minh
tương tác đã tìm thấy một số ý nghĩa sâu sắc đáng ngạc nhiên cho
các lớp truyền thông phức tạp được xác minh bằng cách sử dụng chỉ
một máy. Các lớp phức tạp của hệ thống chính được miêu tả bằng hệ
thống chứng minh tương tác là AM(Arthur-merlin protocolvà
IP(interactiveproof system)
2. Phương pháp chứng minh không tiết lộthông tin.
2.1. Khái niệm.
 Xét ví dụ:
3
Giã sử P và V cùng tham gia trò chơi với các lá bài. P đưa ra 2 lá bài úp và
nói đó là 2 và 3, p yêu cầu v chọn lá 3.
Và sau đó trước khi chọn lá 3, V muốn kiểm tra chắc chắn rằng hai lá bài
đó đích thực là 2 và 3. V yêu cầu P chứng minh điều này, nếu P lật hai lá
bài đó lên thì coi như là một cách chứng minh thì trò chơi kết thúc vì V
đã nhìn thấy chúng và dĩ nhiên là V có thể chọn ngay ra được lá bài 3.
Có một cách khác để P chứng minh rằng lá bài đó là 2 và 3 mà không
phải lật 2 lá bài đó lên, tức là không làm lộ thông tin về hai lá bài trên tay
P là P đưa 50 lá bài còn lại để cho V kiểm tra, nếu V kiểm tra thấy thiếu
một lá bài 2 và 3 thì có thể coi lá bài trên tay P đưa ra đúng như P nói.
→ Chứng minh không tiết lộ thông tin không có nghĩa là không để lộ
thông tin mà nghĩa là để lộ thông tin ở mức ít nhất về sự việc cần chứng
minh. Với những thông tin để lộ, người xác minh không có nhiều hiểu
biết(knowledge) về sự vật sự việc, họ chỉ thu được chút ít thông tin(coi
như zero knowledge) về đặc điểm tính chất của nó.
Giao thức ∑ là giao thức “Hỏi-Đáp” 3 bước để P chứng minh cho V một
vấn đề nào đó.
 P gửi cho V một giá trị ngẫu nhiên.
 V gửi lại P một giá trị ngẫu nhiên như là giá trị dùng để kiểm thử.
 P gửi đáp lại V một giá trị.
 Kết quả V thừa nhận hoặc bác bỏ vấn đề P chứng minh.
4
“Chứng minh không tiết lộ thông tin” được phát minh bởi Goldwasser,
Micali và Rackoff năm 1981(GMR). Chứng minh không tiết lộ thông
tin(và chứng minh tương tác nói chung) hóa ra là một trong những lý
thuyết hay nhất và có ảnh hưởng lớn nhất trong khoa học máy tính, với
ứng dụng ngày càng tăng trong dự án chữ ký thực để chứng minh rất
nhiều vấn đề NP-Complete là khó ngay cả khi xấp xỉ.
2.2. Các thành phần bên trong phép chứng minh không tiết lộ
thông tin.
Có hai nhân vật mà chúng ta thường xuyên phải nhắc đến trong
vấn đề này:
 Peggy-các Prover: người chứng minh, Peggy có một số thông
tin muốn chứng minh cho Victor thấy, nhưng cô ấy lại không
muốn nói thẳng bí mật đó cho Victor.
 Victor-Verifier: người xác minh, Victor hoit peggy một loạt
các câu hỏi, cố gắng tìm ra được là Peggy có thực sự biết
được bí mật đó hay không, Victor không tiếp thu được bất
cứ điều gì khác từ bí mật đó, ngay cả khi anh ta gian lận hay
không tuân theo chỉ dẫn của giao thức.
2.3. Tính chất của giao thức chứng minh không tiết lộ thông
tin.
5
Giao thức chứng minh không tiết lộ thông tin có thể được mô tả như là
các giao thức mật mã khác có tính năng đặc biệt được mô tả trong [10]-
H. Aronson. Zero knowledgeprotocols and small systems:
 Người xác minh(verifier) không thể tiếp thu được bất cứ một điều gì
từ giao thức này: Verifier không học thêm được bất cứ điều gì từ
giao thức này, bởi anh ta không thể tự mình tìm hiểu mà không có
người chứng minh(Prover). Đây chính là nội dung chính của giao thức
chứng minh không tiết lộ thông tin(giống như không có giao thức
nào trao đổi thông tin ở đây). Không có thuộc tính này, giao thức này
sẽ được gọi là giao thức tiết lộ tối thiểu, tức là nó yêu cầu hoàn toàn
không có thông tin nào có thể để lộ trong trường hợp này.
 Prover sẽkhông gian lận Verifier: Nếu Peggy không biết bí mật đó, rỏ
ràng xác suất thành công của cô ấy là rất nhỏ. Sau số vòng lặp tương
đối lớn của giao thức này, tỷ lệ Prover gian lận sẽ được làm nhỏ nhất
khi cần thiết. Giao thức này cũng được cắt và chọn lựa, tức là chỉ cần
lần đầu tiên Prover thất bại, Victor có thể biết được ngay rằng Peggy
gian lận. Như vậy với mỗi vòng lặp của giao thức này, xác suất thành
công sẽcao hơn rất nhiều. Giao thức này có thể làm việc tốt nhất
ngay cả khi xác suất may mắn của Prover gian lận cao vì ta có thể
tăng số lần vòng lặp của giao thức. Nói cách khác, khả năng nắm bắt
của Verifier rất cao, có thể bảo vệ bản thân tránh khỏithuyết phục
bởi những vấn đề sai.
6
 Verifier không thể gian lận được Prover được: Victor không có thêm
được bất cứ thông tin nào từ giao thức, thậm chí nếu anh ta không
tuân theo những chỉ dẫn đó. Điều duy nhất Victor có thể làm để
thuyết phục chính anh ta rằng Peggy biết bí mật đó. điều mà Prover
tiết lộ chỉ là một giải pháp của trong rất nhiều giải pháp cho một vấn
đề, không bao giờ tất cả những điều ấy kết hợp lại có thể tìm ra
được bí mật đó.
 Verifier không thể giả làm Prover để chứng minh cho người thứ ba
được. Bởi vì không có thông tin rò rỉ từ Peggy cho Victor, Victor
không thể thử để thay thế Peggy cho bên thứ ba bất kỳ bên ngoài.
Với một số giao thức khác, người trung gian có thể tấn công là điều
có thể, tuy nhiên, điều đó có nghĩa là có ai đó có thể chuyển tiếp lưu
lượng truy cập từ Peggy thật và cố gắn thuyết phục một Victor khác,
thủ phạm là Peggy. Ngoài ra nếu các bản ghi Verifier khác ghi lại cuộc
đàm thoại giữa anh ta và Prover, thì bản ghi đó cũng có thể được
dùng để thuyết phục bên thứ ba nào cả. Nó trông giống như một
cuộc trò chuyện giả.
 Victor có thể chứng minh bất cứ một luận điểm nào đúng nào: thuộc
tính này được gọi là hoàn thiện và nó là khả năng nắm bắt cơ bản
của một số Prover để thuyết phục Verifier về luận điểm đúng đó.
7
3. Lược đồ xác minh
3.1 Giao thức xác minh Feige-Fiat-Shamir.
Trung tâm được ủy thác(TA) công bố một mooduyn chung n=p*q cho
mọi người tham gia, sau khi đã chọn và giữ bí mật hai số nguyên tố lớn p
và q, mỗi số này dều đồng dư với 3 theo mod4. Bài toán phân tích n
thành thừa số được giả thiết là cực khó. Một số nguyên n như trên là số
nguyên n như trên là số nguyên Blum, với-1 là một giả thặng dư bậc hai
theo modn(tức là một bất thặng dư bậc hai có ký hiệu Jacobi bằng +1).
Mỗi người tham gia thực hiện các việc chuẩn bị như sau:
- Chọn K số nguyên ngẫu nhiên s1,s2,..sk trong tập hợp {1,…n-1}, và k bit
ngẫu nhiên b1,b2,…bk.
Tính vi =(-1)bi
(si)-1
mod n vớimọi 1≤i≤k.
- Mỗi chủ thể A đăng ký với TA khóa công khai(v1,…vk;n) của mình, và giữ
cho riêng mình khóa bí mật (s1,….,sk).
Hoạt động của giao thức xưng danh sẽ gồm việc thực hiện t vòng hỏi-
đáp sau đây; B sẽ chấp nhận danh tính của A nếu tất cả t vòng đó đều
thành công. Gỉa thiết B có khóa công khaicủa A. Mỗi vòng gồmcác
bước:
(a) A chọn số nguyên ngẫu nhiên r (1≤r ≤n-1), và một bit ngẫu nhiên b,
tính x=(-1)b
.r2
mod n; và gửi x cho B như một bằng chứng.
(b) B gửi cho A một vecto gồm k bit ngẫu nhiên (e1,…ek) như một câu hỏi
hay lời thách đố.
8
(c) A tính và gửi cho B y=r. ∏k
j=1 sej
j mod n, như câu trả lời.
(d) B tính z=y2
. ∏k
j=1 vj
ej
modn, và thử điều kiện z=±x và z≠ 0.
Chú ý rằng trong giao thức trên đây, các số k và t là các tham số an toàn
như sẽ được giải thích trong một đoạn sau.
Thí dụ: Gĩa sử trung tâm TA chọn p=683 và q=811, và công bố
n=pq=553913. Chọn các tham số k=3, t=1.
Giả sử A chọn s1=157, s2=43215,s3=4646, và 3 bit b1=1, b2=0, b3=1. Tính
ra v1=441845, v2=338402, v3=124423.
Khóa công khai của A là (441845,338402,124423;553913), khóa bímật là
(157,43215,4646).
Giao thức xưng danh của A có thể được thực hiện như sau:
a) A chọn r=1279, b=1, tính được x=25898, và gửi cho B.
b) B ra lời thách đố (e1,e2,e3)=(0,0,1).
c) A trả lời lại bằng y=rs3 modn=403104.
d) B tính z=y2
v3modn=25898 và thửđúng z=+x và z≠0.
Do đó B chấp nhận danh tính của A.
Đối với giao thức Feige-Fiat-Shamir, người ta chứng minh được rằng khả
năng thành công của việc mạo xưng danh tính có xác suất nhiều lắm là 2-
kt
, do đó nếu chọn k và t sao cho kt=20 chẳng hạn thì xác suất đó là
khoảng 1 phần triệu, và nếu kt=40 thì xác suấtđó là 1 phần triệu triệu,
có thể coi là không thể xảy ra. Tính an toàn của giao thức dựa trên độ
khó của bài toán khaicăn bậc hai theo môduyn là một hợp số lớn khó
9
phân tích thành thừa số. Giao thức cũng có tính chất là một chứng minh
không tiết lộ thông tin theo nghĩa là nhớ biết khóa mật mã mà A thực
hiện việc trả lời trong các vòng hỏi đáp một cách trôi chảy, nhưng toàn
bộ các trả lời của A không để lộ bất kỳ một chút bí mật nào để người
khác(kểcả B) có thể khai thác nhằm phát hiện(khóa) bí mật của A.
3.2. Sơ đồ xưng danh Schnorr.
Trong sơ đồ xưng danh này có sự tham gia của một cơ quan được ủy
thác mà ta ký hiệu là TA. TA sẽchọn các tham số cho sơ đồ xưng danh
như sau:
- một số nguyên tố lớn p sao cho bài toán lôgarit rời rạc theo modp
là rất khó; và một ước số nguyên tố q của p-1 (người ta khuyên nên chọn
p≥2512
và q≥2140
).
Một phần tử αϵZp
*
có cấp q(một phần tử α như vậy có thể lấy là
một lũy thừa bậc (p-1)/q của một phần tử nguyên thủy theo modp).
Một tham số an toàn t sao cho q≥2t
. Có thể lấy t=40.
TA chọn cho mình một sơ đồ chữ ký gồm một thuật toán ký(bímật)
sigTA và một thuật toán kiểm thử(công khai) verTA.
Một hàm băm an toàn (một phía và không va chạm mạnh). Ta giả
thiết là mọi thông tin đều được tóm lược bởi hàm băm trước khi được
ký; tuy nhiên trong mô tả sau đây để cho đơn giản ta sẽ bỏ qua các bước
sử dụng hàm băm.
10
Các tham số p,q,α thuật toán kiểm thử verTA và hàm băm đều có
thể được công bố công khai.
Bây giờ, một chủ thể A cần xưng danh sẽ yêu cầu TA cấp cho mình
một chứng chỉ. Thủ tục cấp chứng chỉ cho A được tiến hành như sau:
1. TA xác lập thông tin về danh tính của họ như họ, tên,ngày
sinh,số chứng minh.…. Dưới dạng một dãy ký tự mà ta ký hiệu là IA hay
ID(A).
2. A chọn bí mật một số ngẫu nhiên a (0≤a≤q-1), tính
V=α-a
modp
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).
Như vậy, chứng chỉ mà TA cấp cho A gồm (IA,v) và chữký của TA
trên thông tin (IA,v) đó. Chú ý rằng TA cấp chứng chỉ cho A mà hoàn toàn
không biết gì về thông tin bí mật của A là số a.
Bây giờ, vớichứ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 một số ngẫu nhiên k (0≤ k ≤ q-1), tính
γ= αk
modp ,
Và gửi cho B các thông tin C(A) và γ.
11
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ểmthử xong, B chọn một số ngẫu nhiên r
(1≤r≤2t
) và gửi cho A.
3. A tính y=k+armodq và gửi cho y cho B.
4. B thử điều kiện
γ ≡ αy
vr
(modp)
Và nếu điều kiện đó được thỏa 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ì
αk
vr
≡ αk+ar
vr
≡αk+ar
α-ar
≡αk
(modp)
≡ γ(modp).
Tức điều kiện mà B cần thử là đúng.
Ví dụ: Lấy p=88667, q=1031 và t=10. Phần tử α=70322 có cấp q trong Zp
*
.
Giả sử A chọn số mũ bí mật là a=755, khiđó v=13136.
A và B có thể thực hiện giao thức xác định danh tính như sau: A chọn
k=543, và tính γ=70322543
mod88667=84109 rồigửiγ cho B.
Giã sử B gửi r=1000 cho A, A trả lời lại bằng y=k + armodq =
543+755.1000mod1031=851. B thử điều kiện γ ≡ αy
vr
(modp), trong
trường hợp này là:
84109≡70322851
131361000
(mod 88667),
Đó là đồng dư thức đúng. B xác nhận danh tính của A.
4. Phân loại ứng dụng xuất phát từ thực tiễn.
12
Chứng minh không tiết lộ thông tin có rất nhiều ứng dụng. Các
ứng dụng thực tiễn nhất được chia làm 2 loại:
4.1 Thiết kế giao thức.
Một giao thức là một thuật toán cho các bên tương tác để đạt được
một số mục tiêu. Ví dụ chúng ta thấy giao thức trao đổi khóa Diffie-
Hellman. Trong giao thức này, chúng ta giả định rằng cả hai bên đều làm
theo hướng dẫn của giao thức, và điều duy nhất ta lo lắng là ta đã trở
thành một đối thủ thụ động.
Tuy nhiên, trong mật mã học, chúng ta muốn thiết kế giao thức rằng cần
phải đạt được bảo mật thậm chí khi một trong các bên gian lận và không
làm theo hướng dẫn. Đây là một vấn đề khó khăn kể từ khichúng ta
không có cách để biết chính xác các bên sẽ gian lận.
Tuy nhiên, một các để tránh gian lận là như sau: Nếu alice chạy một giao
thức với Bob, để cho Bob biết rằng Allice không gian lận, cô ấy sẽ gửi
toàn bộ dữ liệu đầu vào cho Bob và sau đó Bob có thể chứng thực điều
này.
Tuy nhiên cách này sẽ không được chấp nhận nhất là với alice: lý do duy
nhất là họ đang cùng chạy một giao thức này và họ không thể thực sự tin
tưởng đối phương và những dữ liệu đầu vào mà cô ấy có là bí mật và cô
ấy không muốn chia sẽ chúng.
Chứng minh không tiết lộ thông tin cung cấp một giải pháp cho vấn đề
này. Thay vì gửi hết các dữ liệu đầu vào của mình, Alice sẽ chứng minh
13
không tiết lộ thông tin rằng cô ấy đã làm theo hướng dẫn. Bob sẽ bị
thuyết phục, nhưng cũng sẽkhông biết được bất cứ điều gì vềnhững dữ
liệu đầu vào của Alice ngoài những cái anh ấy đã biết trước kia
Thực tế, chúng ta sẽ thấy rằng có thể làm điều này một cách chung, áp
dụng cơ bản cho tất cả các giao thức mã hóa. Vì thế, một kỹ thuật tổng
hợp là để thiết kế ra một giao thức mật mã đầu tiên giả định tất cả mọi
người sẽ phải làm theo hướng dẫn và sau đó yêu cầu sẽ bắt họ làm theo
chỉ dẫn sử dụng hệ thống chứng minh không tiết lộ thông tin.
4.2 Đề án nhận dạng.
Một phần đơn giản hơn và ứng dụng trực tiếp là đề án nhận dạng. Giã sử
rằng chúng ta muốn kiểm soáttruy cập vào các bộ phận khoa học máy
tính. Một cách để làm điều đó là cho người được ủy quyền(có thẩm
quyền) một số bí mật là mã PINvà có một ô trên cửa nơi gõ số PINtrên
hộp đó.
Nhược điểm của phương pháp này là hộp vẫn còn ở bên ngoài suốtthời
gian ấy, và nếu có ai đó có thể kiểm tra chiếc hộp, có lẽ họ sẽ có thể xem
bộ nhớ của nó và trích xuất bí mật chìa khóa của tất cả mọi người. Như
vậy từ một quan đểm bảo mật, nó là tốt hơn nếu hộp không chứa thông
tin bí mật nào cả và thậm chí là nếu có ai đã cài đặt một hộp để giả mạo
họ cũng sẽ không biết gì về những bí mật mã PIN.
Chứng minh không tiết lộ thông tin giúp ta theo các cách sau:
14
Có hôp chứa một thể hiện của vấn đề khó khăn. Ví dụ hộp có thể chứa n
hợp số mà không cần phân tích nhân của nó.
Cung cấp cho những người có thẩm quyền giải pháp vấn đề này. Ví dụ họ
có thể nhận phân tích nhân của n để n=p*q.
Những người có thẩm quyền sẽchứng minh cho họ biết hộp phân tích
nhân không tiết lộ thông tin.
5. Nhận xét:
Chứng minh không tiết lộ thông tin là trường hợp đặc biệt của chứng
minh tương tác.
Zero Knowledgeproof cung cấp một cách chứng minh tri thức cho một
ai đó mà không thay đổi bất cứ kiến thức bổ sung cho người đó
Có thể được dùng để chứng minh sự xác minh
Giả thuyết cơ bản được dùng trong tất cả PKIS
6. Tài liệu tham khảo:
1.https://drive.google.com/file/d/0BxeN5fDkjXBFRUhLQnJu
M2tZTlU/view?pref=2&pli=1
15
2. http://luanvan.co/luan-van/luan-van-phuong-phap-chung-
minh-khong-tiet-lo-thong-tin-va-ung-dung-trong-giao-dich-
tren-mang-may-tinh-39299/

More Related Content

What's hot

TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERconglongit90
 
Mã hóa lượng tử
Mã hóa lượng tửMã hóa lượng tử
Mã hóa lượng tửLE Ngoc Luyen
 
thực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngthực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngnataliej4
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáNit
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsaBảo Điệp
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiUDCNTT
 
đinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngđinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngnguyenhoangbao
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thácletranganh
 
Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinNguyen Thi Lan Phuong
 
Chương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngChương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngHoa Le
 
Khái niệm thông tin và dữ liệu
Khái niệm thông tin và dữ liệuKhái niệm thông tin và dữ liệu
Khái niệm thông tin và dữ liệuminhhai07b08
 
MATMA - 1.chuong4
MATMA - 1.chuong4MATMA - 1.chuong4
MATMA - 1.chuong4Sai Lemovom
 
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Tổng hợp các tài liệu cryptography  thuat toan ma hoaTổng hợp các tài liệu cryptography  thuat toan ma hoa
Tổng hợp các tài liệu cryptography thuat toan ma hoaHoi Nguyen
 
Bao cao session hijacking it-slideshares.blogspot.com
Bao cao session hijacking it-slideshares.blogspot.comBao cao session hijacking it-slideshares.blogspot.com
Bao cao session hijacking it-slideshares.blogspot.comphanleson
 
Giao thức bảo mật SSL
Giao thức bảo mật SSLGiao thức bảo mật SSL
Giao thức bảo mật SSLconglongit90
 
Giao thuc ip
Giao thuc ipGiao thuc ip
Giao thuc ipĐăng DC
 

What's hot (20)

Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
 
Mã hóa lượng tử
Mã hóa lượng tửMã hóa lượng tử
Mã hóa lượng tử
 
thực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòngthực hành tấn công tuyến tính des với 4 vòng
thực hành tấn công tuyến tính des với 4 vòng
 
Hệ PhâN TáN
Hệ PhâN TáNHệ PhâN TáN
Hệ PhâN TáN
 
Tìm hiểu về Bitcoin
Tìm hiểu về BitcoinTìm hiểu về Bitcoin
Tìm hiểu về Bitcoin
 
Thuật toán mã hóa rsa
Thuật toán mã hóa rsaThuật toán mã hóa rsa
Thuật toán mã hóa rsa
 
Các giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osiCác giao thức sử dụng trong các lớp của mô hình osi
Các giao thức sử dụng trong các lớp của mô hình osi
 
đinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến độngđinh tuyến tĩnh và định tuyến động
đinh tuyến tĩnh và định tuyến động
 
Big data là gì và người ta khai thác
Big data là gì và người ta khai thácBig data là gì và người ta khai thác
Big data là gì và người ta khai thác
 
Tổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tinTổng quan về an toàn và bảo mật thông tin
Tổng quan về an toàn và bảo mật thông tin
 
Chương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạngChương 8_Bảo mật và an ninh mạng
Chương 8_Bảo mật và an ninh mạng
 
Ipv6
Ipv6Ipv6
Ipv6
 
Khái niệm thông tin và dữ liệu
Khái niệm thông tin và dữ liệuKhái niệm thông tin và dữ liệu
Khái niệm thông tin và dữ liệu
 
MATMA - 1.chuong4
MATMA - 1.chuong4MATMA - 1.chuong4
MATMA - 1.chuong4
 
Tổng hợp các tài liệu cryptography thuat toan ma hoa
Tổng hợp các tài liệu cryptography  thuat toan ma hoaTổng hợp các tài liệu cryptography  thuat toan ma hoa
Tổng hợp các tài liệu cryptography thuat toan ma hoa
 
Bao cao session hijacking it-slideshares.blogspot.com
Bao cao session hijacking it-slideshares.blogspot.comBao cao session hijacking it-slideshares.blogspot.com
Bao cao session hijacking it-slideshares.blogspot.com
 
Giao thức bảo mật SSL
Giao thức bảo mật SSLGiao thức bảo mật SSL
Giao thức bảo mật SSL
 
Subnet
SubnetSubnet
Subnet
 
Giao thuc ip
Giao thuc ipGiao thuc ip
Giao thuc ip
 

Viewers also liked

Memoriacoche
MemoriacocheMemoriacoche
MemoriacochePaulamm98
 
Edema pulmonar y bronquiectasias
Edema pulmonar y bronquiectasias  Edema pulmonar y bronquiectasias
Edema pulmonar y bronquiectasias Mili Marquez
 
Regras de vida
Regras de vidaRegras de vida
Regras de vidaogerente
 
The Conspiracy against wealth Creation 1 - edits
The Conspiracy against wealth Creation 1 - editsThe Conspiracy against wealth Creation 1 - edits
The Conspiracy against wealth Creation 1 - editsEli Fiadzoe
 
Smart boards
Smart boardsSmart boards
Smart boardsorenml
 
why so Qrious?? AFMC intercollegiate general quiz
why so Qrious?? AFMC intercollegiate general quizwhy so Qrious?? AFMC intercollegiate general quiz
why so Qrious?? AFMC intercollegiate general quizMridul Janweja
 
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...OECD Governance
 
corruption cause effect and solution
corruption cause effect and solutioncorruption cause effect and solution
corruption cause effect and solutionGaurav Kumar
 
PostgreSQL: present and near future
PostgreSQL: present and near futurePostgreSQL: present and near future
PostgreSQL: present and near futureNaN-tic
 
corruption cause efffect and solution
corruption cause efffect and solutioncorruption cause efffect and solution
corruption cause efffect and solutionGaurav Kumar
 

Viewers also liked (15)

Memoriacoche
MemoriacocheMemoriacoche
Memoriacoche
 
Edema pulmonar y bronquiectasias
Edema pulmonar y bronquiectasias  Edema pulmonar y bronquiectasias
Edema pulmonar y bronquiectasias
 
Regras de vida
Regras de vidaRegras de vida
Regras de vida
 
Ravikishore Resume 04-12-2016
Ravikishore Resume 04-12-2016Ravikishore Resume 04-12-2016
Ravikishore Resume 04-12-2016
 
Gilmar viques
Gilmar  viquesGilmar  viques
Gilmar viques
 
The Conspiracy against wealth Creation 1 - edits
The Conspiracy against wealth Creation 1 - editsThe Conspiracy against wealth Creation 1 - edits
The Conspiracy against wealth Creation 1 - edits
 
Smart boards
Smart boardsSmart boards
Smart boards
 
why so Qrious?? AFMC intercollegiate general quiz
why so Qrious?? AFMC intercollegiate general quizwhy so Qrious?? AFMC intercollegiate general quiz
why so Qrious?? AFMC intercollegiate general quiz
 
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...
Presentation by Iris Nehemia on 'Performance Evaluation Initiative' - Session...
 
Hệ mật mã Rabin
Hệ mật mã RabinHệ mật mã Rabin
Hệ mật mã Rabin
 
Hệ mật mã elgamal
Hệ mật mã elgamalHệ mật mã elgamal
Hệ mật mã elgamal
 
corruption cause effect and solution
corruption cause effect and solutioncorruption cause effect and solution
corruption cause effect and solution
 
PostgreSQL: present and near future
PostgreSQL: present and near futurePostgreSQL: present and near future
PostgreSQL: present and near future
 
Intelligent Transportation system
Intelligent Transportation systemIntelligent Transportation system
Intelligent Transportation system
 
corruption cause efffect and solution
corruption cause efffect and solutioncorruption cause efffect and solution
corruption cause efffect and solution
 

Chứng minh không tiết lộ thông tin

  • 1. 1 Đề tài: Chứng minh không tiết lộ thông tin 1. Khái niệm phép chứng minh không tiết lộ thông tin. 1.1 Khái niệm phép chứng minh. Trong toán học và cuộc sống, chúng ta thường muốn chứng minh một vấn đề gì đó cho người khác hiểu, điển hình nếu như tôi biết X đúng và tôi muốn chứng minh điều này cho bạn, tôi cố gắn hết sức để sử dụng những điều đã có và những điều liên quan để chứng minh rằng X đúng. 1.2 Hệ thống chứng minh tương tác. Theo lý thuyết tính toán phức tạp, một hệ thống chứng minh tương tác là một máy trừu tượng mà các mô hình tính toán như là việc trao đổi tin nhắn giữa hai bên. Các bên có Verifier và Prover(ngườixác minh và người chứng minh), tương tác vời nhau bằng cách trao đổi thông điệp để xác định một chuỗi thuộc về một ngôn ngữ hay không. Prover là toàn năng và sỡ hữu không giới hạn nguồn lực tính toán, nhưng không thể tin tưởng được, trong khi người xác minh đã bị chặn sức mạnh tính toán. Thông điệp được gửi giữa hai bên Verifier và Prover cho đến khicó một câu trả lời cho vấn đề này và đã thuyết phục chính nó nếu nó đúng. Tất cả các hệ thống chứng minh tương tác gồm có hai yêu cầu:
  • 2. 2  Đầy đủ: Nếu phát biểu là đúng, việc xác minh trung thực sẽ được thuyết phục thực tế bởi Prover trung thực.  Hoàn thiện: Nếu phát biểu là sai, không có Prover, ngay cả khi không theo giao thức, có thể thuyết phục người xác minh trung thực rằng nó là đúng, trừ với một số xác suấtrất nhỏ.  Chú ý rằng chúng ta không quan tâm tới nững gì xảy ra nếu người xác minh không trung thực, chúng ta tin vào người xác minh.  Bản chất cụ thể của hệ thống, và do đó các lớp phức tạp của ngôn ngữ nó có thể nhận ra, phụ thuộc vào những gì sắp xếp giới hạn được được trên Verifier, cũng như những gì mà khả năng của nó mang lại. Ví dụ hầu hết các hệ thống chứng minh tương tác phụ thuộc vào rất nhiều vào khả năng của Verifier để đưa ra lựa chọn ngẫu nhiên. Nó cũng phụ thuộc vào bản chất của tin nhắn trao đổi-có bao nhiêu và những gì chứa bên trong nó. Hệ thống chứng minh tương tác đã tìm thấy một số ý nghĩa sâu sắc đáng ngạc nhiên cho các lớp truyền thông phức tạp được xác minh bằng cách sử dụng chỉ một máy. Các lớp phức tạp của hệ thống chính được miêu tả bằng hệ thống chứng minh tương tác là AM(Arthur-merlin protocolvà IP(interactiveproof system) 2. Phương pháp chứng minh không tiết lộthông tin. 2.1. Khái niệm.  Xét ví dụ:
  • 3. 3 Giã sử P và V cùng tham gia trò chơi với các lá bài. P đưa ra 2 lá bài úp và nói đó là 2 và 3, p yêu cầu v chọn lá 3. Và sau đó trước khi chọn lá 3, V muốn kiểm tra chắc chắn rằng hai lá bài đó đích thực là 2 và 3. V yêu cầu P chứng minh điều này, nếu P lật hai lá bài đó lên thì coi như là một cách chứng minh thì trò chơi kết thúc vì V đã nhìn thấy chúng và dĩ nhiên là V có thể chọn ngay ra được lá bài 3. Có một cách khác để P chứng minh rằng lá bài đó là 2 và 3 mà không phải lật 2 lá bài đó lên, tức là không làm lộ thông tin về hai lá bài trên tay P là P đưa 50 lá bài còn lại để cho V kiểm tra, nếu V kiểm tra thấy thiếu một lá bài 2 và 3 thì có thể coi lá bài trên tay P đưa ra đúng như P nói. → Chứng minh không tiết lộ thông tin không có nghĩa là không để lộ thông tin mà nghĩa là để lộ thông tin ở mức ít nhất về sự việc cần chứng minh. Với những thông tin để lộ, người xác minh không có nhiều hiểu biết(knowledge) về sự vật sự việc, họ chỉ thu được chút ít thông tin(coi như zero knowledge) về đặc điểm tính chất của nó. Giao thức ∑ là giao thức “Hỏi-Đáp” 3 bước để P chứng minh cho V một vấn đề nào đó.  P gửi cho V một giá trị ngẫu nhiên.  V gửi lại P một giá trị ngẫu nhiên như là giá trị dùng để kiểm thử.  P gửi đáp lại V một giá trị.  Kết quả V thừa nhận hoặc bác bỏ vấn đề P chứng minh.
  • 4. 4 “Chứng minh không tiết lộ thông tin” được phát minh bởi Goldwasser, Micali và Rackoff năm 1981(GMR). Chứng minh không tiết lộ thông tin(và chứng minh tương tác nói chung) hóa ra là một trong những lý thuyết hay nhất và có ảnh hưởng lớn nhất trong khoa học máy tính, với ứng dụng ngày càng tăng trong dự án chữ ký thực để chứng minh rất nhiều vấn đề NP-Complete là khó ngay cả khi xấp xỉ. 2.2. Các thành phần bên trong phép chứng minh không tiết lộ thông tin. Có hai nhân vật mà chúng ta thường xuyên phải nhắc đến trong vấn đề này:  Peggy-các Prover: người chứng minh, Peggy có một số thông tin muốn chứng minh cho Victor thấy, nhưng cô ấy lại không muốn nói thẳng bí mật đó cho Victor.  Victor-Verifier: người xác minh, Victor hoit peggy một loạt các câu hỏi, cố gắng tìm ra được là Peggy có thực sự biết được bí mật đó hay không, Victor không tiếp thu được bất cứ điều gì khác từ bí mật đó, ngay cả khi anh ta gian lận hay không tuân theo chỉ dẫn của giao thức. 2.3. Tính chất của giao thức chứng minh không tiết lộ thông tin.
  • 5. 5 Giao thức chứng minh không tiết lộ thông tin có thể được mô tả như là các giao thức mật mã khác có tính năng đặc biệt được mô tả trong [10]- H. Aronson. Zero knowledgeprotocols and small systems:  Người xác minh(verifier) không thể tiếp thu được bất cứ một điều gì từ giao thức này: Verifier không học thêm được bất cứ điều gì từ giao thức này, bởi anh ta không thể tự mình tìm hiểu mà không có người chứng minh(Prover). Đây chính là nội dung chính của giao thức chứng minh không tiết lộ thông tin(giống như không có giao thức nào trao đổi thông tin ở đây). Không có thuộc tính này, giao thức này sẽ được gọi là giao thức tiết lộ tối thiểu, tức là nó yêu cầu hoàn toàn không có thông tin nào có thể để lộ trong trường hợp này.  Prover sẽkhông gian lận Verifier: Nếu Peggy không biết bí mật đó, rỏ ràng xác suất thành công của cô ấy là rất nhỏ. Sau số vòng lặp tương đối lớn của giao thức này, tỷ lệ Prover gian lận sẽ được làm nhỏ nhất khi cần thiết. Giao thức này cũng được cắt và chọn lựa, tức là chỉ cần lần đầu tiên Prover thất bại, Victor có thể biết được ngay rằng Peggy gian lận. Như vậy với mỗi vòng lặp của giao thức này, xác suất thành công sẽcao hơn rất nhiều. Giao thức này có thể làm việc tốt nhất ngay cả khi xác suất may mắn của Prover gian lận cao vì ta có thể tăng số lần vòng lặp của giao thức. Nói cách khác, khả năng nắm bắt của Verifier rất cao, có thể bảo vệ bản thân tránh khỏithuyết phục bởi những vấn đề sai.
  • 6. 6  Verifier không thể gian lận được Prover được: Victor không có thêm được bất cứ thông tin nào từ giao thức, thậm chí nếu anh ta không tuân theo những chỉ dẫn đó. Điều duy nhất Victor có thể làm để thuyết phục chính anh ta rằng Peggy biết bí mật đó. điều mà Prover tiết lộ chỉ là một giải pháp của trong rất nhiều giải pháp cho một vấn đề, không bao giờ tất cả những điều ấy kết hợp lại có thể tìm ra được bí mật đó.  Verifier không thể giả làm Prover để chứng minh cho người thứ ba được. Bởi vì không có thông tin rò rỉ từ Peggy cho Victor, Victor không thể thử để thay thế Peggy cho bên thứ ba bất kỳ bên ngoài. Với một số giao thức khác, người trung gian có thể tấn công là điều có thể, tuy nhiên, điều đó có nghĩa là có ai đó có thể chuyển tiếp lưu lượng truy cập từ Peggy thật và cố gắn thuyết phục một Victor khác, thủ phạm là Peggy. Ngoài ra nếu các bản ghi Verifier khác ghi lại cuộc đàm thoại giữa anh ta và Prover, thì bản ghi đó cũng có thể được dùng để thuyết phục bên thứ ba nào cả. Nó trông giống như một cuộc trò chuyện giả.  Victor có thể chứng minh bất cứ một luận điểm nào đúng nào: thuộc tính này được gọi là hoàn thiện và nó là khả năng nắm bắt cơ bản của một số Prover để thuyết phục Verifier về luận điểm đúng đó.
  • 7. 7 3. Lược đồ xác minh 3.1 Giao thức xác minh Feige-Fiat-Shamir. Trung tâm được ủy thác(TA) công bố một mooduyn chung n=p*q cho mọi người tham gia, sau khi đã chọn và giữ bí mật hai số nguyên tố lớn p và q, mỗi số này dều đồng dư với 3 theo mod4. Bài toán phân tích n thành thừa số được giả thiết là cực khó. Một số nguyên n như trên là số nguyên n như trên là số nguyên Blum, với-1 là một giả thặng dư bậc hai theo modn(tức là một bất thặng dư bậc hai có ký hiệu Jacobi bằng +1). Mỗi người tham gia thực hiện các việc chuẩn bị như sau: - Chọn K số nguyên ngẫu nhiên s1,s2,..sk trong tập hợp {1,…n-1}, và k bit ngẫu nhiên b1,b2,…bk. Tính vi =(-1)bi (si)-1 mod n vớimọi 1≤i≤k. - Mỗi chủ thể A đăng ký với TA khóa công khai(v1,…vk;n) của mình, và giữ cho riêng mình khóa bí mật (s1,….,sk). Hoạt động của giao thức xưng danh sẽ gồm việc thực hiện t vòng hỏi- đáp sau đây; B sẽ chấp nhận danh tính của A nếu tất cả t vòng đó đều thành công. Gỉa thiết B có khóa công khaicủa A. Mỗi vòng gồmcác bước: (a) A chọn số nguyên ngẫu nhiên r (1≤r ≤n-1), và một bit ngẫu nhiên b, tính x=(-1)b .r2 mod n; và gửi x cho B như một bằng chứng. (b) B gửi cho A một vecto gồm k bit ngẫu nhiên (e1,…ek) như một câu hỏi hay lời thách đố.
  • 8. 8 (c) A tính và gửi cho B y=r. ∏k j=1 sej j mod n, như câu trả lời. (d) B tính z=y2 . ∏k j=1 vj ej modn, và thử điều kiện z=±x và z≠ 0. Chú ý rằng trong giao thức trên đây, các số k và t là các tham số an toàn như sẽ được giải thích trong một đoạn sau. Thí dụ: Gĩa sử trung tâm TA chọn p=683 và q=811, và công bố n=pq=553913. Chọn các tham số k=3, t=1. Giả sử A chọn s1=157, s2=43215,s3=4646, và 3 bit b1=1, b2=0, b3=1. Tính ra v1=441845, v2=338402, v3=124423. Khóa công khai của A là (441845,338402,124423;553913), khóa bímật là (157,43215,4646). Giao thức xưng danh của A có thể được thực hiện như sau: a) A chọn r=1279, b=1, tính được x=25898, và gửi cho B. b) B ra lời thách đố (e1,e2,e3)=(0,0,1). c) A trả lời lại bằng y=rs3 modn=403104. d) B tính z=y2 v3modn=25898 và thửđúng z=+x và z≠0. Do đó B chấp nhận danh tính của A. Đối với giao thức Feige-Fiat-Shamir, người ta chứng minh được rằng khả năng thành công của việc mạo xưng danh tính có xác suất nhiều lắm là 2- kt , do đó nếu chọn k và t sao cho kt=20 chẳng hạn thì xác suất đó là khoảng 1 phần triệu, và nếu kt=40 thì xác suấtđó là 1 phần triệu triệu, có thể coi là không thể xảy ra. Tính an toàn của giao thức dựa trên độ khó của bài toán khaicăn bậc hai theo môduyn là một hợp số lớn khó
  • 9. 9 phân tích thành thừa số. Giao thức cũng có tính chất là một chứng minh không tiết lộ thông tin theo nghĩa là nhớ biết khóa mật mã mà A thực hiện việc trả lời trong các vòng hỏi đáp một cách trôi chảy, nhưng toàn bộ các trả lời của A không để lộ bất kỳ một chút bí mật nào để người khác(kểcả B) có thể khai thác nhằm phát hiện(khóa) bí mật của A. 3.2. Sơ đồ xưng danh Schnorr. Trong sơ đồ xưng danh này có sự tham gia của một cơ quan được ủy thác mà ta ký hiệu là TA. TA sẽchọn các tham số cho sơ đồ xưng danh như sau: - một số nguyên tố lớn p sao cho bài toán lôgarit rời rạc theo modp là rất khó; và một ước số nguyên tố q của p-1 (người ta khuyên nên chọn p≥2512 và q≥2140 ). Một phần tử αϵZp * có cấp q(một phần tử α như vậy có thể lấy là một lũy thừa bậc (p-1)/q của một phần tử nguyên thủy theo modp). Một tham số an toàn t sao cho q≥2t . Có thể lấy t=40. TA chọn cho mình một sơ đồ chữ ký gồm một thuật toán ký(bímật) sigTA và một thuật toán kiểm thử(công khai) verTA. Một hàm băm an toàn (một phía và không va chạm mạnh). Ta giả thiết là mọi thông tin đều được tóm lược bởi hàm băm trước khi được ký; tuy nhiên trong mô tả sau đây để cho đơn giản ta sẽ bỏ qua các bước sử dụng hàm băm.
  • 10. 10 Các tham số p,q,α thuật toán kiểm thử verTA và hàm băm đều có thể được công bố công khai. Bây giờ, một chủ thể A cần xưng danh sẽ yêu cầu TA cấp cho mình một chứng chỉ. Thủ tục cấp chứng chỉ cho A được tiến hành như sau: 1. TA xác lập thông tin về danh tính của họ như họ, tên,ngày sinh,số chứng minh.…. Dưới dạng một dãy ký tự mà ta ký hiệu là IA hay ID(A). 2. A chọn bí mật một số ngẫu nhiên a (0≤a≤q-1), tính V=α-a modp 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). Như vậy, chứng chỉ mà TA cấp cho A gồm (IA,v) và chữký của TA trên thông tin (IA,v) đó. Chú ý rằng TA cấp chứng chỉ cho A mà hoàn toàn không biết gì về thông tin bí mật của A là số a. Bây giờ, vớichứ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 một số ngẫu nhiên k (0≤ k ≤ q-1), tính γ= αk modp , Và gửi cho B các thông tin C(A) và γ.
  • 11. 11 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ểmthử xong, B chọn một số ngẫu nhiên r (1≤r≤2t ) và gửi cho A. 3. A tính y=k+armodq và gửi cho y cho B. 4. B thử điều kiện γ ≡ αy vr (modp) Và nếu điều kiện đó được thỏa 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ì αk vr ≡ αk+ar vr ≡αk+ar α-ar ≡αk (modp) ≡ γ(modp). Tức điều kiện mà B cần thử là đúng. Ví dụ: Lấy p=88667, q=1031 và t=10. Phần tử α=70322 có cấp q trong Zp * . Giả sử A chọn số mũ bí mật là a=755, khiđó v=13136. A và B có thể thực hiện giao thức xác định danh tính như sau: A chọn k=543, và tính γ=70322543 mod88667=84109 rồigửiγ cho B. Giã sử B gửi r=1000 cho A, A trả lời lại bằng y=k + armodq = 543+755.1000mod1031=851. B thử điều kiện γ ≡ αy vr (modp), trong trường hợp này là: 84109≡70322851 131361000 (mod 88667), Đó là đồng dư thức đúng. B xác nhận danh tính của A. 4. Phân loại ứng dụng xuất phát từ thực tiễn.
  • 12. 12 Chứng minh không tiết lộ thông tin có rất nhiều ứng dụng. Các ứng dụng thực tiễn nhất được chia làm 2 loại: 4.1 Thiết kế giao thức. Một giao thức là một thuật toán cho các bên tương tác để đạt được một số mục tiêu. Ví dụ chúng ta thấy giao thức trao đổi khóa Diffie- Hellman. Trong giao thức này, chúng ta giả định rằng cả hai bên đều làm theo hướng dẫn của giao thức, và điều duy nhất ta lo lắng là ta đã trở thành một đối thủ thụ động. Tuy nhiên, trong mật mã học, chúng ta muốn thiết kế giao thức rằng cần phải đạt được bảo mật thậm chí khi một trong các bên gian lận và không làm theo hướng dẫn. Đây là một vấn đề khó khăn kể từ khichúng ta không có cách để biết chính xác các bên sẽ gian lận. Tuy nhiên, một các để tránh gian lận là như sau: Nếu alice chạy một giao thức với Bob, để cho Bob biết rằng Allice không gian lận, cô ấy sẽ gửi toàn bộ dữ liệu đầu vào cho Bob và sau đó Bob có thể chứng thực điều này. Tuy nhiên cách này sẽ không được chấp nhận nhất là với alice: lý do duy nhất là họ đang cùng chạy một giao thức này và họ không thể thực sự tin tưởng đối phương và những dữ liệu đầu vào mà cô ấy có là bí mật và cô ấy không muốn chia sẽ chúng. Chứng minh không tiết lộ thông tin cung cấp một giải pháp cho vấn đề này. Thay vì gửi hết các dữ liệu đầu vào của mình, Alice sẽ chứng minh
  • 13. 13 không tiết lộ thông tin rằng cô ấy đã làm theo hướng dẫn. Bob sẽ bị thuyết phục, nhưng cũng sẽkhông biết được bất cứ điều gì vềnhững dữ liệu đầu vào của Alice ngoài những cái anh ấy đã biết trước kia Thực tế, chúng ta sẽ thấy rằng có thể làm điều này một cách chung, áp dụng cơ bản cho tất cả các giao thức mã hóa. Vì thế, một kỹ thuật tổng hợp là để thiết kế ra một giao thức mật mã đầu tiên giả định tất cả mọi người sẽ phải làm theo hướng dẫn và sau đó yêu cầu sẽ bắt họ làm theo chỉ dẫn sử dụng hệ thống chứng minh không tiết lộ thông tin. 4.2 Đề án nhận dạng. Một phần đơn giản hơn và ứng dụng trực tiếp là đề án nhận dạng. Giã sử rằng chúng ta muốn kiểm soáttruy cập vào các bộ phận khoa học máy tính. Một cách để làm điều đó là cho người được ủy quyền(có thẩm quyền) một số bí mật là mã PINvà có một ô trên cửa nơi gõ số PINtrên hộp đó. Nhược điểm của phương pháp này là hộp vẫn còn ở bên ngoài suốtthời gian ấy, và nếu có ai đó có thể kiểm tra chiếc hộp, có lẽ họ sẽ có thể xem bộ nhớ của nó và trích xuất bí mật chìa khóa của tất cả mọi người. Như vậy từ một quan đểm bảo mật, nó là tốt hơn nếu hộp không chứa thông tin bí mật nào cả và thậm chí là nếu có ai đã cài đặt một hộp để giả mạo họ cũng sẽ không biết gì về những bí mật mã PIN. Chứng minh không tiết lộ thông tin giúp ta theo các cách sau:
  • 14. 14 Có hôp chứa một thể hiện của vấn đề khó khăn. Ví dụ hộp có thể chứa n hợp số mà không cần phân tích nhân của nó. Cung cấp cho những người có thẩm quyền giải pháp vấn đề này. Ví dụ họ có thể nhận phân tích nhân của n để n=p*q. Những người có thẩm quyền sẽchứng minh cho họ biết hộp phân tích nhân không tiết lộ thông tin. 5. Nhận xét: Chứng minh không tiết lộ thông tin là trường hợp đặc biệt của chứng minh tương tác. Zero Knowledgeproof cung cấp một cách chứng minh tri thức cho một ai đó mà không thay đổi bất cứ kiến thức bổ sung cho người đó Có thể được dùng để chứng minh sự xác minh Giả thuyết cơ bản được dùng trong tất cả PKIS 6. Tài liệu tham khảo: 1.https://drive.google.com/file/d/0BxeN5fDkjXBFRUhLQnJu M2tZTlU/view?pref=2&pli=1