
定製電子產品的開發、設計和製造
定製產品開發 來自 BittWare(Molex 公司)的設計 + 製造 來自 BittWare(Molex 公司)的定製產品開發設計 + 製造 建立在我們的基礎上
FPGA 加速支援這種獨特的解決方案,允許在不解密或共用密鑰的情況下對加密數據進行計算
加密數據是醫療文件或財務等敏感資訊的必要條件,其數量呈指數級增長。理想情況下,這些數據將存儲在經濟的公共雲基礎設施中,包括處理功能,例如在資料庫中查找記錄。但是,由於加密,這意味著雲存儲供應商將需要私鑰,並且能夠看到搜索詞和結果。這種共用金鑰和對私人資訊的暴露會帶來重大的安全風險。
在上面的範例中,加密資料庫存儲在公共雲伺服器上。為了檢索數據,例如搜索,雲系統必須擁有解密資料庫的私鑰,而且還要看到搜索詞和結果。雖然這些數據在通過不安全的鏈接傳遞之前是加密的,但風險在於雲供應商擁有私鑰,並且安全性依賴於他們的系統不會受到損害。
由於這些限制,許多類型的高度安全數據(如醫療記錄)無法使用公共雲基礎架構。
然而,幾十年前的技術允許處理加密數據,例如文本搜索, 而無需 解密或提供對私鑰的訪問。它還允許對處理請求(例如搜索詞)和結果進行加密。存儲供應商可以毫無風險地存儲和處理敏感的加密數據。
這種技術稱為 同態加密 (HE), 可用於計算需求不斷增加的幾個級別。事實上,在 像BittWare的IA-440i 這樣的功能強大的FPGA卡可用之前,同態加密所需的計算嚴重限制了實際用例。
雖然我們提到了資料庫搜索,但同態加密還有許多其他潛在用途:
同態加密方案通常遵循以下兩種方法之一:
這種方法允許在內部誤差(所有HE方案中存在)變得太大之前執行一定量的處理。如果事先知道所需的處理深度,用戶可以創建具有適當公差的HE方案。這樣做的好處是確保只執行最少的處理量,從而提高輸送量。
該方案也受到雜訊增加的影響,但使用一種稱為“引導”的技術來消除任何錯誤累積,以免它變得太大。Boostrapping非常慢,儘管最近在 加速 這一性能瓶頸方面取得了一些進展。
選擇使用HE方案在很大程度上取決於使用者的問題情況。因此,一種解決方案不太可能適合所有人。在HE中處理加密數據也非常慢,需要 顯著加速 才能使用。幸運的是,FPGA非常擅長加密方案所需的計算類型,並且足夠靈活,可以有效地處理任何合適的HE方案。
同態加密不僅限於基於文字的資料庫應用程式。 上述相同的 FPGA 加速系統可以提供加速即計算服務,例如機器學習 (ML) 推理。例如,在醫療領域,可以將患者 X 射線(作為圖像)發送到基於雲的 ML 模型以檢測異常。但是,與資料庫範例一樣,此類查找需要將個人醫療資訊(X 射線圖像)發送給共用 ML 模型供應商,該提供者必須解密圖像才能執行推理。相反,請看下圖的可能性,其中顯示了FPGA加速的HE和推理系統,該系統為許多使用者提供安全查找:
在這個HE安全的系統中,患者的X射線,訓練的ML模型和結果將在共用提供者的系統中保持加密。 與資料庫搜索範例一樣,理想的主機將處理許多使用者和對共用資源的查找。對於保護此類系統的同態加密,佈局與資料庫搜索範例非常相似。
當今的性能限制
請注意,即使通過FPGA進行高性能加速,如今的HE系統 也比未加密的同類系統慢幾個數量級。因此,需要做更多的工作來縮小這種性能差距,以便更廣泛地採用。
在實現完全同態加密(FHE)之前,一些眾所周知的加密方案已經表現出一些部分同態能力。加密方案RSA表現出乘法同態,因為兩個加密的密文可以相乘,並在解密時返回等效的明文乘法結果。
而Paillier密碼系統是附加加密方案的一個例子。這可以寫成如下...
如前所述,完全同態加密 (FHE) 方案可以執行加法和乘法運算。在這種情況下,允許重複乘法或添加密文,同時仍允許恢復原始明文。
如果HE方案允許乘法和加法,那麼它就能夠執行邏輯NAND門,從而執行 任何 邏輯電路。
最早的FHE計劃之一是DGHV計劃。這依賴於非常大的密文來確保良好的安全性。加密和解密方案由以下等式表示。
密文必須非常大才能進行良好的加密,10 百萬位,密鑰 p 數千位和較大的雜訊值。為了確保加密方案不容易受到線性代數攻擊,必須考慮引入雜訊(r)。具體如下所述。
使用如此大的密文顯然存在性能問題,單個明文位擴展到數百萬個密文位,這使得它在實際用例中不切實際。然而,這是最早創建並重新啟動HE學術研究的功能HE方案之一。
DGHV方案的另一個問題是雜訊增長,這是由添加到加密中所需的隨機因數產生的。在這種情況下,密文的添加會使此雜訊增加一個比特,但是每次應用密文時,乘法會使雜訊加倍。
該圖說明瞭相對於金鑰大小 q 的乘法雜訊 ρ 加倍。一旦雜訊超過q,就無法再恢復明文而沒有錯誤。這意味著在流程中斷之前,我們只能處理有限數量的操作。
為了解決此錯誤增長,使用了一種稱為引導的技術。引導可以通過加密邏輯傳遞密文來消除雜訊,使用共用公鑰進行加密。這相當於解密密文(消除噪音)並重新加密,但是由於公鑰不能用於恢復原始明文,因此數據始終保持私有。這個過程在計算上是昂貴的,但可以消除雜訊,允許無限數量的加密計算:完全同態加密(FHE)方案。
誤差學習 (LWE) 方案基於多項式計算,其中加密金鑰現在是 N 次多項式的係數。多項式的係數位於具有字大小素數 q 的有限域中。為了增加安全性,必須將雜訊(e)添加到系統中,否則使用線性代數可以輕鬆求解該方案。
兩個多項式的相加創建相同次數的第三個多項式;然而,兩個多項式的乘法會產生 (n+1)2 係數的二次多項式。為了糾正多項式項數的增長,使用了一種稱為重新線性化的技術。多項式的二次項是公開的,然後可以使用二進位分解從結果中減去,再次將展開多項式減少到 (n+1) 係數。這種乘法的雜訊增長與DGHV相同,但是可以使用稱為模數切換的技術來減少其影響。
可以證明,按新素數縮放係數,使新係數“c”等價,使得cnew = c mod 2,解密結果保持不變。這種關係可用於將雜訊的指數增長轉換為線性增長,從而允許在雜訊增長變得太大之前對密文執行更多操作(見下圖)。
這就是所謂的水準FHE。如果我們知道計算的深度,我們可以選擇初始模量的大小,使其足夠大,以解決給定的問題,從而避免昂貴的自舉階段。
LWE 方案的擴展是使用多項式環,其中 N 是 2 的冪。多項式現在存在於環中 .在這種情況下,將兩個多項式相加或相乘,係數仍會減少素模。乘法后,2N 係數通過除以 (X 時取餘數來減少N + 1).
多項式的乘法是此HE實現的主要瓶頸,因為係數的數量通常在N = [210, 214]範圍內。多項式乘法的優化是負迴圈數論變換 (NTT)。這將計算次數從 N N 減少到 Nlog(N )。NTT 是有限整數域上的快速傅立葉變換 (FFT)。
將兩個多項式 f(x) 和 g(x) 相乘,然後變成...
InvNTT (FwdNTT(f(x)) * FwdNTT(g(x)))
公共領域有多個 HE API 可用,主要針對 CPU 進行了優化。以下是一些範例:
英特爾還有一個並行的 FPGA 分支到他們的 HEXL 庫。面向 FPGA 的英特爾同態加密加速庫 (HEXL-fpga) 是一個開源庫,提供 HE 函數的一些 FPGA 實施範例。
目前包含在 FPGA API 中的運算符如下:
這些使用戶能夠在FPGA上試驗不同的HE工作流程。BittWare USM(統一共用記憶體)BSP與此庫相容。
同態加密的潛在好處是顯著的;更好地利用公眾共用資源處理高風險數據,例如用於醫療和金融領域的數據。HE正在不斷發展,以解決新技術的性能問題。
FPGA 是幫助實現 HE 採用的理想技術,因為它們具有高度的靈活性和高性能架構。 像IA-440i 這樣的BittWare卡非常適合幫助客戶推動同態加密從學術研究到實際部署的轉變。
HE:同態加密
RSA:里維斯特、沙米爾和阿德曼
FHE:完全同態加密
DGHV: Digi Gentry Halevi Vaikuntanathan
RLWE : 帶錯誤的環學習
定製產品開發 來自 BittWare(Molex 公司)的設計 + 製造 來自 BittWare(Molex 公司)的定製產品開發設計 + 製造 建立在我們的基礎上
IA-780i 400G + PCIe Gen5 單寬卡 緊湊型 400G 卡,具有 Agilex 的強大功能 英特爾敏捷x 7 I 系列 FPGA 針對應用進行了優化
用於 AI 金融交易模型的 MAU 加速器參考設計 超低延遲、高輸送量的機器學習推理 非常適合金融領域的一系列應用
白皮書介紹BittWare的SmartNIC Shell用於網路數據包處理概述SmartNIC Shell是一個完整的工作NIC,在BittWare上實現