Skip to main content

Crate qzkp

Crate qzkp 

Source
Expand description

§qzkp – Quantum Zero-Knowledge Proof Protocol

A Rust implementation of the QZKP protocol: a BB84-inspired quantum channel simulation combined with QBER (Quantum Bit Error Rate) verification for zero-knowledge identity proofs, with built-in Aadhaar integration.

§Overview

The library provides four layers, each building on the one below:

ModulePurpose
quantumSingle-qubit state-vector simulator with noise models
bb84BB84 quantum key distribution protocol
qzkpFull QZKP proof protocol (KDF, quantum stage, QBER)
qaadhaarAadhaar identity verification on top of QZKP

§Quick start

use qzkp::qzkp::QZKPProtocol;

let protocol = QZKPProtocol::new(
    "shared_secret".into(),
    "shared_secret".into(),
    32,
    0.025,
);
let result = protocol.run_protocol(&mut rand::thread_rng());
assert!(result.verification_status);

§Aadhaar authentication

use std::collections::BTreeMap;
use qzkp::qaadhaar::{QAadhaarProtocol, ServiceProvider};

let mut attrs = BTreeMap::new();
attrs.insert("name".into(), "Alice".into());

let proto = QAadhaarProtocol::new("1234-5678-9012".into(), "secret".into(), attrs);
let challenge = proto.request_authentication("Portal", "id_verify", &mut rand::thread_rng());
let (proof, result) = proto.generate_proof(&challenge, 0.025, &mut rand::thread_rng());

let verifier = ServiceProvider::new("Portal".into());
assert!(verifier.verify_proof(&proof));

Modules§

bb84
BB84 quantum key distribution protocol simulation.
qaadhaar
Aadhaar identity verification built on the QZKP protocol.
quantum
Single-qubit state-vector quantum simulator with noise models.
qzkp
Quantum Zero-Knowledge Proof (QZKP) protocol.