什么是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. 如何优雅地学习计算机编程-C++1

    如何优雅的学习计算机编程--C++ 0.导入 如何优雅地学习计算机编程.我们得首先了解编程是什么?打个比方--写信. 大家都知道写信所用的语言双方都懂,这样的信才做到了信息交流,人和计算机也是如此人和 ...

  2. windows环境下抓密码总结

    在线抓密码 1.mimikatz privilege::debug token::whoami token::elevate lsadump::sam mimikatz.exe "privi ...

  3. 浏览ASP.NET网页(6)

    当我们搭建好了IIS后,就不需要开发工具进行编译打开网站啦,我们可以在IIS下进行预览,如图所示: 需要注意的是,网页的后缀名是.aspx,不是.cs

  4. Pyinstaller原理详解

    Pyinstaller原理详解 什么是Pyinstaller Pyinstaller可以把Python程序打包成exe文件,可以在没有Python的电脑上运行,主要用于生产用. Python.h! 在 ...

  5. 17. Vue2.4+新增属性$listeners

    现在我们来讨论一种情况,A组件与C组件怎么通信,我们有多少种解决方案? 我们使用VueX来进行数据管理,但是如果项目中多个组件共享状态比较少,项目比较小,并且全局状态比较少,那使用VueX来实现该功能 ...

  6. Day12_62_线程的生命周期

    线程的生命周期 要实现多线程,必须在主线程中创建新的线程对象. 任何线程一般都具有五种状态,即创建,就绪,运行,阻塞,终止(消亡) 新建状态:在程序中创建了一个新的线程对象后,新的线程对象便处于新建状 ...

  7. SpringBoot 启动慢?那是因为你不知道它

    前言 在 2021 年这个小学作文中的未来年份,没有想象中的汽车满天飞,也没有实现机器人满地跑.但牛逼的是我们都有一个共识: 知乎达到了人均 "谢邀~ 人在美国刚下飞机"的生活水平 ...

  8. SpringCloud之远程调用OpenFeign和Ribbon

    Ribbon.Feign和OpenFeign的区别 SpringCloudAlibaba微服务实战教程系列 Spring Cloud 微服务架构学习记录与示例 一 简介 Feign是Netflflix ...

  9. 深入学习Android系统上mount命令的使用

    博客链接:http://blog.csdn.net/qq1084283172/article/details/52493227 在Android系统的预装apk病毒和elf病毒的清除时,经常需要先获取 ...

  10. Android Apk加固的初步实现思路(dex整体加固)

    一.前 言 Android Apk加固的发展已经有一段时间了,相对来说本篇博客要记录的Android加壳的实现思路是4年的东西了,已经被老鸟玩烂了,Android加固的安全厂商也不会采用这么粗犷的方式 ...