This repository aims to create proofs which verifies the RSA signatures signed by Myna Card(Japan's ID Card).
For a brief introduction to zero-knowledge proofs (ZK), see this doc.
Halo 2 is written in Rust, so you need to install Rust to use this library:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Clone this repo and start off in the halo2-circuits
directory.
git clone [email protected]:MynaWallet/halo2-circuits.git
cd halo2-circuits
cargo test -- --nocapture
cargo bench
Result Not Yet
- ✅ RSA Verification Circuit Base
- RSA Verification Circuit (SHA2 Hash as input)
- Test & Benchmarks
- Verifier Contracts
- Example Codes which call Prover
- (Phase2) RSA Verification Circuit (DER-encoded certificate as input)
- (Phase3) Selective Disclosure
See more details on the issues
Please make sure to cut your own branch from feature/base
.
You can refer to these repos of RSA verification circuits.
# `k`: degree that expresses the size of circuit (i.e., 2^k is the number of rows in the circuit)
cargo run -r gen-params --k 17
cargo run -r gen-rsa-keys
cargo run -r prove-rsa
cargo run -r gen-rsa-verify-evm-proof