If and when large-scale quantum computing becomes practical, most public key encryption algorithms currently in use would be breakable. Cryptographers have known this since Peter Shor published his quantum factoring algorithm in 1994.

In 2017 researchers submitted 69 algorithms to the NIST Post-Quantum Cryptography Standardization Process. In 2019 NIST chose 26 of these algorithms to advance to the second round of competition. Yesterday NIST announced the finalists for the third round of its post-quantum cryptography competition.

The four finalists for public key encryption and key establishment management (KEM) are

- Classic McEliece
- CRYSTALS-KYBER
- NTRU
- SABER

The three finalists for digital signatures are

- CRYSTALS-DILITHIUM
- FALCON
- Rainbow

There were five alternates for public key encryption/KEM

- BIKE
- FrodoKEM
- HQC
- NTRU Prime
- SIKE

and three alternates for digital signatures

- GeMSS
- Picnic
- SPHINCS+

**Classic McEliece** is a code-based encryption method. This terminology makes no sense if you think of codes and encryption as synonymous. Here “code” is being used in the sense of codes as in error-correcting codes.

**Rainbow** is an “unbalanced oil and vinegar” (UOV) algorithm. I wrote an introduction to UOV here.

The rest of the finalist algorithms (**CRYSTALS-KYBER**, **NTRU**, **SABER**, **CRYSTALS-DILITHIUM**, and **FALCON**) are all variations on the theme of learning with errors: RLWE (ring learning with errors), MLWE (module learning with errors), MLWR (module learning with rounding), etc. These are all based on the assumption that the analog of linear regression over a discrete ring or module is a hard problem, and would remain hard for quantum computers.

Among the alternates, **SIKE** is the only one involving elliptic curves. Shor’s algorithm makes it practical to solve the discrete logarithm problem for elliptic curves, and quantum computers could break traditional elliptic curve cryptography. But SIKE uses isogeny-based encryption. It doesn’t depend on the inner workings of individual elliptic curves but rather the isogenies *between* different elliptic curves.

The NIST report says that SIKE didn’t make the list of finalists because it was an order of magnitude slower than its competitors. But on the plus side, SIKE uses smaller keys and produces smaller cypher texts than the other methods. If researches find ways to speed up SIKE significantly, and if other researchers don’t find weaknesses in the method, it could be widely adopted in the future.

*******

**More posts** on encryption.

Now that the candidates have been reduced, are there human readable examples of each of the methods with “small” examples of parameters? I find this to be really bad as these new algorithms are so complex, whereas RSA, ECC… were easy to understand and do examples.