欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種抵抗側(cè)信道攻擊的des掩碼方法

文檔序號(hào):7778705閱讀:433來(lái)源:國(guó)知局
一種抵抗側(cè)信道攻擊的des掩碼方法
【專利摘要】本發(fā)明提出一種可抵御側(cè)信道攻擊技術(shù)的DES的掩碼方法。該方法通過(guò)實(shí)現(xiàn)兩路DES,其中一路用于掩碼后數(shù)據(jù)的加解密,另一路用于脫掩值的計(jì)算。在DES執(zhí)行流程中,初始IP置換前先進(jìn)行掩碼,并且16個(gè)子輪中再分別引入16個(gè)不同的隨機(jī)數(shù)進(jìn)行掩碼,大幅度地消除了功耗與操作數(shù)據(jù)的相關(guān)性,極大地增加了攻擊者利用側(cè)信道手段攻擊DES的代價(jià),因此該方法可廣泛應(yīng)用于帶有DES安全運(yùn)算模塊的電子芯片中。
【專利說(shuō)明】一種抵抗側(cè)信道攻擊的DES掩碼方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及在電子部件中安全地執(zhí)行DES密碼算法的方法,尤其涉及電子部件在執(zhí)行DES算法時(shí)抗側(cè)信道攻擊的方法。
【背景技術(shù)】
[0002]1、DES安全漏洞
[0003]Kocher提出的簡(jiǎn)單功耗攻擊(simple power analysis, SPA)、差分功耗攻擊(differential power analysis, DPA)對(duì)電路實(shí)現(xiàn)的密碼構(gòu)成了嚴(yán)重威脅。之后又出現(xiàn)了利用簡(jiǎn)單電磁攻擊(simple electromagnetic analysis, SEMA),差分電磁攻擊(differential electromagnetic analysis,DEMA)等,這些攻擊方法都統(tǒng)稱為側(cè)信道攻擊(side-channel attacks, SCA)。利用電路模塊執(zhí)行密碼算法過(guò)程中泄露出的側(cè)信道信息來(lái)攻擊密鑰已經(jīng)成為一種重要的攻擊手段,并且該方法具有攻擊成本低、攻擊成功率高的特點(diǎn)。
[0004]利用DPA、DEMA等手段來(lái)攻擊密碼電路,攻擊者不需要了解電路模塊的詳細(xì)知識(shí),它僅利用電路執(zhí)行密碼算法中能量消耗與操作數(shù)據(jù)的相關(guān)性,就可以分析出密鑰。而DES算法只進(jìn)行16輪相同的運(yùn)算,一方面輪運(yùn)算中只有簡(jiǎn)單的擴(kuò)展、密鑰加、S盒、P置換,另一方面運(yùn)算中以6比特為最小分塊,攻擊者通過(guò)統(tǒng)計(jì)分析,利用遍歷手段很容易驗(yàn)證出功耗與操作數(shù)據(jù)的關(guān)聯(lián)性,進(jìn)而能得到密鑰,極大的威脅到電路實(shí)現(xiàn)DES的安全性,因此在設(shè)計(jì)DES電路時(shí)一定要增加防護(hù)措施。
[0005]2、DES常見(jiàn)防護(hù)技術(shù)
[0006]針對(duì)側(cè)信道攻擊,主要的防御手段有:①增加噪聲、引入隨機(jī)延遲,增加噪聲、引入隨機(jī)延遲可增加曲線對(duì)齊的難度。但是,如果引入延遲較小,攻擊者進(jìn)行些簡(jiǎn)單的處理依然可以把功耗曲線對(duì)齊,如果引入延遲較大,那么必然降低該模塊的性能,另外該方法對(duì)頻域攻擊的防御效果不理想;②隱藏功耗信息,電路級(jí)對(duì)功耗信息進(jìn)行隱藏也是一種有效手段,如采用WDDL實(shí)現(xiàn)密碼算法,攻擊者采集到的功耗曲線比較平滑,差異很小,所以攻擊者攻擊代價(jià)巨大,但這種技術(shù)需要重新設(shè)計(jì)基本單元庫(kù),或者利用基本單元庫(kù)搭建具有雙軌模式的模塊電路,這樣增加了設(shè)計(jì)難度,并且可移植性較差,一旦更換工藝,需要重新設(shè)計(jì);③對(duì)數(shù)據(jù)進(jìn)行隨機(jī)掩碼,對(duì)數(shù)據(jù)進(jìn)行隨機(jī)掩碼,可消除猜測(cè)中間值與功耗的相關(guān)性,從根本上可避免利用側(cè)信道手段進(jìn)行攻擊。
[0007]國(guó)內(nèi)外有不少學(xué)者都在研究DES的掩碼技術(shù)。對(duì)于DES掩碼,由于IP、E、P運(yùn)算都是線性運(yùn)算,容易采用布爾掩碼,但是對(duì)于S盒,采用布爾掩碼就很難脫掩,文獻(xiàn)[Mehd1-Laurent Akkar, Christophe Giraud.An Implementation of DES and AES,Secureagainst Some Attacks.CHES2001,LNCS2162, p309_318,2001]提到了一種掩 S 盒的方法,但實(shí)際上這種S盒掩碼效果并不好,仔細(xì)分析,該掩碼方法本質(zhì)上并沒(méi)掩。文獻(xiàn)[F.-X.Standaert, G.Rouvroy, and J.-J.Quisquater.FPGA Implementations of the DES andTriple-DES Masked Against Power Analysis Attacks, in proceedings of FPL2006,August2006, Madrid, Spain]提到了另一種掩碼方式,通過(guò)預(yù)計(jì)算和存儲(chǔ),可以有效的實(shí)現(xiàn)掩碼,但是該方法只利用了一個(gè)隨機(jī)數(shù)進(jìn)行掩碼,雖然減弱了真實(shí)中間值與側(cè)信道信息的關(guān)系,但是多輪的中間值依然或多或少地泄露一些信息,安全強(qiáng)度稍弱,另外該文獻(xiàn)并未明確給出掩碼盒或掩碼盒的計(jì)算方法。

【發(fā)明內(nèi)容】

[0008]本發(fā)明為避免上述現(xiàn)有技術(shù)的不足提出了一種抵御側(cè)信道攻擊的DES方法,本方法通過(guò)在DES執(zhí)行過(guò)程中增加多層布爾掩碼來(lái)抵御側(cè)信道攻擊。使用該方法,性能損失小、側(cè)信道泄露的信息與操作數(shù)據(jù)之間的關(guān)聯(lián)性完全消除,防御性能好,且易于實(shí)現(xiàn)。
[0009]1.本發(fā)明給出了掩碼盒的計(jì)算方法.[0010]DES中的初始置換IP、初始置換的逆置換IP'擴(kuò)展E、置換P運(yùn)算都是線性運(yùn)算,用隨機(jī)數(shù)進(jìn)行布爾掩碼既容易加掩也容易脫掩,而S盒是非線性運(yùn)算,采用布爾掩碼,脫掩較為困難,所以本發(fā)明中需單獨(dú)有一路計(jì)算脫掩值。
[0011]脫掩值的計(jì)算:以DES的第一個(gè)S盒為例,假設(shè)輸入S盒的真實(shí)值為m,輸出為Sbox (m),掩碼的隨機(jī)數(shù)為r,在掩碼的DES方案中,輸入S盒的值變?yōu)閙' = m十r,S盒輸出為Sbox(m'),另一路需計(jì)算出r',使Sbox(m')十r' = Sbox(m)。本發(fā)明中r'是查找SM盒得到的,SM盒的輸入是m'和r,實(shí)現(xiàn)時(shí)可先將SM盒可預(yù)計(jì)算好。SM盒的預(yù)計(jì)算方法:遍歷 m'、r 使得SMbox(m,, r) = Sbox(m')十 Sbox(m' ? r)。
[0012]2.本發(fā)明在DES算法流程中利用多個(gè)隨機(jī)數(shù)進(jìn)行多層掩碼.[0013]隨著攻擊技術(shù)的發(fā)展,二階側(cè)信道攻擊技術(shù)就可以攻破帶一重掩碼的DES算法。傳統(tǒng)的掩碼都是引入了一個(gè)隨機(jī)數(shù)進(jìn)行掩碼。本發(fā)明為抵御二階側(cè)信道攻擊,采取了多重掩碼,在初始IP置換前引入一個(gè)隨機(jī)數(shù)進(jìn)行掩碼,在后續(xù)的子輪運(yùn)算中又分別引入不同的隨機(jī)數(shù),這樣一共有多重掩碼,大大增加二階側(cè)信道攻擊的難度。另外,在整個(gè)子輪運(yùn)算中,任意一步都是掩碼的中間值,沒(méi)有任何真實(shí)中間值信息的泄露,只在最后的IF1之后才進(jìn)行脫掩,使攻擊者無(wú)法通過(guò)統(tǒng)計(jì)分析的方式得到功耗與操作數(shù)的關(guān)聯(lián)性。
【專利附圖】

【附圖說(shuō)明】
[0014]圖1掩碼DES的流程圖
[0015]圖中標(biāo)號(hào)及符號(hào)說(shuō)明如下:
[0016]M:待加密的明文;
[0017]IP:DES中的初始置換運(yùn)算;
[0018]IP—1:DES中的初始置換的逆置換運(yùn)算;
[0019]E =DES中的擴(kuò)展函數(shù);
[0020]?:異或運(yùn)算;
[0021]P:DES中的置換函數(shù);
[0022]Sbox:DES中的原始S盒運(yùn)算;
[0023]SMbox:DES的掩碼S盒運(yùn)算
[0024] Subkeyi:DES中的輪子密鑰;
[0025]ML' 1:DES中第i輪中間值的左比特,是掩碼后的值;[0026]MR' 1:DES中第i輪中間值的右比特,是掩碼后的值;
[0027]r:掩碼DES中的隨機(jī)數(shù),用于掩碼;
[0028]rLi =DES中第i輪掩碼的隨機(jī)數(shù),是左比特;
[0029]rRi =DES中第i輪掩碼的隨機(jī)數(shù),是右比特;
[0030]tLj =DES中第i輪掩碼新生成的隨機(jī)數(shù),是左比特;
[0031]tRj =DES中第i輪掩碼新生成的隨機(jī)數(shù),是右比特;
[0032]C1:掩碼的密文;
[0033]S:用于脫密文掩碼的隨機(jī)數(shù);
[0034]C:密文,SP加密結(jié)果;
【具體實(shí)施方式】
[0035]本發(fā)明中的方法,可以全部采用硬件實(shí)現(xiàn),也可以全部用軟件實(shí)現(xiàn),也可以采用軟、硬件結(jié)合的方式來(lái)實(shí)現(xiàn)。下面介紹【具體實(shí)施方式】。
[0036]本方法需要兩路DES運(yùn)算路徑,其中一路用于掩碼后的明文加密(密文解密)計(jì)算,另一路用于脫掩碼的計(jì)算,兩路DES最好采用并行方式進(jìn)行計(jì)算,另外DES的輪子密鑰依然按照原始DES的方式進(jìn)行編排。
[0037]I)外部輸入數(shù)據(jù)M,模塊啟動(dòng),先用隨機(jī)數(shù)r進(jìn)行掩碼比特M’ = M十r,將M'輸入左邊一路DES模塊,將r輸入右邊一路DES模塊,用于掩碼計(jì)算。
[0038]2)將掩碼后的數(shù)據(jù)W進(jìn)行初始IP置換,同時(shí)將隨機(jī)數(shù)r進(jìn)行初始IP置換。
[0039]3)左邊一路,將初始置換后的中間值按照DES原始流程分為ML'。、MR'。,同時(shí),右邊一路將初始IP置換后的隨機(jī)數(shù)分為!"Lc^rRtl,然后進(jìn)入DES的子輪運(yùn)算。
[0040]4)子輪運(yùn)算:
[0041 ] ①按照原始DES流程,左邊一路對(duì)MR' ^進(jìn)行擴(kuò)展運(yùn)算E (MR/ ^1),右邊一路對(duì)rRi進(jìn)行擴(kuò)展運(yùn)算EO^Rh)。
[0042]②左邊一路進(jìn)行密鑰加運(yùn)算,即計(jì)算Xl = E(MRVi)十subkeyM。
[0043]③左邊一路將Xl進(jìn)行S盒運(yùn)算,得到中間值X2=Sbox(Xl);右邊一路將X1、EO^1)都進(jìn)行掩碼的SM盒運(yùn)算,得到中間值YZ=SMbox(XLEO^1)),其中掩碼的SMi盒不同于原始DES的S盒。
[0044]④左邊一路對(duì)X2進(jìn)行置換運(yùn)算,得到X3=P (X2);右邊一路對(duì)Y2進(jìn)行置換運(yùn)算,得到 Y3=P (Y2)。
[0045]⑤子輪中再用隨機(jī)數(shù)叫及隨機(jī)數(shù)tRi進(jìn)行掩碼,左邊一路計(jì)算MR、= MR^1十十X3,MlZi = MRV1十tLi;右邊一路計(jì)算rRj = rLj_!十 tRj ? Y3,TLi = ? ILi。[0046]5)按照步驟4)完成DES剩下的輪運(yùn)算。
[0047]6)對(duì)輪運(yùn)算的結(jié)果進(jìn)行IP逆置換IP—1,左邊一路計(jì)算C' =IF1 (ML^ 16,MR' 16),右邊一路計(jì)算 S=IP-1 CrL16, rR16)。
[0048]7)脫掩,計(jì)算C = C'十S,得到正確的運(yùn)算結(jié)果C。
【權(quán)利要求】
1.一種抵抗側(cè)信道攻擊的DES掩碼方法,其特征在于:在一次DES加密或解密中,采用兩路計(jì)算路徑,其中一路對(duì)掩碼值進(jìn)行加密或解密,另一路用于脫掩值的計(jì)算,且引入多個(gè)隨機(jī)數(shù)進(jìn)行掩碼,使每路加密或解密路徑中所有的中間結(jié)果與DES標(biāo)準(zhǔn)算法中間結(jié)果均不同,最后再還原為DES標(biāo)準(zhǔn)的結(jié)果。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于步驟如下: 1)外部輸入數(shù)據(jù)M,先用隨機(jī)數(shù)r進(jìn)行掩碼比特M'=M十r,將M'輸入左邊一路DES模塊,將r輸入右邊一路DES模塊,用于掩碼計(jì)算; 2)左邊一路將掩碼后的數(shù)據(jù)M,進(jìn)行初始IP置換,同時(shí)右邊一路將隨機(jī)數(shù)r進(jìn)行初始IP置換; 3)左邊一路,將初始置換后的中間值按照DES原始流程分為ML'q、MR'。,同時(shí),右邊一路將初始IP置換后的隨機(jī)數(shù)分為!"Lc^rRtl,然后進(jìn)入DES的子輪運(yùn)算; 4)對(duì)子輪運(yùn)算的結(jié)果進(jìn)行IP逆置換IP'左邊一路計(jì)算C'=IP-HML' 16,MR' 16),右邊一路計(jì)算 S=IP-1 (rL16, rR16); 5)脫掩,計(jì)算C= C'十S,得到標(biāo)準(zhǔn)的運(yùn)算結(jié)果C ; 其中:M為待加密的明文;IP為DES中的初始置換運(yùn)算;IP_i為DES中的初始置換的逆置換運(yùn)算;e Sdes中的擴(kuò)展函 數(shù);?:為異或運(yùn)算;p Sdes中的置換函數(shù);sbox為des中的原始S盒運(yùn)算;SMbox為DES的掩碼S盒運(yùn)算AUbkeyi為DES中的輪子密鑰;ML' i為DES中第i輪中間值的左比特,是掩碼后的值;MR' i為DES中第i輪中間值的右比特,是掩碼后的值;r為掩碼DES中的隨機(jī)數(shù),用于掩碼;rLi SDES中第i輪掩碼的隨機(jī)數(shù),是左比特;rRj為DES中第i輪掩碼的隨機(jī)數(shù),是右比特ALi為DES中第i輪掩碼新生成的隨機(jī)數(shù),是左比特ARiSDES中第i輪掩碼新生成的隨機(jī)數(shù),是右比特;C'為掩碼的密文4為用于脫密文掩碼的隨機(jī)數(shù);C為密文,即加密結(jié)果。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于子輪運(yùn)算步驟如下: ①按照原始DES流程,左邊一路對(duì)MR'進(jìn)行擴(kuò)展運(yùn)算E (MR' ^1),右邊一路對(duì)rR^進(jìn)行擴(kuò)展運(yùn)算E O,I≤i≤16 ; ②左邊一路進(jìn)行密鑰加運(yùn)算,即計(jì)算Xl= E(MR^1)十subkeyi_1; ③左邊一路進(jìn)行S盒運(yùn)算,得到中間值X2=Sbox(Xl);右邊一路將X1、EO^1)都進(jìn)行掩碼SMbox盒運(yùn)算,得到中間值Y2=SMbox (XI,E(FRiJ),其中掩碼的盒是進(jìn); ④左邊一路對(duì)X2進(jìn)行置換運(yùn)算,得到X3=P(X2);右邊一路對(duì)Y2進(jìn)行置換運(yùn)算,得到Y(jié)3=P(Y2); ⑤子輪中再用隨機(jī)數(shù)叫及隨機(jī)數(shù)tRi進(jìn)行掩碼,左邊一路計(jì)算 MR、= MRV1 十 tRi 十 X3,ML'; = MRVietLi;右邊一路計(jì)算rRj = rLj.1 十 tRj ? Y3,rLj = rRj.!十 Hi; ⑥按照步驟①-⑤完成DES剩下輪運(yùn)算。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述步驟③中的預(yù)計(jì)算SM盒方法為:遍歷掩碼明文m'及掩碼隨機(jī)數(shù)r,計(jì)算SMbox(m', r) = Sbox(m')十Sbox(m'十r),其中Sbox為對(duì)應(yīng)的DES的S盒。
5.根據(jù)權(quán)利要求3所述的方法, 其特征在于:所述步驟⑤中所述掩碼方法為:在每個(gè)子輪運(yùn)算中都需要重新生成不同的隨機(jī)數(shù)tLptRp然后分別計(jì)算MR'i = MRV1十tRi十X3,ML/j = MR'i_i ? tLj及rRj = rLj ? tRj ? Y3,rL; = rR;_1 ? tL; o
6.根據(jù)權(quán)利要求2所述的方法,其特征在于:所述步驟5)中所述的脫掩方法:在IP—1運(yùn)算之后進(jìn)行脫掩C = IP-1CML^6, MR^6)十IP-1CrL16JR16),但不限于此,亦可在IP—1之前進(jìn)行脫掩,然后再進(jìn)行IP—1運(yùn)算,即C = IP-HML、十rL16, MR716十rR16)。
【文檔編號(hào)】H04L9/06GK103647638SQ201310636901
【公開(kāi)日】2014年3月19日 申請(qǐng)日期:2013年12月3日 優(yōu)先權(quán)日:2013年12月3日
【發(fā)明者】冀利剛, 陳波濤 申請(qǐng)人:北京中電華大電子設(shè)計(jì)有限責(zé)任公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
泰宁县| 繁昌县| 甘南县| 内丘县| 自治县| 长武县| 阳江市| 大丰市| 玛多县| 文昌市| 新营市| 会昌县| 大理市| 江源县| 淮南市| 砀山县| 华容县| 堆龙德庆县| 天门市| 左贡县| 清河县| 左云县| 长顺县| 宁远县| 尉犁县| 琼海市| 静海县| 大邑县| 邹平县| 聂荣县| 榆中县| 鄂尔多斯市| 砚山县| 岳普湖县| 天祝| 大兴区| 从化市| 固始县| 明溪县| 岳普湖县| 龙口市|