FHE-Toolkit 安装
什么是FHE-Toolkit?
FHE-Toolkit-linux是用于Linux的IBM全同态加密工具包, 该工具包是一个基于Linux的Docker容器,可演示对加密数据的计算而无需解密, 该工具包附带两个演示,其中包括使用神经网络进行的完全加密的机器学习推理以及保留隐私的键值搜索
github:链接
该存储库包含安装和运行作为Docker容器的预打包工具包所需的所有脚本。这些工具包包括IBM同态加密库-HElib,集成开发环境(IDE)【VScode】以及相应的工作区,其中包含各种受支持的工具包版本中的现成示例代码。支持的版本基于Centos,Fedora,Ubuntu或Alpine。每个工具包版本都可以通过主机上的Web浏览器访问内置的IDE。对于喜欢冒险的用户,还提供了在本地构建和打包工具包的说明。
准备
环境
Centos8.0(阿里云)
在运行此工具包之前,您必须克隆此存储库。本教程假定您在系统中具有正常的Internet连接,可以正常运行的git 安装以及正在运行的和最近的Docker安装,并且具有运行docker命令所必需的用户特权。目前需要Docker 19或更高版本。已知较旧的Docker版本无法在我们的系统上正常工作,并且维护人员没有计划支持较旧的Docker版本。
构建工具包需要有效的Internet连接,因为在构建时会从外部来源获取某些依赖项。同样,如果用户选择使用来自DockerHub的预构建映像,则需要有效的Internet连接。
安装docker
yum install docker-ce //安装 systemctl start docker //启动服务 docker version //查看版本号
开始
克隆IBM FHE Toolkit存储库
首先,在终端窗口中,发出以下命令来克隆此git repo:
git clone git://github.com/ibm/fhe-toolkit-linux
获取工具包Docker映像
1、要获取工具包Docker映像,请首先转到克隆工具包的文件夹,然后cd进入工具包项目文件夹:
cd fhe-toolkit-linux

2、通过调用 FetchDockerImage.sh 的脚本并选择一个平台运行,来获取工具Toolkit Docker镜像:
./FetchDockerImage.sh centos
3、检查映像 ibmcom/fhe-toolkit-centos 是否已成功从Docker Hub下载:
运行工具包
提取脚本完成后,启动FHE Toolkit容器,并使IDE作为守护程序运行,可以通过Web浏览器进行访问。
./RunToolkit.sh -p centos

注释:由于我是云服务器,首先需要将ip换成服务器ip,其次需要到服务器控制台-安全组将8443端口开放,就可以顺利访问了
访问工具包
打开主机上的Web浏览器(而不是Docker容器实例),然后浏览到 https://IP:8443/。这将使您连接到在FHE工具箱Docker容器中运行的IDE。
请注意,此连接使用自签名证书通过https保护。因此,每次连接到工具箱的新实例时,您都需要告诉浏览器信任它。在Chrome中,您可以通过在警告文本上的任意位置单击并键入“ thisisunsafe”来执行此操作。
高级设置-继续访问


成了!
配置工具包
进入工具箱后,系统会自动提示您选择一个供FHE-Workspace使用的工具箱。从下拉列表中选择一种工具包。工作空间的配置将开始,您将可以在“输出”窗口中看到它。您还会注意到,所选的工具包现在显示在窗口底部的CMake工具状态栏中。
如果在加载工具箱几秒钟后未自动提示您选择工具箱,请尝试刷新浏览器。如果仍然没有提示,请检查窗口底部的CMake工具状态栏,以查看是否已选择工具包。每次启动工具箱的新实例时,都需要选择一个工具箱

构建您的第一个HElib示例
在CMake工具状态栏中单击“Build”以生成所选目标:

运行HElib示例(指向并单击)
构建完成后,如果尚未选择任何内容(如果这是第一次运行该工具包,则不会),请单击“run”。这将导致下拉菜单在屏幕上显示可用的例子,选择一个,它将开始运行该程序:
我操作时,默认的就是下面的,没有让选择,我也很无奈。。。。

例如:“ BGV世界国家/地区数据库查找示例文档”包含有关针对加密数据库运行隐私保留搜索的完整示例的信息。该数据库是一个关键值存储库,其中预先填充了来自世界各地的国家及其首都的英文名称,选择国家将搜索匹配的首都。
注释:使用工具包时所做的任何更改都将保存到该FHE-Toolkit-Workspace目录中的本地文件系统中
停止工具包
使用完工具箱实例后,使用 ./StopToolkit.sh 从主机系统中的终端运行程序脚本 ,以停止并删除所有工具箱实例。
./StopToolkit.sh
对 FHE-Toolkit-Workspace目录所做的所有更新都保留在原处,因此您可以在下次运行该工具包时从上次中断的地方开始
运行HElib示例(集成的IDE控制台)
除了使用CMake Tools状态栏中的“启动”按钮之外,还可以使用集成终端。
- 在IDE中按F1打开/转到搜索。
- 键入
Select Default Shell,以搜索设置终端外壳的选项。 - 选择
Terminal: Select Default Shell条目。 - 选择
/usr/bin/bash作为您的外壳。 - 关闭并重新打开集成终端窗口,以使外壳更改生效。

在终端中,转到build目录并运行示例程序:
cd build ./BGV_world_country_db_lookup
参考
1、centos 7.6 安装最新版docker 19.03
FHE-Toolkit 安装的更多相关文章
- Firefox Security Toolkit 安装
目的: 下载Firefox Security Toolkit加载到浏览器里,增强渗透测试的工具利用. 兼容性: 目前仅支持Linux/Unix环境(可在kali上安装使用). 下载安装: wget h ...
- Linux 使用记1 fastx toolkit安装问题
1 安装fastx toolkit的时候,步骤按https://blog.csdn.net/LotusWang0723/article/details/78723409 其中可能会出现如下报错 tex ...
- CP-ABE ToolKit 安装笔记(转载)
博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...
- CP-ABE ToolKit 安装笔记
博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...
- VS2013 蛋疼的“AJAX Control Toolkit”安装过程
1.AJAX Control Toolkit 下载问题 方法一. 在vs2013中 工具->NuGet程序包管理器->管理解决方案的NuGet程序包 搜索 ajax z找到 AjaxCon ...
- Percona Toolkit安装、使用
percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: l 检查master和slave数据的一致性 l 有效地对记 ...
- 安装Extended WPF Toolkit
Extended WPF Toolkit 可以说是WPF Toolkit 的一个补充,也包含了许多WPF 控件供开发者使用.本篇将介绍Extended WPF Toolkit 1.4.0 中新增的一些 ...
- percona-toolkit介绍及安装
percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,包括: 1. 检查master和slave数据的一致性 2. 有效地 ...
- Fedora和Ubuntu下安装OpenGL开发环境配置
Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...
随机推荐
- Balanced Diet Gym - 102220B
题目链接:https://vjudge.net/problem/Gym-102220B 题意:每组数据 给了 N和M表示有M种类型的糖果,这些糖果一共N个.接下了是 M 组数据,表示如果你选第 i 中 ...
- 翻译:《实用的Python编程》06_03_Producers_consumers
目录 | 上一节 (6.2 自定义迭代) | 下一节 (6.4 生成器表达式) 6.3 生产者,消费者和管道 生成器在设置各种生产者/消费者问题(producer/consumer problems) ...
- python基础之赋值运算
之前的文章说明了变量的三大组成部分,详细说明了变量名与变量值,但是对于赋值这一块介绍相对较少,今天就来对这一部分进行补充,除了egon老湿所讲之外,本喵还参阅了<python3-cookbook ...
- Java例题_19 打印菱形图案
1 /*19 [程序 19 打印菱形图案] 2 题目:打印出如下图案(菱形) 3 * 4 *** 5 ***** 6 ******* 7 ***** 8 *** 9 * 10 */ 11 12 /*分 ...
- WebGPU[4] 纹理三角形
代码见:https://github.com/onsummer/my-dev-notes/tree/master/webgpu-Notes/04-texture-triangle 原创,发布日 202 ...
- SpringBoot-11 扩展功能
SpringBoot-11 扩展功能 异步 同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成,这是一种可靠的任务序列.要么成功都成功,失败都失败,两个任务 ...
- kubernetes dashboard 2.0 部署
dashboard 可以从微软中国提供的 gcr.io :http://mirror.azure.cn/help/gcr-proxy-cache.html免费代理下载被墙的镜像 docker pull ...
- C++并发与多线程学习笔记--async、future、packaged_task、promise
async future packaged_task promise async std:async 是个函数,用来启动一个异步任务,启动起来一个异步任务之后,返回一个std::futre对象,启动一 ...
- Spring(五)Spring与Web环境集成
MVC 是 Model.View 和 Controller 的缩写,分别代表 Web 应用程序中的 3 种职责. 模型:用于存储数据以及处理用户请求的业务逻辑. 视图:向控制器提交数据,显示模型中的数 ...
- redis的并发竞争问题是什么?如何解决这个问题?
这个也是线上非常常见的一个问题,就是多客户端同时并发写一个key,可能本来应该先到的数据后到了,导致数据版本错了.或者是多客户端同时获取一个key,修改值之后再写回去,只要顺序错了,数据就错了. 而且 ...