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

        ?

        Robin算法改進的6輪不可能差分攻擊

        2021-03-09 16:41:12王欣玫孫志遠
        計算機工程與應(yīng)用 2021年5期
        關(guān)鍵詞:利用

        沈 璇,王欣玫,何 俊,孫志遠

        國防科技大學(xué) 信息通信學(xué)院,武漢430010

        分組密碼算法是對稱密碼算法中非常重要的一大類。它的安全性分析方法可以分為直接分析和間接分析兩種,其中直接分析指的是利用數(shù)學(xué)、計算機等工具直接對密碼算法本身的安全性進行分析[1-3],而間接分析指的是利用密碼算法在密碼設(shè)備中運行時泄露的信息進行分析[4-6],間接分析又稱為側(cè)信道分析。很多密碼學(xué)者在設(shè)計分組密碼算法時,會考慮密碼算法對側(cè)信道攻擊的抵抗能力。

        為了有效抵抗側(cè)信道攻擊,2014年,Grosso等人[7]在“快速軟件加密”會議上設(shè)計了一類新的分組密碼算法族——基于LS設(shè)計的算法族。該算法族采用比特切片設(shè)計,設(shè)計者根據(jù)該設(shè)計思想給出了兩個具體的分組密碼算法,一個是非對合的分組密碼算法Fantomas,另外一個是對合的分組密碼算法Robin。Robin算法采用SP結(jié)構(gòu),其線性組件和非線性組件均是對合的。

        不可能差分攻擊是目前針對分組密碼算法最有效的攻擊方法之一,它對包括AES、SMS4、Camellia、ARIA、SIMON、SKINNY、Piccolo等[8-14]在內(nèi)的許多分組密碼算法的安全性分析效果顯著。該攻擊方法由Knudsen[15]和Biham等人[16]獨立提出,它由不可能差分構(gòu)造和密鑰恢復(fù)兩個階段組成,其中前者需要構(gòu)造盡可能長的不可能差分區(qū)分器,后者利用已構(gòu)造的區(qū)分器進行密鑰恢復(fù)得到正確密鑰。此外,不可能差分構(gòu)造階段得到的區(qū)分器除了長度外,區(qū)分器的形式同樣能夠影響最后的攻擊效果。

        目前,Robin算法的不可能差分攻擊結(jié)果主要有:2014年,Grosso等人在設(shè)計文檔中,基于算法的比特模式,利用中間相錯技術(shù)構(gòu)造了3輪的不可能差分區(qū)分器。該區(qū)分器主要是利用中間差分某一比特構(gòu)造矛盾,該構(gòu)造方法并未充分利用線性層的信息。為了解決這一問題,充分挖掘線性層的信息構(gòu)造更長輪數(shù)的區(qū)分器,2018年,Shen等人[17]將Robin算法的比特模式等價轉(zhuǎn)換為字節(jié)模式,并利用UID方法[18]搜索到4輪不可能差分區(qū)分器,達到了不考慮非線性層細節(jié)情況下的最優(yōu)長度,該區(qū)分器的構(gòu)造已充分利用了線性層的信息,進一步作者利用該區(qū)分器攻擊了6輪的算法,攻擊的數(shù)據(jù)復(fù)雜度為2119個選擇明文,時間復(fù)雜度為2101.81次6輪算法加密。與此同時,需要指出的是,作者在進行不可能差分攻擊時,沒有充分利用輪密鑰之間的信息,只是將涉及到的輪密鑰看成獨立密鑰分別進行猜測。若在攻擊的過程中能夠充分挖掘輪密鑰的信息,則能夠降低輪密鑰的猜測量,進而降低攻擊所需的時間復(fù)雜度。

        為了解決上述線性層和輪密鑰信息的利用問題,進一步改進Robin算法不可能差分攻擊的結(jié)果。

        本文首先利用中間相錯技術(shù)構(gòu)造了一條新的4輪不可能差分區(qū)分器,該區(qū)分器長度同樣達到了不考慮非線性層細節(jié)情況下的最優(yōu)長度。該區(qū)分器的構(gòu)造充分挖掘了線性層的信息,解決了線性層信息利用問題。進一步,該區(qū)分器的形式與文獻[17]不同,這使得它在密鑰恢復(fù)階段涉及到的輪密鑰也不一樣。利用新構(gòu)造的區(qū)分器,在進行密鑰恢復(fù)時,涉及到的輪密鑰之間存在線性關(guān)系,解決了輪密鑰信息利用問題。具體來說,本文利用輪密鑰之間的線性關(guān)系,在進行密鑰猜測時,能夠少猜測1個字節(jié)的輪密鑰量,進而能夠降低約28的時間復(fù)雜度。

        1 Robin算法簡介

        Robin算法的分組長度為128 bit,密鑰長度也為128 bit,總輪數(shù)為16輪。該算法采用比特切片設(shè)計,在該算法的設(shè)計文檔中,它是基于比特的形式進行描述??紤]到其作用到每列上的線性層均相同,因此在文獻[17]中,作者將該算法的比特描述等價轉(zhuǎn)換為字節(jié)描述,這樣更有利于區(qū)分器的構(gòu)造。本文也采用基于字節(jié)的描述方式。

        Robin算法的整體加密流程,如圖1所示。

        圖1 Robin算法的加密流程

        明文先與種子密鑰進行異或,然后經(jīng)過16輪輪函數(shù)迭代后得到密文。Robin算法的輪函數(shù)由三部分組成:S層、L層和KC層。

        S層:16個8 bit的S盒并置加密。在本文中,S盒只需要視為雙射即可,故S盒的具體細節(jié)不給出,可參見文獻[7]。

        L層:在S層之后,利用一個分支數(shù)為8的16×16的二元矩陣作用在128 bit的狀態(tài)上。若L層的輸入為X=(x0,x1,…,x15),輸出為Y=(y0,y1,…,y15),這里xi、yi(i=0,1,2,…,15)均為8 bit的字節(jié),則線性層L對應(yīng)的加密變換為:

        在Robin算法中,L層是對合的,即L層和L-1層加密變換完全相同。

        KC層:種子密鑰K和輪常數(shù)Con(i)進行異或,再與中間狀態(tài)異或。這里Con(i)表示第i輪的輪常數(shù),具體取值參見文獻[7]。

        在本文中,Robin算法的任一128 bit狀態(tài)X=(x0,x1,…,x15),這里xi均為8 bit的字節(jié),均按照圖2的4×4矩陣形式進行排列。

        圖2 128 bit狀態(tài)按照矩陣形式排列

        2 Robin算法4輪不可能差分區(qū)分器構(gòu)造

        本章利用中間相錯技術(shù)構(gòu)造了Robin算法的一條新的4輪不可能差分區(qū)分器。注意該區(qū)分器的長度達到了不考慮S盒細節(jié)情形下的區(qū)分器最長輪數(shù)。

        下面給出Robin算法的新4輪不可能差分區(qū)分器:

        這里b、h均是非零字節(jié)差分。

        證明 如圖3所示,該命題的證明思路主要是從加密方向看,輸入差分經(jīng)過兩輪正向差分傳播后,中間差分在第8、9字節(jié)處相等;從解密方向看,輸出差分經(jīng)過兩輪反向差分傳播后,中間差分在對應(yīng)的第8、9字節(jié)處不等,故得矛盾。

        圖3 Robin算法4輪不可能差分

        注意到KC層和KC-1層是通過異或的方式參與加解密的,在差分傳播的過程中,它們可以視為常數(shù),不改變差分的值。下面分別從加密方向和解密方向進行詳細說明:

        (1)加密方向。第2輪的輸入差分為:

        經(jīng)過S層后這里b和c均是非零字節(jié)差分。再經(jīng)過L層和KC層后第3輪的輸入差分和第2輪的輸出差分相同,經(jīng)過S層后,接著經(jīng)過L層和KC層后得到的輸出差分為:

        并且有e8=e9=d0⊕d6⊕d14⊕d15。

        (2)解密方向。第5輪的輸出差分為:

        經(jīng)過KC-1層和L-1層后:

        這里h為非零字節(jié)差分。再經(jīng)過S-1層后:

        這里g1、g7、g9、g12均為非零字節(jié)差分。第4輪的輸出差分和第5輪的輸入差分相同,經(jīng)過KC-1層和L-1層后:

        這里f8=0,f9=g12≠0。接著經(jīng)過S-1層后得到的輸入差分為:

        綜上所述,輸入差分從加密方向傳播2輪得到的中間差分和輸出差分從解密方向傳播2輪得到的中間差分在第8、9字節(jié)處相矛盾,因此該差分為一條4輪不可能差分。

        3 Robin算法6輪不可能差分攻擊

        考慮到6輪Robin算法的最后一輪存在線性層,本節(jié)首先利用等價密鑰技術(shù)[19],將Robin算法等價為一個新的算法,這樣能夠降低不可能差分攻擊時最后一輪的密鑰猜測量,進而降低攻擊的復(fù)雜度。接著利用構(gòu)造的新的4輪不可能差分區(qū)分器,在區(qū)分器前后各加一輪,攻擊6輪的Robin算法。

        設(shè)6輪Robin算法的明文為P,密文為C,根據(jù)Robin算法加密流程知:

        圖4 6輪Robin算法最后一輪等價變換

        此外,根據(jù)K′=L-1(K),考慮K′的第1、7、9、12字節(jié),有如下式子成立:

        下面利用上章構(gòu)造的4輪不可能差分區(qū)分器,并結(jié)合等價密鑰技術(shù),給出6輪Robin算法的不可能差分攻擊,如圖5所示。

        圖5 Robin算法的6輪不可能差分攻擊

        整個攻擊的步驟如下:

        步驟1選擇一個明文結(jié)構(gòu),該明文結(jié)構(gòu)中的數(shù)據(jù)滿足如下形式:

        這里xi(i=0,1,2,…,6)是一個任意可變的字節(jié),ci(i=0,1,2,…,8)是一個固定的字節(jié)。則在該明文結(jié)構(gòu)中任取兩個明文P0、P*0,它們的異或差分值滿足:

        這里ai(i=0,6,7,10,11,14,15)表示一個非零的字節(jié)差分。該明文結(jié)構(gòu)能夠提供28×7=256個明文,能夠提供256×256/2=2111組明文對。

        步驟2選取2n個上述明文結(jié)構(gòu),則它們能夠提供2n+56個明文,2n+111組明文對,選擇使得密文差分滿足如下形式的明文對:

        這里it(t=1,7,9,12)表示一個非零的字節(jié)差分,上述差分形式中有12個字節(jié)差分為零,它成立的概率為2-8×12=2-96。此時,經(jīng)過步驟2后剩下的明密對數(shù)量約為2n+111×2-96=2n+15。

        步驟3對于上述剩余明密對,猜測最后一輪等價密鑰K′的第1、7、9、12字節(jié),即K′1、K′7、K′9、K′12共計32 bit的密鑰,計算:

        選擇使得該差分在第1、7、9、12字節(jié)處相等的明密對,上述事件成立的概率為2-8×3=2-24,則經(jīng)過步驟3后剩下的明密對數(shù)量約為2n+15×2-24=2n-9。

        步驟4對于上述剩余明密對,猜測種子密鑰K的第0、6、7、10、11、14字節(jié),即K0、K6、K7、K10、K11、K14共計48 bit的密鑰。

        根據(jù)K′和K之間的關(guān)系,如式(1)中的第一個等式:

        故有:

        注意到在步驟3中K′1已猜測,當(dāng)猜測K0、K6、K7、K10、K11、K14后,K15即可得到。進一步,計算:

        選擇使得該差分在第0、6、7、10、11、14、15字節(jié)處相等的明密對,上述事件成立的概率為2-8×6=2-48。若該事件成立,則篩除K′的32 bit和K的48 bit共計80 bit的候選密鑰。

        因為中間的4輪差分是不可能差分,所以滿足該不可能差分輸入和輸出形式的候選密鑰是錯誤的密鑰。當(dāng)分析完2n-9個密文對后,錯誤密鑰仍然能夠保留下來的數(shù)目為:

        當(dāng)n=62.8時,

        則所有可能的錯誤密鑰被篩除,剩下的密鑰即為正確密鑰。

        復(fù)雜度分析。數(shù)據(jù)復(fù)雜度為2n+56=2118.8個選擇明文;時間復(fù)雜度主要由步驟3和步驟4組成,注意到在步驟3中主要涉及4個S盒解密,而1輪解密涉及16個S盒,結(jié)合早夭技術(shù)[20]知,步驟3需要:

        在步驟4中涉及7個S盒加密,而1輪加密涉及16個S盒,則步驟4需要:

        注意到在復(fù)雜度計算時,Robin的1輪算法加密和1輪算法解密的時間相當(dāng),因此恢復(fù)80 bit密鑰信息需要的時間復(fù)雜度為:

        它約為296.55/6≈293.97次6輪算法加密。此外,種子密鑰信息是128 bit,上述攻擊能夠恢復(fù)其中80 bit信息,剩下的48 bit密鑰信息可通過窮盡搜索得到。故總的時間復(fù)雜度為293.97+248≈293.97次6輪算法加密。

        4 結(jié)果對比

        本文通過構(gòu)造Robin算法新的4輪不可能差分區(qū)分器,利用輪密鑰之間的關(guān)系,攻擊了6輪Robin算法,攻擊的數(shù)據(jù)復(fù)雜度為2118.8個選擇明文,時間復(fù)雜度為293.97次6輪算法加密。該結(jié)果與已有不可能差分攻擊結(jié)果的比較如表1所示,表中“—”表示無。從表1可以看出,在區(qū)分器構(gòu)造方面,與文獻[17]相同,本文構(gòu)造的區(qū)分器同樣達到了4輪,解決了區(qū)分器構(gòu)造中的線性層信息利用問題。但是本文構(gòu)造的區(qū)分器形式與文獻[17]不同,這意味著在密鑰恢復(fù)階段對應(yīng)的輪密鑰不同;在算法攻擊方面,與文獻[17]相比,本文同樣達到了6輪的攻擊輪數(shù),但是本文通過充分挖掘輪密鑰之間的關(guān)系,解決了文獻[17]中輪密鑰信息利用不充分的問題。通過建立輪密鑰之間的線性關(guān)系,使得在攻擊的過程中,猜測的輪密鑰量減少,攻擊所需的復(fù)雜度降低。具體來說,本文攻擊所需的數(shù)據(jù)復(fù)雜度略低,時間復(fù)雜度約為文獻[17]的1/256,較大程度地降低了不可能差分攻擊所需的時間復(fù)雜度。

        表1 Robin算法不可能差分攻擊總結(jié)

        5 結(jié)束語

        本文主要研究了Robin算法的不可能差分性質(zhì)。通過中間相錯技術(shù)構(gòu)造了一條新的4輪不可能差分區(qū)分器,該區(qū)分器涉及到的輪密鑰之間存在線性關(guān)系,利用該線性關(guān)系,在密鑰恢復(fù)階段,相比文獻[17]能夠少猜測1個字節(jié)的輪密鑰。本文的攻擊結(jié)果相比已有最好結(jié)果,主要改進了其時間復(fù)雜度,使得它約為已有最好結(jié)果的2?8。

        目前關(guān)于Robin算法的不可能差分構(gòu)造還沒有利用到非線性組件S盒的具體細節(jié)。下一步通過研究非線性組件的信息,希望構(gòu)造更長輪數(shù)的區(qū)分器,進而改進其不可能差分攻擊結(jié)果。此外,Robin算法與韓國標準算法ARIA相似,希望通過對Robin算法的研究,能夠進一步提高對ARIA算法的安全性分析結(jié)果。

        猜你喜歡
        利用
        利用min{a,b}的積分表示解決一類絕對值不等式
        利用倒推破難點
        如何利用基本不等式比較大小
        利用一半進行移多補少
        利用口訣算除法
        利用數(shù)的分解來思考
        Roommate is necessary when far away from home
        利用
        回收木再利用——Piet Hein Eek
        低丘緩坡未利用地的開發(fā)利用探討
        河北遙感(2015年4期)2015-07-18 11:05:06
        啪啪视频免费看一区二区| 国产熟人av一二三区| 精品无码一区二区三区爱欲| 国产无套内射久久久国产| 久热这里只有精品99国产| 日本av在线精品视频| 少妇又色又爽又高潮在线看| 少妇愉情理伦片| 久久国产精品波多野结衣av | 亚洲精品中文字幕乱码二区| 在线免费观看蜜桃视频| 成人精品天堂一区二区三区| 国产黄a三级三级三级av在线看| 亚洲日韩成人无码不卡网站| 日韩美女av一区二区三区四区| 艳妇臀荡乳欲伦69调教视频| 人人做人人妻人人精| 日本人妻少妇精品视频专区| 国产亚洲午夜精品久久久| 日本乱偷人妻中文字幕| 亚洲中文字幕无码爆乳| 国产 中文 制服丝袜 另类| 国产国语一级免费黄片| 亚洲色一区二区三区四区| 色狠狠av老熟女| 丰满熟妇人妻av无码区 | 黄色影院不卡一区二区| 一二三四日本中文在线| 99国产精品视频无码免费| 中文字幕一区二区人妻在线不卡| 日韩亚洲精品中文字幕在线观看 | 91久久精品人妻一区二区| 亚洲国产综合久久天堂| 亚洲精品美女久久久久久久| 亚洲精品国产一二三无码AV| 97超碰国产一区二区三区| 美女丝袜美腿玉足视频| 国产在线观看无码免费视频| 亚洲AV永久青草无码性色av| 国产高清不卡二区三区在线观看| 少妇被又大又粗又爽毛片|