一種des算法抗能量攻擊的方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及信息安全技術(shù)領(lǐng)域,具體地,涉及一種DES算法抗能量攻擊的方法和 裝直。
【背景技術(shù)】
[0002] 隨著計(jì)算機(jī)技術(shù)的發(fā)展、社會(huì)信息化程度的不斷提高,信息安全問(wèn)題越來(lái)越受到 人們的廣泛重現(xiàn)。加密作為信息安全中的一個(gè)有力的武器正在發(fā)揮著重要的作用,各種加 密算法不斷涌現(xiàn),DES算法從上個(gè)世紀(jì)70年代成為加密標(biāo)準(zhǔn)到今天,經(jīng)歷了長(zhǎng)期的考驗(yàn)。
[0003] 除了針對(duì)密碼算法本身進(jìn)行分析外,近年來(lái)出現(xiàn)了一種新的強(qiáng)有力的攻擊方法, 人們稱為旁路攻擊(Side Channel Attack)。旁路攻擊是指攻擊者利用密碼設(shè)備在運(yùn)行過(guò) 程中泄露的旁路信息,如功耗、時(shí)間、電磁輻射等,對(duì)密碼系統(tǒng)進(jìn)行攻擊和分析。旁路攻擊已 經(jīng)成為信息安全產(chǎn)品的巨大威脅,它的攻擊危害性遠(yuǎn)遠(yuǎn)大于傳統(tǒng)的分析方法。
[0004] 能量攻擊,又稱為功耗攻擊,是芳路攻擊中的一種方法,它利用了密碼設(shè)備的功耗 與密碼算法的中間值有一定的相關(guān)性,通過(guò)多次測(cè)量密碼設(shè)備的功耗然后進(jìn)行統(tǒng)計(jì)分析, 進(jìn)而獲得密鑰信息。掩碼方法是目前抵抗能量攻擊比較常用的一種方法,通過(guò)對(duì)加密操作 的中間值進(jìn)行掩蓋的方法使得攻擊變得困難。圖1為DES循環(huán)迭代MASK掩碼流程圖,其中, M為輸入的64bit明文,X為隨機(jī)產(chǎn)生的隨機(jī)數(shù)。首先明文M與隨機(jī)數(shù)X進(jìn)行異或運(yùn)算,異 或運(yùn)算的結(jié)果作為DES運(yùn)算的輸入,然后按照DES運(yùn)算循環(huán)執(zhí)行16輪,最后將輸出結(jié)果與 隨機(jī)數(shù)X異或,將該異或的結(jié)果作為最終的輸出結(jié)果。其中,DES運(yùn)算中使用的S盒是經(jīng)過(guò) 變換的SM盒,其他運(yùn)算與標(biāo)準(zhǔn)DES運(yùn)算完全相同。在DES運(yùn)算第1輪中主要是對(duì)明文加掩 碼,這樣,加密算法的中間值是不可知的,從而達(dá)到抗功耗攻擊的目的。
[0005] 在實(shí)現(xiàn)本發(fā)明過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:上述方法沒(méi)有 考慮分組密碼多次循環(huán)迭代的特性,被掩蓋的中間值經(jīng)過(guò)異或后仍然會(huì)泄露密碼信息,無(wú) 法有效地抗功耗攻擊。例如,每一輪輸出的中間值帶有相同的掩碼值,同時(shí)在異或輪密鑰之 前和異或輪密鑰之后的中間值帶的掩碼值也是是相同的,如果攻擊者對(duì)這上述帶有相同掩 碼值的中間結(jié)果進(jìn)行異或,可以消去掩碼的影響進(jìn)而實(shí)施有效的攻擊。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明是為了克服現(xiàn)有技術(shù)中DES掩碼算法仍然會(huì)泄露密碼信息的缺陷,根據(jù)本 發(fā)明的一個(gè)方面,提出一種DES算法抗能量攻擊的方法。
[0007] 根據(jù)本發(fā)明實(shí)施例的一種DES算法抗能量攻擊的方法,包括:
[0008] 將第1輪子密鑰與第一掩碼進(jìn)行異或運(yùn)算,異或運(yùn)算的結(jié)果為第1輪掩碼子密 鑰;
[0009] 在原第1輪S盒基礎(chǔ)上、根據(jù)第一掩碼確定第1輪修正S盒,且第1輪修正S盒取 代原第1輪S盒;
[0010] 將第1輪輸入數(shù)據(jù)的后半部分與第二掩碼進(jìn)行異或運(yùn)算,異或運(yùn)算結(jié)果為第1輪 輸出數(shù)據(jù)的前半部分,第1輪其余算法流程與DES中的第1輪算法流程相同;
[0011] 第2至16輪以相同或不同的修正S盒取代原S盒,每輪根據(jù)輪密鑰帶的掩碼和輪 輸入數(shù)據(jù)的后半部分帶的掩碼確定修正S盒,其余算法流程與第1輪算法流程相同;
[0012] 將第16輪的輸出執(zhí)行逆初始置換后的結(jié)果與修正掩碼進(jìn)行異或運(yùn)算,異或運(yùn)算 的結(jié)果為輸出的密文,修正掩碼與第1至16輪引入的掩碼有關(guān)。
[0013] 優(yōu)選的,第一掩碼為48bit的隨機(jī)數(shù),第二掩碼為32bit的隨機(jī)數(shù),修正掩碼為 64bit的隨機(jī)數(shù)。
[0014] 優(yōu)選的,第1輪修正S盒與第2輪修正S盒不相同。
[0015] 優(yōu)選的,第15輪修正S盒與第16輪修正S盒不相同。
[0016] 優(yōu)選的,第1輪修正S盒與第16輪修正S盒不相同。
[0017] 優(yōu)選的,第3輪至第14輪的修正S盒相同。
[0018] 優(yōu)選的,第1輪修正S盒定義為:
[0019]
【主權(quán)項(xiàng)】
1. 一種DES算法抗能量攻擊的方法,其特征在于,包括: 將第1輪子密鑰與第一掩碼進(jìn)行異或運(yùn)算,所述異或運(yùn)算的結(jié)果為第1輪掩碼子密 鑰; 在原第1輪S盒基礎(chǔ)上、根據(jù)所述第一掩碼確定第1輪修正S盒,且所述第1輪修正S 盒取代所述原第1輪S盒; 將第1輪輸入數(shù)據(jù)的后半部分與第二掩碼進(jìn)行異或運(yùn)算,所述異或運(yùn)算結(jié)果為第1輪 輸出數(shù)據(jù)的前半部分,第1輪其余算法流程與DES中的第1輪算法流程相同; 第2至16輪以相同或不同的修正S盒取代原S盒,每輪根據(jù)輪密鑰帶的掩碼和輪輸入 數(shù)據(jù)的后半部分帶的掩碼確定修正S盒,其余算法流程與第1輪算法流程相同; 將第16輪的輸出執(zhí)行逆初始置換后的結(jié)果與修正掩碼進(jìn)行異或運(yùn)算,所述異或運(yùn)算 的結(jié)果為輸出的密文,所述修正掩碼與第1至16輪引入的掩碼有關(guān)。
2. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一掩碼為48bit的隨機(jī)數(shù),所述第 二掩碼為32bit的隨機(jī)數(shù),所述修正掩碼為64bit的隨機(jī)數(shù)。
3. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第1輪修正S盒與所述第2輪修正S 盒不相同。
4. 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述第15輪修正S盒與所述第16輪 修正S盒不相同。
5. 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述第1輪修正S盒與所述第16輪 修正S盒不相同。
6. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第3輪至第14輪的修正S盒相同。
7. 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第1輪修正S盒定義為: SM1(A)=S(A0X1)0P'(X3) 其中,SMl ()為修正S盒置換,SO為S盒置換,P4O為P盒置換的逆置換,Xl為48bit 的第一掩碼,X3為32bit的第三掩碼。
8. -種DES算法抗能量攻擊的裝置,其特征在于,包括: 掩碼子密鑰生成模塊,用于將第1輪子密鑰與第一掩碼進(jìn)行異或運(yùn)算,所述異或運(yùn)算 的結(jié)果為第1輪掩碼子密鑰; 修正S盒生成模塊,用于在原第1輪S盒基礎(chǔ)上、根據(jù)所述第一掩碼確定第1輪修正S 盒,所述第1輪修正S盒取代所述原第1輪S盒; 輸出異或模塊,用于將第1輪輸入數(shù)據(jù)的后半部分與第二掩碼進(jìn)行異或運(yùn)算,所述異 或運(yùn)算結(jié)果為第1輪輸出數(shù)據(jù)的前半部分,第1輪其余算法流程與DES中的第1輪算法流 程相同; 修正掩碼模塊,用于將第16輪的輸出執(zhí)行逆初始置換后的結(jié)果與修正掩碼進(jìn)行異或 運(yùn)算,所述異或運(yùn)算的結(jié)果為輸出的密文,所述修正掩碼與第1至16輪引入的掩碼有關(guān); 所述掩碼子密鑰生成模塊還用于在第2至16將輪子密鑰與子密鑰掩碼進(jìn)行異或運(yùn)算, 異或運(yùn)算的結(jié)果為該輪掩碼子密鑰; 所述修正S盒生成模塊還用于在第2至16輪生成相同或不同的修正S盒并且取代原 S盒,每輪根據(jù)輪密鑰帶的掩碼和輪輸入數(shù)據(jù)的后半部分帶的掩碼確定修正S盒。
9. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述修正S盒生成模塊生成的第1輪修正 S盒與第2輪修正S盒不相同。
10. 根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述修正S盒生成模塊生成的第15 輪修正S盒與第16輪修正S盒不相同。
11. 根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述修正S盒生成模塊生成的第1 輪修正S盒與第16輪修正S盒不相同。
12. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述修正S盒生成模塊生成的第3輪至 第14輪修正S盒相同。
13. 根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述修正S盒生成模塊生成的第1輪修 正S盒定義為: SMl(A)=S(AeX) )0Ρ·'(Χ3) 其中,SMlO為修正S盒置換,SO為S盒置換,P4O為P盒置換的逆置換,Xl為48bit 的第一掩碼,X3為32bit的第三掩碼。
【專利摘要】本發(fā)明公開(kāi)了一種DES算法抗能量攻擊的方法及裝置,其中,該方法包括:將第1輪子密鑰與第一掩碼進(jìn)行異或運(yùn)算;在原第1輪S盒基礎(chǔ)上、根據(jù)第一掩碼確定第1輪修正S盒,且取代原第1輪S盒;第1輪輸入數(shù)據(jù)的后半部分與第二掩碼進(jìn)行異或運(yùn)算,異或運(yùn)算結(jié)果為第1輪輸出數(shù)據(jù)的前半部分;第2至16輪以相同或不同的修正S盒取代原S盒,每輪根據(jù)輪密鑰帶的掩碼和輪輸入數(shù)據(jù)的后半部分帶的掩碼確定修正S盒,其余算法流程與第1輪算法流程相同;將第16輪的輸出執(zhí)行逆初始置換后的結(jié)果與修正掩碼進(jìn)行異或運(yùn)算,異或運(yùn)算的結(jié)果為輸出的密文。通過(guò)本發(fā)明提供的DES算法抗能量攻擊的方法,可以有效抵抗能量攻擊。
【IPC分類】H04L9-06
【公開(kāi)號(hào)】CN104639312
【申請(qǐng)?zhí)枴緾N201310552788
【發(fā)明人】于艷艷, 李娜, 胡曉波, 張茜歌, 甘杰
【申請(qǐng)人】國(guó)家電網(wǎng)公司, 北京南瑞智芯微電子科技有限公司
【公開(kāi)日】2015年5月20日
【申請(qǐng)日】2013年11月8日