one shot verifiable encryption from lattices
play

One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and - PowerPoint PPT Presentation

One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and Gregory Neven IBM Research -- Zurich Zero-Knowledge Proofs Zero-Knowledge Proofs Relation f(s)=t, and want to prove knowledge of s Zero-Knowledge Proofs Relation f(s)=t, and


  1. One-Shot Verifiable Encryption from Lattices Vadim Lyubashevsky and Gregory Neven IBM Research -- Zurich

  2. Zero-Knowledge Proofs

  3. Zero-Knowledge Proofs Relation f(s)=t, and want to prove knowledge of s

  4. Zero-Knowledge Proofs Relation f(s)=t, and want to prove knowledge of s e.g. discrete log: Prove knowledge of s s.t. g s =t

  5. Zero-Knowledge Proofs Relation f(s)=t, and want to prove knowledge of s e.g. discrete log: Prove knowledge of s s.t. g s =t For lattice problems such as SIS and LWE, want to prove knowledge of a short vector s such that f(s)=t

  6. Examples SIS Problem: f A (s) := As mod q 4 11 6 8 10 7 6 14 1 8 = 7 7 1 2 13 0 3 0 0 12 mod 17 2 9 12 5 1 2 5 9 0 14 1 3 14 9 7 1 11 1 1 5 0 1 1 0

  7. Examples LWE Problem: f A (s) := As mod q 4 11 6 8 1 0 0 0 1 12 = 7 7 1 2 0 1 0 0 0 10 mod 17 2 9 12 5 0 0 1 0 0 8 1 3 14 9 0 0 0 1 1 10 0 1 1 0

  8. Polynomial Rings R = Z q [x]/(x d +1) is a polynomial ring with • Addition mod q • Polynomial multiplication mod q and x d +1

  9. Polynomial Rings R = Z q [x]/(x d +1) is a polynomial ring with • Addition mod q • Polynomial multiplication mod q and x d +1 SIS Problem over R: f A (s) := As mod q = a 1 a 2 a 3 a 4 a 5 s 1 y 1 a 6 a 7 a 8 a 9 a 10 s 2 y 2 s 3 s 4 s 5

  10. Constructing Zero-Knowledge Proofs • For discrete log relations – a simple sigma protocol (i.e. Schnorr proof). • Can be made non-interactive via the Fiat-Shamir transformation • For lattice schemes – the main obstacle is that the secret has small length.

  11. “Fiat - Shamir with Aborts” [Lyu ‘09]

  12. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t

  13. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y)

  14. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w

  15. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w c

  16. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w c z=sc+y (Rejection z Sample)

  17. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w c z=sc+y (Rejection z Sample) || z || is small and f(z)=tc+w

  18. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w c c’ z=sc+y (Rejection z z’ Sample) || z || is small and || z’ || is small and f(z)=tc+w f(z’)=tc’+w

  19. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t y  D w=f(y) w c c’ z=sc+y (Rejection z z’ Sample) || z || is small and || z’ || is small and f(z)=tc+w f(z’)=tc’+w f(z- z’)=t(c - c’)

  20. “Fiat - Shamir with Aborts” [Lyu ‘09] Relation: f(s)=t In a non-interactive y  D protocols, replaced with w=f(y) c=H(w,t) w c c’ z=sc+y (Rejection z z’ Sample) || z || is small and || z’ || is small and f(z)=tc+w f(z’)=tc’+w f(z- z’)=t(c - c’)

  21. Implications of the Extraction

  22. Implications of the Extraction f(z- z’)=t(c - c’) if (c- c’) -1 exists f((z- z’)/(c - c’))=t

  23. Implications of the Extraction f(z- z’)=t(c - c’) if (c- c’) -1 exists f((z- z’)/(c - c’))=t But (z- z’)/(c - c’) does not necessarily have small coefficients! Unless … c,c’ in {0,1} … But then soundness is only 1/2.

  24. Practical (< 20KB per proof) Applications

  25. Practical (< 20KB per proof) Applications f(ŝ) = tĉ

  26. Practical (< 20KB per proof) Applications Digital signatures [Lyu ‘09,…] , ZK proofs of commitments [BKLP ‘16] , (maybe others) f(ŝ) = tĉ

  27. Practical (< 20KB per proof) Applications Digital signatures [Lyu ‘09,…] , ZK proofs of commitments [BKLP ‘16] , (maybe others) f(ŝ) = tĉ f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17]

  28. (Stern-type Lattice ZK Proofs) • Combinatorial based on the code-based Stern identification scheme with 0/1 secrets [Ste ‘93] • Can be adapted to larger secrets at a significant efficiency loss [LNSW ‘13]

  29. (Stern-type Lattice ZK Proofs) • Combinatorial based on the code-based Stern identification scheme with 0/1 secrets [Ste ‘93] • Can be adapted to larger secrets at a significant efficiency loss [LNSW ‘13] • Proofs are almost always >> 1 MB (depending on how big the coefficients of s are) • Not considered relevant for practical applications

  30. Main Open Problems Digital signatures [Lyu ‘09,…] , ZK proofs of commitments [BKLP ‘16] , (maybe others) f(ŝ) = tĉ f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17]

  31. Main Open Problems Digital signatures [Lyu ‘09,…] , ZK proofs of commitments [BKLP ‘16] , (maybe others) More applications f(ŝ) = tĉ f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17]

  32. Main Open Problems Digital signatures [Lyu ‘09,…] , ZK proofs of commitments [BKLP ‘16] , (maybe others) More applications f(ŝ) = tĉ f(ŝ)=t when simultaneously proving many (>> 10,000) relations [Lyu ’ 09] + [BDLN ’16] + [CDXY ’17] Decrease the number of required samples

  33. ZK Proof of Plaintext Knowledge and Verifiable Encryption

  34. ZK Proof of Plaintext Knowledge and Verifiable Encryption Mediating Authority Sender Receiver

  35. ZK Proof of Plaintext Knowledge and Verifiable Encryption Mediating Authority Publishes pk to some encryption scheme Have some secret witness w that x is in language L Sender Receiver

  36. ZK Proof of Plaintext Knowledge and Verifiable Encryption Mediating Authority Publishes pk to some encryption scheme Have some secret witness w that x is in language L c:=Enc pk (w) π :=ZKPoK(w is a witness and c encrypts w) Sender Receiver

  37. ZK Proof of Plaintext Knowledge and Verifiable Encryption Mediating Authority Publishes pk to some encryption scheme If the Sender Have some secret misbehaves, the witness w that x is Authority will in language L reveal w c:=Enc pk (w) π :=ZKPoK(w is a witness and c encrypts w) Sender Receiver

  38. ZK Proof of Plaintext Knowledge Mediating Authority Publishes pk to some encryption scheme If the Sender misbehaves, the Have some secret w Authority will reveal w c:=Enc pk (w) π :=ZKPoK(c encrypts w) Sender Receiver

  39. Ring-LWE Encryption Scheme Public Key: a, as+e=t Encryption(m): u=p(ar+e 1 ) , v=p(tr+e 2 )+m = pa p 0 0 r u pt 0 p 1 e 1 v e 2 w Decryption: v-us mod q mod p

  40. Approximate Proofs and Proofs of Plaintext Knowledge = pa p 0 0 r u pt 0 p 1 e 1 v e 2 w

  41. Approximate Proofs and Proofs of Plaintext Knowledge = pa p 0 0 r u pt 0 p 1 e 1 v e 2 w = pa p 0 0 ȓ uĉ pt 0 p 1 ê 1 vĉ ê 2 ŵ

  42. Problem with Approximate Proofs = pa p 0 0 ȓ uĉ pt 0 p 1 ê 1 vĉ ê 2 ŵ Implication: (v - us) ĉ mod q mod p = ŵ

  43. Problem with Approximate Proofs = pa p 0 0 ȓ uĉ pt 0 p 1 ê 1 vĉ ê 2 ŵ Implication: (v - us) ĉ mod q mod p = ŵ But decryptor does not know ĉ

  44. Problem with Approximate Proofs = pa p 0 0 ȓ uĉ pt 0 p 1 ê 1 vĉ ê 2 ŵ Implication: (v - us) ĉ mod q mod p = ŵ But decryptor does not know ĉ If he decrypts (u,v), he may get garbage because (u,v) is not a valid ciphertext

  45. Our Solution Outline 1. Guess ĉ uĉ 2. ŵ:=Decrypt vĉ 3. Output ŵ/ĉ mod p

  46. Our Solution Outline There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ 2. ŵ:=Decrypt vĉ 3. Output ŵ/ĉ mod p

  47. Our Solution Outline There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ How can we be sure we 2. ŵ:=Decrypt vĉ guessed the right ĉ? 3. Output ŵ/ĉ mod p

  48. Our Solution Outline There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ How can we be sure we 2. ŵ:=Decrypt vĉ guessed the right ĉ? Is this unique? 3. Output ŵ/ĉ mod p (Decryption should be unique)

  49. There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ How can we be sure we 2. ŵ:=Decrypt vĉ guessed the right ĉ? Is this unique? 3. Output ŵ/ĉ mod p (Decryption should be unique)

  50. There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ How can we be sure we 2. ŵ:=Decrypt vĉ guessed the right ĉ? Is this unique? 3. Output ŵ/ĉ mod p (Decryption should be unique) We modify the parameters and the decryption algorithm of the Ring-LWE scheme

  51. There could be 1. Guess ĉ |challenge space| 2 possibilities uĉ How can we be sure we 2. ŵ:=Decrypt vĉ guessed the right ĉ? Is this unique? 3. Output ŵ/ĉ mod p (Decryption should be unique) We modify the parameters and the decryption algorithm of the Ring-LWE scheme In the decryption algorithm, check that || (v - us) ĉ mod q || ∞ < q/2C where C=max || ĉ || 1

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