资源描述:
《基于选择差分的trivium猜测攻击》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于选择差分的Trivium猜测攻击计算机工程第36卷第9期ComputerEngineeringVol.36No.9文章编号:1000—3428(2010)09—0129—022010年5月May2010文献标识码:A中图分类号:TP309.2孙国平,胡予濮,白生江(西安电子科技大学计算机网络与信息安全教育部重点实验室,西安710071)摘要:给出一种基于选择差分对Trivium算法进行猜测攻击的方法。通过分析Trivium密钥流生成方程,确定需要改变Trivium288bit内部状态中的52
2、bit,使用错误注入改变所确定的52bit,并生成密钥流,与原始密钥流进行差分。该方法只需猜测45bit即可使密钥流生成方程中的177个非线性方程成为线性方程,加上己有的66个线性方程,使用高斯消元法获得剩余的243bit,从而攻破Trivium。关键词:Trivium算法;选择差分攻击;猜测攻击GuessAttackonTriviumBasedonChosenDifferentialSUNGuo-ping,HUYu-pu,BAISheng-jiang(KeyLaboratoryofComput
3、erNetworkandInformationSecurityofMinistryofEducation,XidianUniversity,Xi'an710071)[Abstract]ThispaperproposesaguessattackmethodonTriviumbasedonchosendifferential.ByanalyzingthekeygenerationequationsofTriviumanddetermining52bitofitsinteriorstatewhichn
4、eedtobealtered,andthenfaultinjectionsareusedtoalterthese52bitandafaultykeystreamcanbeobtained.Thedifferencebetweenthefaultykeystreamandtheoriginalkeystreamiscomputed,sothatitonlyneedguess45bittomake177nonlinearequationsofkeystreamgenerationequationsb
5、ecomelinearequations.Withtheadditionof66originallinearequations,therest243bitcanbeobtainedbygausselimination,thusTriviumisbroken.【Keywords]Trivium;chosendifferentialattack;guessattack1概述流密码是一类重要的数据加密方法。Trivium[l]是eSTREAM工程的最终候选算法之一,eSTREAM工程是欧洲ECRYPT
6、[2]的子项目。Trivium使用密钥K和一个初始化向量IV产生一个长的伪随机序列,称为密钥流序列u。密文是由明文和密钥做异或(XOR)得到的,即c=m+u,其中,“+”表示异或运算。虽然TriviumTrivium有288bit内部状态和80bit的密钥,是基于硬件实现的,但是软件实现也很快。由于设计非常简单,因此成为最有竞争力的候选算法之一。文献[3]给出的猜测攻击结果是猜测135bit。文献[4]针对Salsa20和Trivium提出了滑动攻击,指出Trivium有239个滑动对。文献[5
7、]提出的密钥差分攻击将穷举搜索的复杂度降低到268。2.2内部状态的更新过程根据文献[3],Trivium的状态转移如下:(si〜s93)t+l=(s243+s286xs287+s288+s69,sl~s92)t(s94〜sl77)t+l=(s66+s91xs92+s93+sl71,s94〜sl76)t(S178〜s288)t+l=(sl62+sl75Xsl76+sl77+s264,sl78〜s287)t容易得出内部状态的逆过程为(si〜s93)t=(s2〜s93,s67+s92xs93+s94
8、+sl72)t+l(s94〜sl77)t=(s95〜Sl77,sl63+sl76xsl77+sl78+s265)t+l(sl78〜s288)t=(sl79〜s288,s244+s287xs288+sl+s70)t+l密钥流的生成如下:Zt=s66+s93+sl62+sl77+s243+s288可以看出,t时刻生成的密钥流比特zt是t时刻内部状态(sl,s2,Us288)的一个线性函数。从t时刻到t+1时刻的内部2Trivium算法Trivium使用3个非线性移位寄存器[6],长度分别是93bit