亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種針對SM4密碼算法輪輸出的模板攻擊方法與流程

文檔序號:11523895閱讀:603來源:國知局
一種針對SM4密碼算法輪輸出的模板攻擊方法與流程

本發(fā)明涉及密碼算法分析檢測領(lǐng)域,尤其涉及一種針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊方法。



背景技術(shù):

隨著信息和分析電路技術(shù)的發(fā)展,對硬件密碼電子設(shè)備的破解不再單純的停留在協(xié)議和算法上,而是從其處理數(shù)據(jù)的過程中泄露的信息入手,進(jìn)行破解。硬件密碼電子設(shè)備在處理信息的工程中存在能量、電磁、錯誤和時(shí)間等信息的泄露,利用這些泄露的信息對密碼電子設(shè)備進(jìn)行攻擊,就是所謂的側(cè)信道攻擊(sidechannelattacks),側(cè)信道攻擊可分為能量分析攻擊、電磁攻擊和錯誤攻擊等,其中能量分析攻擊因效率較高,成為側(cè)信道的主要手段。

模板攻擊是基于密碼芯片能量消耗與正在處理數(shù)據(jù)的相關(guān)性的基礎(chǔ)上實(shí)施的。其攻擊過程通常包括兩個(gè)階段:第一個(gè)階段是模板建立,即對所有可能猜測密鑰的能量消耗特征進(jìn)行刻畫;第二個(gè)階段是模板匹配,采集被攻擊密碼芯片上的側(cè)信道信息v,采用多元高斯概率衡量計(jì)算其與所刻畫的能量消耗特征的匹配程度,其中和為的均值能耗和能耗協(xié)方差矩陣。即可得到有關(guān)正確密鑰的信息。由于模板攻擊非常有效、實(shí)現(xiàn)簡單且無需大量資源,所以目前是側(cè)信道分析攻擊研究領(lǐng)域的重點(diǎn)之一。

sm4算法是一個(gè)分組密碼算法,分組長度為128比特,密鑰長度為128比特,加密算法與密鑰擴(kuò)展算法都采用32輪非線性迭代結(jié)構(gòu)。加密算法與解密算法的結(jié)構(gòu)相同,只是輪密鑰的使用順序相反。下面以加密算法和密鑰擴(kuò)展算法為例,介紹sm4算法。

sm4加密算法sm4加密算法的詳細(xì)流程如圖1所示。在該圖中,xi∈z232(z2e表示ebit的向量集),明文輸入為(x0,x1,x2,x3)∈(z232)4,密文輸出為(y0,y1,y2,y3),其中xi、xi+1、xi+2和xi+3為輪迭代運(yùn)算函數(shù)f的輸入,rki∈z232為每輪的輪密鑰,i∈(0,1,2,…,31)。

從加密的流程可以看出,輪迭代函數(shù)f包括的運(yùn)算有異或、非線性變換τ和線性變換l,輪迭代函數(shù)的表達(dá)式如下式(1-1)所示,在(1-1)式中,t表示合成置換,是由非線性變換τ和線性變換l復(fù)合而成,迭代函數(shù)f的詳細(xì)的流程如下圖2所示,在整個(gè)sm4密碼算法的加解密過程中,一共要執(zhí)行32輪這樣的輪迭代函數(shù)f。

xi+4=f(xi,xi+1,xi+2,xi+3,rki)=xi⊕t(xi+1⊕xi+2⊕xi+3⊕rki)(1-4)

非線性變換τ是由4個(gè)并行s盒子構(gòu)成,每個(gè)s盒子為固定的8bit輸入、8bit輸出的置換,輸入和輸出之間是一一對應(yīng)關(guān)系,由輸入不僅可以查到輸出,而且由輸出還可以反推出輸入。

線性變換l的描述如下式(1-5)所示:

bi⊕(bi<<<2)⊕(bi<<<10)⊕(bi<<<18)⊕(bi<<<24)(1-5)

在該式中,ci∈z232、bi∈z232,ci為線性變換l的輸出,bi為線性變換l的輸入,同時(shí)也是非線性變換τ的輸出。

輪密鑰由加密密鑰通過密鑰擴(kuò)展算法生成,其結(jié)構(gòu)與加密變換類似。設(shè)加密密鑰為mk=(mk0,mk1,mk2,mk3),i=0,1,2,3。令ki∈z232,i=0,1,2,…,35,輪密鑰rki∈z232,i=0,1,2,…,31,則輪密鑰生成方法如下式(1-6)和(1-7)所示:

(k0,k1,k2,k3)=(mk0⊕fk0,mk1⊕fk1,mk2⊕fk2,mk3⊕fk3)(1-8)

rki=ki+4=ki⊕t'(ki+1⊕ki+2⊕ki+3⊕cki)(1-9)

其中,t'變換與加密變換中的t變換基本相同,只是其中的線性變換l必須修改為以下l':

l'(b)=b⊕(b<<<13)⊕(b<<<23)(1-10)

系統(tǒng)參數(shù)fki(i=1,2,3)的取值,采用16進(jìn)制表示為:fk0=a3b1bac6,fk1=56aa3350,fk2=677d9197,fk3=b27022dc。

固定參數(shù)ck的取值方法為:設(shè)cki,j為cki的第j字節(jié)(i=0,1,2,…,31;j=0,1,2,3),即cki=(cki,0,cki,1,cki,2,cki,3)∈(z28)4,則cki,j=(4i+j)*7(mod256)。32個(gè)固定參數(shù)cki用16進(jìn)制表示為:

00070e15,1c232a31,383f464d,545b6269,

70777e85,8c939aa1,a8afb6bd,c4cbd2d9,

e0e7eef5,fc030a11,181f262d,343b4249,

50575e65,6c737a81,888f969d,a4abb2b9,

c0c7ced5,dce3eaf1,f8ff060d,141b2229,

30373e45,4c535a61,686f767d,848b9299,

a0a7aeb5,bcc3cad1,d8dfe6ed,f4fb0209,

10171e25,2c333a41,484f565d,646b727

根據(jù)密鑰擴(kuò)展算法,反推出密鑰的方法如下:

a、加密運(yùn)算:

對于加密運(yùn)算,攻擊出前四輪的輪子密鑰rk0,rk1,rk2和rk3,根據(jù)密鑰擴(kuò)展算法得下式:

rk0=k4=k0⊕t(k1⊕k2⊕k3⊕ck0)(1)

rk1=k5=k1⊕t(k2⊕k3⊕k4⊕ck1)(2)

rk2=k6=k2⊕t(k3⊕k4⊕k5⊕ck2)(3)

rk3=k7=k3⊕t(k4⊕k5⊕k6⊕ck3)(4)

由(1)、(2)、(3)和(4)式可得k3,如(5)式所示。

k3=rk3⊕t(rk0⊕rk1⊕rk2⊕ck3)(5)

由(3)和(5)式得k2,如(6)式所示。

k2=rk2⊕t(k3⊕rk0⊕rk1⊕ck2)(6)

由(2)、(5)和(6)式得k1,如(7)式所示。

k1=rk1⊕t(k2⊕k3⊕rk0⊕ck1)(7)

由(2)、(5)和(6)式得k0,如(8)式所示。

k0=rk0⊕t(k1⊕k2⊕k3⊕ck0)(8)

又(k0,k1,k2,k3)=(mk0⊕fk0,mk1⊕fk1,mk2⊕fk2,mk3⊕fk3),所以可得密鑰為mk0=k0⊕fk0,mk1=k1⊕fk1,mk2=k2⊕fk2,mk3=k3⊕fk3。

b、解密運(yùn)算:

對于解密運(yùn)算,攻擊出前四輪的輪子密鑰rk0、rk1、rk2和rk3,根據(jù)密鑰擴(kuò)展算法得下式:

rk0=k35=k31⊕t(k32⊕k33⊕k34⊕ck31)(9)

rk1=k34=k30⊕t(k31⊕k32⊕k33⊕ck30)(10)

rk2=k33=k29⊕t(k30⊕k31⊕k32⊕ck29)(11)

rk3=k32=k28⊕t(k29⊕k30⊕k31⊕ck29)(12)

由(9)、(10)、(11)和(12)式子,得到k32、k33、k34和k35,i取31到0,計(jì)算ki=ki+4⊕t(ki+1⊕ki+2⊕ki+3⊕cki),即可得到k0、k1、k2和k3,又(k0,k1,k2,k3)=(mk0⊕fk0,mk1⊕fk1,mk2⊕fk2,mk3⊕fk3),所以可得密鑰為mk0=k0⊕fk0,mk1=k1⊕fk1,mk2=k2⊕fk2,mk3=k3⊕fk3。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明的目的是提供一種針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊方法,以解決針對sm4密碼算法進(jìn)行模板攻擊沒有充分利用單條曲線中和密鑰相關(guān)的所有信息,而導(dǎo)致的攻擊所需曲線條數(shù)多和攻擊成功率低的問題。即:sm4密碼算法s盒輸入輸出對應(yīng)的曲線,均泄露了和同一個(gè)密鑰相關(guān)的有用信息,所以可以聯(lián)合s盒輸入輸出來攻擊密鑰,降低攻擊所需曲線條數(shù),同時(shí)可提高成功率。本發(fā)明創(chuàng)造性的選擇sm4密碼算法s盒輸入輸出作為模板攻擊的攻擊點(diǎn),實(shí)現(xiàn)了針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊,增強(qiáng)了分析的有效性和實(shí)用性。

為解決上述技術(shù)問題,本發(fā)明提供一種針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊方法,具體包括以下步驟:

s1:分別選擇sm4密碼算法s盒輸入和輸出建立模板,猜測密鑰,計(jì)算所有能量跡的s盒輸入和輸出的聯(lián)合概率,概率最大對應(yīng)的猜測密鑰即為被攻擊的輪子密鑰rki,其中i=0,1,2,3;

s2:根據(jù)所述前四輪輪函數(shù)的輪子密鑰rk0、rk1、rk2和rk3,通過密鑰擴(kuò)展算法,反推出初始密鑰。

進(jìn)一步地,s1具體包括以下步驟:

s11:攻擊加/解密的第一輪,初始化i=0;

s12:輸入隨機(jī)的已知明文和密鑰,采集能量曲線,計(jì)算每條曲線第i輪對應(yīng)的4個(gè)s盒輸入輸出sinj和soutj,其中j=0,1,2,3,根據(jù)sinj和soutj,分別建立sinj對應(yīng)的能量模板集合ωj,和soutj對應(yīng)的能量模板集合φj;

s13:采集被攻擊密鑰和已知明文下的能量曲線,確定第i輪4個(gè)s盒輸入對應(yīng)的曲線段aj,4個(gè)s盒輸出對應(yīng)的曲線段bj,猜測密鑰,結(jié)合每條曲線對應(yīng)的明文,計(jì)算對應(yīng)的4個(gè)s盒輸入輸出sinj和soutj,根據(jù)sinj在ωj中查找模板tωj,根據(jù)soutj在φj中查找模板tφj,計(jì)算猜測密鑰下所有曲線單個(gè)s盒輸入輸出的聯(lián)合概率,pj=∏ns=1ps(aj,tωj)ps(bj,tφj)其中n表示曲線條數(shù),聯(lián)合概率最大時(shí)對應(yīng)的猜測密鑰,即為被攻擊的密鑰,4個(gè)被出的密鑰即可組成輪子密鑰rki;

s14:輪數(shù)i自加1,返回s12~s14的步驟,直到攻擊出前四輪的輪子密鑰rk0、rk1、rk2和rk3;

附圖說明

圖1為sm4加密算法流程圖;

圖2為sm4密鑰擴(kuò)展流程圖;

圖3為針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊流程圖。

具體實(shí)施方式

下面對本發(fā)明的具體實(shí)施方式進(jìn)行描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于具體實(shí)施方式的范圍,對本技術(shù)領(lǐng)域的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。

針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊方法,具體包括以下步驟:

s1:分別選擇sm4密碼算法s盒輸入和輸出建立模板,猜測密鑰,計(jì)算所有能量跡的s盒輸入和輸出的聯(lián)合概率,概率最大對應(yīng)的猜測密鑰即為被攻擊的輪子密鑰rki,其中i=0,1,2,3;

s2:根據(jù)所述前四輪輪函數(shù)的輪子密鑰rk0、rk1、rk2和rk3,通過密鑰擴(kuò)展算法,反推出初始密鑰。

進(jìn)一步地,s1具體包括以下步驟:

s11:攻擊加/解密的第一輪,初始化i=0;

s12:輸入隨機(jī)的已知明文和密鑰,采集能量曲線,計(jì)算每條曲線第i輪對應(yīng)的4個(gè)s盒輸入輸出sinj和soutj,其中j=0,1,2,3,根據(jù)sinj和soutj,分別建立sinj對應(yīng)的能量模板集合ωj,和soutj對應(yīng)的能量模板集合φj;

s13:采集被攻擊密鑰和已知明文下的能量曲線,確定第i輪4個(gè)s盒輸入對應(yīng)的曲線段aj,4個(gè)s盒輸出對應(yīng)的曲線段bj,猜測密鑰,結(jié)合每條曲線對應(yīng)的明文,計(jì)算對應(yīng)的4個(gè)s盒輸入輸出sinj和soutj,根據(jù)sinj在ωj中查找模板tωj,根據(jù)soutj在φj中查找模板tφj,計(jì)算猜測密鑰下所有曲線單個(gè)s盒輸入輸出的聯(lián)合概率,pj=∏ns=1ps(aj,tωj)ps(bj,tφj)其中n表示曲線條數(shù),聯(lián)合概率最大時(shí)對應(yīng)的猜測密鑰,即為被攻擊的密鑰,4個(gè)被出的密鑰即可組成輪子密鑰rki;

s14:輪數(shù)i自加1,返回s12~s14的步驟,直到攻擊出前四輪的輪子密鑰rk0、rk1、rk2和rk3;

sm4密碼算法的單條能量曲線中,s盒輸入和輸出同時(shí)泄露了和同一密鑰相關(guān)的信息,普通的模板攻擊,攻擊時(shí)一般僅選擇單個(gè)信息泄露點(diǎn)來實(shí)施攻擊,而本發(fā)明創(chuàng)造性的同時(shí)選擇s盒輸入和輸出兩個(gè)信息泄露點(diǎn),通過計(jì)算s盒輸入輸出的聯(lián)合概率來實(shí)施攻擊,達(dá)到了充分利用能量曲線中泄露的有用信息,降低攻擊所需曲線條數(shù),提高攻擊率的目的,實(shí)現(xiàn)了針對sm4密碼算法s盒輸入輸出的聯(lián)合模板攻擊。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1