Paper 2020/434

High-speed Instruction-set Coprocessor for Lattice-based Key Encapsulation Mechanism: Saber in Hardware

Sujoy Sinha Roy and Andrea Basso

Abstract

In this paper, we present an instruction set coprocessor architecture for lattice-based cryptography and implement the module lattice-based post-quantum key encapsulation mechanism (KEM) Saber as a case study. To achieve fast computation time, the architecture is fully implemented in hardware, including CCA transformations. Since polynomial multiplication plays a performance-critical role in the module and ideal lattice-based public-key cryptography, a parallel polynomial multiplier architecture is proposed that overcomes memory access bottlenecks and results in a highly parallel yet simple and easy-to-scale design. Such multipliers can compute a full multiplication in $256$ cycles, but are designed to target any area/performance trade-offs. Besides optimizing polynomial multiplication, we make important design decisions and perform architectural optimizations to reduce the overall cycle counts as well as improve resource utilization. For the module dimension 3 (security comparable to AES-192), the coprocessor computes CCA key generation, encapsulation, and decapsulation in only 5,453, 6,618 and 8,034 cycles respectively, making it the fastest hardware implementation of Saber to our knowledge. On a Xilinx UltraScale+ XCZU9EG-2FFVB1156 FPGA, the entire instruction set coprocessor architecture runs at 250 MHz clock frequency and consumes 23,686 LUTs, 9,805 FFs, and 2 BRAM tiles (including 5,113 LUTs and 3,068 FFs for the Keccak core).

Metadata
Available format(s)
PDF
Category
Public-key cryptography
Publication info
A minor revision of an IACR publication in TCHES 2020
Keywords
Lattice-based CryptographyPost-Quantum CryptographyHardware ImplementationSaber KEMHigh-speed Instruction-set Architecture
Contact author(s)
s sinharoy @ cs bham ac uk
a basso @ cs bham ac uk
History
2020-07-14: last of 2 revisions
2020-04-15: received
See all versions
Short URL
https://ia.cr/2020/434
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2020/434,
      author = {Sujoy Sinha Roy and Andrea Basso},
      title = {High-speed Instruction-set Coprocessor for Lattice-based Key Encapsulation Mechanism: Saber in Hardware},
      howpublished = {Cryptology ePrint Archive, Paper 2020/434},
      year = {2020},
      note = {\url{https://eprint.iacr.org/2020/434}},
      url = {https://eprint.iacr.org/2020/434}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.