一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法_第1頁
一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法_第2頁
一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法_第3頁
一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法_第4頁
一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

一種改進(jìn)的aes和clexia序列驅(qū)動(dòng)攻擊方法

1旁路攻擊安全性分析傳統(tǒng)的密碼分析認(rèn)為密碼算法是一個(gè)黑盒。密碼算法的安全性完全取決于執(zhí)行的數(shù)學(xué)函數(shù)和密鑰的安全性。線性和微分分析結(jié)合了明清文本、消息和算法結(jié)構(gòu)的密鑰。隨著密碼設(shè)計(jì)復(fù)雜度和密鑰長度的增加,其在設(shè)計(jì)之初就經(jīng)受了大量數(shù)學(xué)分析考驗(yàn),安全性得到了極大的提高,傳統(tǒng)的線性和差分分析已經(jīng)很難實(shí)現(xiàn)密碼破解。然而密碼算法實(shí)現(xiàn)需依附一個(gè)物理設(shè)備平臺(tái),由于平臺(tái)自身的一些物理特性,在加解密過程中會(huì)泄露出各種中間狀態(tài)相關(guān)的物理效應(yīng)信息(如時(shí)間、功耗、電磁輻射、聲音、錯(cuò)誤、Cache訪問信息等),又稱之為旁路信息或邊信道信息,利用旁路信息對(duì)密碼算法實(shí)現(xiàn)進(jìn)行分析的過程稱為旁路攻擊,主要的攻擊類型有計(jì)時(shí)攻擊、功耗攻擊、電磁分析、聲音攻擊、故障攻擊、Cache攻擊等。目前大部分密碼算法實(shí)現(xiàn)的安全性均面臨旁路攻擊的嚴(yán)重威脅,隨著先進(jìn)的測(cè)試儀器和計(jì)量手段的出現(xiàn)和發(fā)展,旁路攻擊已經(jīng)具備實(shí)際攻擊可行性。本文主要研究利用密碼算法在Cache訪問時(shí)泄露的蹤跡信息進(jìn)行密鑰分析的方法。Cache攻擊大體分為Cache信息采集和信息分析2個(gè)階段,根據(jù)采集信息不同,可將其分為時(shí)序驅(qū)動(dòng)、訪問驅(qū)動(dòng)和蹤跡驅(qū)動(dòng)3種,本文給出了一種改進(jìn)的Cache蹤跡驅(qū)動(dòng)信息分析方法,并對(duì)AES和CLEFIA抗Cache攻擊安全性進(jìn)行了分析。在Cache蹤跡驅(qū)動(dòng)攻擊方面,文獻(xiàn)[7~10]利用該方法對(duì)AES進(jìn)行了安全性分析,最近,文獻(xiàn)也利用其對(duì)CLEFIA進(jìn)行了安全性分析,但現(xiàn)有文獻(xiàn)均不能在第1輪分析中直接恢復(fù)AES和CLEFIA完整擴(kuò)展密鑰。本文分析方法同文獻(xiàn)類似,利用“Cache失效”蹤跡驅(qū)動(dòng)信息進(jìn)行密鑰分析,但本文研究發(fā)現(xiàn),由于分組密碼S盒在Cache中的不對(duì)齊分布特性,通過對(duì)AES和CLEFIA加密的“Cache失效”蹤跡驅(qū)動(dòng)信息進(jìn)行分析,其第1輪完整擴(kuò)展密鑰可在有效樣本下快速恢復(fù)。表1給出了本文攻擊同前人工作的比較,其中,H表示Cache命中,M表示Cache失效,第4列H/M表示攻擊中利用的信息是Cache命中還是失效。本文結(jié)構(gòu)如下:第2節(jié)對(duì)Cache訪問信息泄露和Cache攻擊分析模型進(jìn)行了研究,給出了Cache蹤跡驅(qū)動(dòng)分析模型,分析了分組密碼S盒在Cache中的分布特性,提出了改進(jìn)的Cache蹤跡驅(qū)動(dòng)分析思想;第3、4節(jié)分別給出了針對(duì)AES和CLEFIA的改進(jìn)Cache蹤跡驅(qū)動(dòng)分析方法,并給出了攻擊實(shí)驗(yàn)結(jié)果與比較;第5節(jié)是結(jié)束語。2分析內(nèi)存攻擊的模型92.1基于cache的惡意攻擊技術(shù)高速緩存Cache主要用于解決CPU與主存之間速度不匹配的問題。為提高算法非線性度和軟件執(zhí)行效率,現(xiàn)代分組密碼大都使用S盒查表訪問Cache。Cache訪問命中和失效會(huì)帶來時(shí)間和能量消耗差異,而分組密碼加密使用了S盒進(jìn)行查表操作需要訪問Cache,其Cache訪問特征信息可通過時(shí)間或能量消耗特征信息泄露出來,惡意攻擊者通過Cache攻擊可采集到分組密碼運(yùn)行過程中泄露的Cache訪問信息,這些訪問信息同查找S盒索引、明文、密文和密鑰有緊密關(guān)系,可以用來進(jìn)行相關(guān)密鑰恢復(fù)。隨著高精度和復(fù)雜精密測(cè)試計(jì)量儀器及技術(shù)的發(fā)展,精確采集Cache泄露的時(shí)間和能量消耗差異已經(jīng)具備實(shí)際可行性。根據(jù)攻擊者的Cache信息采集能力,可將Cache攻擊分為時(shí)序驅(qū)動(dòng)、訪問驅(qū)動(dòng)[15~19]和蹤跡驅(qū)動(dòng)[7~11]3種。1)時(shí)序驅(qū)動(dòng)Cache攻擊需采集一次加解密過程的整個(gè)時(shí)間,結(jié)合高級(jí)統(tǒng)計(jì)分析方法推測(cè)密鑰,常需百萬計(jì)的攻擊樣本,分析方法復(fù)雜;2)訪問驅(qū)動(dòng)Cache攻擊需通過間諜進(jìn)程采集密碼進(jìn)程加解密中訪問的Cache組集合,使用直接或排除分析方法推測(cè)密鑰,同時(shí)序驅(qū)動(dòng)攻擊相比,其對(duì)攻擊者的信息采集能力要求比較高,但分析方法簡單;3)蹤跡驅(qū)動(dòng)Cache攻擊需采集密碼加解密過程中每次Cache訪問命中和失效信息的一個(gè)序列,結(jié)合明文或密文進(jìn)行密鑰推測(cè),分析效率非常高,通常Cache訪問蹤跡信息的采集主要通過采集Cache訪問能量消耗信息來實(shí)現(xiàn)。2.2mhsh的cache中性及失效序列在蹤跡驅(qū)動(dòng)Cache攻擊中,攻擊者需獲取加密樣本每次Cache訪問的命中和失效序列,并利用其進(jìn)行密鑰分析。以AES加密第1輪為例,MHHM,MMHH,MHHH,MHMH為16次查表訪問的Cache命中和失效序列,其中,H和M分別表示“Cache命中”和“Cache失效”。圖1表示同一次加密中對(duì)S盒的2次查表訪問,2次查表索引分別為x0⊕k0、x1⊕k1,一般來說,如果x0⊕k0是第1次訪問Cache,常會(huì)發(fā)生Cache失效,根據(jù)第2次查表訪問Cache是命中還是失效,可將分析分為2種情況。1ache訪問此時(shí),x0⊕k0=x1⊕k1,二次Cache訪問需較短時(shí)鐘周期或較低能量消耗,并且可直接泄漏部分密鑰字節(jié)的異或結(jié)果可能值k0⊕k1=x0⊕x1。2基于cache的同化檢測(cè)此時(shí),x0⊕k0≠x1⊕k1,二次Cache訪問需較長時(shí)鐘周期或較高能量消耗,可直接泄漏部分密鑰字節(jié)的異或結(jié)果的不可能值k0⊕k1≠x0⊕x1。通過以上分析,看起來可直接得到k0⊕k1的唯一候選值,假定一個(gè)Cache行包含δ個(gè)Cache元素,每次Cache失效都會(huì)從主存中將整個(gè)內(nèi)存塊的δ個(gè)元素加載到Cache中,對(duì)于Athlon3000+CPU處理器來說,每個(gè)Cache元素為4byte,每個(gè)Cache行大小為64byte,δ=16,常用的分組密碼如AES、Camellia、CLEFIA每個(gè)S盒元素為4byte,16個(gè)元素常位于同一個(gè)Cache行中。每次Cache訪問命中時(shí),2次訪問對(duì)應(yīng)的元素地址a和b拋開低lbδbit相等,可表示為<a>=<b>。對(duì)于8bit的查表索引和δ=16來說,如果第2次查表Cache訪問發(fā)生Cache命中,常滿足<x0⊕k0>=<x1⊕k1>(高4bit相同,低4bit不一定相同),一次分析可直接得到k0⊕k1的高4bit值,但低4bit值未知;反之,如果二次查表發(fā)生Cache失效,可得到<x0⊕k0>≠<x1⊕k1>,此時(shí)可得到<x0⊕k0>的高4bit的不可能值,多次分析得到k0⊕k1的高4bit值,但低4bit值仍未知。2.3aes的s盒式性能大多數(shù)現(xiàn)有攻擊均假定分組密碼S盒在Cache中是對(duì)齊分布的,以AES的S盒為例,S盒大小為1kbyte,共256個(gè)元素,每個(gè)S盒行對(duì)應(yīng)16個(gè)元素,對(duì)于Athlon3000+CPU處理器來說,定義u為S盒的第1個(gè)元素對(duì)應(yīng)某個(gè)Cache行的第u個(gè)元素(0≤u<16),如果AES的S盒在Cache中是對(duì)齊分布的,即u=0,一個(gè)S盒會(huì)恰好對(duì)應(yīng)16個(gè)Cache行,如圖2(a)所示。但是,在Windows系統(tǒng)中,分組密碼的S盒在Cache中通常是不對(duì)齊分布的,S盒的第1個(gè)元素常常不對(duì)應(yīng)某個(gè)Cache行中第1個(gè)元素(u≠0),一個(gè)S盒會(huì)恰好對(duì)應(yīng)17個(gè)Cache行,如圖2(b)所示(u=12),利用該不對(duì)齊特性,對(duì)AES、Camellia、ARIA、SMS4等分組密碼成功進(jìn)行了訪問驅(qū)動(dòng)攻擊。2.4不可能值k0k1以圖1為例,如果S盒在Cache行中是對(duì)齊分布的,第2次Cache訪問如果Cache命中,可直接得到k0⊕k1的高4bit值,否則得到一個(gè)k0⊕k1高4bit的不可能值,多次分析得到高4bit的正確候選值,這種情況下不可能得到k0⊕k1的低4bit值。但如果S盒在Cache行中是不對(duì)齊分布的,x1⊕k1可能等于x0⊕k0所在的Cache行中的16個(gè)連續(xù)元素,但這16個(gè)元素可能位于不同的Cache行中,即16個(gè)索引值的高4bit不一定全相同,假設(shè)k0=0x01,則k1=x1⊕x0⊕k0,可得到16個(gè)高4bit不同,低4bit也不同的k1候選值集合,如果k0預(yù)測(cè)正確,多次分析后的交集即可得到唯一的k1值;否則會(huì)得到k1的一個(gè)空集。3改善的協(xié)議跟蹤驅(qū)動(dòng)程序分析3.1aes加密算法實(shí)現(xiàn)AES作為DES的替代者,2001年被美國國家技術(shù)標(biāo)準(zhǔn)局(NIST)選用,算法支持128bit、192bit、256bit密鑰的不同版本,本文主要關(guān)注128bit密鑰的AES,分析方法可適用于192bit和256bit密鑰的AES。AES是一個(gè)基于有限域運(yùn)算的迭代密碼,首先輸入16byte明文P,輸入的16byte密鑰被擴(kuò)展成44個(gè)32bit字所組成的數(shù)組w[r],P同初始密鑰K進(jìn)行異或作為初始輸入狀態(tài)變量,然后第r輪迭代根據(jù)16byte的輸入狀態(tài)xr-1和一個(gè)16byte的子密鑰Kr,產(chǎn)生一個(gè)16byte輸出狀態(tài)xr。除最后1輪,每一輪迭代都包括對(duì)xr-1的4個(gè)代數(shù)運(yùn)算:字節(jié)代換、行移位、列混淆和輪子密鑰Kr異或。為提高加密速度,AES加密快速實(shí)現(xiàn)算法在每一輪中,將除與輪密鑰異或以外的操作合并為16次查表操作,預(yù)先進(jìn)行計(jì)算,計(jì)算結(jié)果存儲(chǔ)在多個(gè)查找表中。整個(gè)AES加密由160次查表和176次異或操作組成,執(zhí)行效率非常高,但是頻繁的查表操作訪問數(shù)據(jù)Cache也為其帶來了嚴(yán)重的Cache計(jì)時(shí)攻擊威脅。攻擊者如果采集到足夠多的AES加密Cache計(jì)時(shí)信息,將其轉(zhuǎn)換為查表索引,結(jié)合明文或密文就可推斷出某一輪擴(kuò)展密鑰信息,由于AES密鑰擴(kuò)展結(jié)構(gòu)具有可逆性,攻擊者只要恢復(fù)了中間任意輪擴(kuò)展密鑰就相當(dāng)于恢復(fù)了初始密鑰。3.2aes加密分析Bertoni等首先提出密碼實(shí)現(xiàn)功耗軌跡可能會(huì)泄漏Cache訪問命中和失效信息,利用功耗仿真工具對(duì)AES加密功耗進(jìn)行了仿真,成功獲取了AES加密第1輪每次Cache訪問和命中序列,然后對(duì)Cache命中信息進(jìn)行分析獲取48bitAES-128密鑰。O.Ac?i?mez將Bertoni攻擊延伸到了AES加密第2輪,也是通過對(duì)Cache命中信息進(jìn)行分析,成功獲取94.5bitAES-128密鑰;JosephBonneau將O.Ac?i?mez攻擊轉(zhuǎn)移到加密最后1輪,通過分析Cache失效信息進(jìn)行分析,使用50個(gè)樣本成功獲取128bitAES密鑰。3.3把k4作為聚合條件時(shí)的文本引進(jìn)數(shù)據(jù)攻擊中使用的算法為OpenSSLv.0.9.8.(a)密碼庫中AES優(yōu)化實(shí)現(xiàn),在加密前9輪使用了4個(gè)1kbit的查找表T0、T1、T2、T3,在第10輪僅使用了一個(gè)1kbit的T4查找表。AES前9輪加密公式如式(1)所示??梢钥闯?每輪對(duì)T0、T1、T2、T34個(gè)查找表分別進(jìn)行4次查表,共16次查表操作。第1輪查表索引可表示為Pi和Ki分別表示明文和初始密鑰的第i個(gè)字節(jié),i∈。第1輪中查T0表的4個(gè)索引值為第2次查T0表的Cache訪問命中和失效信息結(jié)合查表索引P4⊕K4,可推斷出K0和K4的相關(guān)信息。如果第2次訪問發(fā)生Cache失效,則滿足{<P0⊕K0>}表示同P0⊕K0在同一個(gè)Cache行的16個(gè)索引值,如果S盒在Cache中是對(duì)齊分布的(如圖2(a)所示),每個(gè)查表行對(duì)應(yīng)一個(gè)Cache行16個(gè)元素,如果P0=0x61,P4=0x73,假設(shè)K0=0x00,{<P0⊕K0>}對(duì)應(yīng)16個(gè)高4bit相同的字節(jié),第2次訪問的失效信息可得出K4的16個(gè)不可能值。使用更多樣本,如果K0預(yù)測(cè)值為正確的,多次分析后的交集即可得到16個(gè)高4bit相同的K4值;否則會(huì)得到K4的一個(gè)空集。但是,如果S盒在Cache中是不對(duì)齊分布的(如圖2(b)所示),如每個(gè)S盒查表行對(duì)應(yīng)一個(gè)Cache行的后4個(gè)元素和下一個(gè)Cache行的前12個(gè)元素(u=12),如果P0=0x61,P4=0x73,假設(shè)K0=0x00,{<P0⊕K0>}對(duì)應(yīng)高4bit和低4bit不同的16byte,第2次訪問的失效信息可得出K4的16個(gè)不可能值一次Cache失效信息可排除掉K4的高4bit和低4bit值不完全相同的16個(gè)候選值,如果K0預(yù)測(cè)正確,K4多次分析后的交集即可得到唯一值;否則會(huì)得到K4的一個(gè)空集。將該方法應(yīng)用到其他2次查T0表可恢復(fù)K8,K12,其他12次查T1,T2,T3表可恢復(fù)其他12個(gè)K字節(jié)值。需要注意的是,第j次(j>1)查Ti表Cache失效一次理論上最多排除掉16(j-1)個(gè)錯(cuò)誤候選值,故后續(xù)密鑰分析效率會(huì)越來越高,但前提是前面密鑰字節(jié)分析正確。3.4k0103-k0103OpenSSLv.0.9.8.(a)中AES最后1輪僅使用T4表進(jìn)行了16次查表操作,最后1輪加密公式如下如果第2次查T4表發(fā)生Cache失效,可得到無論{<T4-1[C0⊕K010]>}是否為高4bit相同的16個(gè)連續(xù)值,還是高4bit不完全相同的16個(gè)連續(xù)值,由于S盒的非線性特性,經(jīng)查找T4表后都可轉(zhuǎn)換為16個(gè)不連續(xù)值。因?yàn)樽詈?輪只對(duì)T4表進(jìn)行了16次訪問,其排除分析效率要遠(yuǎn)高于第1輪分析,理想情況下,第16次查表訪問Cache失效可一次排除掉240個(gè)不可能的密鑰字節(jié)候選值,但其前提條件是前面15個(gè)密鑰字節(jié)預(yù)測(cè)正確。3.5aes的s盒攻擊在Athlon3000+處理器下(Cache行大小為64byte)進(jìn)行了攻擊仿真試驗(yàn)。Cache訪問蹤跡信息采集并不是本文的研究重點(diǎn),實(shí)驗(yàn)中通過修改算法由其自動(dòng)輸出Cache訪問命中和失效序列。AES第1輪攻擊中樣本大小同密鑰搜索空間如圖3所示??梢钥闯?如果S盒在Cache中是對(duì)齊分布的,第1輪攻擊只能將其密鑰搜索空間降低到80bit,而在不對(duì)齊情況下,大約200個(gè)樣本即可將其搜索空間降低到216左右,經(jīng)簡單暴力破解恢復(fù)128bitAES密鑰,在仿真環(huán)境下,整個(gè)攻擊過程(包括信息采集與分析)可在1s內(nèi)完成。AES最后1輪攻擊Cache行大小同攻擊成功所需樣本量關(guān)系如圖4所示??梢钥闯?不論AES的S盒在Cache中是否對(duì)齊,128bit完整密鑰都可在有限樣本中恢復(fù),由于S盒的雪崩特性,最后1輪的排除分析效率要高于第1輪攻擊。同前人AESCache蹤跡驅(qū)動(dòng)攻擊[7~10]比較,前人攻擊都假定S盒在Cache中是對(duì)齊的,通過第1輪分析只能獲取48bit密鑰,而在實(shí)際情況下,大多數(shù)情況時(shí)S盒元素在Cache中為不對(duì)齊分布的,前人攻擊將會(huì)失效,本文攻擊則涵蓋了所有情況,在S盒不對(duì)齊時(shí)分析效率要高于前人攻擊。4對(duì)于clefna的改善,基于荷葉跟蹤的效率分析4.1clefia-合成密鑰首先給出CLEFIA算法分析使用的符號(hào)說明。P,Xr,C:128bit明文、第r輪中間狀態(tài)、密文;Pi,Xri,Ci:明文、第r輪中間狀態(tài)、密文的第i個(gè)32bit字;Pi,P(i-j):明文第i個(gè)字節(jié)和明文第i到第j個(gè)字節(jié);WKi,j,RKi,j:第i個(gè)白化密鑰字和擴(kuò)展密鑰字的第j個(gè)字節(jié);CONi128:128bit常量;F0()i,F1()i:加密左右輪函數(shù)輸出的第i個(gè)字節(jié);Li,Ti:密鑰擴(kuò)展中第i次更新的128bit中間變量;第r輪對(duì)Sj表的第m次查表索引(第i次查所有表的索引)。CLEFIA算法是索尼公司在2007年FSE大會(huì)上提出的一種分組長度為128bit的密碼,分組長度為128bit,支持長度為128/192/256bit密鑰,采用了廣義Feistel結(jié)構(gòu),并在算法的開頭和結(jié)尾加入了白化處理,整個(gè)加密分為3個(gè)步驟。第1步:前期白化。將128bit明文P=(P0,P1,P2,P3)同2個(gè)白化密鑰異或,即第2步:前期r-1輪變換。F0和F1函數(shù)由代換函數(shù)S和混淆函數(shù)M組成,如圖5所示,代換函數(shù)均用到了2個(gè)不同的8×8的S盒S0和S1,只是使用順序不同,混淆函數(shù)分別使用了4×4的Hadamard型矩陣M0和M1。第r輪變換和前面變換略有不同:第3步:后期白化。將128bit(Xr0,Xr1,Xr2,Xr3)與2個(gè)白化子密鑰異或,得到密文:CLEFIA-128密鑰擴(kuò)展算法分成兩部分:由128bit初始密鑰K和24個(gè)32bit常數(shù)CONi128(0≤i<24)生成128bitL和白化密鑰WKi(0≤i<4);由L和36個(gè)32bit常數(shù)CONi128(24≤i<60)經(jīng)擴(kuò)展得到子密鑰RKj(0≤j<36)。下面是CLEFIA-128的具體密鑰擴(kuò)展算法:4.2基于cache的clefia-126密鑰檢測(cè)2009年,Chester等對(duì)CLEFIA進(jìn)行了時(shí)序驅(qū)動(dòng)Cache計(jì)時(shí)分析,使用了226.64個(gè)樣本成功恢復(fù)121bitCLEFIA-128密鑰;2010年,Chester等對(duì)CLEFIA進(jìn)行了蹤跡驅(qū)動(dòng)Cache分析,將Bertoni攻擊中利用Cache命中蹤跡信息的分析思想應(yīng)用到CLEFIA分析中,假定可獲取到CLEFIA加密中每次Cache訪問的命中和失效蹤跡信息,使用243個(gè)樣本1.5h左右恢復(fù)CLEFIA-128密鑰。本節(jié)給出了一種改進(jìn)的Cache蹤跡驅(qū)動(dòng)分析方法,利用S盒的不對(duì)齊特性,通過對(duì)CLEFIA加密前3輪的Cache失效蹤跡信息進(jìn)行分析,220次加密經(jīng)分析1s內(nèi)可恢復(fù)CLEFIA-128密鑰。4.3多態(tài)性檢驗(yàn)CLEFIA第1輪對(duì)S0和S1分別進(jìn)行了4次查表訪問,8次查表索引為如果第2次查找S0發(fā)生Cache失效,可得到對(duì)于每個(gè)RK0,0預(yù)測(cè)值和已知的P0和P2字節(jié)值,如果RK0,0預(yù)測(cè)正確,則多個(gè)樣本排除后可得到唯一的RK0,2值,否則得到一個(gè)空集。這樣當(dāng)?shù)趍次(1≤m<4)查Sj表發(fā)生Cache失效時(shí),最多可排除相關(guān)密鑰字節(jié)的16m個(gè)候選值。根據(jù)2.4節(jié)方法和式(13),通過分析第1輪4次查S0的Cache失效信息,RK0,0,RK0,2,RK1,1,RK1,3值可被依次恢復(fù),通過分析4次查S1的Cache失效信息,RK0,1,RK0,3,RK1,0,RK1,2可被依次恢復(fù)。4.4基于cache的sj表失效利用4.3節(jié)恢復(fù)的RK0和RK1,CLEFIA第2輪8次查表索引值為如果第2輪第1次(整個(gè)CLEFIA加密第5次)查找S0發(fā)生Cache失效,可得到根據(jù)式(13)、式(15)和式(16),由于P,RK0和RK1為已知,多個(gè)樣本排除后可得到唯一的WK0,0⊕RK2,0值。當(dāng)?shù)趍次(4≤m<8)查Sj表發(fā)生Cache失效時(shí),最多可排除相關(guān)密鑰字節(jié)的16m個(gè)候選值。這樣,根據(jù)2.4節(jié)方法和式(15),通過分析第2輪4次查S0的Cache失效信息,WK0,0⊕RK2,0,WK0,2⊕RK2,2,WK1,1⊕RK3,1和WK1,3⊕RK3,3可被依次恢復(fù);通過分析4次查S1Cache失效信息,WK0,1⊕RK2,1,WK0,3⊕RK2,3,WK1,0⊕RK3,0和WK1,2⊕RK3,2可被依次恢復(fù)。4.5密第9次搜索s0利用前2輪分析恢復(fù)的RK0,RK1,RK2⊕WK0,RK3⊕WK1值,CLEFIA第3輪8次查表索引值為如果第3輪第1次(整個(gè)CLEFIA加密第9次)查找S0發(fā)生Cache失效,可得到根據(jù)式(13)、式(15)、式(17)和式(18),由于P、RK0、RK1、RK2⊕WK0和RK3⊕WK1為已知,多個(gè)樣本排除后可得到唯一的RK4,0值。根據(jù)2.4節(jié)方法和式(17),通過分析4次查S0Cache失效信息,RK4,0,RK4,2,RK5,1和RK5,3可被依次恢復(fù);通過分析4次查S1Cache失效信息,RK4,1,RK4,3,RK5,0和RK5,2可被依次恢復(fù)。4.6前3輪攻擊結(jié)果根據(jù)CLEFIA密鑰擴(kuò)展算法,利用前3輪攻擊恢復(fù)RK0、RK1、RK2⊕WK0、RK3⊕WK1、RK4、RK5,每個(gè)組合值可將CLEFIA-128主密鑰空間降低到27。圖6(a)給出了生成CLEFIA密鑰擴(kuò)展生成子密鑰RKi(0≤i≤7)的過程,圖6(b)給出了前3輪攻擊的結(jié)果,圖6(c)給出了利用前3輪攻擊結(jié)果恢復(fù)主密鑰K(即WKi,0≤i<4)的過程。具體算法如下:1)根據(jù)常量CON0和第1輪攻擊結(jié)果計(jì)算CON0⊕(RK0,RK1)恢復(fù)L0(0,7);2)分析CLEFIA密鑰擴(kuò)展中ReveseDoubleSwap函數(shù)Σ-1(L0(0,7))恢復(fù)L1的64bit;3)計(jì)算CON0⊕L1(0,7)恢復(fù)T1的64bit;4)根據(jù)T1的64bit和RK4,RK5計(jì)算T1(0,7)⊕(RK4,RK5)恢復(fù)32bitWK0,25bitWK1(0,2);5)計(jì)算(WK0,WK1(0,24))⊕(WK0⊕RK2,WK1⊕RK3)恢復(fù)32bitRK2,25bitRK3(0,2);6)計(jì)算GFN4INV(RK0,RK1,RK2,RK3(0,2),CON)恢復(fù)K的121bit值,其余7bit可通過暴力破解獲取。4.7clefia-126主密鑰攻擊仿真結(jié)果對(duì)于64byteCache行大小,CLEFIA-128第1輪攻擊樣本大小同RK0,RK1密鑰搜索空間關(guān)系如圖7所示??梢钥闯?如果S盒在Cache中對(duì)齊分布,RK0,RK1密鑰搜索空間可降低到240,但是在不對(duì)齊情況下80個(gè)樣本可將RK0、RK1密鑰搜索空間分別

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論