本申請(qǐng)涉及安全算法,尤其涉及一種應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路及運(yùn)算方法。
背景技術(shù):
1、在當(dāng)今日益數(shù)字化和互聯(lián)的世界中,數(shù)字簽名發(fā)揮著不可或缺的作用。它們不僅保護(hù)敏感的金融交易和法律合同,還維護(hù)醫(yī)療保健和政府重要文件的完整性,成為各種在線(xiàn)活動(dòng)中信任和安全的基石。數(shù)字簽名通過(guò)驗(yàn)證信息的來(lái)源和完整性,確保只有經(jīng)過(guò)授權(quán)的用戶(hù)才能訪(fǎng)問(wèn)和修改重要數(shù)據(jù),從而有效防止偽造和篡改。
2、然而,隨著量子計(jì)算機(jī)的快速發(fā)展,傳統(tǒng)公鑰加密算法如橢圓曲線(xiàn)diffie-hellman(ecdh)和rsa將面臨重大安全挑戰(zhàn)。量子計(jì)算機(jī)具有強(qiáng)大的并行處理能力,能夠通過(guò)量子算法(如shor算法)在短時(shí)間內(nèi)破解這些傳統(tǒng)密碼系統(tǒng),使得依賴(lài)于這些算法的數(shù)字簽名機(jī)制變得脆弱。因此,迫切需要開(kāi)發(fā)能夠抵御量子攻擊的新一代密碼算法,這就是后量子密碼算法的研究背景。
3、目前具有四種算法(kyber、dilithium、falcon和sphincs+)成功入選并進(jìn)入標(biāo)準(zhǔn)化過(guò)程。這些算法各具特點(diǎn),適用于不同的應(yīng)用場(chǎng)景。在這四種算法中,sphincs+因其完備的安全性證明以及相對(duì)簡(jiǎn)單的計(jì)算操作,是一種基于哈希的算法。
4、然而,盡管后量子密碼算法展示了強(qiáng)大的安全性,其實(shí)際應(yīng)用中的硬件部署依然面臨許多潛在的側(cè)信道安全性問(wèn)題。側(cè)信道攻擊利用了加密設(shè)備在運(yùn)行過(guò)程中泄露的信息,如功耗、執(zhí)行時(shí)間、以及電磁波等。攻擊者可以通過(guò)分析這些信息,繞過(guò)算法底層的數(shù)學(xué)難題,從而竊取私密信息,導(dǎo)致安全性大打折扣。因此,為了實(shí)現(xiàn)后量子密碼算法的廣泛應(yīng)用,提升其在硬件實(shí)現(xiàn)中的安全性,成為一個(gè)亟待解決的挑戰(zhàn)。
5、申請(qǐng)內(nèi)容
6、鑒于上述問(wèn)題,本申請(qǐng)?zhí)峁┮环N應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路和運(yùn)算方法。
7、第一方面,提供一種應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,包括:
8、輸入單元,用于輸入狀態(tài)矩陣;
9、多個(gè)運(yùn)算單元,分別連接所述輸入單元,每一所述運(yùn)算單元用于對(duì)所述狀態(tài)矩陣中預(yù)設(shè)比特?cái)?shù)據(jù)進(jìn)行計(jì)算,得到計(jì)算結(jié)果;
10、輸出單元,連接多個(gè)所述運(yùn)算單元,用于將所述計(jì)算結(jié)果與預(yù)計(jì)算值進(jìn)行比較,確定是否有故障注入;其中,所述狀態(tài)矩陣與所述預(yù)計(jì)算值符合預(yù)設(shè)關(guān)系。
11、其中,如果所述計(jì)算結(jié)果與所述預(yù)計(jì)算值不同,則確定有故障注入。
12、其中,所述運(yùn)算單元包括:
13、第一計(jì)算模塊,所述第一計(jì)算模塊用于對(duì)所述預(yù)設(shè)比特?cái)?shù)據(jù)進(jìn)行異或計(jì)算,得到第一計(jì)算結(jié)果,記為sumj,j∈[0,n],n為狀態(tài)矩陣的列數(shù)減1;
14、第二計(jì)算模塊,所述第二計(jì)算模塊用于對(duì)所述預(yù)設(shè)比特?cái)?shù)據(jù)中每一數(shù)據(jù)和所述第一計(jì)算結(jié)果進(jìn)行異或計(jì)算,并重排列,得到第二計(jì)算結(jié)果,記為ei,j;其中,i∈[0,m],m為狀態(tài)矩陣的行數(shù)減1;所述預(yù)設(shè)比特?cái)?shù)據(jù)中每一數(shù)據(jù)記為si,j;
15、第三計(jì)算模塊,用于對(duì)ei,j取反后和ei,j+1做邏輯與計(jì)算,然后和ei,j進(jìn)行異或計(jì)算,最后和輪常數(shù)c進(jìn)行異或計(jì)算得到第三計(jì)算結(jié)果,記為pi,j;
16、擴(kuò)展路徑,用于對(duì)pi,j和pi,j-1異或取反后和si,j做異或計(jì)算,得到所述計(jì)算結(jié)果,記為p'i,j。
17、其中,所述輸出單元包括:
18、比較單元,用于將p'i,j與所述預(yù)設(shè)比特?cái)?shù)據(jù)中每一數(shù)據(jù)記為si,j一一比較,如果比較結(jié)果不同,則確定有故障注入。
19、其中,所述第一計(jì)算模塊包括:
20、第一異或計(jì)算模塊,接收所述預(yù)設(shè)比特?cái)?shù)路中數(shù)據(jù)si,j,并進(jìn)行異或計(jì)算,得到sumj。
21、所述第二計(jì)算模塊包括:
22、第二異或計(jì)算模塊,接收sumj+1和sumj-1,并進(jìn)行異或計(jì)算;
23、第三異或計(jì)算模塊,接收sumj+1和sumj-1的異或計(jì)算結(jié)果和si,j,并進(jìn)行異或計(jì)算,并重排列,得到ei,j。
24、其中,所述第三計(jì)算模塊包括:
25、第一反相器,用于對(duì)ei,j取反;
26、與門(mén),用于對(duì)對(duì)ei,j取反后和ei,j+1做邏輯與計(jì)算;
27、第四異或計(jì)算模塊,用于對(duì)與門(mén)輸出結(jié)果和ei,j進(jìn)行異或計(jì)算;
28、第五異或計(jì)算模塊,用于對(duì)第四異或計(jì)算模塊的輸出結(jié)果和輪常數(shù)c進(jìn)行異或計(jì)算,得到pi,j。
29、其中,所述擴(kuò)展路徑包括:
30、第六異或計(jì)算模塊,接收pi,j和pi,j-1,并進(jìn)行異或計(jì)算;
31、第二反相器,對(duì)第六異或計(jì)算模塊的輸出取反;
32、第七異或計(jì)算模塊,對(duì)第二反相器的輸出和si,j做異或計(jì)算,得到p'i,j。
33、第二方面,本申請(qǐng)?zhí)峁┮环N運(yùn)算方法,所述運(yùn)算方法基于上述任一項(xiàng)所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路進(jìn)行,所述運(yùn)算方法包括:
34、接收狀態(tài)矩陣和所述狀態(tài)矩陣對(duì)應(yīng)的預(yù)計(jì)算值;其中,所述狀態(tài)矩陣與所述預(yù)計(jì)算值符合預(yù)設(shè)關(guān)系;
35、對(duì)所述狀態(tài)矩陣中預(yù)設(shè)比特?cái)?shù)據(jù)進(jìn)行計(jì)算,得到計(jì)算結(jié)果;
36、將所述計(jì)算結(jié)果與預(yù)計(jì)算值進(jìn)行比較,確定是否有故障注入。
37、其中,所述對(duì)所述狀態(tài)矩陣中預(yù)設(shè)比特?cái)?shù)據(jù)進(jìn)行計(jì)算,得到計(jì)算結(jié)果,包括:
38、接收所述預(yù)設(shè)比特?cái)?shù)路中數(shù)據(jù)si,j,并進(jìn)行異或計(jì)算,得到sumj;
39、接收sumj+1和sumj-1,并進(jìn)行異或計(jì)算,以及接收sumj+1和sumj-1的異或計(jì)算結(jié)果和si,j,并進(jìn)行異或計(jì)算,并重排列,得到ei,j;
40、對(duì)ei,j取反后和ei,j+1做邏輯與計(jì)算,并將邏輯與計(jì)算結(jié)果和ei,j進(jìn)行異或計(jì)算,再和輪常數(shù)c進(jìn)行異或計(jì)算,得到pi,j;
41、接收pi,j和pi,j-1,并進(jìn)行異或計(jì)算后取反,然后和si,j做異或計(jì)算,得到計(jì)算結(jié)果p'i,j。
42、其中,將所述計(jì)算結(jié)果與預(yù)計(jì)算值進(jìn)行比較,確定是否有故障注入,包括:
43、將p'i,j與所述預(yù)設(shè)比特?cái)?shù)據(jù)中每一數(shù)據(jù)記為si,j一一比較,如果比較結(jié)果不同,則確定有故障注入。
44、本申請(qǐng)?zhí)峁┑膽?yīng)用于后量子密碼算法的故障注入檢測(cè)電路,擁有更長(zhǎng)的關(guān)鍵路徑,可以在關(guān)鍵信息泄露之前檢測(cè)到時(shí)鐘注入,解決了算法硬件實(shí)現(xiàn)中潛在的側(cè)信道泄露問(wèn)題,實(shí)現(xiàn)了對(duì)后量子密碼芯片的安全防護(hù)。
45、上述說(shuō)明僅是本申請(qǐng)技術(shù)方案的概述,為了能夠更清楚了解本申請(qǐng)的技術(shù)手段,而可依照說(shuō)明書(shū)的內(nèi)容予以實(shí)施,并且為了讓本申請(qǐng)的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本申請(qǐng)的具體實(shí)施方式。
技術(shù)實(shí)現(xiàn)思路
1.一種應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,如果所述計(jì)算結(jié)果與所述預(yù)計(jì)算值不同,則確定有故障注入。
3.根據(jù)權(quán)利要求1所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,所述運(yùn)算單元包括:
4.根據(jù)權(quán)利要求3所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,所述輸出單元包括:
5.根據(jù)權(quán)利要求3所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,所述第一計(jì)算模塊包括:
6.根據(jù)權(quán)利要求3所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,所述第三計(jì)算模塊包括:
7.根據(jù)權(quán)利要求3所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路,其特征在于,所述擴(kuò)展路徑包括:
8.一種運(yùn)算方法,其特征在于,所述運(yùn)算方法基于上述權(quán)利要求1~7任一項(xiàng)所述的應(yīng)用于后量子密碼算法的故障注入檢測(cè)電路進(jìn)行,所述運(yùn)算方法包括:
9.根據(jù)權(quán)利要求8所述的運(yùn)算方法,其特征在于,所述對(duì)所述狀態(tài)矩陣中預(yù)設(shè)比特?cái)?shù)據(jù)進(jìn)行計(jì)算,得到計(jì)算結(jié)果,包括:
10.根據(jù)權(quán)利要求8所述的運(yùn)算方法,其特征在于,將所述計(jì)算結(jié)果與預(yù)計(jì)算值進(jìn)行比較,確定是否有故障注入,包括: