Paper 2022/412

Complete and Improved FPGA Implementation of Classic McEliece

Po-Jen Chen
Tung Chou
Sanjay Deshpande
Norman Lahr
Ruben Niederhagen
Jakub Szefer
Wen Wang

We present the first specification-compliant constant-time FPGA implementation of the Classic McEliece cryptosystem from the third-round of NIST's Post-Quantum Cryptography standardization process. In particular, we present the first complete implementation including encapsulation and decapsulation modules as well as key generation with seed expansion. All the hardware modules are parametrizable, at compile time, with security level and performance parameters. As the most time consuming operation of Classic McEliece is the systemization of the public key matrix during key generation, we present and evaluate three new algorithms that can be used for systemization while complying with the specification: hybrid early-abort systemizer (HEA), single-pass early-abort systemizer (SPEA), and dual-pass early-abort systemizer (DPEA). All of the designs outperform the prior systemizer designs for Classic McEliece by 2.2x to 2.6x in average runtime and by 1.7x to 2.4x in time-area efficiency. We show that our complete Classic McEliece design for example can perform key generation in 5.2-20ms, encapsulation in 0.1-0.5ms, and decapsulation in 0.7-1.5ms for all security levels on an Xlilinx Artix 7 FPGA. The performance can be increased even further at the cost of resources by increasing the level of parallelization using the performance parameters of our design.

Note: Fixing of errata in TCHES version.

Available format(s)
Publication info
A minor revision of an IACR publication in TCHES 2022
Classic McEliece Encapsulation Mechanism Code-Based Cryptography PQC FPGA Hardware Implementation
Contact author(s)
ruben @ polycephaly org
2022-09-05: last of 2 revisions
2022-03-31: received
See all versions
Short URL
Creative Commons Attribution


      author = {Po-Jen Chen and Tung Chou and Sanjay Deshpande and Norman Lahr and Ruben Niederhagen and Jakub Szefer and Wen Wang},
      title = {Complete and Improved FPGA Implementation of Classic McEliece},
      howpublished = {Cryptology ePrint Archive, Paper 2022/412},
      year = {2022},
      doi = {10.46586/tches.v2022.i3.71-113},
      note = {\url{}},
      url = {}
Note: In order to protect the privacy of readers, does not use cookies or embedded third party content.