Post-quantum cryptography (PQC), sometimes referred to as quantum-proof, quantum-safe, or quantum-resistant, is the development of cryptographic algorithms (usually public-key algorithms) that are thought to be secure against a cryptanalytic attack by a quantum computer. The problem with popular algorithms currently used in the market 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 could be easily solved on a sufficiently powerful quantum computer running Shor's algorithm^{[1]}^{[2]} or even faster and less demanding (in terms of the number of qubits required) alternatives.^{[3]}
While as of 2023, quantum computers lack the processing power to break widely used cryptographic algorithms,^{[4]} cryptographers are designing new algorithms to prepare for Y2Q or Q-Day, the day when current algorithms will be vulnerable to quantum computing attacks. Their work has gained attention from academics and industry through the PQCrypto conference series hosted since 2006, several workshops on Quantum Safe Cryptography hosted by the European Telecommunications Standards Institute (ETSI), and the Institute for Quantum Computing.^{[5]}^{[6]}^{[7]} The rumoured existence of widespread harvest now, decrypt later programs has also been seen as a motivation for the early introduction of post-quantum algorithms, as data recorded now may still remain sensitive many years into the future.^{[8]}^{[9]}^{[10]}
In contrast to the threat quantum computing poses to current public-key algorithms, most current symmetric cryptographic algorithms and hash functions are considered to be relatively secure against attacks by quantum computers.^{[2]}^{[11]} While the quantum Grover's algorithm does speed up attacks against symmetric ciphers, doubling the key size can effectively block these attacks.^{[12]} Thus post-quantum symmetric cryptography does not need to differ significantly from current symmetric cryptography.
Post-quantum cryptography research is mostly focused on six different approaches:^{[2]}^{[6]}
Main article: Lattice-based cryptography |
This approach includes cryptographic systems such as learning with errors, ring learning with errors (ring-LWE),^{[13]}^{[14]}^{[15]} 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.^{[16]} 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.^{[17]} 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 NTRU algorithm.^{[18]}^{[19]} At that time, NTRU was still patented. Studies have indicated that NTRU may have more secure properties than other lattice based algorithms.^{[20]}
Main article: 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.^{[21]} The Rainbow Signature Scheme is patented.
Main article: Hash-based cryptography |
This includes cryptographic systems such as Lamport signatures, the Merkle signature scheme, the XMSS,^{[22]} the SPHINCS,^{[23]} and the WOTS schemes. 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 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. The stateful hash-based signature scheme XMSS developed by a team of researchers under the direction of Johannes Buchmann is described in RFC 8391.^{[24]}
Note that all the above schemes are one-time or bounded-time signatures, Moni Naor and Moti Yung invented UOWHF hashing in 1989 and designed a signature based on hashing (the Naor-Yung scheme)^{[25]} which can be unlimited-time in use (the first such signature that does not require trapdoor properties).
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 40 years. However, many variants of the McEliece scheme, which seek to introduce more structure into the code used in order to reduce the size of the keys, have been shown to be insecure.^{[26]} 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.^{[18]}
These cryptographic systems rely on the properties of isogeny graphs of elliptic curves (and higher-dimensional abelian varieties) over finite fields, in particular supersingular isogeny graphs, to create cryptographic systems. Among the more well-known representatives of this field are the Diffie–Hellman-like key exchange CSIDH, which can serve as a straightforward quantum-resistant replacement for the Diffie-Hellman and elliptic curve Diffie–Hellman key-exchange methods that are in widespread use today,^{[27]} and the signature scheme SQISign which is based on the categorical equivalence between supersingular elliptic curves and maximal orders in particular types of quaternion algebras.^{[28]} Another widely noticed construction, SIDH/SIKE, was spectacularly broken in 2022.^{[29]} The attack is however specific to the SIDH/SIKE family of schemes and does not generalize to other isogeny-based constructions.^{[30]}
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.^{[31]} 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 way to get post quantum cryptography today.^{[32]}
In cryptography research, it is desirable to prove the equivalence of a cryptographic algorithm and a known hard mathematical problem. These proofs are often called "security reductions", and are used to demonstrate the difficulty of cracking the encryption algorithm. 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:
Further information: Ring learning with errors key exchange |
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.^{[33]} Specific ring-LWE systems that have provable security reductions include a variant of Lyubashevsky's ring-LWE signatures defined in a paper by Güneysu, Lyubashevsky, and Pöppelmann.^{[14]} The GLYPH signature scheme is a variant of the Güneysu, Lyubashevsky, and Pöppelmann (GLP) signature which takes into account research results that have come after the publication of the GLP signature in 2012. Another Ring-LWE signature is Ring-TESLA.^{[34]} There also exists a "derandomized variant" of LWE, called Learning with Rounding (LWR), which yields "improved speedup (by eliminating sampling small errors from a Gaussian-like distribution with deterministic errors) and bandwidth".^{[35]} While LWE utilizes the addition of a small error to conceal the lower bits, LWR utilizes rounding for the same purpose.
The security of the NTRU encryption scheme and the BLISS^{[16]} 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.^{[18]}
Further information: Multivariate cryptography |
Unbalanced Oil and Vinegar signature schemes are asymmetric cryptographic primitives based on multivariate polynomials over a finite field . Bulygin, Petzoldt and Buchmann have shown a reduction of generic multivariate quadratic UOV systems to the NP-Hard multivariate quadratic equation solving problem.^{[36]}
Further information: Hash-based cryptography and Merkle signature scheme |
In 2005, Luis Garcia proved that there was a security reduction of Merkle Hash Tree signatures to the security of the underlying hash function. Garcia showed in his paper that if computationally one-way hash functions exist then the Merkle Hash Tree signature is provably secure.^{[37]}
Therefore, 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 that known hard problem.^{[38]}
The Post Quantum Cryptography Study Group sponsored by the European Commission has recommended use of Merkle signature scheme for long term security protection against quantum computers.^{[18]}
Further information: McEliece cryptosystem |
The McEliece Encryption System has a security reduction to the syndrome decoding problem (SDP). The SDP is known to be NP-hard.^{[39]} 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.^{[18]}
In 2016, Wang proposed a random linear code encryption scheme RLCE^{[40]} which is based on McEliece schemes. RLCE scheme can be constructed using any linear code such as Reed-Solomon code by inserting random columns in the underlying linear code generator matrix.
Further information: Supersingular isogeny key exchange |
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.^{[41]} There is no security reduction to a known NP-hard problem.
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. The table lists some values for different schemes at a 128-bit post-quantum security level.
Algorithm | Type | Public Key | Private Key | Signature |
---|---|---|---|---|
NTRU Encrypt^{[42]} | Lattice | 766.25 B | 842.875 B | |
Streamlined NTRU Prime^{[citation needed]} | Lattice | 154 B | ||
Rainbow^{[43]} | Multivariate | 124 kB | 95 kB | |
SPHINCS^{[23]} | Hash Signature | 1 kB | 1 kB | 41 kB |
SPHINCS+^{[44]} | Hash Signature | 32 B | 64 B | 8 kB |
BLISS-II | Lattice | 7 kB | 2 kB | 5 kB |
GLP-Variant GLYPH Signature^{[14]}^{[45]} | Ring-LWE | 2 kB | 0.4 kB | 1.8 kB |
NewHope^{[46]} | Ring-LWE | 2 kB | 2 kB | |
Goppa-based McEliece^{[18]} | Code-based | 1 MB | 11.5 kB | |
Random Linear Code based encryption^{[47]} | RLCE | 115 kB | 3 kB | |
Quasi-cyclic MDPC-based McEliece^{[48]} | Code-based | 1,232 B | 2,464 B | |
SIDH^{[49]} | Isogeny | 564 B | 48 B | |
SIDH (compressed keys)^{[50]} | Isogeny | 330 B | 48 B | |
3072-bit Discrete Log | not PQC | 384 B | 32 B | 96 B |
256-bit Elliptic Curve | not PQC | 32 B | 32 B | 65 B |
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 1 kB, hash-signature public keys come in under 5 kB, and MDPC-based McEliece takes about 1 kB. On the other hand, Rainbow schemes require about 125 kB and Goppa-based McEliece requires a nearly 1 MB key.
Further information: Ring learning with errors 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^{[51]} appeared in 2012 after a provisional patent application was filed in 2012.
In 2014, Peikert^{[52]} 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.^{[53]} The corresponding private key would be roughly 14,000 bits.
In 2015, an authenticated key exchange with provable forward security following the same basic idea of Ding's was presented at Eurocrypt 2015,^{[54]} which is an extension of the HMQV^{[55]} construction in Crypto2005. The parameters for different security levels from 80 bits to 350 bits, along with the corresponding key sizes are provided in the paper.^{[54]}
Further information: NTRUEncrypt |
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 This results in a public key of 6130 bits. The corresponding private key would be 6743 bits.^{[42]}
Further information: Multivariate cryptography |
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 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.^{[43]}
Further information: Hash-based cryptography and 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.^{[56]}
Further information: McEliece cryptosystem |
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 and dimension at least , and capable of correcting errors. With these parameters the public key for the McEliece system will be a systematic generator matrix whose non-identity part takes bits. The corresponding private key, which consists of the code support with elements from and a generator polynomial of with coefficients from , will be 92,027 bits in length^{[18]}
The group is also investigating the use of Quasi-cyclic MDPC codes of length at least and dimension at least , and capable of correcting 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 bits. The private key, a quasi-cyclic parity-check matrix with nonzero entries on a column (or twice as much on a row), takes no more than 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 and dimension at least , and capable of correcting errors. With these parameters the public key for the McEliece system will be a systematic generator matrix whose non-identity part takes bits.^{[57]} The corresponding private key, which consists of the code support with elements from and a generator polynomial of with coefficients from , will be 40,476 bits in length.
Further information: Supersingular isogeny key exchange |
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.^{[58]} A March 2016 paper by authors Azarderakhsh, Jao, Kalach, Koziel, and Leonardi showed how to cut the number of bits transmitted in half, which was further improved by authors Costello, Jao, Longa, Naehrig, Renes and Urbanik resulting in a compressed-key version of the SIDH protocol with public keys only 2640 bits in size.^{[50]} This makes the number of bits transmitted roughly equivalent to the non-quantum secure RSA and Diffie-Hellman at the same classical security level.^{[59]}
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. ^{[citation needed]}
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.^{[60]} 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.^{[61]}
The Open Quantum Safe (OQS) project was started in late 2016 and has the goal of developing and prototyping quantum-resistant cryptography.^{[62]}^{[63]} It aims to integrate current post-quantum schemes in one library: liboqs.^{[64]} liboqs is an open source C library for quantum-resistant cryptographic algorithms. It initially focuses on key exchange algorithms but by now includes several signature schemes. It provides a common API suitable for post-quantum key exchange algorithms, and will collect together various implementations. liboqs will also include a test harness and benchmarking routines to compare performance of post-quantum implementations. Furthermore, OQS also provides integration of liboqs into OpenSSL.^{[65]}
As of March 2023, the following key exchange algorithms are supported:^{[62]}
Algorithm | Type |
---|---|
CRYSTALS-Kyber | Module Learning With Error |
Classic McEliece | goppa codes |
BIKE^{[66]} | codes |
HQC^{[67]}^{[68]} | codes |
Frodo^{[69]}^{[70]} | Learning with errors |
NTRU^{[71]} | Lattice-based cryptography |
CRYSTALS-Dilithium^{[72]}^{[73]} | Module Short Integer Solution |
Falcon | Short Integer Solution |
SPHINCS+ | hash based |
Older supported versions that have been removed because of the progression of the NIST Post-Quantum Cryptography Standardization Project are:
Algorithm | Type |
---|---|
BCNS15^{[74]} | Ring learning with errors key exchange |
NewHope^{[75]}^{[46]} | Ring learning with errors key exchange |
SIDH^{[76]}^{[77]} | Supersingular isogeny key exchange |
McBits^{[78]} | Error-correcting codes |
One of the main challenges in post-quantum cryptography is considered to be the implementation of potentially quantum safe algorithms into existing systems. There are tests done, for example by Microsoft Research implementing PICNIC in a PKI using Hardware security modules.^{[79]} Test implementations for Google's NewHope algorithm have also been done by HSM vendors. In August 2023, Google released a FIDO2 security key implementation of an ECC/Dilithium hybrid signature schema which was done in partnership with ETH Zürich.^{[80]}
On February 21, 2024, Apple announced that they were going to upgrade their iMessage protocol with a new PQC protocol called "PQ3", which will utilize ongoing keying.^{[81]}^{[82]}^{[83]} Apple stated that, although quantum computers don't exist yet, they wanted to mitigate risks from future quantum computers as well as so-called "Harvest now, decrypt later" attack scenarios. Apple stated that they believe their PQ3 implementation provides protections that "surpass those in all other widely deployed messaging apps, because it utilizes ongoing keying. Apple intends to fully replace the existing iMessage protocol within all supported conversations with PQ3 by the end of 2024. Apple also defined a scale to make it easier to compare the security properties of messaging apps, with a scale represented by levels ranging from 0 to 3.^{[81]}
Other notable implementations include: