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 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.
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
- 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
- Install the Tangle CLI:
cargo install cargo-tangle --git https://github.com/tangle-network/gadget.git --force
- Create a new project:
cargo tangle blueprint create --name silent-timelock
- Uses BN254 elliptic curve for efficient pairing-based cryptography
- Implements secure multi-party computation for threshold decryption
For detailed documentation on the cryptographic protocols and service architecture, please visit: Tangle Documentation
Licensed under either:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
Contributions welcome! Please feel free to submit a Pull Request.