Skip to content

A circom library for zero-knowledge proofs of symmetric encryption key ownership without key revelation.

Notifications You must be signed in to change notification settings

reclaimprotocol/zk-symmetric-crypto

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Circom Banner

🔒 Zero-Knowledge Proof Library

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.

📚 Table of Contents

🛠️ Supported Algorithms

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).

🔍 ZK Proof Systems

Our library implements multiple ZK proof systems:

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.

🤝 Contributing to Our Project

We're thrilled that you're interested in contributing! 🎉 Before you get started, please review the following guidelines:

📜 Code of Conduct

To ensure a positive and inclusive environment for all contributors, please read and follow our Code of Conduct.

🔐 Security

If you discover any security-related issues, please refer to our Security Policy for information on how to responsibly disclose vulnerabilities.

✍️ Contributor License Agreement

Before contributing to this project, please read and sign our Contributor License Agreement (CLA).

🌱 Indie Hackers

For Indie Hackers: Check out our guidelines and potential grant opportunities.

📄 License

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!