Une preuve de sécurité pour le cryptosystème NTRU
Transcription
Une preuve de sécurité pour le cryptosystème NTRU
Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Une preuve de sécurité pour le cryptosystème NTRU Damien Stehlé et Ron Steinfeld CNRS – ENS de Lyon Macquarie University Grenoble, Mai 2012 Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 1/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRU cryptographic functions NTRUEncrypt: A public-key encryption scheme. 1996: Proposed by Hoffstein, Pipher & Silverman. 1997: Improved lattice attacks by Coppersmith & Shamir. 1998: Revised by Hoffstein et al. NTRUSign: A digital signature scheme. 2001: Hoffstein et al propose NSS. 2001 & 2002: Broken by Gentry, Jonsson, Stern & Szydlo. 2003: HoHGPiSiWh propose NTRUSign. 2003 & 2004: Many partial attacks. 2006: Total break of one of the two variants of NTRUSign, by Nguyen & Regev. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 2/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRU cryptographic functions NTRUEncrypt: A public-key encryption scheme. 1996: Proposed by Hoffstein, Pipher & Silverman. 1997: Improved lattice attacks by Coppersmith & Shamir. 1998: Revised by Hoffstein et al. NTRUSign: A digital signature scheme. 2001: Hoffstein et al propose NSS. 2001 & 2002: Broken by Gentry, Jonsson, Stern & Szydlo. 2003: HoHGPiSiWh propose NTRUSign. 2003 & 2004: Many partial attacks. 2006: Total break of one of the two variants of NTRUSign, by Nguyen & Regev. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 2/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Why studying NTRUEncrypt? Standardized & commercialized. Super-fast (comparison to 1024-bit RSA, based on an NTRU brochure): Encryption ∼ 10 times faster. Decryption ∼ 100 times faster. e e 6 ), for security 2λ . Asymptotically: O(λ) versus O(λ Interesting security features: Does not rely on the hardness of Int-Fac or DLog. Seems to resist practical attacks. Seems to resist quantum attacks. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 3/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Why studying NTRUEncrypt? Standardized & commercialized. Super-fast (comparison to 1024-bit RSA, based on an NTRU brochure): Encryption ∼ 10 times faster. Decryption ∼ 100 times faster. e e 6 ), for security 2λ . Asymptotically: O(λ) versus O(λ Interesting security features: Does not rely on the hardness of Int-Fac or DLog. Seems to resist practical attacks. Seems to resist quantum attacks. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 3/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Our main result An IND-CPA variant of NTRUEncrypt It is possible to modify NTRUEncrypt so that: e Encryption and decryption of λ bits still cost O(λ). Any semantic attack with run-time T leads to a Poly (n, T ) quantum algorithm for Poly (n)-Ideal-SVP. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 4/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Our main result An IND-CPA variant of NTRUEncrypt It is possible to modify NTRUEncrypt so that: e Encryption and decryption of λ bits still cost O(λ). Any semantic attack with run-time T leads to a Poly (n, T ) quantum algorithm for Poly (n)-Ideal-SVP. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 4/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Our main result An IND-CPA variant of NTRUEncrypt It is possible to modify NTRUEncrypt so that: e Encryption and decryption of λ bits still cost O(λ). Any semantic attack with run-time T leads to a Poly (n, T ) quantum algorithm for Poly (n)-Ideal-SVP. Semantic security (IND-CPA): Given the public parameters, the attacker cannot distinguish between the encryptions of two plaintexts of his choice. Similar result for NTRUSign, in the random oracle model and with a non-quantum security proof. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 4/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Outline of the talk 1- Regular NTRUEncrypt. 2- The Ideal-SVP and R-LWE problems. 3- The modified NTRUEncrypt. 4- Modifying NTRUSign. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 5/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z Take Φ ∈ Z[x] monic of degree n. h i R Φ := Z[x]/(Φ), +, × . Interesting Φ’s: Φ = x n − 1 → R −, Φ = x n + 1 → R +. x n + 1 irreducible if n is a power of 2. In this case, R Φ is isomorphic to the ring of integers of the cyclotomic number field: Q[eiπ/n ] ' Q[x]/(Φ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 6/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z Take Φ ∈ Z[x] monic of degree n. h i R Φ := Z[x]/(Φ), +, × . Interesting Φ’s: Φ = x n − 1 → R −, Φ = x n + 1 → R +. x n + 1 irreducible if n is a power of 2. In this case, R Φ is isomorphic to the ring of integers of the cyclotomic number field: Q[eiπ/n ] ' Q[x]/(Φ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 6/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z Take Φ ∈ Z[x] monic of degree n. h i R Φ := Z[x]/(Φ), +, × . Interesting Φ’s: Φ = x n − 1 → R −, Φ = x n + 1 → R +. x n + 1 irreducible if n is a power of 2. In this case, R Φ is isomorphic to the ring of integers of the cyclotomic number field: Q[eiπ/n ] ' Q[x]/(Φ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 6/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z/qZ Let q ≥ 2 and Zq = Z/qZ. h i RqΦ := Zq [x]/(Φ), +, × = R Φ /(q) = Z[x]/(Φ, q). e log q). Arithmetic in RqΦ costs O(n Rq− and Rq+ defined similarly. If Φ = x n ± 1 has n distinct linear factors modulo prime q, then RqΦ comes with a natural FFT. The key to decryption correctness If f ∈ R Φ has coefficients in (−q/2, q/2), then (f mod q) is f . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 7/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z/qZ Let q ≥ 2 and Zq = Z/qZ. h i RqΦ := Zq [x]/(Φ), +, × = R Φ /(q) = Z[x]/(Φ, q). e log q). Arithmetic in RqΦ costs O(n Rq− and Rq+ defined similarly. If Φ = x n ± 1 has n distinct linear factors modulo prime q, then RqΦ comes with a natural FFT. The key to decryption correctness If f ∈ R Φ has coefficients in (−q/2, q/2), then (f mod q) is f . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 7/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z/qZ Let q ≥ 2 and Zq = Z/qZ. h i RqΦ := Zq [x]/(Φ), +, × = R Φ /(q) = Z[x]/(Φ, q). e log q). Arithmetic in RqΦ costs O(n Rq− and Rq+ defined similarly. If Φ = x n ± 1 has n distinct linear factors modulo prime q, then RqΦ comes with a natural FFT. The key to decryption correctness If f ∈ R Φ has coefficients in (−q/2, q/2), then (f mod q) is f . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 7/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Polynomial Rings: Generalizing Z/qZ Let q ≥ 2 and Zq = Z/qZ. h i RqΦ := Zq [x]/(Φ), +, × = R Φ /(q) = Z[x]/(Φ, q). e log q). Arithmetic in RqΦ costs O(n Rq− and Rq+ defined similarly. If Φ = x n ± 1 has n distinct linear factors modulo prime q, then RqΦ comes with a natural FFT. The key to decryption correctness If f ∈ R Φ has coefficients in (−q/2, q/2), then (f mod q) is f . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 7/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part I Parameters: n prime, q ≈ n a power of 2. E.g.: (n, q) = (503, 256). Secret key sk: f , g ∈ R − such that: f is invertible mod q and mod 3. The coeffs of f and g are in {−1, 0, 1}. Public key pk: h = g /f mod q. Security intuition Given h ∈ Rq , finding g , f ∈ R small s.t. h = g /f [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 8/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part I Parameters: n prime, q ≈ n a power of 2. E.g.: (n, q) = (503, 256). Secret key sk: f , g ∈ R − such that: f is invertible mod q and mod 3. The coeffs of f and g are in {−1, 0, 1}. Public key pk: h = g /f mod q. Security intuition Given h ∈ Rq , finding g , f ∈ R small s.t. h = g /f [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 8/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part I Parameters: n prime, q ≈ n a power of 2. E.g.: (n, q) = (503, 256). Secret key sk: f , g ∈ R − such that: f is invertible mod q and mod 3. The coeffs of f and g are in {−1, 0, 1}. Public key pk: h = g /f mod q. Security intuition Given h ∈ Rq , finding g , f ∈ R small s.t. h = g /f [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 8/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part I Parameters: n prime, q ≈ n a power of 2. E.g.: (n, q) = (503, 256). Secret key sk: f , g ∈ R − such that: f is invertible mod q and mod 3. The coeffs of f and g are in {−1, 0, 1}. Public key pk: h = g /f mod q. Security intuition Given h ∈ Rq , finding g , f ∈ R small s.t. h = g /f [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 8/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part II sk: f , g ∈ R small with f invertible mod q and mod 3. pk: h = g /f mod q. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 9/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part II sk: f , g ∈ R small with f invertible mod q and mod 3. pk: h = g /f mod q. Encryption of M ∈ {0, 1}[x]/(x n − 1): Sample s ∈ Rq− with coeffs in {−1, 0, 1}, Return C := 3hs + M mod q. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 9/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part II sk: f , g ∈ R small with f invertible mod q and mod 3. pk: h = g /f mod q. Encryption of M ∈ {0, 1}[x]/(x n − 1): Sample s ∈ Rq− with coeffs in {−1, 0, 1}, Return C := 3hs + M mod q. Decryption of C ∈ Rq− : f × C = 3gs + fM mod q. g , M, f , s small ⇒ equality holds over R − . (f × C mod q) mod 3 = fM mod 3. Multiply by the inverse of f mod 3. Security intuition Given C ∈ Rq , finding M, s ∈ R small s.t. C = 3hs + M [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 9/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Description of NTRUEncrypt, Part II sk: f , g ∈ R small with f invertible mod q and mod 3. pk: h = g /f mod q. Encryption of M ∈ {0, 1}[x]/(x n − 1): Sample s ∈ Rq− with coeffs in {−1, 0, 1}, Return C := 3hs + M mod q. Decryption of C ∈ Rq− : f × C = 3gs + fM mod q. g , M, f , s small ⇒ equality holds over R − . (f × C mod q) mod 3 = fM mod 3. Multiply by the inverse of f mod 3. Security intuition Given C ∈ Rq , finding M, s ∈ R small s.t. C = 3hs + M [q] is hard. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 9/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Outline of the talk 1- Regular NTRUEncrypt. 2- The Ideal-SVP and R-LWE problems. 3- The modified NTRUEncrypt. 4- Modifying NTRUSign. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 10/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Ideals in R Φ I ⊆ R Φ is an ideal if: ∀a, b ∈ I , ∀r ∈ R Φ : a + b · r ∈ I . Let’s identify polynomials to vectors via their coefficients: PR Φ i<n fi xi → Zn 7 → (f0 , . . . , fn−1 )t Ideal I is mapped to an integer lattice. A Φ-ideal lattice is a lattice corresponding to an ideal of R Φ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 11/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Ideals in R Φ I ⊆ R Φ is an ideal if: ∀a, b ∈ I , ∀r ∈ R Φ : a + b · r ∈ I . Let’s identify polynomials to vectors via their coefficients: PR Φ i<n fi xi → Zn 7 → (f0 , . . . , fn−1 )t Ideal I is mapped to an integer lattice. A Φ-ideal lattice is a lattice corresponding to an ideal of R Φ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 11/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Ideals in R Φ I ⊆ R Φ is an ideal if: ∀a, b ∈ I , ∀r ∈ R Φ : a + b · r ∈ I . Let’s identify polynomials to vectors via their coefficients: PR Φ i<n fi xi → Zn 7 → (f0 , . . . , fn−1 )t Ideal I is mapped to an integer lattice. A Φ-ideal lattice is a lattice corresponding to an ideal of R Φ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 11/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion (Integral) lattices and the Shortest Vector Problem P Lattice ≡ { i≤n xi bi : xi ∈ Z}, for some lin. independent bi ’s. Minimum: λ = min(kbk : b ∈ L \ 0). γ-SVP (computational variant) Find b ∈ L with: 0 < kbk ≤ γ · λ(L). No known sub-exp. algo. for γ = Poly (n). γ-Ideal-SVP: γ-SVP restricted to Φ-ideal lattices. Does not seem easier than SVP. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 12/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion (Integral) lattices and the Shortest Vector Problem P Lattice ≡ { i≤n xi bi : xi ∈ Z}, for some lin. independent bi ’s. Minimum: λ = min(kbk : b ∈ L \ 0). γ-SVP (computational variant) Find b ∈ L with: 0 < kbk ≤ γ · λ(L). No known sub-exp. algo. for γ = Poly (n). γ-Ideal-SVP: γ-SVP restricted to Φ-ideal lattices. Does not seem easier than SVP. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 12/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion (Integral) lattices and the Shortest Vector Problem P Lattice ≡ { i≤n xi bi : xi ∈ Z}, for some lin. independent bi ’s. Minimum: λ = min(kbk : b ∈ L \ 0). γ-SVP (computational variant) Find b ∈ L with: 0 < kbk ≤ γ · λ(L). No known sub-exp. algo. for γ = Poly (n). γ-Ideal-SVP: γ-SVP restricted to Φ-ideal lattices. Does not seem easier than SVP. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 12/33 Introduction Regular NTRUEncrypt The R-LWE problem Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion [LyPeRe’10] A couple of distributions: The noise distribution. For α > 0, we define να as the n-dimensional normal law of standard deviation α, rounded to Zn and interpreted as an element of R + . The R-LWE distribution. We define Dα as the distribution obtained as follows: Sample a ←- U(Rq+ ), s ←- να , e ←- να , Return (a, as + e) ∈ Rq+ × Rq+ . R-LWEq,α (Decisional variant with one sample) Tell whether a given (a, b) is sampled from Dα or U(Rq+ × Rq+ ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 13/33 Introduction Regular NTRUEncrypt The R-LWE problem Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion [LyPeRe’10] A couple of distributions: The noise distribution. For α > 0, we define να as the n-dimensional normal law of standard deviation α, rounded to Zn and interpreted as an element of R + . The R-LWE distribution. We define Dα as the distribution obtained as follows: Sample a ←- U(Rq+ ), s ←- να , e ←- να , Return (a, as + e) ∈ Rq+ × Rq+ . R-LWEq,α (Decisional variant with one sample) Tell whether a given (a, b) is sampled from Dα or U(Rq+ × Rq+ ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 13/33 Introduction Regular NTRUEncrypt R-LWE is hard Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion [LyPeRe’10] R-LWEq,α Tell whether a given (a, b) is sampled from Dα or U(Rq+ × Rq+ ). R-LWE is no easier than Poly (n)-Ideal-SVP Take q = Poly (n) with q = 1 mod 2n, and α = q/Poly (n). Solving R-LWEq,α with non-negligible advantage is computationally infeasible, assuming the quantum hardness of Poly (n)-Ideal-SVP. e Sampling from να costs O(n). Samples from να are small with very high probability: √ their Euclidean norms are ≤ n · α with probability ≥ 1 − 2−n . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 14/33 Introduction Regular NTRUEncrypt R-LWE is hard Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion [LyPeRe’10] R-LWEq,α Tell whether a given (a, b) is sampled from Dα or U(Rq+ × Rq+ ). R-LWE is no easier than Poly (n)-Ideal-SVP Take q = Poly (n) with q = 1 mod 2n, and α = q/Poly (n). Solving R-LWEq,α with non-negligible advantage is computationally infeasible, assuming the quantum hardness of Poly (n)-Ideal-SVP. e Sampling from να costs O(n). Samples from να are small with very high probability: √ their Euclidean norms are ≤ n · α with probability ≥ 1 − 2−n . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 14/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Outline of the talk 1- Regular NTRUEncrypt. 2- The Ideal-SVP and R-LWE problems. 3- The modified NTRUEncrypt. 4- Modifying NTRUSign. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 15/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Some intuition NTRUEncrypt: pk: h = g /f ∈ Rq− with f , g small. Enc: M 7→ 3hs + M mod q, where s is small. IND-CPA: we would like (h, 3hs) to be pseudo-random. It’s not! Divide RHS by h and check for smallness. R-LWE hardness: (a, as + e) ≈c U(Rq+ × Rq+ ), where a ←- U(Rq+ ), s, e ←- να . Let’s change rings and replace “(h, hs)” by “(a, as + e)”! Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 16/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Some intuition NTRUEncrypt: pk: h = g /f ∈ Rq− with f , g small. Enc: M 7→ 3hs + M mod q, where s is small. IND-CPA: we would like (h, 3hs) to be pseudo-random. It’s not! Divide RHS by h and check for smallness. R-LWE hardness: (a, as + e) ≈c U(Rq+ × Rq+ ), where a ←- U(Rq+ ), s, e ←- να . Let’s change rings and replace “(h, hs)” by “(a, as + e)”! Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 16/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Some intuition NTRUEncrypt: pk: h = g /f ∈ Rq− with f , g small. Enc: M 7→ 3hs + M mod q, where s is small. IND-CPA: we would like (h, 3hs) to be pseudo-random. It’s not! Divide RHS by h and check for smallness. R-LWE hardness: (a, as + e) ≈c U(Rq+ × Rq+ ), where a ←- U(Rq+ ), s, e ←- να . Let’s change rings and replace “(h, hs)” by “(a, as + e)”! Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 16/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Some intuition NTRUEncrypt: pk: h = g /f ∈ Rq− with f , g small. Enc: M 7→ 3hs + M mod q, where s is small. IND-CPA: we would like (h, 3hs) to be pseudo-random. It’s not! Divide RHS by h and check for smallness. R-LWE hardness: (a, as + e) ≈c U(Rq+ × Rq+ ), where a ←- U(Rq+ ), s, e ←- να . Let’s change rings and replace “(h, hs)” by “(a, as + e)”! Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 16/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Is it that simple? Enc: M 7→ 3hs + M mod q, where s is small. R-LWE: (a, as + e), where a ←- U(Rq+ ), s, e ←- να . Changing rings and replacing “(h, hs)” by “(a, as + e)”? Good news: s, e are small ⇒ decryption still works. q prime ⇒ multiplying by p = 3 preserves pseudo-randomness. Everything remains (asymptotically) efficient. The catch: Relying on R-LWE requires h uniform in Rq+ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 17/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Is it that simple? Enc: M 7→ 3hs + M mod q, where s is small. R-LWE: (a, as + e), where a ←- U(Rq+ ), s, e ←- να . Changing rings and replacing “(h, hs)” by “(a, as + e)”? Good news: s, e are small ⇒ decryption still works. q prime ⇒ multiplying by p = 3 preserves pseudo-randomness. Everything remains (asymptotically) efficient. The catch: Relying on R-LWE requires h uniform in Rq+ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 17/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Is it that simple? Enc: M 7→ 3hs + M mod q, where s is small. R-LWE: (a, as + e), where a ←- U(Rq+ ), s, e ←- να . Changing rings and replacing “(h, hs)” by “(a, as + e)”? Good news: s, e are small ⇒ decryption still works. q prime ⇒ multiplying by p = 3 preserves pseudo-randomness. Everything remains (asymptotically) efficient. The catch: Relying on R-LWE requires h uniform in Rq+ . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 17/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The modified scheme Parameters: n prime, q ≈ n a power of 2. Key generation: sk: f , g ∈ R − with: f invertible mod q and 3. Coeffs of f and g in {−1, 0, 1}. pk: h = g /f mod q. Encryption of M ∈ {0, 1}[x]/(x n − 1): C := 3hs + M mod q, with coeffs of s in {−1, 0, 1}. Decryption of C ∈ Rq− : f × C mod q = 3gs + fM. (f × C mod q) mod 3 = fM mod 3. Multiply by the inverse of f mod 3. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 18/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The modified scheme Parameters: n a power of 2, q = Poly (n) prime s.t. q = 1 [2n]. Key generation: sk: f , g ∈ R + with: f invertible mod q and 2. √ Coeffs of f and g of magnitude ≈ q. pk: h = g /f mod q. Encryption of M ∈ {0, 1}[x]/(x n +1): C := 2(hs + e) + M mod q, with s, e ←- να . Decryption of C ∈ Rq+ : f × C mod q = 2(gs + fe) + fM. (f × C mod q) mod 2 = fM mod 2. Multiply by the inverse of f mod 2. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 18/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform We want h uniform while having f and g with small coeffs. √ If we want a chance, we need the magnitudes to be ≥ q. The distribution Dσ× used for f and g 1 Sample f from the discrete Gaussian DZn ,σ , using [GePeVa’08]: kxk2 ∀x ∈ Z , DZn ,σ [x] ∼ exp −π 2 . σ n 2 If f is not invertible in Rq+ , restart. It’s a discrete Gaussian with a non-lattice support. We also want f invertible mod 2: handled by tweaking Dσ× . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 19/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform We want h uniform while having f and g with small coeffs. √ If we want a chance, we need the magnitudes to be ≥ q. The distribution Dσ× used for f and g 1 Sample f from the discrete Gaussian DZn ,σ , using [GePeVa’08]: kxk2 ∀x ∈ Z , DZn ,σ [x] ∼ exp −π 2 . σ n 2 If f is not invertible in Rq+ , restart. It’s a discrete Gaussian with a non-lattice support. We also want f invertible mod 2: handled by tweaking Dσ× . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 19/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform We want h uniform while having f and g with small coeffs. √ If we want a chance, we need the magnitudes to be ≥ q. The distribution Dσ× used for f and g 1 Sample f from the discrete Gaussian DZn ,σ , using [GePeVa’08]: kxk2 ∀x ∈ Z , DZn ,σ [x] ∼ exp −π 2 . σ n 2 If f is not invertible in Rq+ , restart. It’s a discrete Gaussian with a non-lattice support. We also want f invertible mod 2: handled by tweaking Dσ× . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 19/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform Our main technical contribution e · q 12 +ε ) with ε > 0, then: If σ = Ω(n × Dσ × ∆ mod q , U(Rq ) ≤ q −Ω(ε·n) , Dσ× P where ∆(D1 , D2 ) = 21 t |D1 (t) − D2 (t)| is the stat. distance. √ If f ←- Dσ× , then kf k ≤ σ n, with overwhelming probability. We don’t get uniformity in Rq but only in Rq× . R-LWE is still hard if h is restricted to U(Rq× ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 20/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform Our main technical contribution e · q 12 +ε ) with ε > 0, then: If σ = Ω(n × Dσ × ∆ mod q , U(Rq ) ≤ q −Ω(ε·n) , Dσ× P where ∆(D1 , D2 ) = 21 t |D1 (t) − D2 (t)| is the stat. distance. √ If f ←- Dσ× , then kf k ≤ σ n, with overwhelming probability. We don’t get uniformity in Rq but only in Rq× . R-LWE is still hard if h is restricted to U(Rq× ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 20/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making h = g /f statistically close to uniform Our main technical contribution e · q 12 +ε ) with ε > 0, then: If σ = Ω(n × Dσ × ∆ mod q , U(Rq ) ≤ q −Ω(ε·n) , Dσ× P where ∆(D1 , D2 ) = 21 t |D1 (t) − D2 (t)| is the stat. distance. √ If f ←- Dσ× , then kf k ≤ σ n, with overwhelming probability. We don’t get uniformity in Rq but only in Rq× . R-LWE is still hard if h is restricted to U(Rq× ). Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 20/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Proving uniformity in two steps Step 1: We show that if ai ←- U(Rq× ) and ti ←- Dσ : ∆ (a1 , a2 , t1 a1 + t2 a2 ); U(Rq× × Rq× × Rq ) ≤ q −Ω(εn) . Step 2: We observe that for a = −a2 /a1 : Pr [t1 /t2 = a [q]] = Pr [a1 t1 + a2 t2 = 0 [q]], t1 ,t2 t1 ,t2 where the ti ’s are from Dσ× . Step 2 would be easy if the ti ’s were sampled from a lattice. But {x ∈ Zn , x ∈ Rq× } is not a lattice. Handled by inclusion-exclusion, involving the ideals of Rq . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 21/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Proving uniformity in two steps Step 1: We show that if ai ←- U(Rq× ) and ti ←- Dσ : ∆ (a1 , a2 , t1 a1 + t2 a2 ); U(Rq× × Rq× × Rq ) ≤ q −Ω(εn) . Step 2: We observe that for a = −a2 /a1 : Pr [t1 /t2 = a [q]] = Pr [a1 t1 + a2 t2 = 0 [q]], t1 ,t2 t1 ,t2 where the ti ’s are from Dσ× . Step 2 would be easy if the ti ’s were sampled from a lattice. But {x ∈ Zn , x ∈ Rq× } is not a lattice. Handled by inclusion-exclusion, involving the ideals of Rq . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 21/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Proving uniformity in two steps Step 1: We show that if ai ←- U(Rq× ) and ti ←- Dσ : ∆ (a1 , a2 , t1 a1 + t2 a2 ); U(Rq× × Rq× × Rq ) ≤ q −Ω(εn) . Step 2: We observe that for a = −a2 /a1 : Pr [t1 /t2 = a [q]] = Pr [a1 t1 + a2 t2 = 0 [q]], t1 ,t2 t1 ,t2 where the ti ’s are from Dσ× . Step 2 would be easy if the ti ’s were sampled from a lattice. But {x ∈ Zn , x ∈ Rq× } is not a lattice. Handled by inclusion-exclusion, involving the ideals of Rq . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 21/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Proving uniformity in two steps Step 1: We show that if ai ←- U(Rq× ) and ti ←- Dσ : ∆ (a1 , a2 , t1 a1 + t2 a2 ); U(Rq× × Rq× × Rq ) ≤ q −Ω(εn) . Step 2: We observe that for a = −a2 /a1 : Pr [t1 /t2 = a [q]] = Pr [a1 t1 + a2 t2 = 0 [q]], t1 ,t2 t1 ,t2 where the ti ’s are from Dσ× . Step 2 would be easy if the ti ’s were sampled from a lattice. But {x ∈ Zn , x ∈ Rq× } is not a lattice. Handled by inclusion-exclusion, involving the ideals of Rq . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 21/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Outline of the talk 1- Regular NTRUEncrypt. 2- The Ideal-SVP and R-LWE problems. 3- The modified NTRUEncrypt. 4- Modifying NTRUSign. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 22/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRU lattice Recall that R = Z[x]/(x n + 1) and Rq = Zq [x]/(x n + 1). Given h = g /f ∈ Rq , we consider the lattice spanned by: Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 23/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Conclusion Securing NTRUSign The NTRU lattice Recall that R = Z[x]/(x n + 1) and Rq = Zq [x]/(x n + 1). Given h = g /f ∈ Rq , we consider the lattice spanned by: 1 0 .. . 0 1 .. . 0 1 0 0 = h0 −hn−1 h q h1 h0 .. .. . . hn−1 hn−2 Damien Stehlé ... ... .. . 0 0 .. . ... 1 . . . −h1 . . . −h2 .. .. . . . . . h0 0 0 .. . 0 0 .. . ... ... .. . 0 0 .. . 0 q 0 .. . 0 0 q .. . ... ... ... .. . 0 0 0 .. . 0 0 ... q Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 23/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRU R-module/Z-lattice Matrix +/× are consistent with +/× in ring R: 1 0 f f · = . f · h mod q h q Secret key (f , g )t is a short lattice vector of: 1 h 0 q L = R· +R · x1 2 ⊆ ∈ R : hx1 + x2 = 0 [q] . x2 Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 24/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRU R-module/Z-lattice Matrix +/× are consistent with +/× in ring R: 1 0 f f · = . f · h mod q h q Secret key (f , g )t is a short lattice vector of: 1 h 0 q L = R· +R · x1 2 ⊆ ∈ R : hx1 + x2 = 0 [q] . x2 Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 24/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion NTRUSign Assume we have a small module basis of L: 1 0 f F ·U = , for some U ∈ GL2 (R). h q g G NTRUSign follows the hash-and-sign paradigm: Public key: h; secret key: small module basis. To sign M, use sk to get s1 , s2 ∈ R small with hs1 + s2 = H(M) [q]. To verify (M, s1 , s2 ): check hs1 + s2 = H(M) [q] and ks1 k, ks2 k small. Security based on a variant of R-LWE, in the random oracle model. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 25/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion NTRUSign Assume we have a small module basis of L: 1 0 f F ·U = , for some U ∈ GL2 (R). h q g G NTRUSign follows the hash-and-sign paradigm: Public key: h; secret key: small module basis. To sign M, use sk to get s1 , s2 ∈ R small with hs1 + s2 = H(M) [q]. To verify (M, s1 , s2 ): check hs1 + s2 = H(M) [q] and ks1 k, ks2 k small. Security based on a variant of R-LWE, in the random oracle model. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 25/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion NTRUSign Assume we have a small module basis of L: 1 0 f F ·U = , for some U ∈ GL2 (R). h q g G NTRUSign follows the hash-and-sign paradigm: Public key: h; secret key: small module basis. To sign M, use sk to get s1 , s2 ∈ R small with hs1 + s2 = H(M) [q]. To verify (M, s1 , s2 ): check hs1 + s2 = H(M) [q] and ks1 k, ks2 k small. Security based on a variant of R-LWE, in the random oracle model. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 25/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Two problems with NTRUSign Public key: h; secret key: small module basis. To sign M, use sk to get s1 , s2 ∈ R small with hs1 + s2 = H(M) [q]. Problem 1: The “perturbations”. Choose t1 , t2 with ht1 + t2 = H(M) [q], and then perturb (t1 , t2 ) by a random lattice point. No perturbation ⇒ secret key is revealed [NgRe’08]. ⇒ Fixed by using a discrete Gaussian [GePeVa’08,Peikert’10]. Problem 2: The key-pair. NTRU’s extension of short vector to short basis is heuristic . . . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 26/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Two problems with NTRUSign Public key: h; secret key: small module basis. To sign M, use sk to get s1 , s2 ∈ R small with hs1 + s2 = H(M) [q]. Problem 1: The “perturbations”. Choose t1 , t2 with ht1 + t2 = H(M) [q], and then perturb (t1 , t2 ) by a random lattice point. No perturbation ⇒ secret key is revealed [NgRe’08]. ⇒ Fixed by using a discrete Gaussian [GePeVa’08,Peikert’10]. Problem 2: The key-pair. NTRU’s extension of short vector to short basis is heuristic . . . Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 26/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Remaining difficulty: getting a small module basis We have h, f , g such that: h is (essentially) uniform in Rq× . (f , g )t is a small non-zero vector in the module spanned by: 1 0 h q We want to find F , G s.t.: 1 0 f F ·U = , for some U ∈ GL2 (R). h q g G Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 27/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Remaining difficulty: getting a small module basis We have h, f , g such that: h is (essentially) uniform in Rq× . (f , g )t is a small non-zero vector in the module spanned by: 1 0 h q We want to find F , G s.t.: 1 0 f F ·U = , for some U ∈ GL2 (R). h q g G Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 27/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRUSign secret key extension procedure 1 It is likely that f and g are coprime in R. ∃u1 , u2 ∈ R, u1 f + u2 g = 1. 2 3 4 Take Fq = qu2 and Gq = −qu1 . f Fq is a basis of the NTRU module. g Gq Make it small by reducing the second vector wrt the first one: m j hb1 ,b2 i b1 , b2 := b2 − hb 1 ,b1 i with h·, ·i and b·c taken over R. This procedure is efficient, but heuristic because of Step 1. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 28/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRUSign secret key extension procedure 1 It is likely that f and g are coprime in R. ∃u1 , u2 ∈ R, u1 f + u2 g = 1. 2 3 4 Take Fq = qu2 and Gq = −qu1 . f Fq is a basis of the NTRU module. g Gq Make it small by reducing the second vector wrt the first one: m j hb1 ,b2 i b1 , b2 := b2 − hb 1 ,b1 i with h·, ·i and b·c taken over R. This procedure is efficient, but heuristic because of Step 1. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 28/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRUSign secret key extension procedure 1 It is likely that f and g are coprime in R. ∃u1 , u2 ∈ R, u1 f + u2 g = 1. 2 3 4 Take Fq = qu2 and Gq = −qu1 . f Fq is a basis of the NTRU module. g Gq Make it small by reducing the second vector wrt the first one: m j hb1 ,b2 i b1 , b2 := b2 − hb 1 ,b1 i with h·, ·i and b·c taken over R. This procedure is efficient, but heuristic because of Step 1. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 28/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The NTRUSign secret key extension procedure 1 It is likely that f and g are coprime in R. ∃u1 , u2 ∈ R, u1 f + u2 g = 1. 2 3 4 Take Fq = qu2 and Gq = −qu1 . f Fq is a basis of the NTRU module. g Gq Make it small by reducing the second vector wrt the first one: m j hb1 ,b2 i b1 , b2 := b2 − hb 1 ,b1 i with h·, ·i and b·c taken over R. This procedure is efficient, but heuristic because of Step 1. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 28/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making the NTRUSign secret key extension rigorous Is it likely that f and g are coprime in R? In our case, f , g ←- Dσ× . Two “random” integers are coprime with prob. 1/ζ(2), where ζ(2) = X 1 π2 . = p2 6 k∈Z We adapt this to R and Dσ : if σ is large enough, the probability that f , g ←- Dσ are coprime is: ≥ 1 where ζR (2) := 2ζR (2) 1 = O(1). (det I )2 X I ideal of R Moving from Dσ to Dσ× is easy. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 29/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making the NTRUSign secret key extension rigorous Is it likely that f and g are coprime in R? In our case, f , g ←- Dσ× . Two “random” integers are coprime with prob. 1/ζ(2), where ζ(2) = X 1 π2 . = p2 6 k∈Z We adapt this to R and Dσ : if σ is large enough, the probability that f , g ←- Dσ are coprime is: ≥ 1 where ζR (2) := 2ζR (2) 1 = O(1). (det I )2 X I ideal of R Moving from Dσ to Dσ× is easy. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 29/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making the NTRUSign secret key extension rigorous Is it likely that f and g are coprime in R? In our case, f , g ←- Dσ× . Two “random” integers are coprime with prob. 1/ζ(2), where ζ(2) = X 1 π2 . = p2 6 k∈Z We adapt this to R and Dσ : if σ is large enough, the probability that f , g ←- Dσ are coprime is: ≥ 1 where ζR (2) := 2ζR (2) 1 = O(1). (det I )2 X I ideal of R Moving from Dσ to Dσ× is easy. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 29/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making the NTRUSign secret key extension rigorous Is it likely that f and g are coprime in R? In our case, f , g ←- Dσ× . Two “random” integers are coprime with prob. 1/ζ(2), where ζ(2) = X 1 π2 . = p2 6 k∈Z We adapt this to R and Dσ : if σ is large enough, the probability that f , g ←- Dσ are coprime is: ≥ 1 where ζR (2) := 2ζR (2) 1 = O(1). (det I )2 X I ideal of R Moving from Dσ to Dσ× is easy. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 29/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Making the NTRUSign secret key extension rigorous Is it likely that f and g are coprime in R? In our case, f , g ←- Dσ× . Two “random” integers are coprime with prob. 1/ζ(2), where ζ(2) = X 1 π2 . = p2 6 k∈Z We adapt this to R and Dσ : if σ is large enough, the probability that f , g ←- Dσ are coprime is: ≥ 1 where ζR (2) := 2ζR (2) 1 = O(1). (det I )2 X I ideal of R Moving from Dσ to Dσ× is easy. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 29/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion The modified NTRUSign key generation procedure 1 Sample f , g from Dσ× . 2 If f , g are not co-prime in R, restart. 3 Public key: h = g /f [q]. 4 Get secret key using NTRU’s key extension procedure. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 30/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Outline of the talk 1- Regular NTRUEncrypt. 2- The Ideal-SVP and R-LWE problems. 3- The modified NTRUEncrypt. 4- Modifying NTRUSign. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 31/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion What’s the interest of this result? What we prove: There are variants of NTRUEncrypt and NTRUSign that are secure under the assumption that Poly (n)-Ideal-SVP is hard. They’re asymptotically as efficient as the original schemes. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 32/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion What’s the interest of this result? What we prove: There are variants of NTRUEncrypt and NTRUSign that are secure under the assumption that Poly (n)-Ideal-SVP is hard. They’re asymptotically as efficient as the original schemes. It does not mean we should blindly move to the provable variants: They are most likely less practical. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 32/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion What’s the interest of this result? What we prove: There are variants of NTRUEncrypt and NTRUSign that are secure under the assumption that Poly (n)-Ideal-SVP is hard. They’re asymptotically as efficient as the original schemes. It does not mean we should blindly move to the provable variants: They are most likely less practical. What it means: The general design of NTRUEncrypt is sound. It hints that we could replace hs by hs + e, to thwart trivial semantic attacks. take less small coeffs for f , g , s, e, to improve security. Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 32/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Work in progress and open problems X A provably IND-CCA variant of NTRUEncrypt. What about practice? Which optimisations do not lower security? What are the limits of the best known practical attacks? How do we extrapolate these limits to reach given security levels? Is Poly (n)-Ideal-SVP really so hard? Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 33/33 Introduction Regular NTRUEncrypt Ring-LWE Securing NTRUEncrypt Securing NTRUSign Conclusion Work in progress and open problems X A provably IND-CCA variant of NTRUEncrypt. What about practice? Which optimisations do not lower security? What are the limits of the best known practical attacks? How do we extrapolate these limits to reach given security levels? Is Poly (n)-Ideal-SVP really so hard? Damien Stehlé Une preuve de sécurité pour le cryptosystème NTRU 31/05/2012 33/33