# Post-quantum cryptography

Post-quantum cryptography refers to cryptographic algorithms (usually public-key algorithms) that are thought to be secure against an attack by a quantum computer. This is not true for the most popular public-key algorithms, which can be efficiently broken by a sufficiently large quantum computer. The problem with the currently popular algorithms is that their security relies on one of three hard mathematical problems: the integer factorization problem, the discrete logarithm problem or the elliptic-curve discrete logarithm problem. All of these problems can be easily solved on a sufficiently powerful quantum computer running Shor's algorithm.[1][2] Even though current, publicly known, experimental quantum computers are too small to attack any real cryptographic algorithm,[3] many cryptographers are designing new algorithms to prepare for a time when quantum computing becomes a threat. This work has gained greater attention from academics and industry through the PQCrypto conference series since 2006 and more recently by several European Telecommunications Standards Institute (ETSI) Workshops on Quantum Safe Cryptography.[4][5][6]

In contrast to the threat quantum computing poses to current public-key algorithms, most current symmetric cryptographic algorithms (symmetric ciphers and hash functions) are considered to be relatively secure against attacks by quantum computers.[2][7] While the quantum Grover's algorithm does speed up attacks against symmetric ciphers, doubling the key size can effectively block these attacks.[8] Thus post-quantum symmetric cryptography does not need to differ significantly from current symmetric cryptography. See section on symmetric-key approach below.

Post-quantum cryptography is distinct from quantum cryptography, which refers to using quantum phenomena to achieve secrecy and detect eavesdropping.

## Algorithms

Currently post-quantum cryptography research is mostly focused on six different approaches:[2][5]

### Lattice-based cryptography

This approach includes cryptographic systems such as Learning with Errors, Ring-Learning with Errors (Ring-LWE),[9][10][11] the Ring Learning with Errors Key Exchange and the Ring Learning with Errors Signature, the older NTRU or GGH encryption schemes, and the newer NTRU signature and BLISS signatures.[12] Some of these schemes like NTRU encryption have been studied for many years without anyone finding a feasible attack. Others like the Ring-LWE algorithms have proofs that their security reduces to a worst-case problem.[13] The Post Quantum Cryptography Study Group sponsored by the European Commission suggested that the Stehle–Steinfeld variant of NTRU be studied for standardization rather than the patented NTRU algorithm.[14][15]

### Multivariate cryptography

This includes cryptographic systems such as the Rainbow (Unbalanced Oil and Vinegar) scheme which is based on the difficulty of solving systems of multivariate equations. Various attempts to build secure multivariate equation encryption schemes have failed. However, multivariate signature schemes like Rainbow could provide the basis for a quantum secure digital signature.[16] There is a patent on the Rainbow Signature Scheme.

### Hash-based cryptography

This includes cryptographic systems such as Lamport signatures and the Merkle signature scheme. Hash based digital signatures were invented in the late 1970s by Ralph Merkle and have been studied ever since as an interesting alternative to number theoretic digital signatures like RSA and DSA. Their primary drawback is that for any Hash based public key, there is a limit on the number of signatures that can be signed using the corresponding set of private keys. This fact had reduced interest in these signatures until interest was revived due to the desire for cryptography that was resistant to attack by quantum computers. There appear to be no patents on the Merkle signature scheme[citation needed] and there exist many non-patented hash functions that could be used with these schemes.

### Code-based cryptography

This includes cryptographic systems which rely on error-correcting codes, such as the McEliece and Niederreiter encryption algorithms and the related Courtois, Finiasz and Sendrier Signature scheme. The original McEliece signature using random Goppa codes has withstood scrutiny for over 30 years. However, many variants of the McEliece scheme, that seek to introduce more structure into the code used in order to reduce the size of the keys, have been shown to be insecure.[17] The Post Quantum Cryptography Study Group sponsored by the European Commission has recommended the McEliece public key encryption system as a candidate for long term protection against attacks by quantum computers.[14]

### Supersingular elliptic curve isogeny cryptography

This cryptographic system relies on the properties of supersingular elliptic curves to create a Diffie-Hellman replacement with forward secrecy.[18] This cryptographic system uses the well studied mathematics of supersingular elliptic curves to create a Diffie-Hellman like key exchange that can serve as a straightforward quantum computing resistant replacement for the Diffie-Hellman and elliptic curve Diffie–Hellman key exchange methods that are in widespread use today. Because it works much like existing Diffie-Hellman implementations, it offers forward secrecy which is viewed as important both to prevent mass surveillance by governments but also to protect against the compromise of long term keys through failures.[19] In 2012, researchers Sun, Tian and Wang of the Chinese State Key Lab for Integrated Service Networks and Xidian University, extended the work of De Feo, Jao, and Plut to create quantum secure digital signatures based on supersingular elliptic curve isogenies.[20] There are no patents covering this cryptographic system.

### Symmetric key quantum resistance

Provided one uses sufficiently large key sizes, the symmetric key cryptographic systems like AES and SNOW 3G are already resistant to attack by a quantum computer.[21] Further, key management systems and protocols that use symmetric key cryptography instead of public key cryptography like Kerberos and the 3GPP Mobile Network Authentication Structure are also inherently secure against attack by a quantum computer. Given its widespread deployment in the world already, some researchers recommend expanded use of Kerberos-like symmetric key management as an efficient and effective way to get Post Quantum cryptography today.[22]

## Security reductions

In cryptography research the provable equivalence of the security of a cryptographic algorithm to some known hard mathematical problem is viewed as an important fact in support of using a given cryptographic systems. These proofs are often called "security reductions." In other words, the security of a given cryptographic algorithm is reduced to the security of a known hard problem. Researchers are actively looking for security reductions in the prospects for post quantum cryptography. Current results are given here:

### Lattice-based cryptography – Ring-LWE key exchange and signature

In some versions of Ring-LWE there is a security reduction to the shortest-vector problem (SVP) in a lattice as a lower bound on the security. The SVP is known to be NP-hard.[23] Two specific ring-LWE systems that have provable security reductions are the key exchange defined by Peikert[9] and one variant of Lyubashevsky's ring-LWE signatures defined in a paper by Guneysu, Lyubashevsky, and Poppelmann.[10]

### Lattice-based cryptography – NTRU, BLISS

The security of the NTRU encryption scheme and the BLISS[12] signature is believed to be related to but not provably reducible to the Closest Vector Problem (CVP) in a Lattice. The CVP is known to be NP-hard. The Post Quantum Cryptography Study Group sponsored by the European Commission suggested that the Stehle–Steinfeld variant of NTRU which does have a security reduction be studied for long term use instead of the original NTRU algorithm.[14]

### Multivariate cryptography – Rainbow

The Rainbow Multivariate Equation Signature Scheme is a member of a class of multivariate quadratic equation cryptosystems called "Unbalanced Oil and Vinegar Cryptosystems" (UOV Cryptosystems) Bulygin, Petzoldt and Buchmann have shown a reduction of generic multivariate quadratic UOV systems to the NP-Hard Multivariate Quadratic Equation Solving problem.[24]

### Hash-based cryptography – Merkle signature scheme

In 2005, Garcia proved that there was a security reduction of Merkle Hash Tree signatures to the security of the underlying hash function. He showed that if computationally one-way hash functions exist then the Merkle Hash Tree signature is provably secure.[25] Thus if one used a hash function with a provable reduction of security to a known hard problem one would have a provable security reduction of the Merkle tree signature to a known hard problem.[26] The Post Quantum Cryptography Study Group sponsored by the European Commission has recommended use of this cryptography for long term protection against quantum computers.[14]

### Code-based cryptography – McEliece

The McEliece Encryption System has a security reduction to the Syndrome Decoding Problem (SDP).[27] The SDP is known to be NP-hard[28] The Post Quantum Cryptography Study Group sponsored by the European Commission has recommended the use of this cryptography for long term protection against attack by a quantum computer.[14]

### Supersingular elliptic curve isogeny cryptography

Security is related to the problem of constructing an isogeny between two supersingular curves with the same number of points. The most recent investigation of the difficulty of this problem is by Delfs and Galbraith indicates that this problem is as hard as the inventors of the key exchange suggest that it is.[29] There is no security reduction to a known NP-hard problem.

## Key sizes

One common characteristic of many post-quantum cryptography algorithms is that they require larger key sizes than commonly used "pre-quantum" public key algorithms. There are often tradeoffs to be made in key size, computational efficiency and ciphertext or signature size. It is therefore difficult to compare one scheme against another in only one dimension like key size. However the following paragraphs provide some publicized key sizes for a fixed level of security.

### Lattice-based cryptography – LWE key exchange and Ring-LWE key exchange

The fundamental idea of using LWE and Ring LWE for key exchange was proposed and filed at the University of Cincinnati in 2011 by Jintai Ding. The basic idea comes from the associativity of matrix multiplications, and the errors are used to provide the security. The paper[30] appeared in 2012 after a provisional patent application was filed in 2012.

In 2014, Peikert[31] presented a key transport scheme following the same basic idea of Ding's, where the new idea of sending additional 1 bit signal for rounding in Ding's construction is also utilized. For somewhat greater than 128 bits of security, Singh presents a set of parameters which have 6956-bit public keys for the Peikert's scheme.[32] The corresponding private key would be roughly 14000 bits.

In 2015, an authenticated key exchange with provable forward security following the same basic idea of Ding's was presented at Eurocrypt 2015,[33] which is an extension of the HMQV[34] construction in Crypto2005.

### Lattice-based Cryptography – NTRU encryption

For 128 bits of security in NTRU, Hirschhorn, Hoffstein, Howgrave-Graham and Whyte, recommend using a public key represented as a degree 613 polynomial with coefficients ${\displaystyle {\bmod {\left(2^{10}\right)}}}$. This results in a public key of 6130 bits. The corresponding private key would be 6743 bits.[35]

### Multivariate cryptography – Rainbow signature

For 128 bits of security and the smallest signature size in a Rainbow multivariate quadratic equation signature scheme, Petzoldt, Bulygin and Buchmann, recommend using equations in ${\displaystyle \mathbb {F} _{31}}$ with a public key size of just over 991,000 bits, a private key of just over 740,000 bits and digital signatures which are 424 bits in length.[36]

### Hash-based cryptography – Merkle signature scheme

In order to get 128 bits of security for hash based signatures to sign 1 million messages using the fractal Merkle tree method of Naor Shenhav and Wool the public and private key sizes are roughly 36,000 bits in length.[37]

### Code-based cryptography – McEliece

For 128 bits of security in a McEliece scheme, The European Commissions Post Quantum Cryptography Study group recommends using a binary Goppa code of length at least ${\displaystyle n=6960}$ and dimension at least ${\displaystyle k=5413}$, and capable of correcting ${\displaystyle t=119}$ errors. With these parameters the public key for the McEliece system will be a systematic generator matrix whose non-identity part takes ${\displaystyle k\times (n-k)=8373911}$ bits. The corresponding private key, which consists of the code support with ${\displaystyle n=6960}$ elements from ${\displaystyle GF(2^{13})}$ and a generator polynomial of with ${\displaystyle t=119}$ coefficients from ${\displaystyle GF(2^{13})}$, will be 92027 bits in length[14]

The group is also investigating the use of Quasi-cyclic MDPC codes of length at least ${\displaystyle n=2^{16}+6=65542}$ and dimension at least ${\displaystyle k=2^{15}+3=32771}$, and capable of correcting ${\displaystyle t=264}$ errors. With these parameters the public key for the McEliece system will be the first row of a systematic generator matrix whose non-identity part takes ${\displaystyle k=32771}$ bits. The private key, a quasi-cyclic parity-check matrix with ${\displaystyle d=274}$ nonzero entries on a column (or twice as much on a row), takes no more than ${\displaystyle d\times 16=4384}$ bits when represented as the coordinates of the nonzero entries on the first row.

Barreto et al. recommend using a binary Goppa code of length at least ${\displaystyle n=3307}$ and dimension at least ${\displaystyle k=2515}$, and capable of correcting ${\displaystyle t=66}$ errors. With these parameters the public key for the McEliece system will be a systematic generator matrix whose non-identity part takes ${\displaystyle k\times (n-k)=1991880}$ bits.[38] The corresponding private key, which consists of the code support with ${\displaystyle n=3307}$ elements from ${\displaystyle GF(2^{12})}$ and a generator polynomial of with ${\displaystyle t=66}$ coefficients from ${\displaystyle GF(2^{12})}$, will be 40476 bits in length.

### Supersingular elliptic curve isogeny cryptography

For 128 bits of security in the supersingular isogeny Diffie-Hellman (SIDH) method, De Feo, Jao and Plut recommend using a supersingular curve modulo a 768-bit prime. If one uses elliptic curve point compression the public key will need to be no more than 8x768 or 6144 bits in length.[39] A 2016 paper by Reza Azarderakhsh, David Jao, Kassem Kalach, Brian Koziel, and Christopher Leonardi shows how to cut the number of bits transmitted in half making the number of bits transmitted equivalent to the non-quantum secure RSA and Diffie-Hellman at the same classical security level.[40]

### Symmetric–key-based cryptography

As a general rule, for 128 bits of security in a symmetric-key-based system, one can safely use key sizes of 256 bits. The best quantum attack against generic symmetric-key systems is an application of Grover's algorithm, which requires work proportional to the square root of the size of the key space. To transmit an encrypted key to a device that possesses the symmetric key necessary to decrypt that key requires roughly 256 bits as well. It is clear that symmetric-key systems offer the smallest key sizes for post-quantum cryptography.

### Key size table

The following table is a summary of the information in this section giving the key sizes in bits:

Algorithm Public key size (in bits) Private key size (in bits)
Ring-LWE[32] 6595 14000
NTRU[35] 6130 6743
Rainbow[36] 991,000 740,000
Hash signature[37] 36,000 36,000
Goppa-based McEliece[14] 8,373,911 92,027
Quasi-cyclic MDPC-based McEliece[14] 65542 4384
SIDH[18] 6144 6144

A practical consideration on a choice among post-quantum cryptographic algorithms is the effort required to send public keys over the internet. From this point of view, the Ring-LWE, NTRU, and SIDH algorithms provide key sizes conveniently under 1KB, hash-signature public keys come in under 5KB, and MDPC-based McEliece takes about 8KB. On the other hand, Rainbow schemes require about 125KB and Goppa-based McEliece requires a nearly 1MB key.

## Forward secrecy

A public-key system demonstrates a property referred to as perfect forward secrecy when it generates random public keys per session for the purposes of key agreement. This means that the compromise of one message cannot lead to the compromise of others, and also that there is not a single secret value which can lead to the compromise of multiple messages. Security experts recommend using cryptographic algorithms that support forward secrecy over those that do not.[41] The reason for this is that forward secrecy can protect against the compromise of long term private keys associated with public/private key pairs. This is viewed as a means of preventing mass surveillance by intelligence agencies.

Both the Ring-LWE key exchange and supersingular isogeny Diffie-Hellman (SIDH) key exchange can support forward secrecy in one exchange with the other party. Both the Ring-LWE and SIDH can also be used without forward secrecy by creating a variant of the classic ElGamal encryption variant of Diffie-Hellman.

The other algorithms in this article, such as NTRU, do not support forward secrecy as is.

Any authenticated public key encryption system can be used to build a key exchange with forward secrecy.[42]

## References

1. ^ Peter W. Shor (1995-08-30). "Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer". arXiv:quant-ph/9508027.
2. ^ a b c Daniel J. Bernstein (2009). "Introduction to post-quantum cryptography" (PDF). (Introductory chapter to book "Post-quantum cryptography").
3. ^
4. ^ "Cryptographers Take On Quantum Computers". IEEE Spectrum. 2009-01-01.
5. ^ a b
6. ^ "ETSI Quantum Safe Cryptography Workshop". ETSI Quantum Safe Cryptography Workshop. ETSI. October 2014. Retrieved 24 February 2015.
7. ^
8. ^ Daniel J. Bernstein (2010-03-03). "Grover vs. McEliece" (PDF).
9. ^ a b Peikert, Chris (2014). "Lattice Cryptography for the Internet". IACR. Archived from the original (PDF) on 31 January 2014. Retrieved 10 May 2014.
10. ^ a b Guneysu, Tim; Lyubashevsky; Poppelmann (2012). "Practical Lattice-Based Cryptography: A Signature Scheme for Embedded Systems" (PDF). INRIA. Retrieved 12 May 2014.
11. ^ Zhang, jiang (2014). "Authenticated Key Exchange from Ideal Lattices". iacr.org. IACR. Archived from the original (PDF) on 17 August 2014. Retrieved 7 September 2014.
12. ^ a b Ducas, Léo; Durmus, Alain; Lepoint, Tancrède; Lyubashevsky, Vadim (2013). "Lattice Signatures and Bimodal Gaussians". Retrieved 2015-04-18.
13. ^ Lyubashevsky, Vadim; =Peikert; Regev (2013). "On Ideal Lattices and Learning with Errors Over Rings". IACR. Archived from the original (PDF) on 22 July 2013. Retrieved 14 May 2013.
14. Augot, Daniel (7 September 2015). "Initial recommendations of long-term secure post-quantum systems" (PDF). PQCRYPTO. Retrieved 13 September 2015.
15. ^ Stehlé, Damien; Steinfeld, Ron (2013-01-01). "Making NTRUEncrypt and NTRUSign as Secure as Standard Worst-Case Problems over Ideal Lattices".
16. ^ Ding, Jintai; Schmidt (7 June 2005). Ioannidis, John, ed. "Rainbow, a New Multivariable Polynomial Signature Scheme". Third International Conference, ACNS 2005, New York, NY, USA, June 7–10, 2005. Proceedings. Lecture Notes in Computer Science. 3531: 64–175. doi:10.1007/11496137_12. Retrieved 15 May 2014.
17. ^ Overbeck, Raphael; Sendrier (2009). Bernstein, Daniel, ed. "Code-based cryptography". Post-Quantum Cryptography. Springer Berlin Heidelberg: 95–145. doi:10.1007/978-3-540-88702-7_4. Retrieved 15 May 2014.
18. ^ a b De Feo, Luca; Jao; Plut (2011). "Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies" (PDF). PQCrypto 2011. Retrieved 14 May 2014.
19. ^ Higgins, Peter (2013). "Pushing for Perfect Forward Secrecy, an Important Web Privacy Protection". Electronic Frontier Foundation. Retrieved 15 May 2014.
20. ^ Sun, Xi; Tian; Wang (19–21 Sep 2012). "Browse Conference Publications > Intelligent Networking and Co … Help Working with Abstracts Toward Quantum-Resistant Strong Designated Verifier Signature from Isogenies". Intelligent Networking and Collaborative Systems (INCoS), 2012 4th International Conference on. IEEE: 292–296. doi:10.1109/iNCoS.2012.70.
21. ^ Perlner, Ray; Cooper (2009). "Quantum Resistant Public Key Cryptography: A Survey". NIST. Retrieved 23 Apr 2015.
22. ^ Campagna, Matt; Hardjono; Pintsov; Romansky; Yu (2013). "Kerberos Revisited Quantum-Safe Authentication" (PDF). ETSI.
23. ^ Lyubashevsky, Vadim; Peikert; Regev (25 June 2013). "On Ideal Lattices and Learning with Errors Over Rings" (PDF). http://www.cc.gatech.edu/~cpeikert/. Springer. Retrieved 19 June 2014. External link in |website= (help)
24. ^ Bulygin, Stanislav; Petzoldt; Buchmann (2010). "Towards Provable Security of the Unbalanced Oil and Vinegar Signature Scheme under Direct Attacks". Progress in Cryptology – INDOCRYPT 2010. Lecture Notes in Computer Science. Springer. 6498: 17–32.
25. ^ Pereira, Geovandro; Puodzius, Cassius; Barreto, Paulo. "Shorter hash-based signatures". ScienceDirect. Journal of Systems and Software. Retrieved 5 May 2016.
26. ^ Garcia, Luis. "On the security and the eﬃciency of the Merkle signature scheme" (PDF). http://eprint.iacr.org/. IACR. Retrieved 19 June 2013. External link in |website= (help)
27. ^ "http://www.larc.usp.br/~pbarreto/PQC-4.pdf" (PDF). www.larc.usp.br. Retrieved 2015-04-18. External link in |title= (help)
28. ^ Blaum, Mario; Farrell; Tilborg (31 May 2002). Information, Coding and Mathematics. Springer. ISBN 978-1-4757-3585-7.
29. ^ Delfs, Christina; Galbraith. "Computing isogenies between supersingular elliptic curves over F_p". arXiv:1310.7789.
30. ^ Lin, Jintai Ding, Xiang Xie, Xiaodong (2012-01-01). "A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem".
31. ^ Peikert, Chris (2014-01-01). "Lattice Cryptography for the Internet".
32. ^ a b Singh, Vikram (2015). "A Practical Key Exchange for the Internet using Lattice Cryptography". Retrieved 2015-04-18.
33. ^ Zhang, Jiang; Zhang, Zhenfeng; Ding, Jintai; Snook, Michael; Dagdelen, Özgür (2015-04-26). Oswald, Elisabeth; Fischlin, Marc, eds. Authenticated Key Exchange from Ideal Lattices. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 719–751. ISBN 978-3-662-46802-9.
34. ^ Krawczyk, Hugo (2005-08-14). Shoup, Victor, ed. HMQV: A High-Performance Secure Diffie-Hellman Protocol. Lecture Notes in Computer Science. Springer Berlin Heidelberg. pp. 546–566. ISBN 978-3-540-28114-6.
35. ^ a b Hirschborrn, P; Hoffstein; Howgrave-Graham; Whyte. "Choosing NTRUEncrypt Parameters in Light of Combined Lattice Reduction and MITM Approaches" (PDF). NTRU. Retrieved 12 May 2014.
36. ^ a b Petzoldt, Albrecht; Bulygin; Buchmann (2010). "Selecting Parameters for the Rainbow Signature Scheme – Extended Version -". Archived from the original (PDF) on 11 Aug 2010. Retrieved 12 May 2014.
37. ^ a b Naor, Dalit; Shenhav; Wool (2006). "One-Time Signatures Revisited: Practical Fast Signatures Using Fractal Merkle Tree Traversal" (PDF). IEEE. Retrieved 13 May 2014.
38. ^ Barreto, Paulo S. L. M.; Biasi, Felipe Piazza; Dahab, Ricardo; López-Hernández, Julio César; Morais, Eduardo M. de; Oliveira, Ana D. Salina de; Pereira, Geovandro C. C. F.; Ricardini, Jefferson E. (2014). Koç, Çetin Kaya, ed. A Panorama of Post-quantum Cryptography. Springer International Publishing. pp. 387–439. ISBN 978-3-319-10682-3.
39. ^ De Feo, Luca; Jao; Plut (2011). "Towards Quantum-Resistant Cryptosystems From Supersingular Elliptic Curve Isogenies". Archived from the original (PDF) on October 2011. Retrieved 12 May 2014.
40. ^ "Cryptology ePrint Archive: Report 2016/229". eprint.iacr.org. Retrieved 2016-03-02.
41. ^ Ristic, Ivan. "Deploying Forward Secrecy". SSL Labs. Retrieved 14 June 2014.
42. ^ http://crypto.stackexchange.com/a/19115/12089