Lattice-based cryptography
Lattice-based cryptography is the generic term for constructions of cryptographic primitives that involve lattices, either in the construction itself or in the security proof. Lattice-based constructions support important standards of post-quantum cryptography.[1] Unlike more widely used and known public-key schemes such as the RSA, Diffie-Hellman or elliptic-curve cryptosystems — which could, theoretically, be defeated using Shor's algorithm on a quantum computer — some lattice-based constructions appear to be resistant to attack by both classical and quantum computers. Furthermore, many lattice-based constructions are considered to be secure under the assumption that certain well-studied computational lattice problems cannot be solved efficiently.
History
In 1996, Miklós Ajtai introduced the first lattice-based cryptographic construction whose security could be based on the hardness of well-studied lattice problems,[2] and Cynthia Dwork showed that a certain average-case lattice problem, known as short integer solutions (SIS), is at least as hard to solve as a worst-case lattice problem.[3] She then showed a cryptographic hash function whose security is equivalent to the computational hardness of SIS.
In 1998, Jeffrey Hoffstein, Jill Pipher, and Joseph H. Silverman introduced a lattice-based public-key encryption scheme, known as NTRU.[4] However, their scheme is not known to be at least as hard as solving a worst-case lattice problem.
The first lattice-based public-key encryption scheme whose security was proven under worst-case hardness assumptions was introduced by Oded Regev in 2005,[5] together with the learning with errors problem (LWE). Since then, much follow-up work has focused on improving Regev's security proof[6][7] and improving the efficiency of the original scheme.[8][9][10][11] Much more work has been devoted to constructing additional cryptographic primitives based on LWE and related problems. For example, in 2009, Craig Gentry introduced the first fully homomorphic encryption scheme, which was based on a lattice problem.[12]
Mathematical background
In linear algebra, a lattice [math]\displaystyle{ L \subset \mathbb{R}^n }[/math] is the set of all integer linear combinations of vectors from a basis [math]\displaystyle{ \{\mathbf{b}_1, \ldots, \mathbf{b}_n\} }[/math] of [math]\displaystyle{ \mathbb{R}^n }[/math]. In other words, [math]\displaystyle{ L = \Big\{ \sum a_i \mathbf{b}_i : a_i \in \mathbb{Z} \Big\}. }[/math] For example, [math]\displaystyle{ \mathbb{Z}^n }[/math] is a lattice, generated by the standard basis for [math]\displaystyle{ \mathbb{R}^n }[/math]. Crucially, the basis for a lattice is not unique. For example, the vectors [math]\displaystyle{ (3, 1, 4) }[/math], [math]\displaystyle{ (1, 5, 9) }[/math], and [math]\displaystyle{ (2, -1, 0) }[/math] form an alternative basis for [math]\displaystyle{ \mathbb{Z}^3 }[/math].
The most important lattice-based computational problem is the shortest vector problem (SVP or sometimes GapSVP), which asks us to approximate the minimal Euclidean length of a non-zero lattice vector. This problem is thought to be hard to solve efficiently, even with approximation factors that are polynomial in [math]\displaystyle{ n }[/math], and even with a quantum computer. Many (though not all) lattice-based cryptographic constructions are known to be secure if SVP is in fact hard in this regime.
Selected lattice-based schemes
This section presents selected lattice-based schemes, grouped by primitive.
Encryption
Selected schemes for the purpose of encryption:
- GGH encryption scheme, which is based in the closest vector problem (CVP). In 1999, Nguyen published a critical flaw in the scheme's design.[13]
- NTRUEncrypt.
Homomorphic encryption
Selected schemes for the purpose of homomorphic encryption:
Hash functions
Selected lattice-based cryptographic schemes for the purpose of hashing:
Key exchange
Selected schemes for the purpose of key exchange, also called key establishment, key encapsulation and key encapsulation mechanism (KEM):
- CRYSTALS-Kyber,[18] which is built upon module learning with errors (module-LWE). Kyber was selected for standardization by the NIST in 2023.[1] In August 2023, NIST published FIPS 203 (Initial Public Draft), and started calling their Kyber version as Module-Lattice-based Key Encapsulation Mechanism (ML-KEM).[19]
- FrodoKEM,[20][21] a scheme based on the learning with errors (LWE) problem. FrodoKEM joined the standardization call conducted by the National Institute of Standards and Technology (NIST),[1] and lived up to the 3rd round of the process. It was then discarded due to low performance reasons. In October, 2022, the Twitter account associated to cryptologist Daniel J. Bernstein posted security issues in frodokem640.[22]
- NewHope is based on the ring learning with errors (RLWE) problem.[23]
- NTRU Prime.[24]
- Peikert's work, which is based on the ring learning with errors (RLWE) problem.[9]
- Saber,[25] which is based on the module learning with rounding (module-LWR) problem.
Signing
This section lists a selection of lattice-based schemes for the purpose of digital signatures.
- CRYSTALS-Dilithium,[26][27] which is built upon module learning with errors (module-LWE) and module short integer solution (module-SIS). Dilithium was selected for standardization by the NIST.[1] According to a message from Ray Perlner, writing on behalf of the NIST PQC team, the NIST module-LWE signing standard is to be based on version 3.1 of the Dilithium specification.
- Falcon, which is built upon short integer solution (SIS) over NTRU. Falcon was selected for standardization by the NIST.[28][1]
- GGH signature scheme.
- Güneysu, Lyubashevsky, and Pöppelmann's work, which is based on ring learning with errors (RLWE).[29]
- MITAKA, a variant of Falcon.[30]
- NTRUSign.
- qTESLA, which is based on ring learning with errors (RLWE). The qTESLA scheme joined the standardization call conducted by the National Institute of Standards and Technology (NIST).[31][1]
CRYSTALS-Dilithium
CRYSTALS-Dilithium or simply Dilithium [26][27] is built upon module-LWE and module-SIS. Dilithium was selected by the NIST as the basis for a digital signature standard.[1] According to a message from Ray Perlner, writing on behalf of the NIST PQC team, the NIST module-LWE signing standard is to be based on version 3.1 of the Dilithium specification. NIST's changes on Dilithium 3.1 intend to support additional randomness in signing (hedged signing) and other improvements.[32]
Dilithium was one of the two digital signature schemes initially chosen by the NIST in their post-quantum cryptography process, the other one being SPHINCS⁺, which is not based on lattices but on hashes.
In August 2023, NIST published FIPS 204 (Initial Public Draft), and started calling Dilithium as Module-Lattice-Based Digital Signature Algorithm (ML-DSA).[33]
As of October 2023, ML-DSA was being implemented as a part of Libgcrypt, according to Falco Strenzke.[34]
Security
Lattice-based cryptographic constructions hold a great promise for public-key post-quantum cryptography.[35] Indeed, the main alternative forms of public-key cryptography are schemes based on the hardness of factoring and related problems and schemes based on the hardness of the discrete logarithm and related problems. However, both factoring and the discrete logarithm are known to be solvable in polynomial time on a quantum computer.[36] Furthermore, algorithms for factorization tend to yield algorithms for discrete logarithm, and conversely. This further motivates the study of constructions based on alternative assumptions, such as the hardness of lattice problems.
Many lattice-based cryptographic schemes are known to be secure assuming the worst-case hardness of certain lattice problems.[2][5][6] I.e., if there exists an algorithm that can efficiently break the cryptographic scheme with non-negligible probability, then there exists an efficient algorithm that solves a certain lattice problem on any input. In contrast, cryptographic schemes based on, e.g., factoring would be broken if factoring was easy "on an average input", even if factoring was in fact hard in the worst case. However, for the more efficient and practical lattice-based constructions (such as schemes based on NTRU and even schemes based on LWE with more aggressive parameters), such worst-case hardness results are not known. For some schemes, worst-case hardness results are known only for certain structured lattices[8] or not at all.
Functionality
For many cryptographic primitives, the only known constructions are based on lattices or closely related objects. These primitives include fully homomorphic encryption,[12] indistinguishability obfuscation,[37] cryptographic multilinear maps, and functional encryption.[37]
See also
- Lattice problems
- Learning with errors
- Homomorphic encryption
- Post-quantum cryptography
- Ring learning with errors
- Ring learning with Errors Key Exchange
References
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 1.6 CSRC, National Institute of Standards and Technology. Post-Quantum Cryptography. 2019. Available from the Internet on <https://csrc.nist.gov/Projects/Post-Quantum-Cryptography/>, accessed in November 2nd, 2022.
- ↑ 2.0 2.1 Ajtai, Miklós (1996). "Generating Hard Instances of Lattice Problems". Proceedings of the Twenty-Eighth Annual ACM Symposium on Theory of Computing. pp. 99–108. doi:10.1145/237814.237838. ISBN 978-0-89791-785-8.
- ↑ Public-Key Cryptosystem with Worst-Case/Average-Case Equivalence.
- ↑ Hoffstein, Jeffrey; Pipher, Jill; Silverman, Joseph H. (1998). "NTRU: A ring-based public key cryptosystem". Algorithmic Number Theory. Lecture Notes in Computer Science. 1423. pp. 267–288. doi:10.1007/bfb0054868. ISBN 978-3-540-64657-0.
- ↑ 5.0 5.1 Regev, Oded (2005-01-01). "On lattices, learning with errors, random linear codes, and cryptography". Proceedings of the thirty-seventh annual ACM symposium on Theory of computing – STOC '05. ACM. pp. 84–93. doi:10.1145/1060590.1060603. ISBN 978-1581139600.
- ↑ 6.0 6.1 Peikert, Chris (2009-01-01). "Public-key cryptosystems from the worst-case shortest vector problem". Proceedings of the 41st annual ACM symposium on Symposium on theory of computing – STOC '09. ACM. pp. 333–342. doi:10.1145/1536414.1536461. ISBN 9781605585062.
- ↑ Brakerski, Zvika; Langlois, Adeline; Peikert, Chris; Regev, Oded; Stehlé, Damien (2013-01-01). "Classical hardness of learning with errors". Proceedings of the 45th annual ACM symposium on Symposium on theory of computing – STOC '13. ACM. pp. 575–584. doi:10.1145/2488608.2488680. ISBN 9781450320290.
- ↑ 8.0 8.1 Lyubashevsky, Vadim; Peikert, Chris; Regev, Oded (2010-05-30). "On Ideal Lattices and Learning with Errors over Rings" (in en). Advances in Cryptology – EUROCRYPT 2010. Lecture Notes in Computer Science. 6110. pp. 1–23. doi:10.1007/978-3-642-13190-5_1. ISBN 978-3-642-13189-9.
- ↑ 9.0 9.1 Peikert, Chris (2014-07-16). "Lattice cryptography for the Internet". IACR. https://eprint.iacr.org/2014/070.pdf. Retrieved 2017-01-11.
- ↑ Alkim, Erdem; Ducas, Léo; Pöppelmann, Thomas; Schwabe, Peter (2015-01-01). "Post-quantum key exchange – a new hope". Cryptology ePrint Archive. http://eprint.iacr.org/2015/1092.
- ↑ Bos, Joppe; Costello, Craig; Ducas, Léo; Mironov, Ilya; Naehrig, Michael; Nikolaenko, Valeria; Raghunathan, Ananth; Stebila, Douglas (2016-01-01). "Frodo: Take off the ring! Practical, Quantum-Secure Key Exchange from LWE". Cryptology ePrint Archive. http://eprint.iacr.org/2016/659.
- ↑ 12.0 12.1 12.2 Gentry, Craig (2009-01-01). A Fully Homomorphic Encryption Scheme (Thesis). Stanford, CA, USA: Stanford University.
- ↑ NGUYEN, Phon. Cryptanalysis of the Goldreich-Goldwasser-Halevi Cryptosystem from crypto ’97. In Crypto ’99: Proceedings of the 19th Annual International Cryptology Conference on Advances in Cryptology, pages 288–304, London, UK, 1999. Springer-Verlag.
- ↑ Brakerski, Zvika; Vaikuntanathan, Vinod (2011). "Efficient Fully Homomorphic Encryption from (Standard) LWE". Cryptology ePrint Archive. https://eprint.iacr.org/2011/344.
- ↑ Brakerski, Zvika; Vaikuntanathan, Vinod (2013). "Lattice-Based FHE as Secure as PKE". Cryptology ePrint Archive. https://eprint.iacr.org/2013/541.
- ↑ "LASH: A Lattice Based Hash Function". Archived from the original on October 16, 2008. https://web.archive.org/web/20081016235719/http://www.cs.bris.ac.uk/~page/research/lash.html. Retrieved 2008-07-31.
- ↑ Contini, Scott; Matusiewicz, Krystian; Pieprzyk, Josef; Steinfeld, Ron; Guo, Jian; Ling, San; Wang, Huaxiong (2008). "Cryptanalysis of LASH". Fast Software Encryption. Lecture Notes in Computer Science. 5086. pp. 207–223. doi:10.1007/978-3-540-71039-4_13. ISBN 978-3-540-71038-7. https://eprint.iacr.org/2007/430.pdf.
- ↑ AVANZI, R. et al. CRYSTALS-KYBER Algorithm Specifications And Supporting Documentation. CRYSTALS Team, 2021. Available from the Internet on <https: //www.pq-crystals.org/>, accessed on November 4th, 2022.
- ↑ Raimondo, Gina M., and Locascio, Laurie E., FIPS 203 (Draft) Federal Information Processing Standards Publication – Module-Lattice-based Key-Encapsulation Mechanism Standard. August 24, 2023. Information Technology Laboratory, National Institute of Standards and Technology. Gaithersburg, MD, United States of America. DOI 10.6028/NIST.FIPS.203.ipd. Available from the Internet on <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.203.ipd.pdf>, accessed in October 30th, 2023.
- ↑ FrodoKEM team. FrodoKEM. 2022. Available from the Internet on <https://frodokem.org/>, accessed on November 2nd, 2022.
- ↑ ALKIM, E. et al. FrodoKEM learning with errors key encapsulation algorithm specifications and supporting documentation. 2020. Available from the Internet on <https://frodokem.org/files/FrodoKEM-specification-20200930.pdf>, accessed in November 1st, 2022
- ↑ Bernstein, Daniel J. FrodoKEM documentation claims that "the FrodoKEM parameter sets comfortably match their target security levels with a large margin". Warning: That's not true. Send 2^40 ciphertexts to a frodokem640 public key; one of them will be decrypted by a large-scale attack feasible today. 2022. Available from the Internet on <https://twitter.com/hashbreaker/status/1587184970258255872>, accessed in November 2nd, 2022.
- ↑ SCHWABE, Peter et al. NewHope's Web site. 2022. Available from the Internet on <https://newhopecrypto.org/>, accessed in December 6th, 2022.
- ↑ Bernstein, Daniel J. et al., NTRU Prime: round 3. 2020. Available from the Internet on <https://ntruprime.cr.yp.to/>, accessed in November 8th, 2022.
- ↑ D'ANVERS, Jan-Pieter, KARMAKAR, Angshuman, ROY, Sujoy Sinha, and VERCAUTEREN, Frederik. Saber: Module-LWR based key exchange, CPA-secure encryption and CCA-secure KEM. 2018. Available from Internet on <https://eprint.iacr.org/2018/230>, accessed in November 5th, 2022.
- ↑ 26.0 26.1 BAI, S. et al. CRYSTALS-Dilithium Algorithm Specifications and Supporting Documentation (Version 3.1). CRYSTALS Team, 2021. Available from the Internet on <https://www.pq-crystals.org/>, accessed in November 2nd, 2021.
- ↑ 27.0 27.1 SEILER, Gregor et al. pq-crystals/dilithium (Dilithium at GitHub), 2022. Available from the Internet on <https://github.com/pq-crystals/dilithium>, accessed in December 29th, 2022.
- ↑ FOUQUE, Pierre-Alain et al. Falcon: Fast-Fourier Lattice-based Compact Signatures over NTRU. 2020. Available from the Internet on <https://falcon-sign.info/>, accessed in November 8th, 2020.
- ↑ Güneysu, Tim; Lyubashevsky, Vadim; Pöppelmann, Thomas (2012). "Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems". Cryptographic Hardware and Embedded Systems – CHES 2012. Lecture Notes in Computer Science. 7428. IACR. pp. 530–547. doi:10.1007/978-3-642-33027-8_31. ISBN 978-3-642-33026-1. https://www.iacr.org/archive/ches2012/74280529/74280529.pdf. Retrieved 2017-01-11.
- ↑ ESPITAU, Thomas et al. MITAKA: A Simpler, Parallelizable, Maskable Variant of Falcon. 2021.
- ↑ ALKIM, E. et al. The Lattice-Based Digital Signature Scheme qTESLA. IACR, 2019. Cryptology ePrint Archive, Report 2019/085. Available from Internet on <https://eprint.iacr.org/2019/085>, accessed in NOVEMBER 1st, 2022.
- ↑ Perlner, Ray A.. Planned changes to the Dilithium spec. April 20th, 2023. Google Groups. Available from the Internet on <https://groups.google.com/a/list.nist.gov/g/pqc-forum/c/3pBJsYjfRw4/m/GjJ2icQkAQAJ>, accessed in June 14th, 2023.
- ↑ Raimondo, Gina M., and Locascio, Laurie E., FIPS 204 (Draft) Federal Information Processing Standards Publication – Module-Lattice-Based Digital Signature Standard. August 24, 2023. Information Technology Laboratory, National Institute of Standards and Technology. Gaithersburg, MD, United States of America. DOI 10.6028/NIST.FIPS.204.ipd. Available from the Internet on <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.ipd.pdf>, accessed in September 2nd, 2023.
- ↑ Gcrypt-devel mailing list. Dilithium Implementation in Libgcrypt. October 24th, 2023. Available from the Internet on <https://lists.gnupg.org/pipermail/gcrypt-devel/2023-October/005572.html>, accessed on October 24th, 2023.
- ↑ Micciancio, Daniele; Regev, Oded (2008-07-22). "Lattice-based cryptography". Nyu.edu. https://www.cims.nyu.edu/~regev/papers/pqc.pdf. Retrieved 2017-01-11.
- ↑ Shor, Peter W. (1997-10-01). "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer". SIAM Journal on Computing 26 (5): 1484–1509. doi:10.1137/S0097539795293172. ISSN 0097-5397.
- ↑ 37.0 37.1 Garg, Sanjam; Gentry, Craig; Halevi, Shai; Raykova, Mariana; Sahai, Amit; Waters, Brent (2013-01-01). "Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits". Cryptology ePrint Archive. https://eprint.iacr.org/2013/451.
Bibliography
- Oded Goldreich, Shafi Goldwasser, and Shai Halevi. "Public-key cryptosystems from lattice reduction problems". In Crypto ’97: Proceedings of the 17th Annual International Cryptology Conference on Advances in Cryptology, pages 112–131, London, UK, 1997. Springer-Verlag.
- Oded Regev. Lattice-based cryptography. In Advances in cryptology (CRYPTO), pages 131–141, 2006.
Original source: https://en.wikipedia.org/wiki/Lattice-based cryptography.
Read more |