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

一種針對(duì)SM3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊的方法與流程

文檔序號(hào):11681044閱讀:418來源:國(guó)知局

本發(fā)明涉及密碼算法分析檢測(cè)領(lǐng)域,尤其涉及一種針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊的方法。



背景技術(shù):

隨著信息和分析電路技術(shù)的發(fā)展,對(duì)硬件密碼電子設(shè)備的破解不再單純的停留在協(xié)議和算法上,而是從其處理數(shù)據(jù)的過程中泄露的信息入手,進(jìn)行破解。硬件密碼電子設(shè)備在處理信息的工程中存在能量、電磁、錯(cuò)誤和時(shí)間等信息的泄露,利用這些泄露的信息,結(jié)合密碼學(xué)和統(tǒng)計(jì)學(xué)原理等,對(duì)密碼電子設(shè)備進(jìn)行攻擊,就是所謂的側(cè)信道分析攻擊(sidechannelattacks)。在側(cè)信道分析攻擊中,比較常用的是差分分析攻擊和相關(guān)性分析攻擊。

其中,差分分析攻擊的過程如下:

(1)隨機(jī)選擇n組不相同明文或密文mi(i∈[1,n])進(jìn)行加/解密運(yùn)算,采集每組明文進(jìn)行加密運(yùn)算時(shí)設(shè)備產(chǎn)生的能量或者電磁曲線ti(t),t∈{1,…,k},其中k為曲線軌跡的采樣點(diǎn)數(shù);

(2)選擇密鑰kl(l∈ω,ω為密鑰空間),計(jì)算在kl和mi條件下,密碼算法進(jìn)行加密運(yùn)算時(shí)在被攻擊點(diǎn)產(chǎn)生的中間值di,l;

(3)根據(jù)中間值di,l確定選擇函數(shù)f(mi,kl),根據(jù)選擇函數(shù)將ti(t)分為兩個(gè)子集s0和s1,定義式如下:

s0={ti(t)|f(mi,kl)=0}

s1={ti(t)|f(mi,kl)=1}

(4)計(jì)算每個(gè)采樣點(diǎn)上兩個(gè)子集的能量平均之差,如

s=quote-quote所示,其中︱s0︳和︱s1︳分別表示集合s0和s1中元素的個(gè)數(shù)。

若kl選擇不正確,當(dāng)n比較大時(shí),兩個(gè)子集均值差s將趨近于零;若kl選擇正確,在均值差s中將會(huì)出現(xiàn)一個(gè)最大尖峰,通過該尖峰即可確定kl選擇正確。

相關(guān)性攻擊的過程如下:

(1)隨機(jī)選擇n組不相同明文或密文mi(i∈[1,n])進(jìn)行加/解密運(yùn)算,采集每組明文進(jìn)行加密運(yùn)算時(shí)設(shè)備產(chǎn)生的能量或者電磁曲線ti(t),t∈{1,…,k},其中k為曲線軌跡的采樣點(diǎn)數(shù);

(2)選擇密鑰kl(l∈ω,ω為密鑰空間),計(jì)算在kl和mi條件下,密碼算法進(jìn)行加密運(yùn)算時(shí)在被攻擊點(diǎn)產(chǎn)生的中間值di,l;

(3)取中間值di,l的漢明距離或者漢明重量建立能量模型hi,l,根據(jù)

=式計(jì)算ti和hi,l相關(guān)性ρl;

(4)取相關(guān)系數(shù)最大值時(shí)對(duì)應(yīng)的kl,即為實(shí)際密鑰。

動(dòng)態(tài)令牌是動(dòng)態(tài)口令系統(tǒng)的重要組成部分,是一種一定周期內(nèi)生成一個(gè)動(dòng)態(tài)口令的設(shè)備,每個(gè)口令各不相同,為用戶提供身份認(rèn)證。

動(dòng)態(tài)令牌使用雜湊算法或分組算法,結(jié)合截位函數(shù),根據(jù)用戶密鑰和時(shí)間產(chǎn)生動(dòng)態(tài)口令,基于sm3密碼算法的動(dòng)態(tài)令牌實(shí)現(xiàn)過程如下所示:

(1)s=f(k,id),其中f為sm3雜湊密碼算法,s為sm3雜湊密碼算法的輸出,k是長(zhǎng)度不少于128bit的運(yùn)算密鑰,id是長(zhǎng)度不少于128bit變化的信息;

(2)od=truncate(s),其中,truncate()是截位函數(shù),od為截位函數(shù)的輸出;

(3)p=od%(10^n),n是令牌或其它終端顯示口令的位數(shù),p為最終顯示的動(dòng)態(tài)口令。

sm3密碼雜湊算是雜湊值為256bit的國(guó)產(chǎn)商用密碼算法,運(yùn)算過程包括消息填充、消息擴(kuò)展和迭代壓縮。

消息擴(kuò)展是將512比特的消息分組b按以下方法擴(kuò)展生成132個(gè)字w0,w1,…,w67,w0',w1',…,w63',消息擴(kuò)展過程描述如下:

(1)將消息分組劃分為16個(gè)字w0,w1,…,w15;

(2)forj=16to67

wj<-p1(wj-16⊕wj-9⊕(wj-3<<<15))⊕(wj-13<<<15)⊕wj-6

endfor

forj=0to63

w1'=wj⊕wj+4

endfor

其中,p1為置換函數(shù),為p1(x)=x⊕(x<<<15)⊕(x<<<23)

迭代壓縮是利用壓縮函數(shù)生成256bit雜湊值,壓縮函數(shù)vi+1=cf(v(i),b(i))(0in-1)的計(jì)算過程描述如下:

abcdefgh<-vi

forj=0to63

ss1<-((a<<<12)+e+(tj<<<j))<<<7

ss2<-ss1⊕(a<<<12)

tt1<-ffj(a,b,c)+d+ss2+wj'

tt2<-ggj(e,f,g)+h+ss1+wj

d<-c

c<-b<<<9

b<<<a

a<<<tt1

h<<<g

g<-f<<<19

f<<<e

e<-p0(tt2)

endfor

vi+1=abcdefgh⊕vi

在壓縮函數(shù)中,ffj(x,y,z)={x^y^z0≤j≤15;(x&y)|(x&z)|(y&z)16≤j≤63}和ggj(x,y,z)={x^y^z0≤j≤15;(x&y)|(~x&z)16≤j≤63},p0(x)=x^(x<<<9)^(x<<<17)為置換函數(shù),tj={79cc45190≤j≤15;7a879d8a16≤j≤63}。

目前,尚未有選擇sm3密碼算法消息擴(kuò)展wj作為攻擊點(diǎn),選擇消息擴(kuò)展中置換函數(shù)的輸出作為攻擊的目標(biāo),針對(duì)sm3密碼算法的側(cè)信道分析攻擊。



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

本發(fā)明的目的是提供針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊方法,解決置換函數(shù)p1(x)的擴(kuò)散混淆作用導(dǎo)致直接對(duì)sm3密碼算法進(jìn)行側(cè)信道分析攻擊破解密鑰,存在密鑰搜索空間大和攻擊時(shí)間長(zhǎng)的問題。本發(fā)明首先側(cè)信道分析攻擊出消息擴(kuò)展運(yùn)算中置換函數(shù)的運(yùn)算結(jié)果后,將所有的攻擊結(jié)果聯(lián)立方程組,根據(jù)置換函數(shù)的逆置換函數(shù),對(duì)方程組求解,即可破解出動(dòng)態(tài)令牌中的密鑰。從而不僅實(shí)現(xiàn)了針對(duì)sm3密碼算法的側(cè)信道分析攻擊,而且降低了密鑰的搜索空間和減少了側(cè)信道分析攻擊樣本數(shù),增強(qiáng)了攻擊效率、靈活性、有效性和成功率。

為解決上述技術(shù)問題,本發(fā)明提供針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊方法,具體包括以下步驟:

s1:選擇消息擴(kuò)展運(yùn)算的結(jié)果為攻擊中間變量,選擇消息擴(kuò)展運(yùn)算中置換函數(shù)的輸出作為攻擊的目標(biāo),進(jìn)行側(cè)信道分析攻擊;

s2:將攻擊結(jié)果聯(lián)立方程組,根據(jù)逆置換函數(shù)求解方程組,即可破解最終密鑰。

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

s11:初始化i=16;

s12:選擇sm3進(jìn)行擴(kuò)展運(yùn)算wi作為攻擊的中間變量;

s13:根據(jù)sm3密碼算法消息,進(jìn)行側(cè)信道分析攻擊,如果i=16,選擇k1=p1(w0)⊕(w3<<<7)作為攻擊目標(biāo),如果i=17,選擇k2=p1(w1)作為攻擊目標(biāo),如果i=18,選擇k3=p1(w2)作為攻擊目標(biāo),如果i=19,選擇k4=p1(w3)⊕p1(k1<<<15)作為攻擊目標(biāo),所述側(cè)信道分析攻擊方法采用相關(guān)性攻擊方法或差分攻擊方法;

s14:使i自增1,返回步驟s12繼續(xù)進(jìn)行攻擊,直到最終攻擊出k1、k2、k3、k4。

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

s21:將k1、k2、k3、k4聯(lián)立構(gòu)建關(guān)于w0、w1、w2、w3的方程組;

s22:根據(jù)逆置換函數(shù)x=y⊕(y<<<5)⊕(y<<<13)⊕(y<<<14)⊕(y<<<15)⊕(y<<<21)⊕(y<<<23)⊕(y<<<29)⊕(y<<<30),對(duì)步驟s21中的方程組求解,即可得到最終密鑰字節(jié)w0、w1、w2、w3;

本發(fā)明的有益效果為:針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊方法,創(chuàng)造性的引入消息擴(kuò)展運(yùn)算中置換函數(shù)的輸出作為攻擊的對(duì)象,在側(cè)信道分析攻擊時(shí),可以選擇單次攻擊任意比特,經(jīng)過多次攻擊的方法來實(shí)施,最后將攻擊結(jié)果聯(lián)立方程組,根據(jù)逆置換函數(shù)求解方程組,即可破解最終密鑰。本方法的密鑰搜索空間可根據(jù)實(shí)際的計(jì)算能力選擇任意比特,所需實(shí)驗(yàn)樣本少,且易實(shí)現(xiàn),使針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊具有更實(shí)際的應(yīng)用性,從而增強(qiáng)了攻擊的效率、有效性和成功率。

附圖說明

圖1為針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊方法的流程圖。

具體實(shí)施方式

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

針對(duì)sm3密碼算法消息擴(kuò)展的側(cè)信道分析攻擊方法,具體包括以下步驟:

s1:選擇消息擴(kuò)展運(yùn)算的結(jié)果為攻擊中間變量,選擇消息擴(kuò)展運(yùn)算中置換函數(shù)的輸出作為攻擊的目標(biāo),進(jìn)行側(cè)信道分析攻擊;

s2:將攻擊結(jié)果聯(lián)立方程組,根據(jù)逆置換函數(shù)求解方程組,即可破解最終密鑰。

其中,s1具體包括以下步驟:

s11:初始化i=16;

s12:選擇sm3進(jìn)行擴(kuò)展運(yùn)算wi作為攻擊的中間變量;

s13:根據(jù)sm3密碼算法消息,進(jìn)行側(cè)信道分析攻擊,如果i=16,選擇k1=p1(w0)⊕(w3<<<7)作為攻擊目標(biāo)。如果i=17,選擇k2=p1(w1)作為攻擊目標(biāo),如果i=18,選擇k3=p1(w2)作為攻擊目標(biāo),如果i=19,選擇k4=p1(w3)⊕p1(k1<<<15)作為攻擊目標(biāo),所述側(cè)信道分析攻擊方法采用相關(guān)性攻擊方法或差分攻擊方法;

s14:使i自增1,返回步驟s12繼續(xù)進(jìn)行攻擊,直到最終攻擊出k1、k2、k3、k4。

進(jìn)一步地,s13中采用的側(cè)信道分析攻擊方法為相關(guān)性攻擊方法,具體包括以下步驟:

s1311:采集n組基于sm3密碼算法的動(dòng)態(tài)令牌在進(jìn)行動(dòng)態(tài)口令運(yùn)算時(shí)的能量或者電磁曲線表示為tn(t),,其中k為軌跡的采樣點(diǎn)數(shù);

s1312:如果i=16,選擇k1=p1(w0)⊕(w3<<<7)作為攻擊目標(biāo);如果i=17,選擇k2=p1(w1)作為攻擊目標(biāo);如果i=18,選擇k3=p1(w2)作為攻擊目標(biāo);如果i=19,選擇k4=p1(w3)⊕p1(k1<<<15)作為攻擊目標(biāo);

s1313:選擇要攻擊的比特長(zhǎng)度為,以及當(dāng)前攻擊的位置為j=1,被攻擊數(shù)據(jù)表示為;

s1314:猜測(cè)攻擊目標(biāo)的所有可能值,表示為c[0,]),根據(jù)c計(jì)算sm3密碼算法的消息擴(kuò)展wi,如果攻擊時(shí)選擇漢明重量模型,則計(jì)算wi的漢明重量h;如果攻擊時(shí)選擇漢明距離模型,則計(jì)算wi的漢明距離h;

s1315:tn(t)和h的相關(guān)性=

s1316:最大值時(shí)對(duì)應(yīng)的c,即為攻擊出的數(shù)據(jù);

s1317:計(jì)算j=j+,如果j+32,取=32-j+1,否則保持不變,跳轉(zhuǎn)到s1314繼續(xù)攻擊ki-15剩余的比特?cái)?shù)據(jù),直到ki-15的所有比特被攻擊完為止。

s13中采用的側(cè)信道分析攻擊方法為差分攻擊方法,具體包括以下步驟:

s1321:采集n組基于sm3密碼算法的動(dòng)態(tài)令牌在進(jìn)行動(dòng)態(tài)口令運(yùn)算時(shí)的能量或者電磁曲線表示為tn(t),,其中k為軌跡的采樣點(diǎn)數(shù);

s1322:如果i=16,選擇k1=p1(w0)⊕(w3<<<7)作為攻擊目標(biāo);如果i=17,選擇k2=p1(w1)作為攻擊目標(biāo);如果i=18,選擇k3=p1(w2)作為攻擊目標(biāo);如果i=19,選擇k4=p1(w3)⊕p1(k1<<<15)作為攻擊目標(biāo);

s1323:選擇要攻擊的比特長(zhǎng)度為,,以及當(dāng)前攻擊的位置為j=1,被攻擊數(shù)據(jù)表示為

s1324:如果,確定差分分析攻擊選擇函數(shù)f=;如果不為1,確定差分分析攻擊選擇函數(shù)為:f=,根據(jù)選擇函數(shù)將tn(t)分為兩個(gè)子集s0和s1,s0={tn(t)|f=0},s1={tn(t)|f=1};

s1325:根據(jù)s=-計(jì)算每個(gè)采樣點(diǎn)上兩個(gè)子集的平均之差,在均值差s中出現(xiàn)一個(gè)最大尖峰時(shí)對(duì)應(yīng)的c,即為攻擊出的數(shù)據(jù);

s1326:計(jì)算j=j+,如果j+32,取=32-j+1,否則保持不變,跳轉(zhuǎn)到s1314繼續(xù)攻擊ki-15剩余的比特?cái)?shù)據(jù),直到ki-15的所有比特被攻擊完為止。

其中,s2具體包括以下步驟:

s21:將k1、k2、k3、k4聯(lián)立構(gòu)建關(guān)于w0、w1、w2、w3的方程組;

s22:根據(jù)逆置換函數(shù)x=y⊕(y<<<5)⊕(y<<<13)⊕(y<<<14)⊕(y<<<15)⊕(y<<<21)⊕(y<<<23)⊕(y<<<29)⊕(y<<<30),對(duì)步驟s21中的方程組求解,即可得到最終密鑰字節(jié)w0、w1、w2、w3;

選擇sm3密碼算法中擴(kuò)展運(yùn)算中置換函數(shù)的運(yùn)算結(jié)果作為攻擊目標(biāo),再講將所有的攻擊結(jié)果聯(lián)立方程組,根據(jù)置換函數(shù)的逆置換函數(shù),對(duì)方程組求解,即可破解出動(dòng)態(tài)令牌中的密鑰。創(chuàng)造性的解決了置換函數(shù)p1(x)的擴(kuò)散混淆作用導(dǎo)致直接對(duì)sm3密碼算法進(jìn)行側(cè)信道分析攻擊破解密鑰,存在密鑰搜索空間大的問題,降低了密鑰的搜索空間和減少了側(cè)信道分析攻擊樣本數(shù),增強(qiáng)了攻擊效率、靈活性、有效性和成功率。

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