-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Overview
Add additional zero-knowledge proof examples to demonstrate the Decree library's capabilities and provide reference implementations for common cryptographic protocols.
Existing Examples
- Girault proof (test in
tests/inscribe_tests.rs) - Schnorr proof (test in
tests/inscribe_tests.rs)
Possible Options
Simple Examples (Sigma Protocols)
- Chaum-Pedersen proof - equality of discrete logarithms (Add Chaum-Pedersen proof example #10)
- Product proof - prove
z = x * ygiven commitments - Range proof - prove
0 ≤ x < 2^nusing bit-by-bit approach
Complex Examples (Beyond Sigma Protocols)
- Small-factor proof - prove RSA modulus has factors above threshold (Add small-factor proof from CGGMP21 #14)
- Paillier-Blum modulus proof - prove N = pq with p ≡ q ≡ 3 (mod 4) (Add small-factor proof from CGGMP21 #14)
- MPC-in-the-head proof (e.g., Ligero-style) - demonstrates complex multi-round Fiat-Shamir
- Inner product argument (Bulletproofs-style) - shows recursive proof structure
Implementation Guidelines
- Use Ristretto255 for elliptic curve examples
- Include comprehensive test suites in example files
- Focus on clean implementations
- Demonstrate proper use of the
Inscribetrait with domain separation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels