Skip to content

TrustworthyComputing/Juliet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Juliet

An Execution Engine for an Encrypted Processor

Prerequisites

  1. Install TFHE
  2. Update library path if necessary:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<TFHE_INSTALL_DIR>/lib
export LIBRARY_PATH=$LIBRARY_PATH:<CUFHE_DIR>/cufhe/bin
export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:<CUFHE_DIR>/cufhe/include

Overview

Juliet is a framework for general-purpose computation with Fully Homomorphic Encryption (FHE).

docker build -t juliet .

docker run --rm -i -t juliet bash

Client Setup

  1. Run make client_scripts_cpu for the CPU-based TFHE backend or make client_scripts_gpu for the cuFHE GPU-based backend.
  2. Navigate to the client directory and run ./keygen.out to generate an FHE keypair. The evaluation key needed for FHE operations will be placed in the cloud_enc directory.
  3. Create a file named preAux.txt and load this with cleartext integer inputs (one per line) that represent sensitive data and will serve as sensitive program inputs for Juliet.
  4. Run ./ppscript.sh to automatically generate a ciphertext memory directory, which will be placed in the cloud_enc directory.
  5. Upload the entire cloud_enc directory to the cloud server.

How to cite this work

The Juliet paper can be accessed here and here; you can cite this work as follows:

@article{gouert2024Juliet,
    author       = {Gouert, Charles and Mouris, Dimitris and Tsoutsos, Nektarios Georgios},
    title        = {{Juliet: A Configurable Processor for Computing on Encrypted Data}},
    journal      = {IEEE Transactions on Computers},
    publisher    = {IEEE},
    year         = {2024},
    pages        = {1-14},
    doi          = {10.1109/TC.2024.3416752},
    note         = {\url{https://trustworthycomputing.github.io/Juliet/Juliet.2024.pdf}},
}

Acknowledgments

This work was supported by the National Science Foundation (Award #2239334).

Trustworthy Computing Group

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •