CRYSTALS-Kyber is a post-quantum secure key encapsulation mechanism which is currently being standardized by the NIST. This makes it important to assess the resistance of CRYSTALS-Kyber implementations to physical attacks. In this paper, we present an attack on a masked and shuffled implementation of CRYSTALS-Kyber in ARM Cortex-M4 that combines side-channel analysis (SCA) with fault injection. First, voltage glitching is performed to bypass the shuffling. We found settings that consistently skip the desired instructions without crashing the device. After the successful fault injection, a deep learning-assisted profiled power analysis based on the Hamming weight leakage model is applied to recover the message (shared key). We use a partial key enumeration method that significantly increases the success rate of message recovery. We also propose countermeasures against the presented attack.
QC 20240701
Part of ISBN 979-835037394-3