https://github.com/tangle-network/silent-timelock-encryption-blueprint
https://github.com/tangle-network/silent-timelock-encryption-blueprint
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/tangle-network/silent-timelock-encryption-blueprint
- Owner: tangle-network
- License: apache-2.0
- Created: 2024-11-28T19:17:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-23T05:20:56.000Z (over 1 year ago)
- Last Synced: 2025-03-30T19:17:18.080Z (about 1 year ago)
- Language: Rust
- Size: 606 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE-APACHE
Awesome Lists containing this project
README
#
Silent Time-lock Encryption Blueprint 🔐
A decentralized threshold encryption service built on Tangle Network that enables secure time-locked data encryption and decryption. It uses the silent threshold ecnryption research paper [Silent Threshold Encryption ePrint:2024/263](https://eprint.iacr.org/2024/263) by Sanjam Garg, Dimitris Kolonelos, and Mingyuan Wang.
The innovative aspect of Silent Threshold Encryption is that it allows for threshold decryption services without any interactive setup. The scheme can be used to create timelock encryption as well, which is useful for a variety of use cases such as random number generation, verifiable delay functions, and more.
## 🎯 Overview
This Blueprint implements a threshold encryption service where:
- Multiple operators collectively manage encrypted data
- Users can encrypt data that requires a threshold of operators to decrypt
- Decryption requests are processed through secure multi-party computation
- Built using BN254 elliptic curve cryptography and silent threshold encryption
## 🚀 Features
- **Threshold Decryption**: Requires `t-of-n` operators to collaborate for decryption
- **Secure Key Management**: Each operator maintains their own secret key
- **On-chain Coordination**: Decryption requests and operator registration handled via smart contracts
- **Asynchronous Protocol**: Uses Tokio for efficient async communication between operators
- **Robust Error Handling**: Comprehensive error management for cryptographic operations
## 📋 Prerequisites
- [Rust](https://www.rust-lang.org/tools/install)
- [Forge](https://getfoundry.sh)
- [Tangle](https://github.com/tangle-network/tangle)
- [cargo-tangle](https://crates.io/crates/cargo-tangle)
## 🛠️ Setup
1. Install the Tangle CLI:
```bash
cargo install cargo-tangle --git https://github.com/tangle-network/gadget.git --force
```
2. Create a new project:
```bash
cargo tangle blueprint create --name silent-timelock
```
## 🔒 Security
- Uses BN254 elliptic curve for efficient pairing-based cryptography
- Implements secure multi-party computation for threshold decryption
## 📚 Documentation
For detailed documentation on the cryptographic protocols and service architecture, please visit:
[Tangle Documentation](https://docs.tangle.tools/developers/blueprints)
## 📄 License
Licensed under either:
- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE))
- MIT License ([LICENSE-MIT](LICENSE-MIT))
## 🤝 Contributing
Contributions welcome! Please feel free to submit a Pull Request.