This repository contain software implementations of Romulus, one of the finalists of the NIST LWC competition.
These implementations were written to answer the call for protected software implementations issued by the Cryptographic Engineering Research Group from George Mason University, and therefore follow the proposed API.
Note that the implementations require an external randombytes
function with the following prototype:
void randombytes(unsigned char *,unsigned long long);
in order to generate the shares used as masks.
More details about the implementations and countermeasures are given in Documents/documentation.pdf
.