Constant time algorithms for ROLLO-I-128 Carlos Aguilar-Melchor1, Nicolas Aragon2†, Emanuele Bellini3, Florian Caullery3, Rusydi H. Makarim3 and Chiara Marcolla3 1 ISAE-SUPAERO, Université de Toulouse, Toulouse, France
[email protected] 2 Université de Limoges, Limoges Cedex, France
[email protected] 3 Cryptography Research Centre, Technology Innovation Institute, Abu Dhabi, UAE
[email protected] Abstract. In this work, we propose different techniques that can be used to implement the ROLLO, and partially RQC, family of algorithms in a standalone, efficient and constant time library. For simplicity, we focus our attention on one specific instance of this family, ROLLO-I-128. For each of these techniques, we present explicit code (with intrinsics when required), or pseudo-code and performance measures to show their impact. More precisely, we use a combination of original and known results and describe procedures for Gaussian reduction of binary matrices, generation of vectors of given rank, multiplication with lazy reduction and inversion of polynomials in a composite Galois field. We also carry out a global performance analysis to show the impact of these improvements on ROLLO-I-128. Through the SUPERCOP framework, we compare it to other 128-bit secure KEMs in the NIST competition. To our knowledge, this is the first optimized full constant time implementation of ROLLO-I-128. Keywords: code-based cryptography · KEM · post-quantum cryptography · rank metric · constant time †This work was partially funded by French DGA 2 Constant time algorithms for ROLLO-I-128 Contents 1 Introduction2 1.1 Our contribution . .3 1.2 Structure of the paper .