Skip to content

sgtpepperpt/BISEN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BISEN source code

The technical report for BISEN can be found here.

Dependencies

To run BISEN, you will need to install libsodium-sgx, along with Intel SGX drivers and SDK.

To install libsodium-sgx:

cd libsodium-bisen

wget https://download.libsodium.org/libsodium/releases/old/libsodium-1.0.15.tar.gz

tar -xvzf libsodium-1.0.15.tar.gz

mv libsodium-1.0.15 libsodium

(cd libsodium-sgx && make && sudo make install-libsodium-sgx.a)

cd .. # return to main directory

The Storage module also depends on having the Sparsepp headers in a known directory (specified in CMakeLists.txt). You can simply execute git clone https://github.com/greg7mdp/sparsepp.git on this directory.

Compiling and running BISEN

First of all, generate and parse a text dataset, like Enron or Wikipedia. Also, specify the address of the storage/server module in SseIee.c:81.

To test BISEN, you need to start by generating an execution trace of your dataset, consisting of update and search operations. This trace is saved into a file, which is later fed to the IEE as operations are executed on it. Before compiling and running, check the search operations on generate_wiki.cpp or generate_enron.cpp, and change the USE_WIKI_TEST variable accordingly on CMakeLists.txt.

To compile the non-IEE modules execute:

# compile client, test and storage modules
mkdir build && cd build

cmake ..

make

cd .. # return to main directory

To generate the trace file execute export DATASET_DIR="/path/to/the/dataset/files/" && ./Test. The wiki dataset generator is prepared for the output files from the WikiExtractor parser (note: the generated files need to be all in the same folder and have the .txt extension). Smaller traces can be generated by passing -c <nr-articles> to the Test program.

To run the IEE:

cd src/tsgx && mkdir build && make && cd build

export DATASET_FILE="/path/to/the/generated/trace/file"

# check the server is already running in the address specified before
./test_bisen

Example trace files

You can find example trace files here, and download them to the examples folder. These traces are for add operations of Wikipedia articles, followed by different queries (check the queries file) consisting of the most popular English words.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published