1. BÀI THUYẾT TRÌNH NHÓM X
ĐỀ TÀI:
Zero Knowledge
(chứng minh không tiết lộ thông tin)
GVHD: Lê ngọc luyện
Nhóm X:
Cao hữu quốc nguyên
Hồ ngọc phước
Lê trọng khánh
2. Khái niệm phương
pháp chứng minh:
Chứng minh một vấn
đề gì đó cho người
khác hiểu, nhưng
không tiết lộ thông
tin trực tiếp về vấn
đề, nhưng vẫn khẳng
định vấn đề đó là
đúng.
3. VD:
Tôi biết rằng 4 không là số nguyên tố bởi nó
gấp 2 2 lần, để chứng minh cho bạn điều đó,
tôi chỉ ra rằng thực sự 2*2=4.
5. Các thuộc tính của chứng minh tương tác
1. Đầ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.
2. 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ất rất nhỏ.
6. Khái niệm chứng minh không tiết lộ thông
tin:
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ó.
7. VD: 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.
8. Các thành phần bên trong:
Có hai nhân vật mà chúng ta thường xuyên phải
nhắc đến trong vấn đề này.
•Prover: người chứng minh, Prover thử chứng
minh một vài sự thật để kiểm chứng.
•Verifier: người xác minh, chấp nhận hoặc bác bỏ
sự chứng minh của Prover.
9. Giao thức:
với 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.
10. Tính chất.
• 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).
• Prover sẽ không gian lận Verifier: 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ỏi thuyết phục bởi những vấn đề
sai.
11. Tính chất.
• Verifier không thể gian lận được Prover được:
đ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ở vì không có thông tin rò rỉ từ Prover cho
Verifier.
12. Tính chất.
• Verifer 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 đó.
13. Ứng dụng của chứng minh không tiết tiết
lộ thông tin:
• Giao thức xác minh Feige-Fiast-Shamir.
• Giao thức xác minh Schnorr's.
14. Giao thức xác minh Schnorr's.
1. Cơ quan ủy thác TA.
15. Giao thức xác minh Schnorr's.
2. Thủ tục cấp chứng chỉ cho A.
• 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).
• A chọn bí mật một số ngẫu nhiên a (0≤a≤q-1)
V=α-amodP
sau đó A chuyển V tới B.
16. • TA tạo chữ ký s=sigTA(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.
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.
17. 3. Giao thức xác minh danh tính của A.
• A chọn thêm một số ngẫu nhiên k (0≤ k ≤ q-1),
γ= αkmodP ,
Và gửi cho B các thông tin C(A) và γ.
• 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 cho A.
• A tính y=k+armodq và gửi cho y cho B
18. • B thử điều kiện
γ ≡ αyvr(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ì
αkvr ≡ αk+arvr ≡ αk+arα-ar ≡ αk(modP) ≡
γ(modP).
19. VD: 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
γ=70322543mod88667=84109 rồi gửi γ cho B.
Giã sử B gửi r=1000 cho A, A trả lời lại bằng
y=k+ar modq=543+755.1000mod1031 = 851.
20. B thử điều kiện γ≡ αyvr (modp),
trong trường hợp này là:
84109 ≡ 70322851131361000 (mod 88667),
Đó là đồng dư thức đúng. B xác nhận danh tính
của A.
21. Phân loại ứng dụng xuất phát từ thực tiễn.
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:
• Thiết kế giao thức.
• Đề án nhận dạng.
22. 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 Knowledge 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