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

        ?

        KNOT認證加密算法的零和區(qū)分器分析

        2021-01-29 04:30:58韋永壯李靈琛
        西安電子科技大學學報 2021年1期
        關鍵詞:區(qū)分解密標志

        葉 濤,韋永壯,李靈琛

        (1.桂林電子科技大學 信息與通信學院,廣西壯族自治區(qū) 桂林 541004;2.桂林電子科技大學 廣西密碼學與信息安全重點實驗室,廣西壯族自治區(qū) 桂林 541004;3.密碼科學技術國家重點實驗室,北京 100878)

        伴隨著物聯(lián)網(wǎng)技術和5G通信技術的快速發(fā)展,各種移動通信終端以及物聯(lián)網(wǎng)中的傳感器終端遍布于人們的實際生活。如何確保通信的安全變得愈加重要。輕量級密碼算法作為一種重要的加密體制,具有易于實現(xiàn)、加解密速度快、占用資源少等優(yōu)勢,非常適用于這些資源受限的環(huán)境中,所以,輕量級密碼算法的設計[1]與分析[2]是近些年的研究熱點。最近,NIST(美國國家標準與技術研究院)發(fā)起了輕量級密碼算法征集競賽[3]活動,旨在面向全世界公開征集適用于資源受限環(huán)境下的輕量級密碼算法,其中第1輪共有56個候選算法。經(jīng)過第1輪的安全性評估,現(xiàn)有32個密碼算法入圍第2輪,KNOT密碼算法[4]是其中之一。KNOT密碼算法是由ZHANG等人設計的,由于其可以充分地利用比特切片法來實現(xiàn),所以該算法具有優(yōu)秀的軟件和硬件實現(xiàn)性能。KNOT具有認證加密功能和哈希運算的功能,這些性能的好壞依賴于KNOT內(nèi)部輪置換函數(shù)的安全性。KNOT置換有3個版本,按照每個置換的分組長度,標記為KNOT-256,KNOT-384和KNOT-512,其中KNOT-256算法的軟硬件實現(xiàn)所占用的資源最少,非常適用于資源受限的環(huán)境中。在KNOT的設計文檔中,算法的設計者認為KNOT-256至少需要49輪才能抵抗差分分析和線性密碼分析,同時認為KNOT-256算法存在的最長不可能差分區(qū)分器的輪數(shù)為17輪。對于積分分析,算法的設計者給出了17輪的積分區(qū)分器,需要的數(shù)據(jù)復雜度為2255。但是,是否存在更高輪的區(qū)分器還需要進一步研究。因此,如何給出KNOT認證加密算法安全性新評價是目前的研究熱點。

        2009年,AUMASSON和MEIER等首次提出零和區(qū)分器[5]的概念,本質(zhì)上這個區(qū)分器可以看做擴展的積分區(qū)分器[6]。由于零和區(qū)分器一般是在已知密鑰[7]的前提下構(gòu)造的,所以構(gòu)造零和區(qū)分器的一般方法是從中間狀態(tài)向加密方向和解密方向構(gòu)建積分區(qū)分器,并將這兩個積分區(qū)分器連接到一起[8]。此外,也可以通過利用迭代置換的特殊性質(zhì)[9-10]來構(gòu)建零和區(qū)分器。但是,這些方法是基于算法結(jié)構(gòu)或者算法本身具有的特殊性質(zhì)提出的,不具有通用性??煞中訹11]的提出在很大程度上解決了這個問題??煞中允菑V義的積分性質(zhì),利用優(yōu)化工具求解可分性的混合整數(shù)線性規(guī)劃模型(MILP),攻擊者可以構(gòu)建出高輪的積分區(qū)分器。近些年來,利用可分性質(zhì)結(jié)合自動化搜索工具來構(gòu)建零和區(qū)分器成為了密碼學者的研究熱點內(nèi)容之一[12-13]。可分性的標志位技術[14]是在2018年的美密會上由WANG等人提出的,相比于傳統(tǒng)的可分性分析方法,利用添加標志位的可分性技術可以提高可分性的MILP模型的精確性和擴展區(qū)分器的輪數(shù),同時能夠提高搜索區(qū)分器的效率。將標志位技術應用于分組密碼算法零和區(qū)分器的搜索中能否提高零和區(qū)分器的輪數(shù)或縮減需要的計算復雜度,還需要進一步研究。

        筆者首先給出了密碼S盒可分性模型的新構(gòu)建方法;結(jié)合KNOT-256算法的結(jié)構(gòu)特點,給出了KNOT-256算法的可分性新模型,并由此設計了KNOT-256密碼算法的零和區(qū)分器自動化搜索方法。研究結(jié)果表明:KNOT-256存在20到30輪的零和區(qū)分器,這里僅提供第20輪和第30輪的結(jié)果,詳見表1。

        表1 KNOT-256分析結(jié)果

        文中用到的符號定義見表2。

        表2 符號說明

        1 基礎知識

        1.1 可分性質(zhì)以及積分區(qū)分器的構(gòu)造

        可分性[11]最初是由TODO在2015年提出的,這是一種廣義的積分性質(zhì)。2016年,TODO等人提出了基于比特的可分性質(zhì)[15],其具體的定義如下。

        (1)

        為了更好地描述可分性的傳播性質(zhì),文獻[16]中提出了可分性軌跡的概念,并給出了復制、與、異或等基本運算以及S盒的可分性傳播模型。利用這些模型,可以構(gòu)建出一個不等式系統(tǒng)來描述可分性的傳播軌跡,然后利用優(yōu)化求解工具,如GUROBI[17],通過判斷模型是否有解來確定積分區(qū)分器是否存在。

        1.2 可分性的標志位技術

        在利用可分性質(zhì)搜索積分區(qū)分器時,活躍位置對應的模型變量設置為1,其余的固定位置對應的模型變量設置為0。在實際的密碼算法中,如果將這些固定的位置設置為不同的值,可分性的傳播軌跡會受到影響。所以,為了更精確地描述可分性的傳播性質(zhì),WANG等人在2018年的美密會上提出了可分性的標志位技術[14]。

        對于可分性的MILP模型中的變量v,定義其對應的標志位為v.F∈{1F,0F,δ},其中,1F表示變量在算法的內(nèi)部狀態(tài)的值為1,0F表示變量在算法的內(nèi)部狀態(tài)的值為0,δ表示變量在算法的內(nèi)部狀態(tài)的值不確定。標志位的“異或”運算規(guī)則為

        (2)

        標志位的“與”運算規(guī)則為

        (3)

        利用算法的結(jié)構(gòu),結(jié)合標志位的基本運算規(guī)則,可以得到密碼置換任意的中間狀態(tài)對應的標志位。在對密碼算法的可分性質(zhì)構(gòu)建模型時,需要考慮標志位對模型的影響。標志位的影響主要表現(xiàn)在“與”運算的模型上。

        (4)

        1.3 KNOT-256置換介紹

        KNOT密碼算法[4]是國際輕量級密碼算法標準化征集競賽活動的第2輪候選算法之一[3]。按照分組長度,KNOT置換分為KNOT-256、KNOT-384和KNOT-512。其中,KNOT-256非常適用于在資源受限的環(huán)境下使用,所以筆者重點研究KNOT-256置換的安全性。KNOT-256置換的輪函數(shù)包含輪常數(shù)異或、列替換、行移位3個基本操作。

        首先定義KNOT-256置換的第i輪的輸入狀態(tài)為Wi,輸出狀態(tài)為Wi+1,i≥0。Wi的具體形式如下:

        (2) 替換SubCol(Wi):KNOT-256密碼算法的S盒對每一列進行操作,具體的操作方式如下:

        表3 KNOT置換的S盒

        (3) 行移位ShiftRow(Wi):KNOT-256行移位操作對中間狀態(tài)的每行進行操作,其中第0行不移位,第1行循環(huán)左移1位,第2行循環(huán)左移8位,第3行循環(huán)左移25位,得到的狀態(tài)為第i輪的輸出狀態(tài)Wi+1。

        2 新零和區(qū)分器構(gòu)建方法

        2.1 零和區(qū)分器基本構(gòu)建方法

        零和區(qū)分器[5]的概念是由AUMASSON和MEIER在2009年提出的,其基本的定義如下。

        可以利用可分性質(zhì)分別在加密方向和解密方向構(gòu)建積分區(qū)分器,然后將這兩個積分區(qū)分器連接在一起得到零和區(qū)分器。具體的步驟如下:

        ① 定義加密n1輪后的狀態(tài)對應的模型變量為vn1,選取活躍變量的下標集合為V,則vn1[j]=1,j∈V,其余固定為常數(shù)的位置的模型變量賦值為0,按照可分性的傳播模型構(gòu)建算法解密n1輪的可分性模型,并搜索對應的積分區(qū)分器。

        ② 選取同樣的活躍位置V,構(gòu)建算法加密方向n1+1輪到n1+n2輪的可分性模型,并搜索對應的積分區(qū)分器。

        ③ 如果①和②都存在積分區(qū)分器,則可以得到n1+n2輪的零和區(qū)分器,構(gòu)建這樣的區(qū)分器需要的數(shù)據(jù)復雜度為2|V|。

        2.2 基于可分性和標志位技術的零和區(qū)分器搜索方法

        對于典型的分組密碼算法,其非線性層一般是由多個S盒構(gòu)成的。如何構(gòu)建基于標志位的S盒的可分性傳播模型,是需要重點研究的問題。下面給出了算法1。

        定義n比特S盒的輸入x={x0,x1,…,xn-1},S盒的輸出表達式為S(x),特別地,S(x|I,C)表示輸入固定xi0=c0,xi1=c1,…,xi|I|-1=c|I|-1后對應的輸出表達式。如果I,C都為空的集合,則S(x)=S(x|I,C)。

        算法1添加標志位后S盒的可分性傳播軌跡。

        ⑤y=S(x|I,C)。

        ⑧ 返回K。

        算法2縮減LS(x|I,C),得到S(x|I,C)對應的可分性MILP模型MS(x|I,C)。

        ③Ei=[]。

        ④ 對于j從0 到|LS(x|I,C)| - 1,重復執(zhí)行⑤到⑦。

        ⑤ val=lj·(ti‖1),

        ⑥ 如果val<0:

        ⑦ 將j添加到集合Ei中。

        ⑧ 定義M為空的MILP模型。

        益智仁揮發(fā)油對東莨菪堿致小鼠學習記憶障礙的改善作用研究 …………………………………………… 馬俊俏等(22):3074

        ⑨ 定義模型M中的變量z0,z1,…,z|LS(x|I,C)|-1。

        算法2的輸出表示排除S(x|I,C)全部的不可能可分性軌跡需要的最少的不等式。其中,算法2的第2行到第7行的作用是得到可以刪除S(x|I,C)的不可能可分性軌跡ti的不等式的下標集合Ei;第8行到12行的作用是構(gòu)建用于縮減LS(x|I,C)的MILP模型;第13行到第19行的作用是對模型進行求解。模型如果有解,則判斷是否存在zi=1;如果zi=1,則說明li包含在縮減后的不等式系統(tǒng)中;如果模型無解,則說明S(x|I,C)的可分性傳播軌跡不構(gòu)成凸包,需要使用“復制”“與”“異或”運算的模型來構(gòu)建S(x|I,C)的可分性傳播模型。

        輸入不同的I,C到算法1和算法2中,可以得到不同的標志位對應的S盒的可分性的MILP模型MS(x|I,C),這些不同的模型預先存儲到一個大表中。當構(gòu)建算法的可分性模型時,首先基于算法結(jié)構(gòu),按照式(2)和式(3)計算經(jīng)過每一步操作后的狀態(tài)對應的標志位。在對S層操作前,先根據(jù)標志位判斷每一個S盒對應的I和C,然后將對應的模型MS(x|I,C)添加到密碼算法輪函數(shù)的可分性模型中。對于輪函數(shù)中的其余的線性變換,如行移位、輪常數(shù)加、輪密鑰加等操作,標志位對可分性模型沒有影響,這些操作的可分性模型的構(gòu)建和標志位的轉(zhuǎn)化是獨立進行的。這樣迭代多輪后,可以分別構(gòu)建出加密方向和解密方向的可分性模型,然后再利用2.1節(jié)中的方法來搜索零和區(qū)分器。為了更好地體現(xiàn)可分性的標志位技術以及新的S盒的可分性模型在構(gòu)建零和區(qū)分器中發(fā)揮的積極作用,對KNOT-256置換的安全性進行了評估。

        3 KNOT-256置換的零和區(qū)分攻擊

        3.1 KNOT-256的S盒可分性的MILP模型構(gòu)建新方法

        表4 KNOT算法S盒的可分性傳播軌跡

        將KNOT的S盒的可分性軌跡作為SAGE軟件中的函數(shù)inequality_generator( )的輸入,可以得到201個線性不等式LS(x);然后利用算法2縮減LS(x)中的不等式,可以得到S盒的可分性傳播模型為MS(x)。具體的表達式如下:

        (5)

        當集合I和C不為空集時,利用算法1和算法2可以得到固定位置I后S盒的可分性模型MS(x|I,C)。以I={2,3},C={0,0}為例,可以得到此時對應的可分性軌跡TS(x|{2,3},{0,0}),如表5所示。

        表5 S(x|{2,3},{0,0})的可分性軌跡

        將可分性軌跡TS(x|{2,3},{0,0})輸入到SAGE軟件中的函數(shù)inequality_generator( )中,可以得到11個不等式LS(x|{2,3},{0,0})。將LS(x|{2,3},{0,0})輸入到算法2中,可以得到S(x|{2,3},{0,0})的可分性傳播模型:

        (6)

        但是,在測試的過程中發(fā)現(xiàn),對于KNOT密碼算法的S盒,當I={0,2},C={1,0}或者|I|=3時,算法2中構(gòu)建的模型是無解的。這說明固定這些位置后,S盒的可分性軌跡不是一個凸集。為了構(gòu)建這些情況下S盒的可分性模型,需要計算出此時S盒每一位的輸出表達式,然后利用“復制”“與”“異或”運算的可分性模型來構(gòu)建此時的S盒的模型。以I={0,2},C={1,0}為例,此時S盒的輸出表達式如下:

        (7)

        (8)

        同理,可以得到|I|=3時對應的可分性模型。

        對于解密方向的KNOT的S盒,可以使用同樣的步驟得到S盒的可分性傳播模型。需要注意的是,當I={0,1},C={0,1}或者|I|=3時,解密S盒對應的可分性軌跡TS-1(x|I,C)不是凸集,需要計算出此時KNOT逆S盒每一位的輸出表達式,然后利用“復制”“與”“異或”運算的可分性模型來構(gòu)建此時的S盒的模型。

        3.2 基于可分性和標志位技術的KNOT-256置換可分性模型構(gòu)建方法

        KNOT_Division_Encryption_one_Round(i,M,ai,bi,ai.F,bi.F)

        和 KNOT_Division_Decryption_one_Round(i,M,ai,bi,ai.F,bi.F) ,

        其中,參數(shù)i代表加密或解密的是第幾輪,參數(shù)M代表可分性的MILP模型,ai.F代表模型變量ai對應的標志位,bi.F代表模型變量bi對應的標志位。算法3給出了第i輪KNOT-256加密方向可分性的MILP模型構(gòu)建方法,解密方向與上述同理。

        算法3第i輪KNOT-256加密的可分性MILP模型構(gòu)建方法。

        ① KNOT_Division_Encryption_one_Round(第i輪加密,模型M,ai,bi,ai.F,bi.F):

        ②ai.F=ai.F⊕RC[i]。

        ③ 對于j從0到 63 重復執(zhí)行④:

        ⑤ 對于j從0到63重復執(zhí)行⑥到:

        ⑥I=[],C=[]。

        ⑦ 對于j1從0到3,重復執(zhí)行⑧到⑩。

        ⑨ 將j1添加到集合I中;

        算法4構(gòu)建KNOT-256置換的n1+n2輪零和區(qū)分器。

        ① KNOT_Zero_Sum_Distinguisher(n1,n2,V):

        ② 定義兩個空的可分性模型Me和Md。

        ③ 對于集合{(0,256]-V}中的每一個元素i,重復執(zhí)行④到⑥:

        ⑦ 對于集合V中的每一個元素i,重復執(zhí)行⑧到⑨:

        ⑩ 對于i從0到n1- 1,構(gòu)建KNOT-256解密方向輪函數(shù)的可分性的MILP模型:

        對于Wn1中的非活躍的位置,都賦值為常數(shù)0,利用算法4,可以得到20輪到30輪的KNOT-256的零和區(qū)分器。在相同的活躍位置的條件下,與不添加標志位得到的結(jié)果進行了對比,部分得到的結(jié)果見表6(求解器:Gurobi 8.0;編程語言:Python 2.7;運行環(huán)境:Intel Core i7-5500U 2.4GHz)。

        表6 KNOT-256零和區(qū)分器

        (9)

        通過上面的討論可知,在利用可分性質(zhì)構(gòu)造零和區(qū)分器的過程中,筆者提出的方法考慮了固定的常數(shù)對區(qū)分器的影響,而這種影響可以通過標志位技術引入可分性的模型的構(gòu)造中。相比于普通的可分性建模方法,筆者構(gòu)建的模型更精確,并且求解的速度更快。但是,當攻擊輪數(shù)進一步提高后,由于在模型中加入了大量的限制條件,這樣會超過計算機的求解能力,從而導致模型求解的時間加長,甚至不能在有限的時間內(nèi)返回模型的解。這也是許多區(qū)分器自動化搜索算法面臨的問題。如何解決這個問題還需要進一步研究。

        4 結(jié)束語

        筆者給出了分組密碼算法S盒的新可分性模型的構(gòu)建方法,同時基于KNOT-256算法的S盒性質(zhì)和算法結(jié)構(gòu),設計了KNOT-256算法的零和區(qū)分器的自動化搜索方法。研究結(jié)果表明:KNOT-256置換存在30輪的零和區(qū)分器。盡管上面的分析不能對KNOT認證加密算法的安全性構(gòu)成威脅(分組長度是256 bit的版本的初始化輪數(shù)為52輪),但是給出了構(gòu)造KNOT算法零和區(qū)分器的新方法及實用分析工具。

        猜你喜歡
        區(qū)分解密標志
        區(qū)分“旁”“榜”“傍”
        解密“熱脹冷縮”
        你能區(qū)分平衡力與相互作用力嗎
        多功能標志桿的使用
        體育教學(2022年4期)2022-05-05 21:26:58
        解密“一包三改”
        少先隊活動(2020年9期)2020-12-17 06:17:31
        炫詞解密
        認標志
        啟蒙(3-7歲)(2019年5期)2019-06-27 07:24:50
        首都的標志是只熊
        教你區(qū)分功和功率
        醫(yī)改進入新階段的重要標志
        国产黄色一级大片一区二区| 欧美激情内射喷水高潮| 欧美精品一区视频| 区一区一日本高清视频在线观看 | 狠狠干视频网站| 亚洲国产av精品一区二| 久久久久亚洲av无码a片| 中文字幕在线亚洲日韩6页| 国产成人77亚洲精品www| 久久精品亚洲国产成人av| 痴汉电车中文字幕在线| 国产精品一区二区在线观看| 91福利国产在线观看一区二区| 大量老肥熟女老女人自拍| 久久综合精品人妻一区二区三区| 在线视频观看免费视频18| 国产日产精品久久久久久| 丁香婷婷激情俺也去俺来也| 亚洲av天堂免费在线观看| 性生交大全免费看| 国产小屁孩cao大人免费视频| 伊人五月亚洲综合在线| 无码人妻一区二区三区在线| 亚洲综合无码一区二区| 亚洲色偷偷偷综合网另类小说| 日韩精品一区二区三区乱码| 欧美乱妇高清无乱码在线观看| 中文字幕国产91| 加勒比一区二区三区av| 日本污ww视频网站| 日日碰狠狠丁香久燥| 杨幂Av一区二区三区| 99国产精品久久一区二区三区| 亚洲 自拍 另类小说综合图区| 男人天堂免费视频| 中文字幕日韩一区二区不卡| 在线精品亚洲一区二区动态图| 国产成人av 综合 亚洲| 国产精品国产三级国产在线观| 黄射视频在线观看免费| 高清偷自拍第1页|