This repository contains an implementation of the framework for Post-Quantum (PQ) Anonymous Verifiable Credentials defined by Bootle, Lyubashevsky, Nguyen, and Sorniotti (BLNS) and available in https://eprint.iacr.org/2023/560.pdf
- GMP 6.3.0
- NTL 11.5.1
- Falcon 2021-11-01 (Optional)
- Clang 14.0.0 (Optional - necessary if Falcon is used)
NOTE: it is possible to set USE_FALCON = 1
(default) in the Makefile,
to automatically download and use the Falcon_keygen
and Falcon_GSampler
from the Falcon reference implementation, for better performance.
Otherwise, with USE_FALCON = 0
the NTRU_TrapGen
and GSampler
function defined in Lattice.cc are used.
For installation instructions and additional information, see /Docs/INSTALL.md
After cloning this repository, build and run the BLNS
executable as follows:
make -j$(nproc)
./BLNS
Work done in collaboration with the Cryptography and Number Theory research group (CrypTO) at the Politecnico di Torino, in the framework of the QUBIP project.