trapdoors for lattices simpler tighter faster smaller
play

Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele - PowerPoint PPT Presentation

Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele Micciancio 1 Chris Peikert 2 1 UC San Diego 2 Georgia Tech IBM Research 8 September 2011 1 / 17 Lattice-Based Cryptography p d o m x g = y N = = p m e mod N


  1. Trapdoors for Lattices: Simpler, Tighter, Faster, Smaller Daniele Micciancio 1 Chris Peikert 2 1 UC San Diego 2 Georgia Tech IBM Research 8 September 2011 1 / 17

  2. Lattice-Based Cryptography p d o m x g = y N = = ⇒ p m e mod N · q e ( g a , g b ) (Images courtesy xkcd.org) 2 / 17

  3. Lattice-Based Cryptography = ⇒ (Images courtesy xkcd.org) 2 / 17

  4. Lattice-Based Cryptography = ⇒ Why? ◮ Simple & efficient: linear, highly parallel operations ◮ Resist quantum attacks (so far) ◮ Secure under worst-case hardness assumptions [Ajtai’96,. . . ] ◮ Solve ‘holy grail’ problems like FHE [Gentry’09,. . . ] (Images courtesy xkcd.org) 2 / 17

  5. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q 3 / 17

  6. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q f A ( x ) = Ax mod q ∈ Z n q (“short” x , surjective) CRHF if SIS hard [Ajtai’96,. . . ] 3 / 17

  7. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q g A ( s , e ) = s t A + e t mod q ∈ Z m f A ( x ) = Ax mod q ∈ Z n q q (“short” x , surjective) (“short” e , injective) CRHF if SIS hard [Ajtai’96,. . . ] OWF if LWE hard [Regev’05,P’09] 3 / 17

  8. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q g A ( s , e ) = s t A + e t mod q ∈ Z m f A ( x ) = Ax mod q ∈ Z n q q (“short” x , surjective) (“short” e , injective) CRHF if SIS hard [Ajtai’96,. . . ] OWF if LWE hard [Regev’05,P’09] ◮ Lattice interpretation: Λ ⊥ ( A ) = { x ∈ Z m : f A ( x ) = Ax = 0 mod q } ( 0 , q ) O ( q , 0 ) 3 / 17

  9. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q g A ( s , e ) = s t A + e t mod q ∈ Z m f A ( x ) = Ax mod q ∈ Z n q q (“short” x , surjective) (“short” e , injective) CRHF if SIS hard [Ajtai’96,. . . ] OWF if LWE hard [Regev’05,P’09] ◮ Lattice interpretation: Λ ⊥ ( A ) = { x ∈ Z m : f A ( x ) = Ax = 0 mod q } ( 0 , q ) x O ( q , 0 ) 3 / 17

  10. Lattice-Based One-Way Functions � � ∈ Z n × m ◮ Public key · · · A · · · for q = poly ( n ) , m = Ω( n log q ) . q g A ( s , e ) = s t A + e t mod q ∈ Z m f A ( x ) = Ax mod q ∈ Z n q q (“short” x , surjective) (“short” e , injective) CRHF if SIS hard [Ajtai’96,. . . ] OWF if LWE hard [Regev’05,P’09] ◮ f A , g A in forward direction yield CRHFs, CPA-secure encryption . . . and not much else. 3 / 17

  11. Trapdoor Inversion ◮ Many cryptographic applications need to invert f A and/or g A . 4 / 17

  12. Trapdoor Inversion ◮ Many cryptographic applications need to invert f A and/or g A . Invert g A ( s , e ) = s t A + e t mod q : find the unique preimage s (equivalently, e ) 4 / 17

  13. Trapdoor Inversion ◮ Many cryptographic applications need to invert f A and/or g A . Invert u = f A ( x ′ ) = Ax ′ mod q : Invert g A ( s , e ) = s t A + e t mod q : sample random x ← f − 1 A ( u ) find the unique preimage s with prob ∝ exp ( −� x � 2 / s 2 ) . (equivalently, e ) 4 / 17

  14. Trapdoor Inversion ◮ Many cryptographic applications need to invert f A and/or g A . Invert u = f A ( x ′ ) = Ax ′ mod q : Invert g A ( s , e ) = s t A + e t mod q : sample random x ← f − 1 A ( u ) find the unique preimage s with prob ∝ exp ( −� x � 2 / s 2 ) . (equivalently, e ) ◮ How? Use a “strong trapdoor” for A : a short basis of Λ ⊥ ( A ) [Babai’86,GGH’97,Klein’01,GPV’08,P’10] O 4 / 17

  15. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . 5 / 17

  16. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) 5 / 17

  17. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” 5 / 17

  18. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” ◮ Security: finding “short enough” preimages in f A must be hard 5 / 17

  19. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” ◮ Security: finding “short enough” preimages in f A must be hard Other “Black-Box” Applications of f − 1 , g − 1 ◮ Standard model signatures [CHKP’10,R’10,B’10] ◮ CCA-secure encryption [PW’08,P’09] ◮ (Hierarchical) ID-based encryption [GPV’08,CHKP’10,ABB’10a,ABB’10b] ◮ Much more: [PVW’08,PV’08,GHV’10,GKV’10,BF’10a,BF’10b,OPW’11,AFV’11,ABVVW’11,. . . ] 5 / 17

  20. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” ◮ Security: finding “short enough” preimages in f A must be hard Some Drawbacks. . . ✗ Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09] 5 / 17

  21. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” ◮ Security: finding “short enough” preimages in f A must be hard Some Drawbacks. . . ✗ Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09] ✗ Known algorithms trade quality for efficiency 5 / 17

  22. Applications of Strong Trapdoors Canonical App: [GPV’08] Signatures ◮ pk = A , sk = short basis for A , random oracle H : { 0 , 1 } ∗ → Z n q . ◮ Sign( m ): let u = H ( m ) and output Gaussian x ← f − 1 A ( u ) ◮ Verify( m , x ): check f A ( x ) = Ax = H ( m ) and x “short enough” ◮ Security: finding “short enough” preimages in f A must be hard Some Drawbacks. . . ✗ Generating A w/ short basis is complicated and slow [Ajtai’99,AP’09] ✗ Known algorithms trade quality for efficiency g − 1 A : [Babai’86] (tight,iterative,fp) vs [Babai’86] (looser,parallel,offline) f − 1 A : [Klein’01,GPV’08] (ditto) vs [P’10] (ditto) 5 / 17

  23. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 6 / 17

  24. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 1 Trapdoor construction yields some lattice dim m = Ω( n log q ) . 6 / 17

  25. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 1 Trapdoor construction yields some lattice dim m = Ω( n log q ) . 2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev s . 6 / 17

  26. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 1 Trapdoor construction yields some lattice dim m = Ω( n log q ) . 2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev s . ⇒ preimage length β = � x � ≈ s √ m . 3 Dimension m , std dev s = 6 / 17

  27. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 1 Trapdoor construction yields some lattice dim m = Ω( n log q ) . 2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev s . ⇒ preimage length β = � x � ≈ s √ m . 3 Dimension m , std dev s = 4 Choose n , q so that finding β -bounded preimages is hard. 6 / 17

  28. Taming the Parameters �� � · · · · · · n A � �� � m O f A ( x ) = Ax 1 Trapdoor construction yields some lattice dim m = Ω( n log q ) . 2 Basis “quality” ≈ lengths of basis vectors ≈ Gaussian std dev s . ⇒ preimage length β = � x � ≈ s √ m . 3 Dimension m , std dev s = 4 Choose n , q so that finding β -bounded preimages is hard. ✔ Better dimension m & quality s = ⇒ “win-win-win” in security-keysize-runtime 6 / 17

  29. Our Contributions New “strong” trapdoor generation and inversion algorithms: 7 / 17

  30. Our Contributions New “strong” trapdoor generation and inversion algorithms: ✔ Very simple & fast ⋆ Generation: one matrix mult. No HNF or inverses (cf. [A’99,AP’09] ) ⋆ Inversion: practical, parallel, & mostly offline ⋆ No more efficiency-vs-quality tradeoff 7 / 17

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