本發(fā)明涉及計算機體系結(jié)構(gòu)領(lǐng)域,具體來說涉及同態(tài)加密運算領(lǐng)域,更具體地說,涉及一種用于全同態(tài)加密運算的加速裝置和方法。
背景技術(shù):
1、隨著云存儲和云計算的不斷普及,越來越多的用戶選擇在云端存儲和運算大規(guī)模數(shù)據(jù)。由于云端的非可信性,為了保護敏感數(shù)據(jù),用戶通常會選擇對云存儲的數(shù)據(jù)進行加密。然而,傳統(tǒng)的加密技術(shù),通過密鑰的方式來實現(xiàn)對數(shù)據(jù)的加密,但加密的數(shù)據(jù)只有在存儲和傳輸?shù)倪^程中是安全的。由于運算環(huán)境的不確定性,密鑰的泄漏依然會造成隱私的暴露和數(shù)據(jù)被盜。因此,全同態(tài)加密逐漸成為云計算過程中,有效的加密手段。
2、全同態(tài)加密(fully?homomorphic?encryption,簡稱fhe)算法可以在不對加密數(shù)據(jù)進行解密的條件下進行計算。有效的全同態(tài)加密算法可以極大降低敏感數(shù)據(jù)暴露的問題,對訪問系統(tǒng)的內(nèi)部用戶以及外部用戶都起到了同樣的作用。使用全同態(tài)加密可以保護用戶的隱私不受數(shù)據(jù)處理者的影響:數(shù)據(jù)處理者在數(shù)據(jù)為密文的情況下進行處理,得到數(shù)據(jù)處理的最終結(jié)果(密文);可實現(xiàn)訪問者無法查看正在處理的數(shù)據(jù)的明文,只能看到數(shù)據(jù)處理的最終結(jié)果。在云計算以及需要進行數(shù)據(jù)保護的分布式系統(tǒng)中,全同態(tài)加密技術(shù)具有重要作用,因為用戶可以讓服務(wù)器在不訪問原始未加密數(shù)據(jù)的情況下進行計算。
3、然而,全同態(tài)加密的算法復(fù)雜度高,需要進行大量的數(shù)學(xué)計算。全同態(tài)加密的操作比明文操作的計算開銷要大得多,這限制了它在大規(guī)模數(shù)據(jù)處理中的應(yīng)用。一個精心優(yōu)化的fhe算法對比一個未采用加密的明文算法,速度慢4到6個數(shù)量級,這種減速使得全同態(tài)加密算法雖然具有數(shù)據(jù)隱私保護、計算外包等優(yōu)點,但是難以在實際的應(yīng)用中進行部署。
4、需要說明的是:本背景技術(shù)僅用于介紹本發(fā)明的相關(guān)信息,以便于幫助理解本發(fā)明的技術(shù)方案,但并不意味著相關(guān)信息必然是現(xiàn)有技術(shù)。相關(guān)信息與本發(fā)明方案一同提交和公開,在沒有證據(jù)表明相關(guān)信息已在本發(fā)明的申請日以前公開的情況下,相關(guān)信息不應(yīng)被視為現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)思路
1、因此,本發(fā)明的目的在于克服上述現(xiàn)有技術(shù)的缺陷,提供一種用于全同態(tài)加密運算的加速裝置和方法。
1.一種用于全同態(tài)加密運算的加速裝置,其特征在于,包括:加速芯片,加速芯片上設(shè)有用于執(zhí)行全同態(tài)加密算法中快速數(shù)論變換的模運算的多個模運算器組合,其中,每個模運算器組合包括:
2.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述模加器包括:
3.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述模減器包括:
4.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述裝置中設(shè)置有模加/減器,所述模加/減器包括:第一加/減法器、第二加/減法器、比較器和選擇器,所述模加/減器根據(jù)控制信號選擇性地被配置為所述模加器或者所述模減器,包括:
5.根據(jù)權(quán)利要求1所述的裝置,其特征在于,所述模乘器包括:
6.根據(jù)權(quán)利要求1-5之一所述的裝置,其特征在于,所述加速芯片包括:
7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,所述裝置被配置為:
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括:
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述片外主機被配置為:當(dāng)收到需加速具有蝶變過程的全同態(tài)加密算法的請求時,在編譯階段通過指令洗牌機制合并蝶變和取矩陣的過程,所述指令洗牌機制包括:
10.一種全同態(tài)加密加速方法,所述方法在如權(quán)利要求1-9之一所述的裝置執(zhí)行,所述方法包括: