================================================================================
The ObliVM compiler is developed and currently maintained by Chang Liu.
The code is a research-quality proof of concept, and is still under development for more features and bug-fixing.
Oracle Java 8 JavaCC 5.0 (to compile C.jj under the parser folder only) Python 2.7 (to run tools)
In Linux:
$ ./compile.sh
In Cygwin
$ ./compile_cygwin.sh
Compile the example:
$ ./run-compiler.sh 54321 examples/hamming/hamming.lcc
In Cygwin
$ ./run-compiler_cygwin.sh 54321 examples/hamming/hamming.lcc
Run the real secure computation:
$ ./runtogether.sh examples/hamming/input_alice.txt examples/hamming/input_bob.txt
In Cygwin
$ ./runtogether_cygwin.sh examples/hamming/input_alice.txt examples/hamming/input_bob.txt
Under tools/ folder, the following tools are available:
- datainitilizer: initialize the bit input file from a file containing an integer or an array of integers
[LWNYS15] [ ObliVM: A Programming Framework for Secure Computation ] (http://www.cs.umd.edu/~liuchang/paper/oakland2015-oblivm.pdf) Chang Liu, Xiao Shuan Wang, Kartik Nayak, Yan Huang, Elaine Shi IEEE S&P 2015