Skip to content
/ oram Public

A rust implementation of ORAM storage in Intel SGX

License

Notifications You must be signed in to change notification settings

advanca/oram

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

oram

A rust implementation of ORAM storage in Intel SGX.

Currently available algorithms:

  • Square-Root ORAM

Currently available storage backends:

backend std support 1️⃣ sgx support persistence
in-memory 2️⃣
LevelDB 🚧
SgxFS

Note:

  • 1️⃣ The std support is mostly for development and testing
  • 2️⃣ The in-memory backend has no persistence and should only be used for testing

Development

This crate can be built with std for development purpose.

# quick check in default std environment
cargo check
# unit test
cargo test

To make sure the crate also works in SGX.

cargo check --no-default-features --features=sgx

A all-in-one scripts for compile check.

./scripts/check.sh

Benchmarking

Install gnuplot.

sudo apt install gnuplot -y

Run the benchmarks

cargo bench

Open the file target/criterion/report/index.html in your browser and see the report.

Use in SGX

To use the crate in SGX environment, see the example project at examples/sgx.

License

Apache 2.0