Lattice Cryptography in the NIST Standardization Process

Slides:



Advertisements
Similar presentations
1 Introduction CSE 5351: Introduction to cryptography Reading assignment: Chapter 1 of Katz & Lindell.
Advertisements

Lattice-Based Cryptography. Cryptographic Hardness Assumptions Factoring is hard Discrete Log Problem is hard  Diffie-Hellman problem is hard  Decisional.
Session 5 Hash functions and digital signatures. Contents Hash functions – Definition – Requirements – Construction – Security – Applications 2/44.
CMSC 414 Computer and Network Security Lecture 7 Jonathan Katz.
Lattice-Based Cryptography
CMSC 414 Computer and Network Security Lecture 9 Jonathan Katz.
Oded Regev Tel-Aviv University On Lattices, Learning with Errors, Learning with Errors, Random Linear Codes, Random Linear Codes, and Cryptography and.
CMSC 414 Computer and Network Security Lecture 6 Jonathan Katz.
Cryptography1 CPSC 3730 Cryptography Chapter 9 Public Key Cryptography and RSA.
Introduction to Modern Cryptography Lecture 7 1.RSA Public Key CryptoSystem 2.One way Trapdoor Functions.
Lattice-Based Cryptography
1 NTRU: A Ring-Based Public Key Cryptosystem Jeffrey Hoffstein, Jill Pipher, Joseph H. Silverman LNCS 1423, 1998.
1 Introduction to Information Security , Spring 2015 Lecture 7: Applied cryptography: asymmetric Eran Tromer Slides credit: John Mitchell, Stanford.
Computer Science CSC 474Dr. Peng Ning1 CSC 474 Information Systems Security Topic 2.5 Public Key Algorithms.
Cryptanalysis of the Revised NTRU Signature Scheme (NSS) Craig Gentry (DoCoMo) Mike Szydlo (RSA)
Information Security and Management 13. Digital Signatures and Authentication Protocols Chih-Hung Wang Fall
ElGamal Public Key Cryptography CS 303 Alg. Number Theory & Cryptography Jeremy Johnson Taher ElGamal, "A Public-Key Cryptosystem and a Signature Scheme.
Lecture 3.2: Public Key Cryptography II CS 436/636/736 Spring 2014 Nitesh Saxena.
Ideal Lattices and Ring-LWE
Topic 22: Digital Schemes (2)
Vadim Lyubashevsky INRIA / ENS, Paris
CS526: Information Security Prof. Sam Wagstaff September 16, 2003 Cryptography Basics.
Lattice-Based Cryptography: From Practice to Theory to Practice Vadim Lyubashevsky INRIA / CNRS / ENS Paris (September 12, 2011)
Lecture 3.4: Public Key Cryptography IV CS 436/636/736 Spring 2013 Nitesh Saxena.
Cryptography and Network Security Chapter 13 Fifth Edition by William Stallings Lecture slides by Lawrie Brown.
Fast algorithm for the Shortest Vector Problem er (joint with Aggarwal, Dadush, and Stephens-Davidowitz) Oded Regev Courant Institute, NYU UC Irvine, Sloan.
Scott CH Huang COM 5336 Cryptography Lecture 6 Public Key Cryptography & RSA Scott CH Huang COM 5336 Cryptography Lecture 6.
NEW DIRECTIONS IN CRYPTOGRAPHY Made Harta Dwijaksara, Yi Jae Park.
Public Key Algorithms Lesson Introduction ●Modular arithmetic ●RSA ●Diffie-Hellman.
CS 4803 Fall 04 Public Key Algorithms. Modular Arithmetic n Public key algorithms are based on modular arithmetic. n Modular addition. n Modular multiplication.
Lattice-based cryptography and quantum Oded Regev Tel-Aviv University.
RSA Pubic Key Encryption CSCI 5857: Encoding and Encryption.
1 Introduction to Information Security , Spring 2016 Lecture 4: Applied cryptography: asymmetric Zvi Ostfeld Slides credit: Eran Tromer.
Directions in Practical Lattice Cryptography Vadim Lyubashevsky IBM Research – Zurich.
1 The RSA Algorithm Rocky K. C. Chang February 23, 2007.
Directions in Practical Lattice Cryptography Vadim Lyubashevsky May 13, 2016 IBM Research – Zurich.
Key Exchange in Systems VPN usually has two phases –Handshake protocol: key exchange between parties sets symmetric keys –Traffic protocol: communication.
Public-Key Cryptography ElGamal Public-Key Crypto-System
Overview Modern public-key cryptosystems: RSA
Asymmetric-Key Cryptography
B504/I538: Introduction to Cryptography
On Bounded Distance Decoding, Unique Shortest Vectors, and the
Factoring large integers
Attack on Fully Homomorphic Encryption over Principal Ideal Lattice
NTRUSign Parameters Challenge
The Learning With Errors Problem
Digital Signature Schemes and the Random Oracle Model
Practical Aspects of Modern Cryptography
Cryptography Lecture 26.
Long-term secure signatures for the IoT
Background: Lattices and the Learning-with-Errors problem
Lattice Signature Schemes
Topic 25: Discrete LOG, DDH + Attacks on Plain RSA
Equivalence of Search and Decisional (Ring-) LWE
Mitigating Multi-Target-Attacks in Hash-based Signatures
Digital Signature Schemes and the Random Oracle Model
Cryptography Lecture 6.
Security through Encryption
Vadim Lyubashevsky IBM Research -- Zurich
Directions in Practical Lattice Cryptography
Chapter -5 PUBLIC-KEY CRYPTOGRAPHY AND RSA
Introduction to Modern Cryptography
Cryptology Design Fundamentals
Cryptography Lecture 22.
Cryptography Lecture 21.
Cryptography Lecture 18.
刘振 上海交通大学 计算机科学与工程系 电信群楼3-509
Cryptography Lecture 25.
Cryptography Lecture 24.
Jens Groth and Mary Maller University College London
Presentation transcript:

Lattice Cryptography in the NIST Standardization Process Vadim Lyubashevsky IBM Research – Zurich

Hard Problem Intuition z y Given (A,z), find y Easy! Just invert A and multiply by z

Hard Problem Intuition y e z Small coefficients Given (A,z), find (y,e) Seems hard.

Hard Problem Intuition (Learning With Errors) Small coefficients to enforce uniqueness Given (A,z), find (y,e) Seems hard.

Why is this “Lattice” Crypto?  

Connection to Lattices Solving a Lattice-Problem  Breaking Cryptosystems Breaking Cryptosystems  Solving a Lattice Problem in all lattices Worst-Case to Average-Case Reduction [Ajt ‘96, Reg ‘05, etc.] Asymptotically, the design of lattice-based schemes is sound

Lattice-Based Encryption

Encryption Scheme Overview Efficient Inefficient [HPS ’98] NTRU Cryptosystem over Z[x]/(xn-1) [Mic ’02, LM ‘06, PR ‘06] Basic Constructions over Z[x]/(f(x)) [Ajt ’96, AD ‘97] Basic CRH and Cryptosystem over Z [LPR ‘10] Ring-LWE and Practical Cryptosystem over Z[x]/(f(x)) [Reg ’05] Learning with Errors Cryptosystem over Z NTRUPrime, NTRU-Encrypt, NTRU-HSS, etc. NewHope, Kyber, Round2, Saber, etc … Frodo, Lizard, etc.

Key Exchange / CCA – Encryption/ Authenticated Key Exchange CPA-Secure PKE All “black-box” transformations CCA-Secure KEM CCA-Secure PKE Key Exchange Authenticated Key Exchange

Encryption from LWE

A is random – can be created as H(seed) Encryption Scheme A s t r A t + = Small Coeffs. + Zqn x n Small Coeffs. + m Public Key A is random – can be created as H(seed) = u v

Encryption Scheme A A t r t + = + + = u v s m = Is pseudo-random based on the hardness of the Learning with Errors Problem u v

Encryption Scheme A A t r t + = + + = u v s + + v = r r A A s s + = + m = + + v = r r A A s s m + u v = + + r A A s s m

Encryption Scheme A A t r t + = + + = u v s s = + u r A s + ≈ - = r A m = s = + u r A s u v + ≈ - = r A s v m

Encryption Scheme A A t r t + = + + = = + - v u s u v s m = = + - v u s m u v represent 0 by m=0 represent 1 by m=(q-1)/2 Encrypts only 1 bit – large ciphertext expansion 1 bit requires n elements in Zq

Encrypting More Bits A A T R T + = + + = U V S k + = + k + M Encrypting k2 bits requires nk elements in Zq i.e. n/k elements in Zq per bit = U V

Encryption Scheme Overview Efficient Inefficient [HPS ’98] NTRU Cryptosystem over Z[x]/(xn-1) [Mic ’02, LM ‘06, PR ‘06] Basic Constructions over Z[x]/(f(x)) [Ajt ’96, AD ‘97] Basic CRH and Cryptosystem over Z [LPR ‘10] Ring-LWE and Practical Cryptosystem over Z[x]/(f(x)) [Reg ’05] Learning with Errors Cryptosystem over Z NTRUPrime, NTRU-Encrypt, NTRU-HSS, etc. NewHope, Kyber, Round2, Saber, etc … Frodo, Lizard, etc. PK, ciphertext ~ 10KB

Encryption from (polynomial / ring / generalized / module)-LWE

Hard Problem Intuition (Generalized / Ring / Module-LWE) Use Polynomial Rings Instead of Integers

Example Ring Z17[x]/(x4+1) Elements are z(x)=z3x3+z2x2+z1x+z0 where zi are integers mod 17 Addition is the usual coordinate-wise addition Multiplication is the usual polynomial multiplication followed by reduction modulo x4+1

Example Ring Z17[x]/(x4+1) (X3 - 2X - 1)(-3X2 + 6) = (-3X5 + 12X3 +3X2 -12X - 6) = (3X + 12X3 + 3X2 -12X - 6) = (-5X3 +3X2 +8X -6) Important: Reductions modulo X4+1 do not increase the coefficients! (For some moduli, there could be an exponential increase – these are not useful for crypto).

Encrypting More Bits A A t r t + = + + = = + - v u s u v s m = = + - v u s m u v Instead of 1 element in Z, make it 1 element in Z[X]/(Xd+1) i.e. work over R=Zq[X]/(Xd+1) instead of Zq An encryption of d integers.

Encryption Scheme Over Polynomial Rings + = t A t + Rq3 x 3 + m = - = + v u m u v s

Operations in CRYSTALS (our lattice suite submission to NIST) Basic Computational Domain: Polynomial ring Zp[x]/(x256+1) Operations used in the schemes: and in the ring: small coefficients

Operations in CRYSTALS Only two main operations needed (and both are very fast): Evaluations of SHAKE (can use another XOF too) Add / multiply in the polynomial ring Zp[X]/(X256+1) p = 213 – 29 + 1 (for KEM / Encryption Kyber) p = 223 – 213 + 1 (for Signature Dilithium) To increase security, just do more of the same operations The exact same hardware/software can be reused

to increase the security margin Modular security 768-dim to increase the security margin 1024-dim

NTRUPrime, NTRU-Encrypt, NTRU-HRSS, etc. Encryption Scheme Overview Efficient Inefficient [HPS ’98] NTRU Cryptosystem over Z[x]/(xn-1) [Mic ’02, LM ‘06, PR ‘06] Basic Constructions over Z[x]/(f(x)) [Ajt ’96, AD ‘97] Basic CRH and Cryptosystem over Z [LPR ‘10] Ring-LWE and Practical Cryptosystem over Z[x]/(f(x)) [Reg ’05] Learning with Errors Cryptosystem over Z NTRUPrime, NTRU-Encrypt, NTRU-HRSS, etc. Kyber, Round2, Saber, etc. PK, ciphertext ~ 1KB Frodo, Lizard, etc. PK, ciphertext ~ 10KB

NTRU Encryption

NTRU Cryptosystem f g Small secret keys f = a u = 2 a r + + m g u g = mod p mod p g “looks” random If a is random, then pseudorandom based on Ring-LWE u g = 2 f r + g + g m u g mod 2 = g m u g mod 2 = m g

Comparison (they’re virtually the same) a=f/g A t H(seed) t and a have the same size. But A=H(seed) needs to be re-generated Cannot efficiently make the NTRU public key consist of more polynomials f/g may be costlier to compute – makes a difference in ephemeral key exchange u u v The u have the same size. Only the high-order bits of v need to be transmitted.

NTRUPrime, NTRU-Encrypt, NTRU-HRSS Encryption Scheme Overview Efficient Inefficient [HPS ’98] NTRU Cryptosystem over Z[x]/(xn-1) [Mic ’02, LM ‘06, PR ‘06] Basic Constructions over Z[x]/(f(x)) [Ajt ’96, AD ‘97] Basic CRH and Cryptosystem over Z [LPR ‘10] Ring-LWE and Practical Cryptosystem over Z[x]/(f(x)) [Reg ’05] Learning with Errors Cryptosystem over Z NTRUPrime, NTRU-Encrypt, NTRU-HRSS PK, ciphertext ~ 1KB Kyber, Round2, Saber, etc. PK, ciphertext ~ 1KB Frodo, Lizard, etc. PK, ciphertext ~ 10KB

Small Variations Schemes made slightly more efficient by more “aggressive” constructions e.g. using secret / noise coefficients in a smaller range Instead of adding noise, doing rounding (chopping off bits) Unclear if there is any security penalty Analogous to saying: “I made SHA-3 more efficient by changing the compression function from 24 to 20 rounds”

Digital Signatures

Digital Signature Overview [HHPSW ‘03] Use NTRU trapdoor for Signatures [Lyu ‘09] “Fiat-Shamir with Aborts” Digital Signature (All are Zero-Knowledge in the QROM) [GPV ‘08] Made it Secure via Gaussian Sampling [DP ‘16] Made it Efficient [Lyu ‘12] Gaussian Rejection Sampling SIS + LWE Based [GLP ‘12] [BG ‘14], TESLA Signature Compression FALCON BLISS [DDLL ‘13] Bimodal Gaussian Sampling Dilithium Public Key + Signature Compression Based on NTRU Uses Discrete Gaussian Sampling Based on (Module-) LWE / SIS Uses Uniform Sampling Additionally useful for IBE Additionally useful for ZK-Proofs Signature Size

“Fiat-Shamir with Aborts” [Lyu ‘09]  …  [BG ‘14]

Public / Secret Keys Public key A:=XOF(seed) uniform mod p Secret key s1, s2 with small coefficients Public key t:=As1+s2

Signing and Verification As1+s2=t Sign(μ) y  Coefficients in [-γ, γ] c := H(high(Ay), μ) z := y + cs1 If |z| > γ – β or |low(Ay - cs2)|> γ – β restart Signature = (z, c) Verify(z, c, μ) Check that |z| ≤ γ – β and c=H(high(Az - ct) , μ) Needed for security Correct because high(Ay) = high(Az - ct)

Removing Low-Order PK bits As1+s2=t0+bt1 Sign(μ) y  Coefficients in [-γ, γ] c := H(high(Ay), μ) z := y + cs1 If |z| > γ – β or |low(Ay - cs2)|> γ – β restart Signature = (z, c) Verify(z, c, μ) Check that |z| ≤ γ – β and c=H(high(Az - cbt1) , μ) Az - ct + ct0 Want high(Ay) = high(Az - ct) = high(Az - ct + ct0) Give out “carries” caused by ct0 as hints

Dilithium (high-level overview) As1+s2=t0+bt1 Sign(μ) y  Coefficients in [-γ, γ] c := H(high(Ay), μ) z := y + cs1 If |z| > γ – β or |low(Ay - cs2)|> γ – β restart Create carry bit hint vector h Signature = (z, h, c) Verify(z, c, μ) Check that |z| ≤ γ – β and c=H(high(h “+” Az - cbt1) , μ) high(Ay) Hint h adds 100 – 200 bytes to the signature Saves ≈ 2KB in the public key

Digital Signature Overview [HHPSW ‘03] Use NTRU trapdoor for Signatures [Lyu ‘09] “Fiat-Shamir with Aborts” Digital Signature (All are Zero-Knowledge in the QROM) [GPV ‘08] Made it Secure via Gaussian Sampling [DP ‘16] Made it Efficient [Lyu ‘12] Gaussian Rejection Sampling SIS + LWE Based [GLP ‘12] [BG ‘14], TESLA Signature Compression FALCON BLISS [DDLL ‘13] Bimodal Gaussian Sampling Dilithium PK: 1.5KB Sig: 2.7KB Based on NTRU Uses Discrete Gaussian Sampling Based on (Module-) LWE / SIS Uses Uniform Sampling Additionally useful for IBE Additionally useful for ZK-Proofs Signature Size

Hash-and-Sign [HHPSW]  [GVP]…  FALCON

a FALCON y e z Small coefficients z=H(message) Signer has a “trapdoor” that allows him to find short y,e for any z Signing does not leak anything about the trapdoor

Digital Signature Overview [HHPSW ‘03] Use NTRU trapdoor for Signatures [Lyu ‘09] “Fiat-Shamir with Aborts” Digital Signature (All are Zero-Knowledge in the QROM) [GPV ‘08] Made it Secure via Gaussian Sampling [DP ‘16] Made it Efficient [Lyu ‘12] Gaussian Rejection Sampling SIS + LWE Based [GLP ‘12] [BG ‘14], TESLA Signature Compression FALCON PK: 0.900 / 1.8 KB Sig: 0.6 / 1.2 KB BLISS [DDLL ‘13] Bimodal Gaussian Sampling Dilithium PK: 1.5KB Sig: 2.7KB Based on NTRU Uses Discrete Gaussian Sampling Based on (Module-) LWE / SIS Uses Uniform Sampling Additionally useful for IBE Additionally useful for ZK-Proofs Signature Size

Personal PQ-Recommendations If you want minimal assumptions: Encryption / Key Exchange: Frodo (or something like it based on LWE) Signature: SPHINCS (or something like it using Merkle trees) If you care about efficiency: Encryption / Key Exchange: Kyber (or some other 1KB equivalent) Signature: Dilithium

Lattice Problems Leads to the smallest: pk + ciphertext for encryption (except for isogeny-based crypto, but lattices are much faster right now) pk + signature for digital signatures

Lattice Problems The most analyzed post-quantum assumption (against classical and quantum algorithms) Lovasz, Lenstra H., Lenstra A., Babai, Schnorr, Coppersmith, Shamir, Regev, Shor, etc. all worked on lattice algorithms or attacks against some lattice cryptoscheme No breakthrough novel techniques since LLL Cryptanalysis using known techniques is believed to be approaching a lower bound

Performance Comparisons PK Size Cipher Size KeyGen Cycles Enc. Cycles Dec. Cycles Frodo 11 KB 1200 K 1800 K Kyber 1.1 KB 1.2 KB 85 K 110 K PK Size Sig. Size Sign Cycles Verify Cycles SPHINCS 1 KB 40 KB 50,000 K 1,500 K Dilithium 1.5 KB 2.7 KB 500 K 175 K

Action Recommendations If you need post-quantum crypto now, don’t wait for NIST standards Many proposals are just small variants of well-studied problems (no breakthrough ideas in lattice crypto) Pick something and use it in tandem with current crypto Europe can create its own set of standards in under a year “The enemy of a good plan is the dream of a perfect plan”

Thank You.