Trườ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 Lê Quang Đức 2 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. 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. 3 Nhữ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 4 Lược đồ giao phó Bên nh nậ Bên g iử m2{0,1} m Giai đoạn giao phó Giai đoạn tiết lộ m 5 Lược đồ giao phó Bên nh nậ Bên g iử 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 ở Giai đoạn giao phó. Thuộc tính kết nối: Bên gửi không thể thay đổi m sau Giai đoạn giao phó. 6 Lược đồ giao phó Blum Bên nh nậ Bên g iử 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. 7 Biệ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.) 8 Nhữ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 9 Lý thuyết phức tạp Các ký hiệu Λ = τ π η π χηυ ι κ τậ ợ ỗ ự ε.γ. ΠΡΙΜΕΣ = { ξ : ξ λ◊ γι〈 τρ νη πην χ α µ τ ị ị ủ ộ πριµε #} Τνη το〈ν: α ρα ξ, ϖ ι ξđư ớ 2Λ Thời gian đa thức Π = { Λ : Λ λ◊ τηυ τ το〈ν ω /τη ι γιαν ξ λ ậ ờ ử · |ξ| κ ϖ ι µ ιớ ọ ξ} “ κι µ λ ι”Để ể ỗ Κι µ τη χηνη, χ〈χ ψ υ τ θυψ τ νη, λ π τρνη ể ử ế ố ế đị ậ τυψ ν τνη,… ΒΠΠ = Τη ι γιαν α τη χ νγ υ νηιν.ờ đ ứ ẫ ΒΘΠ = Τη ι γιαν α τη χ νη λ νγ 10 NP Đị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): Τνη ηο◊ν τη◊νη ( Ξ〈χ νη ν χ〈χ χη νγ µινη ):“ ”ậ ứ x∈L ⇒ ∃ proof : |proof |≤ poly(|x|) ϖ◊ V (x, proof )=accept Σ η π λự ợ ( Κηνγ ξ〈χ νη ν χ〈χ χη νγ µινη σαι ):“ ” x∉L ⇒ ∀ proof * V (x, proof * )=reject NP = lớp các ký hiệu w/ các hệ chứng minh. [...]... NPC NPC NP NP P Cú th xy ra NPC P Khụng th xy ra! P=NP Cú th hiu c 12 Nhng nột chớnh t vn Quỏ trỡnh gii quyt trong Lý thuyt phc tp Chng minh khụng tit l thụng tin Thng kờ khụng tit l thụng tin 13 Cỏc thnh phn mi Cỏc chng minh NP c in vn ó khụng tit l thụng tin S ngu nhiờn: verifier cú th tung ng xu à 2 S tng tỏc: thay th proof bng proof ng, tt c quyn lc ca prover ... Gim s phc tp ca cỏc gi nh 9 , 9 à 1 ) 30 Nhng nột chớnh t vn Quỏ trỡnh gii quyt trong Lý thuyt phc tp Chng minh khụng tit l thụng tin Thng kờ khụng tit l thụng tin 31 Thng kờ ZK (SZK) SZK: bo mt mnh nht zero knowledge & s hp lý l lý thuyt thụng tin Nhiu kt qu tuyt i: RESIDUOSITY bc 2 [85], th ng dng [86], , [96] [97,99] = [94,97,98] [91,92,94,98,00... thụng ip & # ca thụng ip poly(|x|) 15 Cỏc chng minh tng tỏc [GMR85,B85] N: Mt h thng chng minh tng tỏc cho mt h ký hiu L l mt giao thc tng tỏc (P,V) vi V thi gian a thc cú th tớnh c S hon thnh: nu xL, sau ú V accepts trong (P,V)(x) vi xỏc sut l 1 Tớnh hp lý: nu xL, sau ú vi mi P*, V accepts trong (P*,V)(x) vi xỏc sut 1/2 N: IP = { L : L l mt chng minh tng tỏc } 16 Gii thớch cho nh ngha Xỏc... poly-time Phự hp vi NP-hon thnh ca (thc hin bi P & V) n G 3-COL, s.t n2LBlum, G23-COL n,p,q poly-time 3-coloring of G (thc hin bi P) ng dng rt ln trong cỏc giao thc mó húa 28 Cỏc vn khỏc ca Chng minh khụng tit l thụng tin Cỏc dng ZK/mụ phng: Cỏc chin lc Verifier: () () () () () S hp lý: à: à : à à/ 29 Cỏc kt lun quan trng Li hp lý S tng tỏc à à ... IP = { L : L l mt chng minh tng tỏc } 16 Gii thớch cho nh ngha Xỏc sut thu c ch vt qua coin tosses, khụng vt qua u Cú th gim xỏc sut li (chp nhn c) ti21000 vi 1000 bn sao Cỏc chng minh tng tỏc khỏi quỏt húa cỏc chng minh c in: NPIP IP dng nh ln hn: IP=PSPACE [LFKN90,S90] 17 ZK Proof for 3-COL Thi gian a thc Verifier 1 6 2 5 Khụng gii hn Prover 3 4 1 Hoỏn v ngu nhiờn cỏc mu v a vo cỏc ụ 18 ZK Proof... vng nm trong ZK nu v ch nu 2IP v 9 Ià Y s.t I, 2 à x2 I, đ à à 1 fx 1 Y N in SZK OWF instances yield OWF Nhiu kt qu tuyt i ca ZK 34 Kt qu mi ca hiu lc chng minh Thm [Nguyen-V05]: mi 2ZKNP cú mt zero-knowledge proof vi chng minh cú th b sung thi gian a thc a ra NP lm bng chng ! / à [92,04] 35 SZK & Tớnh toỏn nh lng SZK l mc tiờu hng ti ca cỏc gii thut nh lng [02]: . 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 Lê Quang Đức 2 Chứng minh không tiết lộ thông. 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. lộ. (Không cho phép sử dụng lại cùng n.) 8 Nhữ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