/ReCrypt

Key Rotation for Authenticated Encryption

Primary LanguageRustMIT LicenseMIT

THIS IS PROTOTYPE CODE FOR RESEARCH - NOT SUITABLE OR TESTED FOR PRODUCTION USAGE

It is also abandoned and using some unstable versions of libraries. I will try to keep it working as long as possible though, so file as issue if it's completely broken.

ReCrypt

Key Rotation for Authenticated Encryption

This repo contains a prototype implementation of ReCrypt.

For the accompanying research paper, see: http://eprint.iacr.org/2017/527.

We are currently pegged to an older version of curve25519-dalek for which we implemented the Elligator map and inverse for use with the Edwards curve. Ideally, we would switch to using Ristretto, when there is an available implementation for the inverse Elligator map, to map byte strings to the curve.

Installation & Usage

Requires Rust - https://rustup.rs/

Once installed, you can download with:

git clone https://github.com/samscott89/recrypt/
cd recrypt
cargo build
# Optional: builds and opens documentation
cargo doc --no-deps --open

By default, running with cargo run gives the benchmarks. Ensure to run with cargo run --release to get profiles for optimised code.