This repository contains the code for the Rainier signature scheme from our paper
Shorter Signatures Based on Tailor-Made Minimalist Symmetric-Key Crypto
Christoph Dobraunig and Daniel Kales and Christian Rechberger and Markus Schofnegger and Greg Zaverucha
eprint
The implementation of the additionally proposed variants of Banquet can be found here.
C++-17 Compatible Toolchain
For testing:
mkdir build
cd build
cmake ..
make
# tests (only if you built them)
make test
# benchmarks
./bench_free -i <iterations> <kappa> <N> <tau> #benchmark parameters freely
python3 ../tools/bench_all.py # benchmarks some of the selected parameters
The benchmark script contains a SCALING_FACTOR
variable that is used to scale the measured cycles to ms. Configure it according to your specific machine.
Some additional scripts to generate new Rain instances or to calculate the soundness and signature size of a given parameter set can be found in the tools/scripts
folder.