抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)及其數(shù)據(jù)處理方法
【專利摘要】本發(fā)明涉及通訊【技術(shù)領(lǐng)域】,特別涉及一種抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)及其數(shù)據(jù)處理方法。該數(shù)據(jù)處理系統(tǒng)包括:第一基于加法掩碼仿射變換模塊,用于對(duì)輸入的掩碼數(shù)據(jù)和掩碼進(jìn)行仿射變換運(yùn)算,并輸出第一數(shù)據(jù)和第二數(shù)據(jù);基于加法掩碼的有限域求逆模塊,用于對(duì)第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行有限域求逆運(yùn)算,并輸出第三數(shù)據(jù);第二基于加法掩碼仿射變換模塊,用于對(duì)第二數(shù)據(jù)和第三數(shù)據(jù)進(jìn)行仿射變換運(yùn)算,并輸出第四數(shù)據(jù)和第五數(shù)據(jù)。本發(fā)明S盒的運(yùn)算系統(tǒng)通過(guò)代數(shù)邏輯實(shí)現(xiàn)了S盒的運(yùn)算,使得S盒的面積減小、功耗降低,減小了用戶的實(shí)現(xiàn)代價(jià)。
【專利說(shuō)明】抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)及其數(shù)據(jù)處理方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通訊【技術(shù)領(lǐng)域】,更具體地說(shuō),涉及一種抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)及其數(shù)據(jù)處理方法。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)技術(shù)的進(jìn)步,電子商務(wù)、電子政務(wù)、網(wǎng)上銀行等業(yè)務(wù)得到廣泛開展,智能卡具有良好的安全特性,同時(shí)具有便于攜帶、使用方便等特點(diǎn),這使得它在金融、社保、交通等領(lǐng)域扮演著非常重要角色。但由于網(wǎng)絡(luò)的開放性,這些新興業(yè)務(wù)更容易受到攻擊。隨著研究的不斷深入,針對(duì)智能卡的側(cè)信道攻擊被認(rèn)為是最危險(xiǎn)的一種攻擊方法。側(cè)信道攻擊可以利用智能卡的電力消耗、執(zhí)行時(shí)間、故障時(shí)的輸出與輸入行為、輻射、電力尖峰情形等信息來(lái)攻擊智能卡,最終得到用戶的密鑰。在各種各樣的側(cè)信道攻擊中,差分功耗分析攻擊是最有效的攻擊方法之一。由于智能卡芯片在執(zhí)行不同的指令進(jìn)行各種運(yùn)算時(shí),它的功耗也會(huì)有相應(yīng)的變化,差分功耗分析攻擊根據(jù)數(shù)據(jù)和功耗之間的關(guān)聯(lián)性,還原出密鑰,進(jìn)而達(dá)到攻擊的效果。差分功耗分析攻擊對(duì)智能卡中的加密算法的成功攻擊已經(jīng)被廣泛報(bào)道。
[0003]國(guó)家商用密碼管理局在2006年I月公布了用于無(wú)線局域網(wǎng)產(chǎn)品的分組對(duì)稱密碼算法SMS4算法。該算法采用非平衡的Feistel結(jié)構(gòu),具有較強(qiáng)的抵抗差分攻擊的能力,安全強(qiáng)度達(dá)到國(guó)際分組密碼算法標(biāo)準(zhǔn)。這是國(guó)內(nèi)官方公布的第一個(gè)商用密碼算法。在2012年3月,國(guó)家商用密碼管理局批準(zhǔn)SMS4算法為商用密碼行業(yè)標(biāo)準(zhǔn),命名為SM4算法。在SM4算法中,S盒是唯一的非線性部件,并且存在于密鑰擴(kuò)展運(yùn)算和加解密運(yùn)算中的每一輪運(yùn)算中,因此S盒的實(shí)現(xiàn)不僅決定這SM4算法的性能,還決定了 SM4算法的硬件是否能夠抵抗差分功耗分析攻擊。
[0004]現(xiàn)有的SM4算法中S盒的輸入和輸出都是8比特的數(shù)據(jù),一般都是采用查表方法來(lái)實(shí)現(xiàn)。這種實(shí)現(xiàn)方法由于輸入數(shù)據(jù)太多,實(shí)現(xiàn)代價(jià)很大,并且很難抵抗差分功耗分析攻擊。
【發(fā)明內(nèi)容】
[0005]本發(fā)明要解決的技術(shù)問(wèn)題在于,提供一種改進(jìn)的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)及其數(shù)據(jù)處理方法。
[0006]本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:構(gòu)造一種抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其中包括采用SM4算法的S盒,所述S盒包括:
[0007]第一基于加法掩碼仿射變換模塊,用于對(duì)輸入的掩碼數(shù)據(jù)和掩碼進(jìn)行仿射變換運(yùn)算,并輸出第一數(shù)據(jù)和第二數(shù)據(jù);
[0008]基于加法掩碼的有限域求逆模塊,用于對(duì)所述第一基于加法掩碼仿射變換模塊輸出的第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行有限域求逆運(yùn)算,并輸出第三數(shù)據(jù);
[0009]第二基于加法掩碼仿射變換模塊,用于對(duì)所述第一基于加法掩碼仿射變換模塊輸出的第二數(shù)據(jù)和所述基于加法掩碼的有限域求逆模塊輸出的第三數(shù)據(jù)進(jìn)行仿射變換運(yùn)算,并輸出第四數(shù)據(jù)和第五數(shù)據(jù)。
[0010]上述抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)中,所述第一基于加法掩碼仿射變換模塊包括:
[0011]第一向量乘法模塊,用于對(duì)輸入的掩碼數(shù)據(jù)進(jìn)行向量乘法運(yùn)算;
[0012]第二向量乘法模塊,用于對(duì)輸入的掩碼進(jìn)行向量乘法運(yùn)算,以輸出第二數(shù)據(jù);
[0013]第一異或運(yùn)算模塊,連接于所述第一向量乘法模塊,并用于根據(jù)所述第一向量乘法模塊輸出的計(jì)算結(jié)果與輸入的常數(shù)進(jìn)行異或運(yùn)算,以輸出第一數(shù)據(jù)。
[0014]上述抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng)中,所述第一向量乘法模塊的數(shù)學(xué)模型為 Ia15I=A1 ;
[0015]所述第二向量乘法模塊的數(shù)學(xué)模型為;
[0016]所述第一異或運(yùn)算模塊的數(shù)學(xué)模型為;
[0017]其中,和η依次為輸入的掩碼數(shù)據(jù)和掩碼;
【權(quán)利要求】
1.一種抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其中包括采用SM4算法的S盒,其特征在于,所述S盒包括: 第一基于加法掩碼仿射變換模塊(I ),用于對(duì)輸入的掩碼數(shù)據(jù)和掩碼進(jìn)行仿射變換運(yùn)算,并輸出第一數(shù)據(jù)和第二數(shù)據(jù); 基于加法掩碼的有限域求逆模塊(2),用于對(duì)所述第一基于加法掩碼仿射變換模塊(I)輸出的第一數(shù)據(jù)和第二數(shù)據(jù)進(jìn)行有限域求逆運(yùn)算,并輸出第三數(shù)據(jù); 第二基于加法掩碼仿射變換模塊(3),用于對(duì)所述第一基于加法掩碼仿射變換模塊(I)輸出的第二數(shù)據(jù)和所述基于加法掩碼的有限域求逆模塊(2)輸出的第三數(shù)據(jù)進(jìn)行仿射變換運(yùn)算,并輸出第四數(shù)據(jù)和第五數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述第一基于加法掩碼仿射變換模塊(I)包括: 第一向量乘法模塊(11),用于對(duì)輸入的掩碼數(shù)據(jù)進(jìn)行向量乘法運(yùn)算; 第二向量乘法模塊(12),用于對(duì)輸入的掩碼進(jìn)行向量乘法運(yùn)算,以輸出第二數(shù)據(jù); 第一異或運(yùn)算模塊(13),連接于所述第一向量乘法模塊(11),并用于根據(jù)所述第一向量乘法模塊(11)輸出的計(jì)算結(jié)果與輸入的常數(shù)進(jìn)行異或運(yùn)算,以輸出第一數(shù)據(jù)。
3.根據(jù)權(quán)利要求2所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述第一向量乘法模塊(11)的數(shù)學(xué)模型為; 所述第二向量乘法模塊(12)的數(shù)學(xué)模型為; 所述第一異或運(yùn)算模塊(13)的數(shù)學(xué)模型為; 其中,B1和rι依次為輸入的掩碼數(shù)據(jù)和掩碼;
4.根據(jù)權(quán)利要求1所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述基于加法掩碼的有限域求逆模塊(2)包括: 第一同構(gòu)映射模塊(201),用于對(duì)所述第一數(shù)據(jù)進(jìn)行同構(gòu)映射; 第二同構(gòu)映射模塊(202),用于對(duì)所述第二數(shù)據(jù)進(jìn)行同構(gòu)映射; 第三同構(gòu)映射模塊(203),用于根據(jù)所述第一同構(gòu)映射模塊(201)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)映射; 第四同構(gòu)映射模塊(204),用于根據(jù)所述第一同構(gòu)映射模塊(201)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)映射; 第五同構(gòu)映射模塊(205),用于根據(jù)所述第二同構(gòu)映射模塊(202)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)映射;第六同構(gòu)映射模塊(206),用于根據(jù)所述第二同構(gòu)映射模塊(202)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)映射; 第一常量乘法運(yùn)算模塊(212),用于對(duì)所述第三同構(gòu)映射模塊(203)輸出的運(yùn)算結(jié)果進(jìn)行常量乘法運(yùn)算; 第一平方運(yùn)算模塊(208),用于根據(jù)所述第三同構(gòu)映射模塊(203)輸出的運(yùn)算結(jié)果進(jìn)行平方運(yùn)算; 第二平方運(yùn)算模塊(209),用于根據(jù)所述第六同構(gòu)映射模塊(206)輸出的運(yùn)算結(jié)果進(jìn)行平方運(yùn)算; 第三平方運(yùn)算模塊(211),用于根據(jù)所述第一平方運(yùn)算模塊(208)輸出的運(yùn)算結(jié)果進(jìn)行平方運(yùn)算; 第四平方運(yùn)算模塊(215),用于根據(jù)所述第五同構(gòu)映射模塊(205)輸出的運(yùn)算結(jié)果進(jìn)行平方運(yùn)算; 第一乘法運(yùn)算模塊(210),用于根據(jù)所述第三同構(gòu)映射模塊(203)和所述第四同構(gòu)映射模塊(204)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第二乘法運(yùn)算模塊(213),用于根據(jù)所述第五同構(gòu)映射模塊(205)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第三乘法運(yùn)算模塊(214),用于根據(jù)所述第四同構(gòu)映射模塊(204)和第六同構(gòu)映射模塊(206)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第四乘法運(yùn)算模塊(216), 用于根據(jù)所述第五同構(gòu)映射模塊(205)和第六同構(gòu)映射模塊(206)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第二常量乘法運(yùn)算模塊(217),用于根據(jù)所述第二平方運(yùn)算模塊(209)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第二異或運(yùn)算模塊(218),用于根據(jù)所述第一乘法運(yùn)算模塊(210)、第二乘法運(yùn)算模塊(213)、第三乘法運(yùn)算模塊(214 )、第四乘法運(yùn)算模塊(216)、第二常量乘法運(yùn)算模塊(217)、第一常量乘法運(yùn)算模塊(212)、第三平方運(yùn)算模塊(211)以及第四平方運(yùn)算模塊(215)輸出的運(yùn)算結(jié)果進(jìn)行異或運(yùn)算; 求逆運(yùn)算模塊(219),用于根據(jù)所述第二異或運(yùn)算模塊(218)輸出的運(yùn)算結(jié)果進(jìn)行求逆運(yùn)算; 第三異或運(yùn)算模塊(220),用于根據(jù)所述求逆運(yùn)算模塊(219)和第四同構(gòu)映射模塊(204)輸出的運(yùn)算結(jié)果進(jìn)行異或運(yùn)算; 第四異或運(yùn)算模塊(221),用于根據(jù)所述第一平方運(yùn)算模塊(208)和所述第三異或運(yùn)算模塊(220)輸出的運(yùn)算結(jié)果進(jìn)行異或運(yùn)算; 第六乘法運(yùn)算模塊(222),用于根據(jù)所述第一平方運(yùn)算模塊(208)和所述第三異或運(yùn)算模塊(220)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第七乘法運(yùn)算模塊(223),用于根據(jù)所述第二同構(gòu)映射模塊(202)和所述第三異或運(yùn)算模塊(220)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第八乘法運(yùn)算模塊(224),用于根據(jù)所述第四同構(gòu)映射模塊(204)和所述第四異或運(yùn)算模塊(221)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第九乘法運(yùn)算模塊(225), 用于根據(jù)所述第四異或運(yùn)算模塊(221)和所述第六乘法運(yùn)算模塊(222)輸出的運(yùn)算結(jié)果進(jìn)行乘法運(yùn)算; 第五異或運(yùn)算模塊(226),用于根據(jù)所述第一乘法運(yùn)算模塊(210)、第三乘法運(yùn)算模塊(214)、所述第六乘法運(yùn)算模塊(222)、第七乘法運(yùn)算模塊(223)以及所述第一平方運(yùn)算模塊(208)輸出的運(yùn)算結(jié)果進(jìn)行異或運(yùn)算; 第六異或運(yùn)算模塊(227),用于根據(jù)所述第二乘法運(yùn)算模塊(213)、所述第八乘法運(yùn)算模塊(224)、第九乘法運(yùn)算模塊(225)、所述第三異或運(yùn)算模塊(220)、所述第四異或運(yùn)算模塊(221)以及所述第五異或運(yùn)算模塊(226)輸出的運(yùn)算結(jié)果進(jìn)行異或運(yùn)算; 第一同構(gòu)逆映射模塊(228),用于根據(jù)所述第六異或運(yùn)算模塊(227)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)逆映射運(yùn)算; 第二同構(gòu)逆映射模塊(229),用于根據(jù)所述第五異或運(yùn)算模塊(226)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)逆映射運(yùn)算; 第三同構(gòu)逆映射模塊(230),用于根據(jù)所述第一同構(gòu)逆映射模塊(228)和所述第二同構(gòu)逆映射模塊(229)輸出的運(yùn)算結(jié)果進(jìn)行同構(gòu)逆映射運(yùn)算以輸出第三數(shù)據(jù)。
5.根據(jù)權(quán)利要求4所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述基于加法掩碼的有限域求逆模塊(2)的數(shù)學(xué)模型為:
6.根據(jù)權(quán)利要求1所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述第二基于加法掩碼仿射變換模塊(3)包括: 第三向量乘法模塊(31),用于對(duì)輸入的第三數(shù)據(jù)進(jìn)行向量乘法運(yùn)算; 第四向量乘法模塊(32),用于對(duì)輸入的第二數(shù)據(jù)進(jìn)行向量乘法運(yùn)算,以輸出第五數(shù)據(jù); 第七異或運(yùn)算模塊(33),連接于所述第三向量乘法模塊(31),并用于根據(jù)所述第三向量乘法模塊(31)輸出的運(yùn)算結(jié)果與輸入的常數(shù)進(jìn)行異或運(yùn)算,以輸出第四數(shù)據(jù)。
7.根據(jù)權(quán)利要求6所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理系統(tǒng),其特征在于,所述第三向量乘法模塊(31)的數(shù)學(xué)模型為:a2*Ai ; 所述第四向量乘法模塊(32)的數(shù)學(xué)模型為; 所述第七異或運(yùn)算模塊(33)的數(shù)學(xué)模型為; 其中,a2和r2依次為第三數(shù)據(jù)和第二數(shù)據(jù);
8.一種抵抗差分功耗分析攻擊的數(shù)據(jù)處理方法,其采用SM4算法進(jìn)行數(shù)據(jù)處理,其特征在于,所述數(shù)據(jù)處理方法包括以下步驟: Α、對(duì)輸入的掩碼數(shù)據(jù)和掩碼進(jìn)行仿射變換運(yùn)算,并輸出第一數(shù)據(jù)和第二數(shù)據(jù); B、對(duì)步驟A運(yùn)算得到的所述第一數(shù)據(jù)和所述第二數(shù)據(jù)進(jìn)行有限域求逆運(yùn)算,并輸出第三數(shù)據(jù); C、對(duì)步驟A運(yùn)算得到的所述第二數(shù)據(jù)和步驟B運(yùn)算所述第三數(shù)據(jù)進(jìn)行仿射變換運(yùn)算,并輸出第四數(shù)據(jù)和第五數(shù)據(jù)。
9.根據(jù)權(quán)利要求8所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理方法,其特征在于,所述步驟B包括: B1、通過(guò)所述第一數(shù)據(jù)和所述第二數(shù)據(jù)計(jì)算等式:d = a]v^rahQ, + af + a,丨η + a,rh + η;ν + rf + rhr,;其中,ah 為第一數(shù)據(jù) a 的高 4 比特,B1 為第一數(shù)據(jù)為a的低4比特,rh為第二數(shù)據(jù)r的高4比特,rx為第二數(shù)據(jù)r的低4比特,v為常數(shù); B2、對(duì)步驟BI的運(yùn)算結(jié)果d進(jìn)行求逆運(yùn)算,得到d的逆元素Cf1 ;B3、通算等式 wfa^cf1+;^) +((Tkr1)Iv^ahIvHrhIvHrh 和O1=Oh+ ((T+rh) B1+ ((T+rh); B4、對(duì)步驟B3的運(yùn)算結(jié)果O1和Oh進(jìn)行同構(gòu)逆映射運(yùn)算,以輸出第三數(shù)據(jù)。
10.根據(jù)權(quán)利要求8所述的抵抗差分功耗分析攻擊的數(shù)據(jù)處理方法,其特征在于,所述仿射變換運(yùn)算包括: 對(duì)輸入的數(shù)據(jù)分別進(jìn)行向量乘法運(yùn)算; 若輸入的數(shù)據(jù)為掩碼,則輸出向量乘法運(yùn)算的結(jié)果;若輸入的數(shù)據(jù)為掩碼數(shù)據(jù),則對(duì)向量乘法運(yùn)算的結(jié)果與外部輸入常數(shù)進(jìn)行異或運(yùn)算,并輸出異或運(yùn)算的結(jié)果。
【文檔編號(hào)】H04L9/06GK103888247SQ201410086766
【公開日】2014年6月25日 申請(qǐng)日期:2014年3月10日 優(yōu)先權(quán)日:2014年3月10日
【發(fā)明者】孫金龍, 曾廣旺 申請(qǐng)人:深圳華視微電子有限公司