Chứng minh không tiết lộ thông tin Là sự chứng minh tương tác mà không tiết lộ thông tin hơn là xác nhận tính chính xác của sự khẳng định đã được chứng minh.. Quá trình giải quyết tr
Trang 1Trường Đại học Dân lập Hải Phòng
BỘ MÔN CÔNG NGHỆ THÔNG TIN
Chứng minh không tiết lộ thông tin
( Zero-knowledge proofs)
Giảng viên: Th.s Trần Ngọc Thái
Sinh viên thực hiện:
Nguyễn Thế Tân
Trang 2Chứng minh không tiết lộ thông tin
Là sự chứng minh tương tác mà không tiết lộ
thông tin hơn là xác nhận tính chính xác của sự khẳng định đã được chứng minh
Là công cụ chủ yếu trong việc học tập các giao thức mật mã
Là nguồn gốc của sự tương tác giữa mật mã và các lý thuyết phức tạp.
Trang 3Những nét chính
Đặt vấn đề.
Quá trình giải quyết trong Lý thuyết phức tạp
Chứng minh không tiết lộ thông tin
Thống kê Zero Knowledge
Trang 4Lược đồ giao phó
m2{0,1}
m
Giai đoạn giao phó
Giai đoạn tiết lộ
m
Trang 5Lược đồ giao phó
m2{0,1}
Giai đoạn giao phó
Giai đoạn tiết lộ
Thuộc tính ẩn: Bên nhận không biết về m ở
Thuộc tính kết nối: Bên gửi không thể thay đổi m sau
Giai đoạn giao phó.
Trang 6Lược đồ giao phó Blum
m2{0,1}
Giai đoạn giao phó
Giai đoạn tiết lộ
Thuộc tính ẩn: phân biệt lsb(x) từ 1 bit ngẫu nhiên
đưa ra x 2 mod n là “rõ ràng” như phân tích n thành
Thừa số
1 Chọn ngẫu
nhiên k-bit tối ưu
p´ q ´ 3 (mod 4),
để n=pq.
2.Chọn ngẫu
nhiên x sao cho x<n/2, gcd(x,n)=1,
(n, x 2 mod n, m©lsb(x))
(m,x) Verify!
Thuộc tính kết nối: x được xác định duy nhất x 2 mod n
với điều kiện là n được chọn đúng cách.
Trang 7Biện pháp khắc phục?
Chứng minh không tiết lộ thông tin:
Bên gửi có thể “chứng minh” rằng n=pq để cho p
´q´3 mod 4 mà không lộ ra bất cứ cái gì về p,q!
Giải pháp luân phiên:
Gửi p,q trong Giai đoạn tiết lộ.
(Không cho phép sử dụng lại cùng n.)
Trang 8Những nét chính
Đặt vấn đề
Quá trình giải quyết trong Lý thuyết phức tạp
Chứng minh không tiết lộ thông tin
Thống kê không tiết lộ thông tin
Trang 10 Định nghĩa: Một hệ thống chứng minh cho một
hệ thống ký tự L là một thuật toán thời gian đa thức V( Verifier):
Trang 11Đồ thị 3 màu
ĐN: đồ thị 3 màu là một đồ thị gán màu trong { , , }
cho các đỉnh sao cho không có cặp đỉnh liền kề nào có màu giống nhau.
• Biểu diễn: 3-COL = {G : G là 3 màu có thể gán} trong NP.
Đồ thị 3 màu Không là đồ thị 3 màu
Trang 12NP NPC
Có thể hiểu được
Không thể xảy ra!
NPC NPC
Trang 13Những nét chính
Đặt vấn đề
Quá trình giải quyết trong Lý thuyết phức tạp
Chứng minh không tiết lộ thông tin
Thống kê không tiết lộ thông tin
Trang 14 Sự tương tác: thay thế proof bằng proof động, tất
cả quyền lực của prover
Σ τ νγ τ〈χ ϖ ι ϖεριφιερ ϖ◊ τη χη νγ µινη ν⌠ λ◊ ẽ ươ “ ” ớ ử “ ứ ”
ξ〈χ νη ν νγ.
Trang 15Các giao thức tương tác
Alice, Bob là các hàm :
(đầu vào chung, random coins, thông điệp trước)(thông điệp tiếp theo
Các thông điệp ∈∑*∪ {accept, reject, halt}
Đòi hỏi các giao thức phải là đa thức giới hạn : độ dài của thông điệp
& # của thông điệp ≤ poly(|x|)
Đầu vào chung x
Random coinsB Random coinsA
Trang 16Các chứng minh tương tác [GMR85,B85]
ĐN: Một hệ thống chứng minh tương tác cho một hệ
ký hiệu L là một giao thức tương tác (P,V) với
V thời gian đa thức có thể tính được.
Sự hoàn thành: nếu x∈L, sau đó
V accepts trong (P,V)(x) với xác suất là 1
Tính hợp lý: nếu x∉L, sau đó với mỗi P* ,
V accepts trong (P * ,V)(x) với xác suất ≤ 1/2
ĐN: IP = { L : L là một chứng minh tương tác }
Trang 17Giải thích cho Định nghĩa
Xác suất thu được chỉ vượt qua coin tosses ,
không vượt qua đầu.
Có thể giảm xác suất lỗi (chấp nhận được) tới2
-1000 với 1000 bản sao.
Các chứng minh tương tác khái quát hóa các
chứng minh cổ điển: NP⊆IP.
IP dường như lớn hơn: IP=PSPACE
[LFKN90,S90]
Trang 18ZK Proof for 3-COL
1
2 3 4
5 6
Trang 19ZK Proof for 3-COL
1
2 3 4
5 6
Trang 20ZK Proof for 3-COL
2 Chọn một cạnh
1
2 3 4
5 6
Trang 21ZK Proof for 3-COL
1
2 3 4
5 6
Trang 22ZK Proof for 3-COL
1
2 3 4
5 6
Trang 23Cách bổ sung ô trống?
Bit-giao phó(không tương tác):
có thể tính thời gian đa thức Commit(m,K) s.t.
Giao phó:
z=Commit(m,K)
Tiết lộ:
(m,K)
Trang 24ZK Proof for 3-COL
1
2 3 4
5 6
Trang 25Chính thức hóa Zero Knowledge
Mô phỏng mẫu
Verifier không thể biết
được gì nếu nó không “”learns nothing if it could have “ mô phỏng” sự tương tác của chính
bản thân nó.
Trang 26ĐN: (P,V) là zero knowledge nếu
8 thời gian đa thức V* 9 thời gian đa thức S sao cho khi x2 L
S(x) là sự ước tính không phân biệt được từ (P,V)(x)
Trang 27Giả lập giao thức 3 màu
1 Phỏng đoán ngẫu nhiên của Verifier được đưa ra,
ví dụ (2,6)
1 Chuẩn bị giao phó.
2 Kiểm chứng.
3 Nếu phỏng đoán là đúng thì kết thúc giả lập.
1
2 3 4
5 6
(2,6)
Trang 28Zero Knowledge cho tất cả NP
[GMW86]
Xem xét L Blum = { n : n=pq, p ´q´3 mod 4} 2 NP
Phù hợp với NP-hoàn thành của 3-COL, n G
Trang 31Những nét chính
Đặt vấn đề
Quá trình giải quyết trong Lý thuyết phức tạp
Chứng minh không tiết lộ thông tin
Thống kê không tiết lộ thông tin
Trang 32Thống kê ZK (SZK)
SZK: bảo mật mạnh nhất – zero knowledge &
sự hợp lý là lý thuyết thông tin.
Nhiều kết quả tuyệt đối:
Trang 33, ( ,
X
Y X Y
X
N
Y
: :
Thm [SV97]: Sự thống kê khác nhau (SD) là SZK-hoàn thành.
• X,Y = xác suất phân bố tính bằng các vòng giống nhau
xuất phát từ chúng
• ∆(X,Y) = thống kê khác nhau
Trang 35Kết quả mới của hiệu lực chứng minh
zero-knowledge proof với chứng minh có
làm bằng chứng.
ΣΖΚÅΝΠ ! Τη νγ κ ΖΚ ω/χη νγ µινη τη ι ố ứ ờ
γιαν α τη χđ ứ
Χ ι τι ν ΒΠΠả ế ΝΠ τρονγ [ΒΠ92,ς04]
Trang 36SZK & Tính toán định lượng
Trang 37Tham khảo
S Vadhan “Sự tương tác và Chứng minh không tiết lộ thông tin.” Lecture Notes from Park City Math Institute Graduate Summer School 2000