Skip to content

Repository files navigation

PQ-Aggregation-via-Recursive-SNARKs

⚠️ Warning: This is a research prototype. It has not been audited and may contain bugs or security vulnerabilities. Do not use in production environments.


Getting Started

To build and run the project, you must install Rust, Cargo, and the RISC Zero toolchain.

  1. Follow the instructions on the RISC Zero setup guide.
  2. To resolve potential version issues, install version 1.2.5 of risc0-r0vm:
cargo install --force --version 1.2.5 risc0-r0vm

Benchmarks

To run a benchmark test, use the following command:

NUM_VOTERS=<NUM_VOTERS> cargo run --release --bin merge<N> <output_file_path>
  • <NUM_VOTERS>: Number of signatures to be aggregated
  • <N>: Number of partial proofs to merge (supported values: 2, 4, 8)
  • <output_file_path>: Path to save benchmark output (e.g., Benchmark/merge<N>_sig<NUM_VOTERS>)

To create profiling

ISC0_PPROF_OUT=./<profiling_file>.pb RUST_LOG=info RISC0_INFO=1 cargo run --release --bin merge<N> <output_file_path>

To view profiling

go tool pprof -http=127.0.0.1:8000 <profiling_file>.pb

About

Project repository for the paper "HAPPIER: Hash-Based, Aggregatable, Practical Post-quantum Signatures Implemented Efficiently with Risc0"

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages