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
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
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.
To use the crate in SGX environment, see the example project at examples/sgx.