Skip to content

SEAL library in SGX, performing some time-consuming opearations in an SGX enclave

License

Notifications You must be signed in to change notification settings

CrazyMotor/seal_SGX

 
 

Repository files navigation

Imported SEAL library in SGX

SEAL

SEAL homepage

The Simple Encrypted Arithmetic Library (SEAL) is an easy-to-use homomorphic encryption library, developed by researchers in the Cryptography Research Group at Microsoft Research. SEAL is written in C++, and contains .NET wrappers for the public API. It has no external dependencies, so it is easy to compile in many different environments. SEAL uses the Microsoft Research License Agreement, and is free for research use.

SGX

SGX homepage

This Intel technology is for application developers who are seeking to protect select code and data from disclosure or modification. Intel® SGX makes such protections possible through the use of enclaves, which are protected areas of execution in memory. Application code can be put into an enclave by special instructions and software made available to developers via the Intel SGX SDK. The SDK is a collection of APIs, libraries, documentation, sample source code, and tools that allows software developers to create and debug applications enabled for Intel SGX in C and C++.

Seal in SGX

perform time consuming operations, such as bootstrapping, inside an SGX enclave.

This project compiles the application (App) and the SGX library (SealEnclaveTest.signed.so). It contains 2 copies of SEAL.

  • App
    Source files: OutEnclaveTest/, Seal_OutEnclave/
  • SGX library
    Source files: SealEnclaveTest/, SEAL/
  • Configuration file (including encryption parameters)
    Configure.txt

Usage

Prerequisite:

  • Install Intel SGX linux SDK on a recent platform supporting SGX.
  • A recent GCC/G++ compiler.

One may also test it in simulation mode without SGX support by changing line 5 of Makefile from SGX_MODE ?= HW to SGX_MODE ?= SIM. Then:

  • make
  • ./App

Work in progress

Make it work in client-server mode (see the csmod directory mode for more information)

About

SEAL library in SGX, performing some time-consuming opearations in an SGX enclave

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C++ 98.6%
  • Other 1.4%