什么是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. JSP配置虚拟路径及虚拟主机

    1.tomact解压后目录 bin:可执行文件(startup.bat   shutdown.bat) conf:配置文件(server.xml) lib:tomcat以来的jar文件 log:日志文 ...

  2. P1781_宇宙总统(JAVA语言)

    //水题 题目背景 宇宙总统竞选 题目描述 地球历公元6036年,全宇宙准备竞选一个最贤能的人当总统,共有n个非凡拔尖的人竞选总统,现在票数已经统计完毕,请你算出谁能够当上总统. 输入输出格式 输入格 ...

  3. 攻防世界 resver catch-me

    catch-me asis-ctf-quals-2016 附件给了个压缩包文件,重命名,解压,获取到elf文件 程序有两处关键比较 第一处: 这里进行动态调试,得到v3=0xB11924E1, byt ...

  4. Go语言GC实现原理及源码分析

    转载请声明出处哦~,本篇文章发布于luozhiyun的博客:https://www.luozhiyun.com/archives/475 本文使用的 Go 的源码1.15.7 介绍 三色标记法 三色标 ...

  5. [Fundamental of Power Electronics]-PART II-9. 控制器设计-9.2 负反馈对网络传递函数的影响

    9.2 负反馈对网络传递函数的影响 我们已经知道了如何推导开关变换器的交流小信号传递函数.例如,buck变换器的等效电路模型可以表示为图9.3所示.这个等效电路包含三个独立输入:控制输入变量\(\ha ...

  6. python3使用tracemalloc追踪mmap内存变化

    技术背景 在前面一篇博客中我们介绍了一些用python3处理表格数据的方法,其中重点包含了vaex这样一个大规模数据处理的方案.这个数据处理的方案是基于内存映射(memory map)的技术,通过创建 ...

  7. java面试一日一题:如何优化sql

    问题:请讲下在mysql下如何优化sql 分析:该问题主要考察对mysql的优化,重点考虑对索引优化的掌握. 回答要点: 主要从以下几点去考虑, 1.什么样的sql需要优化? 2.怎么对sql进行优化 ...

  8. 四单元总结&OO总结

    目录 本单元架构总结 第一次作业 第二次作业 第三次作业 架构设计总结 第一单元 第二单元 第三单元 对测试演进 课程收获 改进建议 线上学习体验 本单元架构总结 第一次作业 第一次作业按照UML正常 ...

  9. 【算法笔记】二分图与KM算法(当你试图只看蓝书学算法

    前言 呜,好久没写博客了,DDL 也有好多,一不留神就轮到我了呜. 看了一眼其它同学写的博客,什么数模啊,什么 CTF 啊,什么 Python 爬虫啊,感觉自己真是越来越菜了呜. 然后在我一愁莫展之际 ...

  10. python进阶(15)多线程与多进程效率测试

    前言 在Python中,计算密集型任务适用于多进程,IO密集型任务适用于多线程   正常来讲,多线程要比多进程效率更高,因为进程间的切换需要的资源和开销更大,而线程相对更小,但是我们使用的Python ...