#encryption #lib #order-preserving #cryptdb

ope

This is an Order-preserving encryption (OPE) lib inspired by cryptdb's ope implementation

2 releases

0.1.1 Jul 16, 2023
0.1.0 Jul 16, 2023

#1855 in Cryptography

42 downloads per month
Used in 8 crates (2 directly)

Custom license

16KB
445 lines

Ope in rust

This is an Order-preserving encryption (OPE) lib inspired by cryptdb's ope implementation.

It is a pure rust implementation, no c dependencies needed.

It is also written for no-std targets (thanks to num-traits) and works in wasm.

The max value to encrypt is 65532

use ope_rs::get_ope;

fn main()
{
	let k = b"this is a key 10".to_owned();

	let ope = get_ope(&k);

	let a = ope.encrypt(21).unwrap();
	let b = ope.encrypt(65531).unwrap();
	let c = ope.encrypt(65532).unwrap();

	assert!(a < b);
	assert!(b < c);
}

Dependencies

~1.5MB
~37K SLoC