AIngle ZK - Zero-Knowledge Proofs
Privacy-preserving cryptographic primitives for AIngle.
Features
- Pedersen Commitments: Hide values while allowing verification
- Range Proofs: Prove a value is within a range without revealing it
- Membership Proofs: Prove inclusion in a set using Merkle trees
- Hash Commitments: Simple commitment scheme using cryptographic hashes
Quick Start
use ;
// Hash commitment (simple)
let commitment = commit;
assert!;
// Pedersen commitment (hiding and binding)
let = commit;
assert!;
Merkle Proofs
use ;
// Build tree from leaves
let leaves = vec!;
let tree = from_leaves;
// Generate proof for leaf at index 2
let proof = tree.prove?;
// Verify membership
assert!;
Range Proofs (with bulletproofs feature)
use ;
// Prove value is in range [0, 2^64) without revealing it
let value = 42u64;
let = prove?;
// Verify the proof
assert!;
ZK Proof System
use ;
let zk = new;
// Create anonymous credential
let credential = zk.create_credential?;
// Prove age >= 18 without revealing exact age
let proof = zk.prove_predicate?;
// Verify without learning the actual value
assert!;
Proof Types
| Type | Use Case | Performance |
|---|---|---|
| Hash Commitment | Simple binding | Fast |
| Pedersen | Hiding + binding | Medium |
| Range Proof | Value bounds | Slow |
| Merkle | Set membership | Fast |
License
Copyright 2019-2025 Apilium Technologies
Licensed under the Apache License, Version 2.0.