Skip to content

CapacitorSet/Glovebox

Repository files navigation

Glovebox

A library for writing applications with homomorphic encryption, and a TFHE frontend. This is extremely experimental, alpha, and by all means not release-ready - feel free to peek at the features, but don't rely on its API.

Check out the examples folder to see it in action, or head to the Getting Started docs for an overview of the features.

Note that this project is distributed under a non-commercial license (specifically, the Commons Clause on top of Apache 2.0). For commercial usage please contact the author: [email protected].

Usage

  • Install the requirements detailed in tools/verilog-to-glovebox
  • cd tools/verilog-to-glovebox
  • ./transpile.sh ../../src/autogenerated/add.{v,cpp}
  • ./transpile.sh ../../src/autogenerated/mul.{v,cpp}
  • cd ../..
  • Install TFHE v1 (https://github.com/tfhe/tfhe/tree/v1.0.1)
  • Install the GSL
  • Install rpclib
  • cmake . -DPLAINTEXT=0 (PLAINTEXT=1 uses a mock implementation and enables debug flags)
  • make

Tests

  • In addition to TFHEv1 and the GSL, clone Rapidcheck
  • cmake . -DPLAINTEXT=0 -DTESTS_ENABLED=1
  • make glovebox_test
  • bin/glovebox_test

Licensing

Copyright 2018 CapacitorSet <[email protected]>. Licensed under the terms in the file "LICENSE".

Contact the author for commercial usage and licensing.

About

A library for writing applications with homomorphic encryption.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors