1. 程式人生 > >安全多方計算從入門到精通:MPC簡介&JUGO平臺

安全多方計算從入門到精通:MPC簡介&JUGO平臺

4.2.MPC問題分類 由演算法適用性來看,MPC既適用於特定的演算法,如加法、乘法、AES,集合交集等;也適用於所有可表示成計算過程的通用演算法。 根據計算參與方個數不同,可分為只有兩個參與方的2PC和多個參與方(≥3)的通用MPC。 安全兩方計算所使用的協議為Garbled Circuit(GC)+Oblivious Transfer(OT);而安全多方計算所使用的協議為同態加密+祕密分享+OT。 在安全多方計算中,安全挑戰模型包括半誠實敵手模型和惡意敵手模型。市場大部分場景滿足半誠實敵手模型,也是JUGO技術產品所考慮的敵手模型。 半誠實敵手模型:計算方存在獲取其他計算方原始資料的需求,但仍按照計算協議執行。半誠實關係即參與方之間有一定的信任關係,適合機構之間的資料計算; 惡意敵手模型:參與方根本就不按照計算協議執行計算過程。參與方可採用任何(惡意)方式與對方通訊,且沒有任何信任關係。結果可能是協議執行不成功,雙方得不到任何資料;或者協議執行成功,雙方僅知道計算結果。更多適用於個人之間、或者個人與機構之間的資料計算。5.MPC演算法基本原理(2PC半誠實模型)
  下面介紹安全兩方計算的半誠實模型下的MPC演算法原理:安全多方計算從入門到精通:MPC簡介&JUGO平臺5.1.MPC演算法執行過程 1.先對輸入資料做預處理。 將輸入的布林電路做GC和OT演算法(詳細在下面敘述),得到輸出結果。  遵循原則:1、儘量少的資料輸入;2、儘量多的資料預處理  ——資料量太大時會大幅降低演算法執行效率。 2.計算邏輯轉化為布林電路。  遵循原則:儘量簡單的計算邏輯  ——由於MPC是計算密集型和通訊密集型演算法,若計算邏輯很複雜,會對執行效率產生很大影響。  轉化方式:手動/電路編譯器Frutta 3.將輸入的布林電路做GC和OT演算法(詳細在下面敘述),得到輸出結果。5.2.GC+OT的兩方計算基本框架   GC+ OT是在兩方semi-honest模型下的通用型演算法,即可以支援任意計算邏輯的安全兩方計算。   總體框架如下圖:安全多方計算從入門到精通:MPC簡介&JUGO平臺
安全多方計算從入門到精通:MPC簡介&JUGO平臺6.小結   安全多方計算是一種在不洩漏原始資料的情況下,對資料進行的計算。上述內容首先介紹了MPC的價值及來源,然後詳述了兩方安全計算的技術實現原理,主要包括GC和OT演算法,並對一些技術基礎知識做了簡要概述。二、JUGO與MPC1.JUGO定位   針對企業級使用者,基於MPC的安全資料交易平臺。通過在本地部署MPC節點,進行資料協同計算。2.JUGO特性  支援semi-honest通用兩方演算法:GC+OT。  支援Frutta編寫的IDE,提供MPC演算法的SDK,使用者使用IDE和SDK進行開發。  支援加法(addition),比較(compare)等多種演算法。  以瀏覽件外掛的形式提供MPC個人體驗。  後續支援通用多方演算法和硬體加速。3.JUGO架構
安全多方計算從入門到精通:MPC簡介&JUGO平臺  針對計算邏輯提供者,MPC-IDE實現計算邏輯的編寫,並通過整合的電路編譯器轉化為電路檔案;作為資料執行方,矩陣元提供的MPC-SDK直接為計算邏輯提供者服務;並且矩陣元對MPC-SDK內部演算法實現GPU、FPGA等硬體加速,使協同計算過程更快地完成。