cryptographic protocols
play

Cryptographic Protocols 3. Broadcast 4. Blockchain Spring 2020 - PDF document

Cryptographic Protocols 1. Interactive Proofs and Zero-Knowledge Protocols 2. Secure Multi-Party Computation Cryptographic Protocols 3. Broadcast 4. Blockchain Spring 2020 Part 1 Broadcast / Byzantine Agreement Secure Multi-Party


  1. Cryptographic Protocols 1. Interactive Proofs and Zero-Knowledge Protocols 2. Secure Multi-Party Computation Cryptographic Protocols 3. Broadcast 4. Blockchain Spring 2020 Part 1 Broadcast / Byzantine Agreement Secure Multi-Party Computation P 1 P 1 0 0 P 7 P 2 P 7 P 2 x 1 0 x 7 1 x 2 1 0 x 6 f T P 3 P 3 P 6 P 6 x 3 x 5 x 4 P 5 P 4 P 5 P 4 Theorem [LSP80] : Among n players, broadcast is achievable if and only if t < n/ 3 players are corrupted. Formal Proofs (Conventional) Proof system for a class of statements 4 • A statement (from the class) is a string (over a finite alphabet). 2 1 5 • The semantics defines which statements are true. 4 3 7 5 1 2 • A proof is a string. 7 6 • Verification function ϕ : ( statement , proof ) �→ { accept , reject } . 5 3 2 4 Example: n is non-prime 4 1 • Statement: a number n (sequence of digits), e.g. ”399800021“. 3 1 8 2 7 4 • Proof: a factor f , e.g. ”19997“. 2 9 5 • Verification: Check whether f divides n . 8 Requirements for a Proof System • Soundness: Only true statements have proofs. • Completeness: Every true statement has a proof. • Efficient verifiability: ϕ is efficiently computable.

  2. Proof System: Sudoku has Solution Efficient Primality Proof Good Proof System 4 2 1 5 An efficiently verifiable proof that n is prime: • Statement: 9-by-9 Matrix Z over { 1 , . . . , 9 , ⊥} . 4 3 7 5 1 2 • Proof: 9-by-9 Matrix X over { 1 , . . . , 9 } . 7 6 0. For small n (i.e., n ≤ T ), do table look-up (empty proof). 5 3 2 4 • Verification: 4 1 1. The list of distinct prime factors p 1 , . . . , p k of n − 1 . 3 1 8 2 7 4 1) 2 9 5 i =1 p α i � k ( n − 1 = i ) 2) 8 2. Number a such that Stupid Proof System a n − 1 ≡ 1 ( mod n ) • Statement: 9-by-9 Matrix Z over { 1 , . . . , 9 , ⊥} . • Proof: “” (empty string) and a ( n − 1) /p i �≡ 1 ( mod n ) • Verification: For all possible X , check if X is solution for Z . for 1 ≤ i ≤ k . → This is not a proof! 3. Primality proofs for p 1 , . . . , p k (recursion!). Two Types of Proofs Static Proofs vs. Interactive Proofs Static Proof Proofs of Statements: • Sudoku Z has a solution X . Prover P Verifier V • z is a square modulo m , i.e. ∃ x z = x 2 (mod m ) . knows statement s , knows statement s • The graphs G 0 and G 1 are isomorphic. proof p p ( s, p ) → { accept , reject } • The graphs G 0 and G 1 are non-isomorphic. ✲ • P = NP Interactive Proof Motivation for IP’s: Proofs of Knowledge: Prover P Verifier V 1. zero knowledge • I know a solution X of Sudoku Z . 2. more powerful • I know a value x such that z = x 2 knows statement s , knows statement s (mod m ) . m 1 3. applications • I know an isomorphism π from G 0 to G 1 . ✲ m 2 • I know a non-isomorphism between G 0 and G 1 ???? ✛ . . . • I know a proof for either P = NP or P � = NP . m ℓ • I know x such that z = g x . ( s, m 1 , . . . , m ℓ ) → { accept , reject } ✲ Often: Proof of knowledge → Proof of statement (knowledge exists) Interactive Proofs: Requirements (Informal) The Graph Isomorphism (GI) Problem G 0 G 1 • Completeness: If the statement is true [resp., the prover knows the 6 1 claimed information], then the correct verifier will always accept the 1 2 3 proof by the correct prover. 5 2 • Soundness: If the statement is false [resp., the prover does not know 5 the claimed information], then the correct verifier will accept the proof 4 6 4 3 only with negligible probability, independent of the prover’s strategy.     0 1 0 1 0 1 0 1 0 1 0 1 Desired Property:     1 0 1 1 1 0 1 0 1 0 0 1          0 1 0 0 1 1   0 1 0 0 1 1          • Zero-Knowledge: As long as the prover follows the protocol, the 1 1 0 0 1 0 1 0 0 0 1 0             0 1 1 1 0 0 0 0 1 1 0 1 verifier learns nothing but the fact that the statement is true [resp., that          1 0 1 0 0 0   1 1 1 0 1 0  the prover knows the claimed information].

  3. Graph Isomorphism – One Round of the Protocol Graph-NON-Isomorphism – One Round of the Protocol Setting: Given two graphs G 0 and G 1 . Setting: Given two graphs G 0 and G 1 . Goal: Prove that G 0 and G 1 are isomorphic. Goal: Prove that G 0 and G 1 are not isomorphic. Peggy Vic Peggy Vic knows G 0 , G 1 , σ s.t. G 1 = σ G 0 σ − 1 knows G 0 and G 1 knows G 0 and G 1 knows G 0 and G 1 pick random permutation π b ∈ R { 0 , 1 } , π at random T T = π G 0 π − 1 ✲ T T = π G b π − 1 ✛ c c ∈ R { 0 , 1 } ✛ if T ∼ G 0 : r = 0 , c = 0 : ρ = π r r ? if T ∼ G 1 : r = 1 = b ✲ ρ ? c = 1 : ρ = πσ − 1 = ρ G 0 ρ − 1 c = 0 : T ✲ ? = ρ G 1 ρ − 1 c = 1 : T Fiat-Shamir – One Round of the Protocol Guillou-Quisquater – One Round of the Protocol Setting: m is an RSA-Modulus. Setting: m is an RSA-Modulus. Goal: Prove knowledge of a square root x of a given z ∈ Z ∗ Goal: Prove knowledge of an e -th root x of a given z ∈ Z ∗ m . m . Peggy Vic Peggy Vic knows x s.t. x 2 = z ( mod m ) knows x s.t. x e = z ( mod m ) knows z knows z k ∈ R Z ∗ k ∈ R Z ∗ m , m , t t t = k 2 t = k e ✲ ✲ c c c ∈ R { 0 , 1 } c ∈ R C ⊆ { 0 , . . . , e − 1 } ✛ ✛ r r r 2 ? r e ? r = k · x c = t · z c r = k · x c = t · z c ✲ ✲ Schnorr – One Round of the Protocol Setting: Cyclic group H = � h � , | H | = q prime. Goal: Prove knowledge of the discrete logarithm x of a given z ∈ H . Peggy Vic knows x ∈ Z q s.t. h x = z knows z k ∈ R Z q , t t = h k ✲ c c ∈ R C ⊆ Z q ✛ r h r ? = t · z c r = k + xc ✲

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend