ore.rs

(pronounced "auras")

Test

This is an Order Revealing Encryption (ORE) library written in Rust and based on the Block-ORE Encryption scheme developed by Lewi-Wu in 2016.

It makes the following improvements on the original scheme:

Usage Documentation

Reference documentation is on docs.rs/ore-rs.

Need help?

Head over to our support forum, and we'll get back to you super quick!

Build, Test and Bench

To build, run:

cargo build

To test, run:

cargo test

To run the benchmarks, run:

cargo bench

Example benchmark results below:

Benchmark

ARMv8 and M1 Support

ARMv8 and M1 Macs work out of the box but will default to AES in software which is around 4x slower than AES-NI (at least on the test machine using an Intel i7 8700K).

To take advantage of hardware AES using NEON Intrinsics on ARM, you need to use Rust nightly.

asdf install rust nightly asdf local rust nightly cargo +nightly bench

Security Warning

This package is a pre-1.0 release and has not yet had significant scrutiny (although ORE generally has been quite well studied). We are planning to have a 3rd party audit performed prior to the release of 1.0.

In the mean-time: Use at your own risk!

1.0 Roadmap

License

Licensed under the GPLv3. ore.rs will be available commercially under the CipherStash 1.0 licence.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the GPLv3 license, shall be licensed as above, without any additional terms or conditions.