本技術涉及后量子密碼應用,尤其涉及一種融合kyber和sm3的后量子密碼加密系統、方法及裝置。
背景技術:
1、隨著量子計算技術的迅猛進步,傳統密碼算法中,尤其是依賴復雜數學難題的加密算法,正面臨量子計算機破解的風險。麻省理工學院數學系教授peter?shor提出的量子算法能在短時間內破解整數分解和離散對數問題,這說明基于這些經典數論難題的傳統密碼體系已不再安全。而目前廣泛使用的公鑰密碼體制正是建立在這些難題之上,因此同樣面臨嚴重的安全挑戰。pqc(post?quantum?cryptography,后量子密碼)旨在防范量子計算機對現有密碼系統的潛在威脅,是一種新興加密方法,研究后量子密碼尤為重要,它是確保信息安全、應對量子計算機威脅的關鍵措施。
2、迄今為止,nist(national?institute?of?standards?and?technology,美國國家標準與技術研究院)已經順利完成了四輪后量子密碼算法的嚴格選拔過程,這一舉措旨在應對未來量子計算技術對現有密碼體系構成的潛在威脅。在這一進程中,nist正式公布了首批四種標準化的pqc算法,其中,crystals-kyber憑借其獨特優勢脫穎而出,成為該批算法中唯一被選定的加密算法,而其余三種則專注于簽名功能,為信息安全領域提供了更為多樣化的選擇。kyber算法是一種后量子加密算法,其安全性基于mlwe問題(modulelearning?with?errors,基于模誤差學習問題)。
3、隨著全球范圍內對量子計算技術的深入研究與快速發展,傳統密碼算法向pqc算法的轉型已成為信息安全領域不可逆轉的趨勢。在這一背景下,國內外眾多科研機構與企業紛紛投身于這一轉型浪潮之中,致力于研發出既符合量子安全標準又具備高效性能的密碼算法。
4、在加密算法的選擇上,盡管crystals-kyber在安全性方面表現出色,但出于對國家信息安全及實際應用性能的雙重考量,直接將其作為我國國產化加密算法的標準并非最佳選擇。因此,深入研究并開發具有自主知識產權的國產化加密算法顯得尤為重要,這不僅能夠增強我國信息安全領域的自主創新能力,還能夠更好地適應國內特定應用場景的需求,為構建更加安全可靠的信息環境提供有力支撐。
技術實現思路
1、本技術示出了一種融合kyber和sm3的后量子密碼加密系統、方法及裝置。
2、第一方面,本技術示出了一種融合kyber和sm3的后量子密碼加密系統,填充單元所述系統包括:控制邏輯模塊、截取單元、填充單元、哈希模塊、ntt模塊、采樣模塊、存儲模塊和接口模塊;其中,
3、所述控制邏輯模塊,用于傳遞處理器內部指令信號與控制接收外部數據,以及根據生成kyber密鑰時不同模式下所需雜湊值的長度,確定控制所述哈希模塊中sm3算法執行的輪次數;
4、所述截取單元,用于截取每一輪雜湊值的有效長度;
5、所述填充單元,用于對每一輪sm3算法的輸入消息進行填充,在所述輸入消息的前端補充設定長度的計數值,所述計數值的大小為sm3算法執行的輪次數;
6、所述哈希模塊,用于在所述控制邏輯模塊的控制下,根據生成kyber密鑰時不同模式所需雜湊值的長度確定sm3算法所需執行的輪次數,并由所述截取單元截取每一輪雜湊值的有效長度,以保證輸出雜湊值為滿足所需長度的隨機數;
7、所述ntt模塊,用于kyber算法中多項式乘法的計算;所述ntt模塊包括蝶形單元和控制單元,所述蝶形單元用于模加、模減和模約簡的計算,所述控制單元用于控制ntt模塊的操作模式,以及控制蝶形單元輸入正確的多項式系數;
8、所述采樣模塊,包括拒絕采樣單元和中心二項分布采樣單元,所述拒絕采樣單元用于采樣得到公開矩陣,所述中心二項分布采樣單元用于采樣得到噪聲向量;
9、所述存儲模塊,用于數據緩存;
10、所述接口模塊,用于提供輸入輸出接口。
11、可選地,所述哈希模塊包括填充分組單元、消息拓展單元和迭代壓縮單元;其中,
12、所述填充分組單元,用于對所述輸入消息進行填充,使其長度變為512的倍數;
13、所述消息拓展單元,用于將填充后的消息稱按照每組512比特分為若干組,將每個分組擴展生成以132個32比特字為內容的擴展結果,并對所述擴展結果進行迭代;
14、所述迭代壓縮單元,用于基于所述消息拓展單元的迭代結果輸出所需長度的雜湊值。
15、可選地,所述ntt模塊,還包括:
16、模乘法器,用于基于流水線k2-red模約簡算法實現蝶形計算中的模乘操作;
17、乒乓ram結構,用于存儲蝶形單元的輸入與輸出;
18、若干數量個rom,用于存儲蝶形單元中蝶形對應的旋轉因子。
19、可選地,所述填充單元,具體用于在所述輸入消息的前端一個8位比特數作為計數值,所述計數值的大小為sm3算法執行的輪次數。
20、可選地,填充單元所述操作模式包括加密和解密。
21、第二方面,本技術示出了一種融合kyber和sm3的后量子密碼加密方法,填充單元應用于上述系統,所述方法包括:
22、在密鑰生成階段,獲取外部輸入的隨機數并通過sm3算法得到隨機數種子ρ和σ,ρ用于拒絕采樣得到公開矩陣a,σ通過中心二項分布采樣得到噪聲向量s和e;
23、基于表達式計算得到后量子密碼密鑰,生成公鑰和私鑰;
24、在加密階段,輸入公鑰、消息m以及隨機向量,所述公鑰通過解碼得到種子ρ和向量t,所述種子ρ通過拒絕采樣得到公開矩陣at,隨機向量r輸入到采樣模塊通過中心二項分布采樣得到向量r、e1和e2;
25、通過數論變換ntt及其逆變換intt,且按照表達式計算得到向量u和v,并根據所述向量u和v生成密文;
26、在解密階段,輸入密鑰和密文,對密鑰和密文分別進行解碼和解壓縮得到向量st和u、v;通過數論變換ntt及其逆變換intt計算得到再與向量v相減,通過壓縮和編碼操作得到解密后的明文,實現后量子密碼加解密。
27、可選地,填充單元在所述在密鑰生成階段,獲取外部輸入的隨機數并通過sm3算法得到隨機數種子ρ和σ的步驟之前,還包括:
28、對外部輸入的隨機數進行填充,使所長度變為512的倍數。
29、可選地,填充單元在所述在密鑰生成階段,獲取外部輸入的隨機數并通過sm3算法得到隨機數種子ρ和σ的步驟之前,還包括:
30、截取每一輪雜湊值的有效長度。
31、第三方面,本技術示出了一種融合kyber和sm3的后量子密碼加密裝置,所述裝置包括:
32、密鑰生成單元,用于在密鑰生成階段,獲取外部輸入的隨機數并通過sm3算法得到隨機數種子ρ和σ,ρ用于拒絕采樣得到公開矩陣a,σ通過中心二項分布采樣得到噪聲向量s和e,且基于表達式計算得到后量子密碼密鑰,生成公鑰和私鑰;
33、加密單元,用于在加密階段,輸入公鑰、消息m以及隨機向量,所述公鑰通過解碼得到種子ρ和向量t,所述種子ρ通過拒絕采樣得到公開矩陣at,隨機向量r輸入到采樣模塊通過中心二項分布采樣得到向量r、e1和e2;通過數論變換ntt及其逆變換intt,且按照表達式計算得到向量u和v,并根據所述向量u和v生成密文;
34、解密單元,用于在解密階段,解密階段輸入密鑰和密文,對密鑰和密文分別進行解碼和解壓縮得到向量st和u、v;通過數論變換ntt及其逆變換intt計算得到再與向量v相減,通過壓縮和編碼操作得到解密后的明文,實現后量子密碼加解密。
35、第四方面,本技術示出了一種電子設備,所述電子設備包括:處理器;用于存儲處理器可執行指令的存儲器;其中,所述處理器被配置為執行如上述任一方面所述的方法。
36、第五方面,本技術示出了一種非臨時性計算機可讀存儲介質,當所述存儲介質中的指令由電子設備的處理器執行時,使得電子設備能夠執行如上述任一方面所述的方法。
37、第六方面,本技術示出了一種計算機程序產品,當所述計算機程序產品中的指令由電子設備的處理器執行時,使得電子設備能夠執行如上述任一方面所述的方法。
38、本技術提供的技術方案可以包括以下有益效果:
39、本技術提供的融合kyber算法和sm3算法的后量子密碼加密方案,通過在輸入消息前端補充預設長度的計數值,能夠有效避免隨機數重復,且利用截取單元將隨機數轉化對應于不同模式的長度相同且不重復的一一映射的真隨機數,因此,相比于傳統的使用基于keccak算法的哈希函數的后量子密碼算法而言,在保證了安全性和性能的前提下,符合我國安全標準,且國產化的sm3更安全,可控性更高;
40、通過在哈希模塊中新增截取單元與填充單元,可以靈活地控制sm3模塊輸入與輸出雜湊值的長度,保證了所需隨機數能夠高效且精準的生成,大幅減少了硬件資源的浪費;本技術提供的sm3硬件實現方案大大降低了資源消耗量、減小了時鐘周期;基于radix-4的ntt系統具有更好的性能,更高的頻率以及更大的吞吐率。