Speed Up Over the Rainbow

Nir Drucker, Shay Gueron, Shahram Latifi (Editor)

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


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.
Original languageEnglish
Title of host publicationITNG 2021 18th International Conference on Information Technology-New Generations
Number of pages6
StatePublished - 2021


Dive into the research topics of 'Speed Up Over the Rainbow'. Together they form a unique fingerprint.

Cite this