Skip to content

Ghaadyy/tlock

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

A Time-Locked Message Capsule Platform Based on Threshold Networks

This project provides a practical timelock encryption system built on a threshold randomness network, allowing messages and files to be encrypted to a specific future time.

This is an educational project submitted in partial fulfillment of the requirements for Applied Cryptography at the American University of Beirut.

Reference

[Link] Nicolas Gailly, Kelsey Melissaris, and Yolan Romailler. tlock: Practical timelock encryption from threshold BLS. Cryptology ePrint Archive, Paper 2023/189, 2023.

Screenshots

home.png

capsules.png

Setup & Installation

You can easily use the docker compose file to set up the project locally.

docker compose up --build

Manual installation

Backend

The project consists of a Rust project in the tlock directory which can be built and run using cargo.

cd tlock
cargo build
cargo run

It will spin up a server on localhost:3000 by default. You should create a capsules.db file in the root of the Rust project for the SQLite database.

The Rust code will take care of initializing the database schema on first run.

You will also need mailhog in order to test the email functionality. You can run mailhog using docker:

docker run -d -p 1025:1025 -p 8025:8025 mailhog/mailhog

You will need to install and configure MinIO for the object storage functionality. You can run MinIO using docker:

docker run -p 9000:9000 -p 9001:9001 --name minio1 -e "MINIO_ROOT_USER=minioadmin" -e "MINIO_ROOT_PASSWORD=minioadmin" -v /mnt/data:/data -v /mnt/config:/root/.minio minio/minio server /data --console-address ":9001"

Frontend

The frontend is a React project located in the web directory. You can install the dependencies and run it using npm.

cd web
npm install
npm run dev

About

A time-lock encryption scheme based on threshold networks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors