This repo contains pure Rust implementation of drand/tlock
scheme. It provides time-based encryption and decryption capabilities by relying on a drand threshold network and identity-based encryption (IBE). The IBE scheme implemented here is Boneh-Franklin
.
The tlock system relies on an unchained drand network. Working endpoints to access it are, for now:
cargo run -- lock -o test_lock.pem -d 30s test.txt
cargo run -- lock -o test_lock.pem -r 1000 test.txt
cargo run -- unlock -o test_unlock.txt test_lock.pem
Error Too early
will appear, if one tries to unlock a file before the specified round is reached.
- API currently supports 32 bytes of plaintext
- Cross-library decryption hasn't been verified