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容器實例),然後瀏覽到 //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入門

Tags: