Welcome to our library for zero-knowledge proof circuits designed for symmetric crypto operations! 🚀 The goal is to allow users to prove they possess the key to a symmetric encrypted message without revealing the key itself.
- 🔒 Zero-Knowledge Proof Library
- 🛠️ Supported Algorithms
- 🔍 ZK Proof Systems
- 🤝 Contributing to Our Project
- 📄 License
We currently support the following algorithms:
chacha20
aes-256-ctr
aes-128-ctr
- This includes any CTR implementation (e.g., aes-256-gcm).
⚠️ Note: This is a work in progress and may be insecure (borrowed implementation from Electron Labs).
Our library implements multiple ZK proof systems:
- Circom Circuits backed by
snarkjs
(groth16). gnark
Frontend Circuits backed bygnark
(groth16).gnark
Frontend Circuits backed byexpander
(GKR):- Note: This is a work in progress and may be insecure. It is also only available for
chacha20
at the moment.
- Note: This is a work in progress and may be insecure. It is also only available for
All these proof systems can be accessed easily via a single JS Package. This package provides user-friendly abstract interfaces for generating and verifying proofs.
👉 If you’re just looking to integrate this library into your project, check out the JS Package's README.
We're thrilled that you're interested in contributing! 🎉 Before you get started, please review the following guidelines:
To ensure a positive and inclusive environment for all contributors, please read and follow our Code of Conduct.
If you discover any security-related issues, please refer to our Security Policy for information on how to responsibly disclose vulnerabilities.
Before contributing to this project, please read and sign our Contributor License Agreement (CLA).
For Indie Hackers: Check out our guidelines and potential grant opportunities.
This project is licensed under a custom license. By contributing, you agree that your contributions will be licensed under its terms.
Thank you for your contributions!