ORAM library for Obliv-C
This is a library extension for Obliv-C, a language for collaborative cryptographic computation on private data. Typically Obliv-C does not allow array access such that the element location depends on private data. This library provides data structures for overcoming this limitation, at least for honest-but-curious protocols.
Status: The library itself is ready for use, but the test/benchmarking code is still being posted as we clean it up. In the meantime, we are happy to help out if you contact us at firstname.lastname@example.org.
First, install Obliv-C if you have not done so already. Follow the instructions from this repository. After that, perform the following actions:
- Add this to your
.bashrc, since it is used by the Makefile. This should allow you to invoke the compiler as
- Clone the repository:
git clone https://github.com/samee/sqrtOram.git
This will build a
build/liboram.a file in the repository. Now you can use it
in any project as follows:
OBLIVCC=$OBLIVC_PATH/bin/oblivcc LIBORAM=path/to/liboram/repo $OBLIVCC yourproject.oc -I $LIBORAM/oram -L $LIBORAM/build -loram
As always, questions always welcome at email@example.com