Options
A Configurable CRYSTALS-Kyber Hardware Implementation with Side-Channel Protection
ISSN
15399087
Date Issued
2024-03-27
Author(s)
Jati, Arpan
Gupta, Naina
Chattopadhyay, Anupam
Sanadhya, Somitra Kumar
DOI
10.1145/3587037
Abstract
In this work, we present a configurable and side channel resistant implementation of the post-quantum keyexchange algorithm CRYSTALS-Kyber. The implemented design can be configured for different performance and area requirements leading to different trade-offs for different applications. A low area implementation can be achieved in 5,269 LUTs and 2,422 FFs, whereas a high performance implementation required 7,151 LUTs and 3,730 FFs. Due to a deeply pipelined architecture, a high operating speed of more than 250 MHz could be achieved on 28nm Xilinx FPGAs. The side channel resistance is implemented using a carefully chosen set of novel and known techniques such as Fault Detection Hashes, Instruction Randomization, FSM Protection and so on. resulting in a low overhead of less than 5% while being highly configurable. To the best of our knowledge, this work presents the first side-channel and fault attack protected configurable accelerator for CRYSTALS-Kyber. Using TVLA (test vector leakage assessment), we validate the implemented protection techniques and demonstrate that the design does not leak information even after 200 K traces. Furthermore, one of the configuration choices results in the smallest hardware implementation of CRYSTALS-Kyber known in the literature.