qzkp
Quantum Zero-Knowledge Proof (QZKP) protocol implementation in Rust, featuring BB84 quantum key distribution simulation and Aadhaar identity verification.
Features
- Quantum simulation -- single-qubit state-vector simulator with depolarizing noise and amplitude damping channels
- BB84 QKD -- full BB84 protocol: encode, transmit, measure, sift, estimate error rate
- QZKP protocol -- SHA-256 KDF, quantum state preparation, basis reconciliation, QBER threshold verification
- Aadhaar integration -- challenge-response identity verification with masked IDs, Merkle root over attributes, and proof generation/verification
Quick start
Add to your Cargo.toml:
[]
= "0.1"
QZKP proof verification
use QZKPProtocol;
let protocol = new;
let result = protocol.run_protocol;
assert!;
assert!;
Aadhaar authentication
use BTreeMap;
use ;
let mut attrs = new;
attrs.insert;
attrs.insert;
let proto = new;
let mut rng = thread_rng;
let challenge = proto.request_authentication;
let = proto.generate_proof;
let verifier = new;
assert!;
BB84 key distribution
use BB84QKD;
let bb84 = BB84QKDnew;
let = bb84.generate_key;
assert!;
Modules
| Module | Description |
|---|---|
quantum |
QuantumState, QuantumCircuit -- gates, noise, measurement |
bb84 |
BB84QKD -- BB84 quantum key distribution |
qzkp |
QZKPProtocol, ProtocolResult -- full QZKP protocol |
qaadhaar |
QAadhaarProtocol, AuthChallenge, AuthProof, ServiceProvider |
Python bindings
A Python package wrapping this crate is available:
See PyPI for details.
License
MIT