zkdilithium ♦️ : Post-Quantum Anonymous Credentials ePrint:2023/414
Rust implementation of the zkDilithium based anonymous credential scheme introduced in ePrint:2023/414/
WARNING: This is an academic proof-of-concept prototype, and in particular has not received careful code review. This implementation is NOT ready for production use.
This project uses the winterfell crate as the backend for the STARK prover. We have a fork of this crate which contains the zkDilithium fields/extensions.
The zkDilithium python spec requires python 3.9 or below due to its dependence on the Galois package.
spec/zkdilithium.py
: Python specification for the zkDilithium signature scheme. Can be run to generate a testcase that is plugged into the STARK prover.src/utils
: Contains an implementation of the Poseidon hash function over the zkDilithium field and corresponding constraints.src/starkpf
: Contains the STARK prover which proves knowledge of a zkDilithium signature on a publicly known message m.
Run with
cargo run --release
This library is released under the MIT License.