亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        針對SM4算法的功耗模板-碰撞分析

        2021-06-11 10:16:12徐家俊張翌維相韶華
        計算機(jī)工程與應(yīng)用 2021年11期
        關(guān)鍵詞:漢明明文字節(jié)

        徐家俊,張翌維,趙 建,相韶華

        深圳技術(shù)大學(xué) 大數(shù)據(jù)與互聯(lián)網(wǎng)學(xué)院,廣東 深圳518118

        密碼設(shè)備在運(yùn)行密碼算法時會泄露算法的執(zhí)行時間、電磁輻射及能量消耗等若干物理信息[1],側(cè)信道攻擊就是通過測量密碼設(shè)備計算過程中的物理泄漏信息并進(jìn)行統(tǒng)計分析的方法[1-2],主要集中在功耗攻擊、電磁攻擊和時間攻擊等。

        Schramm等學(xué)者于2003年提出了內(nèi)部碰撞的概念[3],并對Feistel結(jié)構(gòu)的DES算法進(jìn)行了線性碰撞攻擊。但該攻擊方法處于研究早期,實際效果十分受限。隨后,Bogdanov等學(xué)者于2007年提出了基于AES算法的線性碰撞攻擊[4]。但是,直到2010年在CHES上,Moradi等學(xué)者對基于Pearson相關(guān)系數(shù)的AES掩碼硬件實現(xiàn)了相關(guān)強(qiáng)化碰撞攻擊后[5],才使得碰撞攻擊具有實踐可能。之后,王安等國內(nèi)學(xué)者于2015年對掩碼AES智能卡實現(xiàn)了高效的碰撞攻擊[6],而Bruneau等國外學(xué)者在碰撞攻擊基礎(chǔ)上,于2017年提出了一種新的隨機(jī)碰撞攻擊方法(Stochastic Collision Attack)[7],逐步改進(jìn)了碰撞攻擊。上述攻擊的演進(jìn)及目前側(cè)信道碰撞分析[8-10]都主要聚焦在AES算法類SPN密碼結(jié)構(gòu),對于Feistel結(jié)構(gòu)碰撞分析的相關(guān)研究文獻(xiàn)仍比較少。

        基于非平衡Feistel結(jié)構(gòu)的SM4密碼算法,作為國內(nèi)官方公開的第一個商用密碼算法[11]具有重要地位,對其進(jìn)行側(cè)信道分析有利于提高SM4算法的綜合安全能力。目前,國內(nèi)外針對SM4算法的側(cè)信道分析主要集中在側(cè)信道功耗攻擊及其掩碼防護(hù)等方面[12-18],但仍未出現(xiàn)利用內(nèi)部碰撞的原理,對SM4算法進(jìn)行側(cè)信道碰撞分析的文獻(xiàn)。

        本文結(jié)合內(nèi)部碰撞原理,在分析SM4算法非平衡Feistel結(jié)構(gòu)后,結(jié)合內(nèi)部碰撞原理,將算法加密過程中的中間變量值(如S盒輸出)作為分析目標(biāo),利用每一輪各S盒輸出值碰撞來恢復(fù)輪子密鑰,通過功耗模板-碰撞分析方法成功恢復(fù)出了SM4算法前四輪的子密鑰,從而反推出SM4算法的初始密鑰。

        1 SM4算法及碰撞攻擊原理簡介

        1.1 SM4算法加密過程

        SM4密碼算法是一種32輪的迭代非平衡Feistel結(jié)構(gòu)分組加密算法[11]。該算法的分組長度為128 bit,密鑰長度為128 bit。加密算法與密鑰擴(kuò)展算法都采用32輪非線性迭代結(jié)構(gòu)。解密算法與加密算法的結(jié)構(gòu)相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。SM4算法加密流程結(jié)構(gòu)如圖1(a)所示。

        從圖1(a)可以看出,SM4加密算法輸入128 bit明文后,被分割成PL和PR左右兩部分,分別為32 bit和96 bit,右半部分PR與子密鑰rki(i=0,1,…,31)進(jìn)行異或操作,經(jīng)過合成置換T后,再與左半部分PL進(jìn)行異或操作,得到下一輪32 bit的中間數(shù)據(jù)Xi+4(i=0,1,…,31)。經(jīng)過32輪重復(fù)操作后,會在最后一個輪次中得到中間數(shù)據(jù)X35,并且會將X32||X33||X34||X35合并成一組128 bit的中間數(shù)據(jù)。最后,合并的中間數(shù)據(jù)會經(jīng)過反序變換R得到128 bit的密文。

        圖1(b)為SM4算法合成置換T,其中包括非線性變換τ和線性變換L兩個操作。每一輪長度為96 bit的右半部分PR被分割成3個32 bit字,然后與當(dāng)前輪子密鑰rki(i=0,1,…,31)異或,即Xi+1⊕Xi+2⊕Xi+3⊕rki,輸出值即為合成置換T輸入的32 bit。其中,非線性變換τ是一個8 bit進(jìn)8 bit出的S盒替換操作;線性變換L是一個循環(huán)左移操作,即L(B)=B⊕(B<<<2)⊕(B<<<10)⊕(B<<<18)⊕(B<<<24),其中B為經(jīng)過非線性變換τ后的輸出值。

        圖1 SM4加密算法流程

        密鑰擴(kuò)展算法結(jié)構(gòu)與加密算法結(jié)構(gòu)基本相同。若加密密鑰MK=(MK0,MK1,MK2,MK3),其中(i=0,1,2,3)。令密鑰(i=0,1,…,35),輪密鑰為rki∈(i=0,1,…,31),則輪密鑰生成方法如下:

        (1)令(K0,K1,K2,K3)=(MK0⊕FK0,MK1⊕FK1,MK2⊕FK2,MK3⊕FK3),其中FKi(i=0,1,2,3)為系統(tǒng)參數(shù)。

        (2)輪密鑰rki=Ki+4=Ki⊕T′(Ki+1⊕Ki+2⊕Ki+3⊕CKi),其中CKi為固定參數(shù),合成置換T′與加密算法輪函數(shù)中的T變換基本相同,只將其中的線性變換L修改為L′變換,即L′(B)=B⊕(B<<<13)⊕(B<<<23)。

        1.2 碰撞攻擊原理

        Schramm學(xué)者等人于2003年在FSE上提出了“內(nèi)部”碰撞攻擊的概念[3]。如果在一個密碼算法中某個函數(shù)輸入兩個不同值,對應(yīng)該函數(shù)的輸出若相同,則稱發(fā)生了內(nèi)部碰撞。碰撞攻擊的基本思想是尋找特定位置的碰撞,通過碰撞產(chǎn)生的關(guān)系推導(dǎo)出密鑰信息,即每發(fā)生一次碰撞都會減小密鑰搜索空間。因此,只要碰撞發(fā)生達(dá)到一定次數(shù)后,便可通過碰撞產(chǎn)生的關(guān)系式恢復(fù)出原始密鑰。

        圖2為碰撞攻擊原理示意圖。首先,若選擇攻擊目標(biāo)為算法加密過程中的S盒輸出值Y1、Y2,并記密鑰之間的差值為Δk,即Δk=K1⊕K2。若要使得算法加密過程中的S盒輸出值發(fā)生碰撞,則在S盒輸入前明文P1、P2需滿足等式P1⊕K1=P2⊕K2,便可以通過上述等式反推出Δk=P1⊕P2,即P2=P1⊕Δk。因此,通過輸入特定的明文,使得P1和P2之間的關(guān)系滿足等式P2=P1⊕Δk,并提取所有明文加密過程中第一個S盒的功耗曲線,即加密位置S1作為第一條功耗曲線,第二個S盒加密位置對應(yīng)點S2作為第二條功耗曲線,那么此時兩條功耗曲線的相似程度應(yīng)該比較高。

        圖2 碰撞分析原理示意

        通過遍歷差值Δk從0至255的所有可能,可以使得明文P1和P2之間的關(guān)系滿足等式P2=P1⊕Δk。若構(gòu)造256條明文,令其P1依次遍歷0至255,P2與P1相同,也依次遍歷0至255。那么對于第i(i=0,1,…,255)個明文的P1來說,滿足P1=i并且P2=P1⊕Δk的就是第i⊕Δk個明文了。反映在波形上,也就是Ti片段中S1的功耗曲線與Ti⊕Δk片段中S2的功耗曲線相似度較高。由此,通過波形反推,便可得到密鑰之間的關(guān)系。

        2 針對SM4算法的功耗模板-碰撞分析

        針對SM4算法的功耗模板-碰撞分析方法,本文方法通過使用了內(nèi)部碰撞原理,并結(jié)合漢明重量模板匹配方式來恢復(fù)SM4算法原始密鑰。

        根據(jù)1.2節(jié)可知,基于內(nèi)部碰撞原理的側(cè)信道攻擊方法,可以在不需要知道中間值,也不需要知道中間值泄露模型,只需要確定并知道兩個中間值相等的情況下,即可通過建立等式方程來獲得密鑰信息。因此,一方面,相比于主流的側(cè)信道分析方法,如相關(guān)功耗攻擊(CPA)和差分功耗攻擊(DPA),本文方法可以在不需要假定中間值泄露模型的情況下通過建立等式方程來獲得密鑰信息;另一方面,由1.1節(jié)SM4算法結(jié)構(gòu)可知,本文目標(biāo)SM4算法在加密及子密鑰處理方面較為混淆及擴(kuò)散,密鑰恢復(fù)具有一定難度,而本文方法能在基于內(nèi)部碰撞原理的基礎(chǔ)上,結(jié)合模板匹配方法,可以進(jìn)一步降低密鑰搜索區(qū)間。

        因此,綜合分析SM4算法后可知,針對SM4算法的功耗模板-碰撞分析方法,可以在不需要建立中間值泄露模型的情況下,通過模板匹配進(jìn)一步降低密鑰搜索區(qū)間,并成功恢復(fù)SM4算法全部子密鑰。

        針對SM4算法結(jié)構(gòu)可知,該算法的初始密鑰至少需要經(jīng)過4輪加密,才能達(dá)到完全的擴(kuò)散及混淆。因此,基于SM4算法的側(cè)信道分析,只需要針對其前4輪加解密運(yùn)算即可。針對SM4算法S盒輸出值進(jìn)行的功耗模板-碰撞分析,前4輪分析過程如圖3所示。

        圖3 分析過程

        (1)有選擇地輸入N組明文Pi(p1,p2,…,pN)進(jìn)行加密操作,同時分別采集并記錄每一輪各S盒的輸出功耗曲線T(i,m)(t(1,m),t(2,m),…,t(N,m)),其中m(m=1,2,3,4)表示當(dāng)前輪次的第m個S盒。

        (2)構(gòu)造每一輪各S盒輸出值Rm碰撞,并通過模板匹配篩選候選子密鑰。

        (3)通過構(gòu)造碰撞階段中的方法反推出每輪子密鑰值rki(i=0,1,…,15)。

        (4)獲得算法4輪子密鑰,通過密鑰擴(kuò)展算法反推出原始工作密鑰K。

        其中,SM4算法32輪加密過程中的整體功耗曲線如圖4所示。

        圖4 SM4算法32輪加密過程的功耗曲線

        2.1 構(gòu)造第一輪碰撞

        本文方法的分析過程主要分為構(gòu)造碰撞和模板匹配兩個階段。構(gòu)造碰撞階段首先需要針對SM4算法第一輪加密過程,并在此基礎(chǔ)上對算法的第二、三、四輪加密過程進(jìn)行分析。

        圖5 第一輪流程

        (1)令輸入明文的后96 bit的任一字節(jié)Xi(i=4,5,…,15)為基準(zhǔn)字節(jié),如選擇X12為基準(zhǔn)字節(jié),則可以令X12為(00)16,同時對X13、X14、X15(即圖5中明文輸入的A、B、C)進(jìn)行遍歷(00~FF)16。在遍歷過程中,當(dāng)X13、X14、X15中的某一個字節(jié)與X12產(chǎn)生碰撞后,則對應(yīng)字節(jié)所獲取到的S盒輸出功耗曲線應(yīng)該大致相同,記錄當(dāng)下對應(yīng)字節(jié)所輸入的明文v1,并對剩余字節(jié)進(jìn)行后續(xù)遍歷。重復(fù)上述操作,直至獲得該輪選擇輸入的明文字節(jié)vi(i=0,1,2,3)后,則分別獲得本輪S盒輸出字節(jié)res0 es1、res0 es2、res0 es3的碰撞。

        (2)根據(jù)算法加密流程可知,在第一輪加密過程中,若中間變量S盒輸出發(fā)生碰撞,以X12與X13為例,則有以下等式S(X12⊕rk(0,0))=S(X13⊕rk(0,1))=resi,其中resi(i=0,1,2,3)為S盒輸出值。對于同一個密碼設(shè)備(黑盒),密鑰值雖然未知但是固定。因此,可把rk(0,0)和rk(0,1)理解為一個固定值,即它們的差值?K1也是固定值,則可以推出等式rk(0,0)⊕rk(0,1)=X12⊕X13=?K1。由上述例子可知,每一輪的子密鑰差值?Ki(i=0,1,2,3)為固定值。因此對于上述遍歷得到的選擇輸入的明文字節(jié)v1、v2、v3,以明文輸入字節(jié)X12為基準(zhǔn)的情況下,可分別得到子密鑰差值?K1、?K2、?K3,即:

        本文方法在分析中選取加密過程的中間變量S盒輸出值作為分析目標(biāo),這是因為在具體實現(xiàn)工程中S盒輸出的功耗往往更為顯著,需說明的是,理論上也可采用中間變量S盒輸入值作為分析目標(biāo)。

        與傳統(tǒng)的線性碰撞分析相比,本階段通過子密鑰差值?Ki(i=0,1,2,3)可有效快速構(gòu)造SM4算法第一輪S盒輸出值內(nèi)部碰撞。令輸入明文的前12個字節(jié)為(00)16,使用后4個字節(jié)來構(gòu)造S盒輸出值碰撞。構(gòu)造第一輪S盒輸出值碰撞流程如圖5所示。

        以此,第一輪子密鑰恢復(fù)公式如下:

        經(jīng)過構(gòu)造第一輪各S盒輸出值碰撞后,采集到的第一輪各S盒輸出的功耗曲線如圖6所示。其中,明顯看出第一輪各S盒的輸出功耗曲線大致相同。

        圖6 第一輪發(fā)生碰撞各S盒的功耗曲線

        2.2 構(gòu)造第二、三、四輪碰撞

        在構(gòu)造第一輪各S盒輸出值碰撞后,獲得候選子密鑰,并用于下一輪的分析。以算法第二輪分析為例,分析方法如下。

        首先,建立輸入明文與中間變量Xi的數(shù)學(xué)關(guān)系。通過構(gòu)造算法第一輪S盒輸出碰撞后,可以獲得第一輪的候選子密鑰,以此用于下一輪的分析。通過文獻(xiàn)[19-20]可知,SM4算法前后輪次的中間變量可以通過以下數(shù)學(xué)關(guān)系計算。

        其中,m表示輪次(m=0,1,2,3),j表示該輪的第j個字節(jié)(j=0,1,2,3),B(m,j)表示第m輪第j個字節(jié)經(jīng)過S盒變換輸出后的值,<<為算術(shù)左移操作。在上述公式中,Val(m,j)為固定值,根據(jù)文獻(xiàn)[20-21]可知,其計算等式如下:

        該計算公式是基于算法第一輪各S盒發(fā)生碰撞,并根據(jù)第一輪子密鑰恢復(fù)公式獲得候選子密鑰后,對輸入的128 bit明文進(jìn)行逐列構(gòu)造,使得下一輪的各S盒輸出值發(fā)生碰撞。例如,對于SM4算法第二輪S盒輸出的各個字節(jié),可以按以下方式構(gòu)造。

        第二輪S盒輸出的第一字節(jié)所對應(yīng)構(gòu)造的明文:

        第二個字節(jié):

        第三個字節(jié):

        第四個字節(jié):

        其中Ni(i=1,2,3,4)為變量,需要遍歷256次(00~FF)16,Xi為第一輪候選子密鑰的每一個字節(jié)與(71)16異或后的值。通過SM4算法逆S盒替換表可知S(71)輸出值為(00)16,因此通過異或(00)16可以簡化算法中間變換操作。以此方式對第二輪S盒輸出的每一個字節(jié)進(jìn)行選擇明文輸入,通過遍歷可使得第二輪各S盒輸出值發(fā)生碰撞(如第一輪),即可獲得第二輪的候選子密鑰。其中,第二輪子密鑰恢復(fù)公式如下:

        以SM4算法第二輪為例,經(jīng)過選擇明文對本輪各S盒輸出值構(gòu)造碰撞后,采集到的第二輪各S盒輸出值發(fā)生碰撞的功耗曲線如圖7所示。其中,圖中選中的部分為使用本輪方法構(gòu)造后,各S盒輸出值發(fā)生碰撞的功耗曲線,可明顯看出第二輪各S盒的輸出功耗曲線大致相同。調(diào)整相應(yīng)的Val值和子密鑰恢復(fù)公式,可對算法第三、四輪重復(fù)上述方法。

        圖7 第二輪發(fā)生碰撞各S盒的功耗曲線

        2.3 漢明重量模板匹配

        通過對算法前4輪進(jìn)行構(gòu)造上述碰撞方法后,根據(jù)每一輪的子密鑰恢復(fù)公式,可以獲得每一輪的候選子密鑰。因此,通過漢明重量模板曲線匹配每一輪各S盒輸出發(fā)生碰撞的功耗曲線,可以篩選候選子密鑰,進(jìn)一步降低密鑰搜索區(qū)間。

        其中,漢明重量通常是指一串符號中非零符號的個數(shù)。在密碼算法中,一個字節(jié)的漢明重量大小為該字節(jié)中比特1的個數(shù)。因此,從字節(jié)(00)16到(FF)16,該256個字節(jié)可以劃分為9種大小不同的漢明重量,每種漢明重量的統(tǒng)計數(shù)量由表1所示。

        表1 0x00~0xFF中每種漢明重量所對應(yīng)的統(tǒng)計數(shù)量

        功耗曲線可以由多元正態(tài)分布(m,C)模板刻畫[1],其中多元正態(tài)分布由協(xié)方差矩陣C和均值向量m構(gòu)成。因此,在漢明重量模板匹配過程中,實際測量的功耗曲線t和(m,C)漢明重量模板可以通過極大似然準(zhǔn)則來評估,判定該實際功耗曲線與漢明重量模板相匹配的概率大小。通過計算匹配概率值大小可以反映出該漢明重量模板與實際功耗曲線的匹配程度。其中,評估準(zhǔn)則公式如下:

        該概率公式中的(t-m)′為實際功耗曲線ti(i=0,1,…,n)與均值向量m之差的轉(zhuǎn)置矩陣,C-1為協(xié)方差矩陣C的逆矩陣,det(C)為協(xié)方差矩陣C的行列式,n為特征點數(shù)量。其中,特征點是漢明重量功耗模板曲線中具有顯著區(qū)別的點。圖8為9種漢明重量功耗模板曲線。其中,部分所選取的特征點與其正態(tài)分布如圖9所示。

        圖8 漢明重量功耗模板曲線

        圖9 特征點的正態(tài)分布

        從圖9中可明顯看出,所選取的特征點符合正態(tài)分布特征,各特征點值均處于正態(tài)分布的中間位置,則表明所選特征點發(fā)生頻率較高,在漢明重量功耗模板曲線的特征表征中較為穩(wěn)定。

        通過計算漢明重量功耗模板曲線與實際功耗曲線的匹配概率程度,取其中匹配概率最大值所對應(yīng)的模板曲線的漢明重量值,并根據(jù)每一輪各子密鑰恢復(fù)公式,篩選候選子密鑰。然后通過遍歷候選子密鑰進(jìn)行驗證,即可恢復(fù)出每一輪的子密鑰。

        上述分析方法可以成功恢復(fù)出SM4算法前4輪子密鑰rki(i=0,1,…,15),并通過SM4密鑰擴(kuò)展算法反推,可以成功恢復(fù)出SM4算法的初始密鑰K。

        3 結(jié)果驗證及實驗分析

        3.1 結(jié)果驗證

        本功耗模板-碰撞分析的目標(biāo)是基于STM32F407(ARM Cortex-M4)嵌入式測試板上搭載的SM4算法,功耗曲線是在Inspector平臺下進(jìn)行采集,使用的分析工具包括Current-Probe及WaveRunner-8104示波器。實驗驗證了該方法的有效性。

        通過功耗模板-碰撞分析,根據(jù)式(1)、(2)能成功恢復(fù)出第一輪子密鑰為“0x34D43155”,如表2所示;通過式(3)、(4)、(5)能成功恢復(fù)出SM4算法第二輪子密鑰為“0x9CC0AD30”,如表3所示。重復(fù)上述方法,可以獲得SM4算法第三、四輪子密鑰分別為“0x9608FEEF”“0x830DD75D”,成功恢復(fù)SM4算法前4輪全部子密鑰rki(i=0,1,…,15),其中第三、四輪子密鑰分析結(jié)果如表4、5所示。最后,通過SM4密鑰擴(kuò)展算法進(jìn)行反推,可以成功恢復(fù)出算法原始密鑰為“0x52697363757 2654368696E6132303137”。

        表3 第二輪分析結(jié)果

        表4 第三輪分析結(jié)果

        表5 第四輪分析結(jié)果

        3.2 實驗分析

        傳統(tǒng)線性碰撞攻擊是通過固定明文和第一個S盒對應(yīng)字節(jié)的子密鑰,遍歷猜測子密鑰k2為0~255,總會得到一個子密鑰k2,使得明文p1與密鑰k1滿足等式p1⊕k1=p2⊕k2。同理,可以得到子密鑰k1與k2~k16之間的對應(yīng)關(guān)系,從而降低密鑰的猜測空間。反映在波形上,則是只能得到漢明重量等式HW(p1⊕k1)=HW(p2⊕k2),無法得到k1和k2的確切對應(yīng)關(guān)系。如果采用線性碰撞攻擊的方法,得到上述漢明重量等式后,遍歷猜測k2及后續(xù)密鑰的所有可能,效率較為低下。針對SM4算法,若使用傳統(tǒng)線性碰撞攻擊方法,則對于第一輪子密鑰的恢復(fù),需要對任意兩個密鑰字節(jié)進(jìn)行遍歷搜索,所以時間復(fù)雜度為O(264),數(shù)據(jù)搜索空間為[0,26?1],對于第二、三、四輪的子密鑰恢復(fù),則需要搜索整個數(shù)據(jù)區(qū)間,所以時間復(fù)雜度為O(2128),數(shù)據(jù)遍歷搜索區(qū)間為[0,2128?1]。

        主流的側(cè)信道分析方法,如相關(guān)功耗攻擊(CPA)和差分功耗攻擊(DPA),都需要在采集實際功耗曲線后,對目標(biāo)算法進(jìn)行中間值泄露模型建模。而根據(jù)1.2節(jié)可知,基于內(nèi)部碰撞原理的側(cè)信道攻擊方法,可以在不需要知道中間值,也不需要知道中間值泄露模型,只需要確定并知道兩個中間值相等的情況下,即可通過建立等式方程來獲得密鑰信息或直接求解密鑰。因此,針對SM4算法的功耗模板-碰撞分析方法,可以在不需要假定中間值泄露模型的情況下,通過構(gòu)造碰撞方法采集特定的功耗曲線,以確定算法加密過程中中間值相等,即可通過建立的等式方程來獲得密鑰信息,并通過模板匹配進(jìn)一步降低了密鑰搜索區(qū)間。

        結(jié)合內(nèi)部碰撞原理側(cè)信道分析的優(yōu)勢,根據(jù)針對SM4算法的功耗模板-碰撞分析方法可知,本文方法對SM4算法四輪的運(yùn)算過程中包含的循環(huán)運(yùn)算次數(shù)上限為256次,即28,每輪獨立遍歷次數(shù)最多為4次,所以該算法的時間復(fù)雜度上限為28×24=212,即O(212),搜索數(shù)據(jù)區(qū)間為[0,28?1]。

        兩種碰撞攻擊方法的性能對比如表6所示。根據(jù)上述兩種碰撞攻擊方法的性能對比后可知,雖然本文提出的功耗模板-碰撞分析方法需要額外制作模板曲線,但是從算法性能上對比兩者方法可知,本文給出的功耗模板-碰撞分析方法均要優(yōu)于傳統(tǒng)線性碰撞攻擊。綜上,本文方法不僅降低了計算復(fù)雜度,并將碰撞攻擊擴(kuò)展到非平衡Feistel算法結(jié)構(gòu),提高并增強(qiáng)了碰撞攻擊的適用性與實用性。

        表6 兩種碰撞分析方法性能比較結(jié)果

        4 結(jié)束語

        本文針對非平衡Feistel結(jié)構(gòu)SM4算法給出了一種功耗模板-碰撞分析方法,利用構(gòu)造特殊明文的方式,以每一輪各S盒輸出值碰撞來恢復(fù)輪子密鑰,并在STM32F407測試板上分析了SM4算法,成功驗證了該分析方法的有效性。此外,在每一輪中采用了漢明重量模板匹配來篩選候選子密鑰,進(jìn)一步降低了密鑰搜索區(qū)間。相比于傳統(tǒng)側(cè)信道碰撞攻擊方法,本文方法不僅提高了碰撞攻擊的分析效率,而且增大了碰撞攻擊在非平衡Feistel結(jié)構(gòu)實現(xiàn)上的適用性。進(jìn)一步的,擬對不同分組密碼結(jié)構(gòu)進(jìn)行碰撞分析模型的理論抽象,實現(xiàn)統(tǒng)一分析模型,擴(kuò)展碰撞攻擊在不同密碼工程中的應(yīng)用。

        猜你喜歡
        漢明明文字節(jié)
        No.8 字節(jié)跳動將推出獨立出口電商APP
        No.10 “字節(jié)跳動手機(jī)”要來了?
        奇怪的處罰
        簡談MC7字節(jié)碼
        奇怪的處罰
        媳婦管錢
        四部委明文反對垃圾焚燒低價競爭
        中年研究
        漢明距離矩陣的研究
        巨臀中文字幕一区二区| 中文亚洲av片不卡在线观看| 亚洲精品久久久久成人2007| 国产亚洲av手机在线观看| 97久久久久国产精品嫩草影院| 日本av第一区第二区| 国产欧美综合一区二区三区| 屁屁影院ccyy备用地址| 真正免费一级毛片在线播放| 日韩极品视频在线观看免费| 国产精品国产自产拍高清| 精品乱码一区内射人妻无码| 婷婷综合缴情亚洲| 无码中文字幕专区一二三| 国产在线观看黄片视频免费| 欧美xxxxx在线观看| 免费a级毛片无码a∨免费软件| 亚洲色欲大片AAA无码| 亚洲一区二区三区av天堂| 国精产品一区一区二区三区mba| 国产色秀视频在线播放| 日韩久久久久中文字幕人妻| 中文字幕有码手机视频| 超碰人人超碰人人| 欧美成人一区二区三区在线观看| 国产亚洲高清在线精品不卡| 美女扒开内裤让我捅的视频| 国产白袜脚足j棉袜在线观看| 日韩成人免费一级毛片| 久久蜜臀av一区三区| 日韩乱码人妻无码系列中文字幕 | 中文字日产幕码三区的做法步 | 又爆又大又粗又硬又黄的a片| 亚欧视频无码在线观看| 国产传媒精品成人自拍| 国产成人精品久久综合| 国产精品天堂avav在线| 国产丝袜长腿在线看片网站 | 免费精品一区二区三区第35| 男人深夜影院无码观看| 精品三级国产一区二区三|