Homomorphic Encryption processing Unit (HEU) is a subproject of Secretflow that implements high-performance homomorphic encryption algorithms.
Project description
HEU
Homomorphic Encryption processing Unit (HEU) is a subproject of Secretflow that implements high-performance homomorphic encryption algorithms.
The purpose of HEU is to lower the threshold for the use of homomorphic encryption, so that users can use homomorphic encryption algorithms to build privacy-preserving applications without professional cryptography knowledge.
Documentation
https://www.secretflow.org.cn/docs/heu/
Background
This project consists of two parts:
HE Library (currently implemented): This project can be used as a high-performance and complete homomorphic encryption library, which integrates almost all homomorphic encryption algorithms in the industry. At the same time, HEU encapsulates each algorithm and provides a uniform interface. You can switch between different HE algorithms at any time without modifying business code.
HE device (in work): As a component of Secretflow, HEU abstracts the homomorphic encryption algorithms into a programmable device, making it easy for users to flexibly build applications using the homomorphic encryption technology without professional knowledge. HEU (device) aims to build a complete computing solution through HE, that is, based on HE, any type of computing can be completed. Compared with PPU, HEU's computation is purely local without any network communication, so HEU and PPU are complementary
Depending on the computing power, HEU has 4 working modes:
working mode | Supported calculation types | Number of calculations | HE algorithms | Calculating speed | Ciphertext size |
---|---|---|---|---|---|
PHEU | addition | Unlimited | Paillier, OU | Fast | Small |
LHEU | addition, multiplication | Limited | BGV, CKKS | Fast (packed mode) | Least (packed mode) |
FHEU (low precision) | addition, mux, LUT | Unlimited | TFHE (Torus) | Fastest | Large |
FHEU (high precision) | addition, multiplication, comparison, mux | Unlimited | TFHE (Bitwise) | Very slow | Largest |
Repo status
PHE has been basically developed, LHE and FHE are under development
Build & UnitTest
Build all
# build all
bazel build heu/...
# test all (optional)
bazel test heu/...
Build python lib
# build and install python library
sh build_wheel_entrypoint.sh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
File details
Details for the file sf_heu-0.5.0.dev20231118-cp38-cp38-manylinux2014_x86_64.whl
.
File metadata
- Download URL: sf_heu-0.5.0.dev20231118-cp38-cp38-manylinux2014_x86_64.whl
- Upload date:
- Size: 3.1 MB
- Tags: CPython 3.8
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cafe12ca7a248c532a9e16ad39468f9cf4ee0f2d95f9715d9aa34066692bad4 |
|
MD5 | f613067c3163313353a9a340766165b9 |
|
BLAKE2b-256 | 1352148695e8f2115a07a9c3055f791a222604a31ec2b94f9105a6eae4f5fd5e |
File details
Details for the file sf_heu-0.5.0.dev20231118-cp38-cp38-macosx_11_0_arm64.whl
.
File metadata
- Download URL: sf_heu-0.5.0.dev20231118-cp38-cp38-macosx_11_0_arm64.whl
- Upload date:
- Size: 3.0 MB
- Tags: CPython 3.8, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eab946c65b226ee01546e28d96575b693f0a78da9db53d90a48d2ed98697533b |
|
MD5 | 47ad989847b591654a049df407743bfa |
|
BLAKE2b-256 | 735a1f961f427cefde26c7e526be0a606f0598fde0df76c90c11120bb4c8aa5e |