安全多方計算(MPC)從入門到精通:簡易教程

簡介:JUGO平臺針對企業級用戶,打造基於MPC的安全數據交易平臺。本節內容將介紹具體如何經過在本地部署MPC節點的教程,完成數據協同計算。html

1.編程語言&開發環境前端

1.1.計算邏輯編程語言java

  Frutta語言linux

1.2.IDE開發環境nginx

  操做系統windows(後續支持linux),chrome瀏覽器(需先安裝Frutta谷歌瀏覽器插件)算法

1.3.MPC應用部署chrome

  環境搭建(要求linux系統)編程

  安裝nginxwindows

  安裝JDK,配置JDK環境變量api

2.安裝插件

  使用JUGO-IDE以前,須要先安裝Frutta谷歌瀏覽器插件。安裝後可在JUGO-IDE中使用Frutta語言編寫算法。

  安裝步驟:

  第一步,請點擊下載Frutta谷歌瀏覽器插件的安裝包,並在本地解壓。

  第二步,在Chrome瀏覽器地址欄輸入chrome://extensions/,啓用開發者模式,而後點擊按鈕「加載已解壓的擴展程序」,選擇插件所在的文件夾便可。

注意:因爲該插件暫未上傳Google插件商店,因此只能以開發者模式運行。打開chrome://extensions/。因爲是以開發者模式運行該插件的,Chrome瀏覽器會彈出「請停用以開發者模式運行的擴展程序」的提示,此時點擊「取消」才能夠繼續使用Frutta谷歌瀏覽器插件。

3.JUGO-IDE

  JUGO-IDE是JUGO技術產品面向開發者提供的用來編寫MPC算法的開發工具。

  結合Frutta谷歌瀏覽器插件,開發者無需搭建任何環境就能夠快速編寫、編譯、運行和發佈算法。

  經過使用JUGO-IDE,開發者可以使用Frutta語言編寫算法,並經過JUGO-IDE編譯成可在JUGO技術產品上執行的電路文件和java模板文件。詳情請點擊

4.Frutta語言

  Frutta是矩陣元爲安全多方計算的算法電路文件生成而專門定製的編程語言。它是一門類高級語言,也是一門面向過程的編程語言。Frutta支持大部分運算符、數據類型,表達方式靈活實用。目前只有矩陣元提供的在線ide能夠進行編譯運行。ide能夠把Frutta文件編譯成可在JUGO平臺上執行的電路文件。詳情請點擊

5.開發編程

5.1.計算邏輯編程

  計算邏輯:爲實現某個場景下的安全多方計算所編寫的算法。

  使用Frutta語言,在JUGO-IDE中能夠快速完成計算邏輯的編程、驗證和發佈。

5.2.JUGO-SDK

  JUGO-SDK是JUGO技術產品面向開發者提供的安全多方計算應用開發工具包。

  開發者經過使用JUGO-SDK與其餘JUGO技術產品,能夠高效快速的開發MPC(安全多方計算)應用。每一個集成了SDK的應用將做爲計算節點接入到計算網絡中。應用調用SDK能夠實現安全多方計算以知足業務需求。

集成流程:

1.IDE上編寫電路算法;

2.編譯算法並生成電路文件JAVA包裝類;示例查看

3.項目中引入步驟2中的JAVA包裝類;

4.集成API,完成應用開發;

5.3.應用部署

  應用包含三大部分的代碼。包括:1)算法代碼、2)服務端應用代碼、3)前端頁面展現代碼。

  實現流程:

  1. MPC應用部署

  準備工做:

  環境搭建(要求linux系統)

  安裝nginx

  安裝JDK,配置JDK環境變量

  1. 項目打包

  描述:

  項目依賴gradle進行構建;

  可經過gradle指令進行打包,文件輸出在同級build目錄下;

  可經過JAVA IDE打包可執行文件;

  gradle指令:      

>clean build
Copy
複製代碼
  1. 項目運行

  描述:

  在環境中執行如下指令進行監聽;

  後續可經過統計目錄nohup.out查看輸出日誌

  指令參考:

>nohup java -jar MPCAcceptApp.jar &//啓動接收方節點

>nohup java -jar MPCStartApp.jar &//啓動發起方節點
Copy
複製代碼
  1. 項目調試

  部署完畢。

  在瀏覽器中輸入 http://ip:port/swagger-ui.html,可調試發起方接口。

  在瀏覽器中輸入 http://ip:port/swagger-ui.html,可調試接收方接口。

更多內容能夠參考視頻:安全多方計算MPC視頻課程

產品實操請訪問:JUGO開放服務平臺

相關文章
相關標籤/搜索