Crates.io | ore-rs |
lib.rs | ore-rs |
version | 0.8.0 |
source | src |
created_at | 2021-12-08 09:50:22.458329 |
updated_at | 2024-01-09 03:48:21.06262 |
description | Order-revealing encryption library used by the CipherStash searchable encryption platform |
homepage | https://cipherstash.com |
repository | |
max_upload_size | |
id | 494432 |
size | 89,429 |
(pronounced "auras")
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:
x86_64
and ARM
Reference documentation is on docs.rs/ore-rs.
Head over to our support forum, and we'll get back to you super quick!
To build, run:
cargo build
To test, run:
cargo test
To run the benchmarks, run:
cargo bench
Example benchmark results below:
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
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!
ore.rs is available under the CipherStash Client Library Licence Agreement.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, shall be licensed as above, without any additional terms or conditions.