GithubHelp home page GithubHelp logo

kinoko-shelter / heu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from secretflow/heu

1.0 0.0 0.0 1.8 MB

A high-performance homomorphic encryption algorithm library.

Home Page: https://www.secretflow.org.cn/docs/heu/en/

License: Apache License 2.0

Shell 0.09% C++ 86.44% Python 5.13% C 1.37% Rust 3.39% Starlark 3.58%

heu's Introduction

HEU

CircleCI

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

# require Python 3.8
# build and install python library
sh build_wheel_entrypoint.sh

heu's People

Contributors

6fj avatar anakinxc avatar gy621 avatar jamie-cui avatar kinoko-shelter avatar usafchn avatar xhuan28 avatar

Stargazers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.