ci: use free CircleCI resource classes (#202) ci: use free CircleCI resource classes ci: limit Bazel parallelism on free resources
ci: use free CircleCI resource classes (#202)
ci: use free CircleCI resource classes
ci: limit Bazel parallelism on free resources
HEU(Homomorphic Encryption processing Unit)是一个低门槛、高性能的同态加密库,支持多类型、可扩展的硬件加速生态。
https://www.secretflow.org.cn/docs/heu/
同态加密算法主要分为半同态(PHE)和全同态(FHE)两大类,目前 HEU 已支持大部分 PHE 算法,而 FHE 仍需要一段时间的开发
支持的算法:
其中每一类算法又包含多种不同的实现,部分实现支持硬件加速器,详见文档
. ├── .circleci # 存放 circleci 的 CI/CD 配置文件 ├── .github # 存放 github 配置文件 ├── docs # 存放 HEU 文档,sphinx 格式 ├── heu # 存放 HEU 所有实现代码 │ ├── algorithms # 存放所有算法实现,包括 PHE 和 FHE │ ├── experimental # 存放一些独立的实验性代码 │ ├── library # HE Library 应用层功能实现 │ │ ├── algorithms # 未迁移至 SPI 下的存量算法,迁移完成后该目录废弃 │ │ ├── benchmark # 存放基准测试代码 │ │ ├── numpy # 实现一套 Numpy-like 接口 │ │ └── phe # PHE Dispatcher 实现(即将废弃,功能由 SPI 代替) │ ├── pylib # 实现 Python binding │ └── spi # 定义 HEU 软硬件接入层接口(SPI) │ ├── he # 存放 HE SPI,以及相关的 Sketches │ └── poly # 定义多项式接口,以及相关的 Sketches └── third_party # 存放编译所需的第三方库链接,库本身会在编译时自动下载
目前 HEU 正在从老的 Dispatcher 架构切换成基于 SPI 的架构,两套架构主要的模块及其代码路径的映射关系如下:
基于 Dispatcher 的架构:
Python APIs (Python binding) PATH: heu/pylib │ ├───────────────────┐ │ ▼ │ Tensor Lib with Numpy-like API │ PATH: heu/library/numpy │ │ │ ┌─────────────┘ │ │ ▼ ▼ PHE Dispatcher & PHE C++ API PATH: heu/library/phe │ │ ▼ Various PHE algorithm implementations PATH: heu/library/algorithms
基于 SPI 的架构:
Python APIs (Python binding) PATH: heu/pylib │ ├───────────────────┐ │ ▼ │ Tensor Lib with Numpy-like API │ PATH: heu/numpy │ │ │ ┌─────────────────┘ │ │ ▼ ▼ HE SPI (C++ APIs) PATH: heu/spi/he │ │ ▼ Various HE algorithm implementations PATH: heu/algorithms
关于 SPI 更详细的介绍请 点击此处
架构切换里程碑:
FHE 里程碑
pip install sf-heu
以下命令将自动编译并安装 HEU 到默认 Python 环境:
git clone git@github.com:secretflow/heu.git cd heu sh build_wheel_entrypoint.sh
# just compile, do not run any UT (optional) bazel build heu/... # compile and run all UTs bazel test heu/...
隐语是一个非常包容和开放的社区,我们欢迎任何形式的贡献,如果您想要改进 HEU,请参考贡献指南
版权所有:中国计算机学会技术支持:开源发展技术委员会 京ICP备13000930号-9 京公网安备 11010802047560号
HEU
HEU(Homomorphic Encryption processing Unit)是一个低门槛、高性能的同态加密库,支持多类型、可扩展的硬件加速生态。
文档
https://www.secretflow.org.cn/docs/heu/
开发状态
同态加密算法主要分为半同态(PHE)和全同态(FHE)两大类,目前 HEU 已支持大部分 PHE 算法,而 FHE 仍需要一段时间的开发
支持的算法:
其中每一类算法又包含多种不同的实现,部分实现支持硬件加速器,详见文档
目录结构
目前 HEU 正在从老的 Dispatcher 架构切换成基于 SPI 的架构,两套架构主要的模块及其代码路径的映射关系如下:
基于 Dispatcher 的架构:
基于 SPI 的架构:
关于 SPI 更详细的介绍请 点击此处
2024 工作计划
架构切换里程碑:
FHE 里程碑
编译和安装
环境要求
通过 Pip 安装
从源码安装
以下命令将自动编译并安装 HEU 到默认 Python 环境:
运行单元测试(可选)
贡献指南
隐语是一个非常包容和开放的社区,我们欢迎任何形式的贡献,如果您想要改进 HEU,请参考贡献指南