IBM Linux全同态加密工具包

2020-08-02 13:25:04

用于Linux的IBM完全同态加密(FHE)工具包被打包为Docker容器,这使得完全同态加密技术的入门和实验变得更容易。

该存储库包含将预打包的工具包作为停靠容器安装和运行所需的所有脚本。工具包包括IBM同态加密库-HElib、集成开发环境(IDE)和相应的工作区,其中包含各种支持的工具包版本中的现成示例代码。支持的版本基于CentOS、Fedora或Ubuntu。每个工具包版本都提供通过主机上的Web浏览器访问内置IDE的功能。对于更喜欢冒险的用户,还提供了在本地构建和打包工具包的说明。

如果您正在寻找为Apple开发人员提供本地工具包的用于MacOS/iOS的IBM完全同态加密工具包,可以在这里找到。

目前,工具包支持许多支持Docker的主机,如大多数现代Linux发行版、MacOS、Windows 10 Subsystem for Linux和z/OS Container Extensions。其他安装了最新Docker软件的主机操作系统也可以正常工作,但未经测试。在基于x86-64的系统上,我们支持该工具包的所有三个操作系统版本。对于s390x架构,该工具包目前支持Ubuntu和Fedora版本。我们希望尽快为工具包提供其他s390x操作系统选项。

如果您想开始安装Docker Hub提供的预构建容器并使用预配置的IDE工作区,请参阅入门文档。

如果您想从头开始构建和部署工具包,或者根据需要自定义容器,请参阅入门高级文档。

IBM邀请您参加我们的高级安全和加密调查。此调查旨在收集有关您或您的组织面临的安全挑战的见解,并更好地了解我们的用户以及如何更好地为您提供服务。我们只会使用您的反馈来改善FHE工具包体验,并为未来的IBM安全重点产品和服务提供信息。IBM不会与任何第三方共享您的响应数据。我们期待您的宝贵反馈,以改进适用于MacOS、iOS和Linux的IBM完全同态加密工具包。";

本自述文件的其余部分为那些可能想要贡献或修改工具包的人解释如何组织源代码和项目。

此工具包安装编译、构建和运行包含的基于HElib的示例以及您选择编写的任何应用程序以利用同态加密技术所需的IDE和扩展。最终结果是一个带有源代码编辑器的容器化环境,使您可以轻松地使用HElib开发应用程序。

为保护用户隐私,此分发中禁用了IDE的自动遥测和数据收集。

构建集装化工具包需要Docker。如果您是Docker新手,我们建议您从Docker Desktop开始。

该存储库包含一组Dockerfile、脚本和IDE配置文件,用于运行IBM fhe Toolkit for Linux。该工具包在Linux停靠容器中运行,并将IDE用作可通过主机系统中的浏览器访问的工作区和开发环境。

该工具包是从以下父映像之一构建的,具体取决于安装脚本中指定的平台:

相同的安装脚本还会下载HElib和和所需的依赖数理论库(NTL)。这些文件存储在<;目录中,您在该目录中克隆了主机中的工具包>;/依赖项。

HElib和NTL发行版被全局构建并安装在/usr/local中,作为工具包停靠容器中的共享库,使它们可以包含在您的程序中。HElib和NTL还依赖于GNU多精度算术库(GMP),该库在构建坞站容器时预先安装。

演示应用程序源代码从HElib/Examples复制到工作区目录/opt/ibm/fhe-workspace。HElib源代码发行版可以在/opt/ibm/fhe-diso/HElib中找到。两者都可以通过工具包容器中运行的IDE工作区进行访问,该工作区可通过桌面上的Web浏览器进行访问。在尝试使用这些组件中的任何一个时,请始终使用工作区。