什么是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

2、IBM FHE Toolkit for Linux入门

FHE-Toolkit 安装的更多相关文章

  1. Firefox Security Toolkit 安装

    目的: 下载Firefox Security Toolkit加载到浏览器里,增强渗透测试的工具利用. 兼容性: 目前仅支持Linux/Unix环境(可在kali上安装使用). 下载安装: wget h ...

  2. Linux 使用记1 fastx toolkit安装问题

    1 安装fastx toolkit的时候,步骤按https://blog.csdn.net/LotusWang0723/article/details/78723409 其中可能会出现如下报错 tex ...

  3. CP-ABE ToolKit 安装笔记(转载)

    博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...

  4. CP-ABE ToolKit 安装笔记

    博主论文狗,好久没有来贴博客,最近做实验需要用到属性加密,了解了下CP-ABE,前来记录一下: 网上相关的博文较多,博主看了大部分的,认为下面这两个看完了基本就可以成功安装. 可参见博文: http: ...

  5. VS2013 蛋疼的“AJAX Control Toolkit”安装过程

    1.AJAX Control Toolkit 下载问题 方法一. 在vs2013中 工具->NuGet程序包管理器->管理解决方案的NuGet程序包 搜索 ajax z找到 AjaxCon ...

  6. Percona Toolkit安装、使用

    percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,这些任务包括: l  检查master和slave数据的一致性 l  有效地对记 ...

  7. 安装Extended WPF Toolkit

    Extended WPF Toolkit 可以说是WPF Toolkit 的一个补充,也包含了许多WPF 控件供开发者使用.本篇将介绍Extended WPF Toolkit 1.4.0 中新增的一些 ...

  8. percona-toolkit介绍及安装

    percona-toolkit是一组高级命令行工具的集合,用来执行各种通过手工执行非常复杂和麻烦的mysql和系统任务,包括: 1. 检查master和slave数据的一致性 2. 有效地 ...

  9. Fedora和Ubuntu下安装OpenGL开发环境配置

    Fedora下OpenGl开发环境配置 开发OpenGL工程需要3个库文件和对应的头文件: libglut.so,libGLU.so,libGL.so, gl.h ,glu.h, glut.h 这些库 ...

随机推荐

  1. P1255_数楼梯(JAVA语言)

    思路:BigInteger 四杀! 简单递推,注意long会超范围 题目描述 楼梯有N阶,上楼可以一步上一阶,也可以一步上二阶. 编一个程序,计算共有多少种不同的走法. 输入输出格式 输入格式: 一个 ...

  2. [倍增]luogu P4155 [SCOI2015]国旗计划

    题面 https://www.luogu.com.cn/problem/P4155 问在环上最少取多少个区间能完全覆盖环 分析 首先发现是环,先把端点变为2n方便处理,注意离散化 其次要删去贡献不如其 ...

  3. .net core 和 WPF 开发升讯威在线客服系统【私有化部署免费版】发布

    希望 .net 和 WPF 技术时至今日,还能有一些存在感. 这个项目源于2015年前后,当时开发的初版,我使用了 ASP.NET MVC 做为后端,数据库使用原生 ADO.NET 进行操作.WPF ...

  4. 每天自学两小时Python,整理了最详细的学习路线和规

    上次这篇文章每天自学两小时Python,三个月学通月入20K主要是给大家整理了学习资料视频和PDF书籍,很多需要的都关注私信领取了. 很多朋友领取之后都问我教程有了那么应该从哪去开始学习呢,私信太多我 ...

  5. 自己挖的坑自己填--jxl进行Excel下载堆内存溢出问题

    今天在进行使用 jxl 进行 Excel 下载时,由于数据量大(4万多条接近5万条数据的下载),数据结构过于负责,存在大量大对象(虽然在对象每次用完都设置为null,但还是存在内存溢出问题),加上本地 ...

  6. java面试-JVM调优和参数配置,如何查看JVM系统参数默认值

    一.JVM的参数类型: 1.标配参数: java -version java -help 2.X参数: -Xmixed 混合模式(先编译后执行) -Xint  解释执行 -Xcomp 第一次使用就编译 ...

  7. java面试-JDK自带的JVM 监控和性能分析工具用过哪些?

    一.JDK的命令行工具 1.jps(JVM Process Status Tools):虚拟机进程状况工具 jps -l 2.jinfo(Configuration Info for java):Ja ...

  8. Dynamics CRM安装教程九(续):自建证书的CRM项目客户端设置CRM访问

    配置完IFD之后就可以为客户端电脑配置访问CRM了首先到CA证书服务器中把证书下载下来,打开CA服务器的浏览器,输入地址http://stg-ad/certsrv/ 其中stg-ad是机器名之后点击下 ...

  9. MyBatis-Plus笔记(入门)

    作者:故事我忘了¢个人微信公众号:程序猿的月光宝盒 官方文档 https://mybatis.plus/guide/ 本篇基于springboot,mybatis Plus的版本为3.4.2 本篇对应 ...

  10. Numpy 对于矩阵的操作持续更新

    >>> import numpy as np >>> a = np.random.randint(10,size=(5,5)) >>> a arr ...