Rainbow is a Digital Signature Algorithm (DSA) that is based on multivariate polynomials. It is one of the Round-3 candidates of the NIST’s Post-Quantum Cryptography Standardization project. Its computations rely heavily on GF(28) arithmetic and the Rainbow submission optimizes the code by using AVX2 shuffle and permute instructions. In this paper, we show a new optimization that leverages: (a) AVX512 architecture; (b) the latest processor capabilities Galois Field New Instructions (GF-NI), available on Intel “Ice Lake” processor. We achieved a speedup of 2.43 ×/3.13 ×/0.64 × for key generation/signing/verifying, respectively. We also propose a variation of Rainbow, with equivalent security, using a different representation of GF(28). With this variant, we achieve a speedup of 2.44 ×/4.7 ×/2.1 × for key generation/signing/verifying, respectively.
|Title of host publication||ITNG 2021 18th International Conference on Information Technology-New Generations|
|Number of pages||6|
|State||Published - 2021|