Skip to content
forked from secretflow/heu

A high-performance homomorphic encryption algorithm library.

License

Notifications You must be signed in to change notification settings

shengweigit/heu

 
 

Repository files navigation

HEU

CircleCI PyPI version

中文

HEU (Homomorphic Encryption processing Unit) is a user-friendly and high-performance homomorphic encryption library that supports multiple types and scalable hardware acceleration.

document

https://www.secretflow.org.cn/docs/heu/

Repo status

Homomorphic encryption algorithms are mainly divided into two categories: partially homomorphic encryption (PHE) and fully homomorphic encryption (FHE). Currently, HEU supports most PHE algorithms, while FHE is still under development and will take some time.

Supported algorithms:

  • Additive homomorphic encryption
    • Paillier (recommended)
    • Okamoto–Uchiyama (recommended)
    • EC ElGamal
    • Damgard-Jurik
    • Damgard-Geisler-Krøigaard (DGK)
  • Fully homomorphic encryption
    • Under development and is the current focus of work.

Each algorithm includes a variety of different implementations, and some implementations support hardware accelerators. For more details, please refer to the Document

Compile and install

Environmental requirements

  • CPU
    • x86_64: minimum required AVX instruction set
    • AArch64: ARMv8
  • OS
    • Ubuntu 18.04+
    • Centos 7
    • macOS 11.1+ (macOS Big Sur+)
  • Python
    • Python 3.8+

Install via Pip

pip install sf-heu

Install from source

The following command will automatically compile and install HEU into the default Python environment:

git clone [email protected]:secretflow/heu.git
cd heu
sh build_wheel_entrypoint.sh

Run unit tests (optional)

# just compile, do not run any UT (optional)
bazel build heu/...

# compile and run all UTs
bazel test heu/...

Contribution Guidelines

SecretFlow is an open and inclusive community, and we welcome any kind of contribution. If you want to improve HEU, please refer to Contribution Guide

About

A high-performance homomorphic encryption algorithm library.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 87.3%
  • Starlark 3.0%
  • Python 3.0%
  • Cuda 2.8%
  • C 1.9%
  • Rust 1.9%
  • Other 0.1%