1、收稿日期:网络出版时间:基金项目:陕西省自然科学基础研究计划(J M );河南省网络密码技术重点实验室研究课题(L N C T A )作者简介:杨小雪(),女,西安电子科技大学硕士研究生,E m a i l:q q c o m通信作者:陈杰(),女,副教授,E m a i l:j c h e n m a i l x i d i a n e d u c n网络出版地址:h t t p s:d o i o r g/j i s s n d o i 敭 j 敭i s s n 敭 几类密码算法的神经网络差分区分器的改进杨 小 雪,陈杰,(西安电子科技大学 通信工程学院,陕西 西安 ;河南省网络密码技术重
2、点实验室,河南 郑州 )摘要:为了进一步研究神经网络在密码分析方面的应用,利用深度残差网络和传统差分密码分析技术构造并改进了几类典型的轻量级分组密码算法的神经网络差分区分器.主要取得以下结果:分别构造了轮P R E S E N T、轮K L E I N、轮L B l o c k和 轮S i m e c k/的神经网络差分区分器,并基于密码的分组结构分别进行了分析;基于S P N结构分组密码的特点对P R E S E N T和K L E I N的神经网络差分区分器进行了改进,最多可提高约 的准确率,并在对L B l o c k的神经网络差分区分器进行研究时验证得出这种改进方式不适用于F e i
3、s t e l结构的分组密码;基于S i m e c k/本身密码算法的特点对其神经网络差分区分器进行改进,提高了约 的准确率.同时,将S i m e c k/的改进方法与多面体差分分析进行结合,将已有的轮和轮S i m e c k/多面体神经网络差分区分器的准确率提高了约和.最后,将实验中得到的类神经网络差分区分器模型分别应用到 轮S i m e c k/的最后一轮子密钥恢复攻击中,其中最佳的实验结果是在 次攻击实验中以 的数据复杂度达到约 的攻击成功率.关键词:神经网络差分区分器;轻量级分组密码;部分密钥恢复攻击中图分类号:T P 文献标识码:A文章编号:()I m p r o v e m
4、 e n t o f t h en e u r a l d i s t i n g u i s h e r so f s e v e r a l c i p h e r sY ANGX i a o x u e CHENJ i e 敭 S c h o o l o fT e l e c o mm u n i c a t i o n sE n g i n e e r i n g X i d i a nU n i v e r s i t y X i a n C h i n a 敭 H e n a nK e yL a b o r a t o r yo fN e t w o r kC r y p t o
5、g r a p h yT e c h n o l o g y Z h e n g z h o u C h i n a A b s t r a c t I no r d e rt of u r t h e rs t u d yt h ea p p l i c a t i o no ft h en e u r a ln e t w o r ki nc r y p t a n a l y s i s t h en e u r a ln e t w o r kd i f f e r e n t i a ld i v i d e ro fs e v e r a lt y p i c a ll i g h
6、 t w e i g h tb l o c kc i p h e ra l g o r i t h m si sc o n s t r u c t e da n di m p r o v e db yu s i n gad e e pr e s i d u a ln e t w o r ka n dt r a d i t i o n a ld i f f e r e n t i a lc r y p t a n a l y s i st e c h n i q u e s 敭 T h em a i nr e s u l t sa r ea s f o l l o w s 敭 F i r s t
7、 t h en e u r a ld i s t i n g u i s h e r so ft or o u n d so fP R E S E N T r o u n d so fK L E I N t or o u n d so fL B l o c ka n dt o r o u n d so fS i m e c k a r ec o n s t r u c t e da n da n a l y z e dr e s p e c t i v e l yb a s e do nt h e b l o c k c i p h e rs t r u c t u r e 敭 S e c o
8、 n d b a s e d o nt h ec h a r a c t e r i s t i c so fS P N s t r u c t u r e b l o c k c i p h e r s P R E S E N Ta n d K L E I N sn e u r a ld i s t i n g u i s h e r sa r ei m p r o v e d w h i c hc a ni m p r o v et h ea c c u r a c yo fa b o u t敭 a tm o s t 敭 I nt h e s t u d yo fL B l o c k s
9、n e u r a l d i s t i n g u i s h e r i t i sv e r i f i e dt h a t t h i s i m p r o v e dm e t h o d i sn o ts u i t a b l ef o r F e i s t e ls t r u c t u r eb l o c kc i p h e r s 敭 T h i r d b a s e d o nt h ec h a r a c t e r i s t i c so ft h es i m e c k c r y p t o g r a p h ya l g o r i t
10、 h m t h en e u r a ld i s t i n g u i s h e ri si m p r o v e d w i t ht h ea c c u r a c yi m p r o v e d b y敭 敭M e a n w h i l e t h e i m p r o v e dm e t h o do fS i m e c k i sc o m b i n e dw i t ht h ep o l y h e d r a ld i f f e r e n c ea n a l y s i s a n dt h ea c c u r a c yo f t h ee x
11、 i s t i n g r o u n da n d r o u n dS i m e c k p o l yn e u r a ln e t w o r kd i f f e r e n c ep a r t i t i o ni s 年月第 卷第期西安电子科技大学学报J OURNA LO FX I D I ANUN I V ER S I TYF e b V o l N o i n c r e a s e db ya n d敭 敭 F i n a l l y t h e t h r e et y p e so fn e u r a ld i s t i n g u i s h e r so
12、 b t a i n e di nt h ee x p e r i m e n ta r ea p p l i e dt ot h e l a s tr o u n dk e yr e c o v e r ya t t a c ko f r o u n ds i m e c k w i t ht h eb e s te x p e r i m e n t a lr e s u l tb e i n ga 敭 s u c c e s sr a t ew i t h 敭 d a t ac o m p l e x i t y i n a t t a c k s 敭K e yW o r d s n e
13、 u r a l d i f f e r e n t i a l d i s t i n g u i s h e r l i g h t w e i g h tb l o c kc i p h e r s p a r t i a lk e yr e c o v e r ya t t a c k s引言作为对称密码领域的重要分支,分组密码在信息安全领域已得到广泛应用.其飞速发展得益于 世纪末美国的A E S计划和本世纪初欧洲的N E S S I E计划.这段时间学者们提出了许多著名的密码算法,包括R i j n d a e l、C a m e l l i a、S M 等.在这个万物互联时代,无线
14、射频技术和无线传感技术遍布军事、生活和环境等各个领域,然而网络底层设备无法承担A E S和S M 等传统分组密码算法加密所产生的资源消耗;轻量级密码算法的诞生主要就是用于解决数据加密代价过高的问题.近十几年涌现了一大批轻量级分组密码算法,其 中 具 有 代 表 性 的 如 年 被 相 继 提 出 的P R E S E NT和C L E F I A,年 的L E D和L B l o c k,年被提出的P R I N C E和K L E I N,年美国国家安全局(N a t i o n a lS e c u r i t yA g e n c y,N S A)提出的S P E C K和S I MON
15、密码族,年提出的S I ME C K 以及 年提出的G I F T 等等.由于这些密码算法分组大小、密钥大小的减小和算法复杂性的降低,其安全性颇受关注,引起了密码分析学者的广泛研究 .目前最有效的两类分组密码分析手段就是差分分析 和线性分析.而这两类分析方法最关键的环节就是有效区分器的构造.传统的分组密码分析手段近几年并没有展现出较好的提升潜力,研究人员开始寻找其他的替代方法,并将目光放在了深度学习上.深度学习在密码分析的应用一开始是集中于侧信道分析.年,GHO R在文献 中提出了一种特殊的差分区分器 神经网络差分区分器,同时将其应用到S P E C K/,区分准确率均高于传统的差分区分器.文
16、献 也展示了利用神经网络差分区分器进行密钥恢复攻击的结果;对比目前最好的攻击结果,以数据复杂度提高 为代价将计算复杂度从 降低到.在GHO R的文献 发表之后,国内外许多密码分析学者对此展开热烈研究.主要可分为个方向:()致力于完善和改进神经网络模型,从而得到更高效的区分器.B AK S I等 利用不同的机器学习算法构造了对非马尔科夫型密码G I ML I、A S C ON、KNO T的差分区分器模型.B AK S I等 又对文献 的模型进行了应用.CHE N等提出了基于神经网络的多密文对差分区分器模型,成功提高了区分器的准确率,但在密钥恢复阶段需要付出额外的数据筛选和生成的代价.年以来,多面
17、体差分与神经网络的结合模型被提出 ,通过提供多个差分提高了原始模型的准确率.年,杨小雪等 基于S p e c k e y和L A X 分析了密码算法的线性运算部件对神经网络差分区分器的影响,并分析了输入数据所含信息对S I MON/的神经网络差分区分器的影响,最后得出相关结论.()试图解释神经网络学习到的密码特征,给密码分析学者提供新的研究方向.B E NAM I R A等 提出了文献 模型的替代策略,该策略模型均由可解释的机器学习算法组成,一定程度上解释了神经网络学习到的密码算法内容,但仍存在对神经网络的依赖.B C U I E I等 则通过修剪文献 的模型来准确识别神经网络学习到的特征,但
18、最后得出的结论是需要更强大的解释器来解释该特征.()将深度学习应用到其他的传统分析方法中,例如线性分析 和原像攻击.基于以上研究现状可以得出,对于物联网时代日益增长的信息安全需求,神经网络在轻量级分组密码的应用是一个必然的趋势,可以在一定程度上解放人力资源,具有现实意义.目前神经网络模型的应用还处于初步阶段,应用该模型的密码算法有限,并且存在改进空间.笔者选取了种典型的轻量级分组密码算法进行研究,要进行的工作包括:()分别构造轮P R E S E NT、轮K L E I N、轮L B l o c k和 轮S i m e c k/的神经网络差分区分器,基于结果分别对不同分组结构的密码进行分析.(
19、)分别对P R E S E NT、K L E I N和S i m e c k/的神经网络差分区分器进行改进,期望得到比原始模型更高的准确率,并且该改进措施不需要增加训练数据量,也不会影响区分器在密钥恢复阶段的应用.第期杨小雪等:几类密码算法的神经网络差分区分器的改进()将S i m e c k/的改进方法与多面体差分进行结合,期望得到比已有模型更高准确率的模型.()为了对比改进前后的神经网络差分区分器在密钥恢复阶段的不同表现,对 轮的S i m e c k/进行最后一轮子密钥恢复,并给出相应的复杂度分析.基础知识 差分分析表符号和相关设置说明符号含义趋近于循环左移按位与运算按位异或运算N u
20、m_b l o c k分组数量B l o c k_s i z e分组大小W o r d_s i z eB l o c k_s i z e/Fnn比特向量集合差分分析法是由B I HAM和S HAM I R在美密 年提出的,最早将其应用于D E S的分析方法,是最有效的对称密码算法分析技术之一.文中所需的编辑符号和相关设置如表所示.对于分组长度为n的r轮迭代密码E,其差分定义为:X Xr,其中 X为输入差分,Xr为输出差分,X表示,n中的明文,的差分概率定义为Pr(X Xr)X|EK(X)EK(X X)Xrn,()其中,Pr表示等式成立的概率.对于,n上的随机置换,任意给定差分(,)(,),则差
21、分概率约为n.如果找到了一条r轮差分(,),其概率大于n,就可以将r轮的加密算法和随机置换区分开,即找到了一个r轮差分区分器.在找到区分器的基础上向上或向下扩展若干轮,可以进行密钥恢复攻击.差分分析的重点是确定明文差分在加密过程中的高概率传播特性,也就是利用在固定明文差分下的密文差分分布的不均匀性来寻找高概率差分区分器.当攻击者进行选择明文攻击时可以得到大量符合明文差分的密文对,这些密文对所能提供的区别于随机分布的特征往往不仅限于差分值,而神经网络可以学习到这些不可见的特征 .神经网络模型差分区分器的功能可以归结为区分特定密码的密文分布和随机分布,神经网络差分区分器模型也是基于这个功能来构造的
22、.在数学统计领域,区分n维正态分布和n维均匀分布(即n维向量空间的随机分布),可以通过获取服从两类分布的大量样本来得到相应的统计特征,例如数学期望和协方差矩阵,以此区分两个分布.神经网络则是从大量密文对和随机数据(一定程度上符合随机分布的数据)中学习到可以区分这两类分布的各种数据特征,从文献 的结果可以得出这些数据特征包括但不限于差分值.用E表示密文分布,用R表示随机分布,用Xi表示数据样本,用f表示神经网络整体运算,则神经网络模型的预期目标为f(Xi)Pr(XiE|特征,特征,特征n),XiE,XiR.()利用具备较强分类能力的深度残差网络,对分别属于密文分布和随机分布的数据进行分类.文中将
23、应用文献 的模型构造并改进类轻量级分组密码的神经网络差分区分器,模型由输入层、数据预处理层、残差层、分类层和输出层组成.以下是数据生成过程、模型超参数的设置和模型结果评估指标.数据生成过程()选择n个明文对(P,P),(P,P),(Pn,P n)和对应的标签Y,Y,Yn,根据标签使得明文对符合式().Yi,Pi,Pi,in.()()加密(P,P),(P,P),(Pn,P n)得到对应的密文对(C,C),(C,C),(Cn,C n),将密文对转换成二进制数作为输入样本X,X,Xn,此时的Xi和Yi相对应.模型超参数设置模型超参数的设置均为多次训练调试后的结果.以下是具体参数的配置:西安电子科技大
24、学学报第 卷()在输入层,设置输入神经元个数为NN u m_b l o c kBB l o c k_s i z e,训练样本数量为,验证样本数量为,测试样本数量为,B a t c hS i z e(批次大小)为 .()在数据预处理层,将输入数据Xi整型为(NN u m_b l o c k,WW o r d_s i z e),设置滤波器数量为,K e r n e l S i z e(内核大小)为,使用的激活函数为线性整流单元(R e c t i f i e dL i n e a rU n i t,R e L U).()在残差层,设置滤波器数量为,K e r n e lS i z e(内核大小)为
25、,残差块的数量可取到,笔者分别取残差块数量为和 进行训练,发现实验结果相差很小,具体表现为准确率差距低于.为了展示高效率训练的结果,文中使用残差块数量为,使用的激活函数为R e L U.()在分类层和输出层,设置两层全连接层的神经元数量分别为d 和d,输出神经元个数为.分类层和输出层使用的激活函数为R e L U和S i g m o i d,输出单元前面的网络使用R e L U激活函数是为了减少梯度消失,而输出单元使用S i g m o i d激活函数是为了将最终结果包含在,区间内.模型训练及测试评估指标用Ti表示测试样本或验证样本,将得到的初步结果f(Ti)进行如下处理:Zi,f(Ti),f
26、(Ti).()模型的训练效果可以通过验证准确率和验证损失来进行展示,用vv a l_a c c和vv a l_l o s s分别表示验证准确率和验证损失,其表达式如下:vv a l_a c cmmi(ZiVi),()其中,m为验证样本数,Vi是验证样本对应的标签.vv a l_l o s smmi(ZiVi).()文中所使用的模型评估指标主要为准确率(aa c cf),其表达式如下:aa c cfnni(ZiYi),()其中,n为测试样本数,Yi是测试样本对应的标签.图P R E S E N T加密过程两类S P N结构密码神经网络区分器的构造及改进笔者将应用 节所述的神经网络模型来构造P R
27、 E S E NT和K L E I N这两类密码算法的差分区分器,并根据其算法特点提出新的改进模型,提升区分器的准确率.选择这两类密码的原因不仅在于其典型性,还在于这两类密码的可比性.P R E S E NT和K L E I N都是S P N分组结构的轻量级密码,广受关注和研究 ,两者常用分组大小均为 b i t,常用密钥大小均为 b i t.构造P R E S E N T和K L E I N的神经网络区分器 具体密码方案名称P R E S E NT是在 年由B O G D ANOV等提出的迭代分组密码,采用 b i t的分组大小和 b i t的主密钥大小,以其高效率和低功耗在众多分组密码中脱
28、颖而出.P R E S E NT所使用的是b i t的S盒(FF),并 在 每 一 轮 复 用 次.其 加 密 过 程 如 图所 示,其 中s B o x L a y e r和p L a y e r分别表示S盒的非线性运算层和P置换层.K L E I N是G ONG等在R F I D S e c 提出的一类轻量级分组密码族.为了与P R E S E NT进行对比,文中采用 b i t的分组大小和 b i t的主密钥大小.K L E I N所使用的也是b i t的S盒(FF),结构与P R E S E NT相 似,只 是 在 线 性 运 算 部 分 用 循 环 移 位(R o t a t e第期
29、杨小雪等:几类密码算法的神经网络差分区分器的改进N i b b l e s)和列混合(M i xN i b b l e s)代替了P置换.其加密过程可参照图.训练结果为了保证训练样本的有效性,笔者根据目前P R E S E NT和K L E I N的最佳差分分析结果 ,分别选择P R E S E NT和K L E I N的输入差分为(,x)和(x ,),设置E p o c h(训练轮次)为,对两类密码进行神经网络区分器的训练.在数据生成阶段,由于这两类密码算法本身的特点,获取训练数据时不可并行运算.笔者对生成的训练数据进行保存作为线下数据库,提高了数据的复用性,便于进行简单的参数调试.文中训练
30、了轮P R E S E NT的神经网络区分器和轮K L E I N的神经网络区分器,显卡型号为M ,平均每个E p o c h的耗时约为分钟.其中轮P R E S E NT的神经网络区分器训练结果如图所示.图以双Y轴图的形式展示了轮P R E S E NT的验证准确率(v a l_a c c)和验证损失(v a l_l o s s).K L E I N的训练结果如图所示.图以双Y轴图的形式展示了轮K L E I N的验证准确率和验证损失.图轮P R E S E N T训练结果图轮K L E I N训练结果使用测试样本对轮P R E S E NT的神经网络区分器和轮K L E I N的神经网络区
31、分器进行测试,结果如表所示.表轮P R E S E N T和轮K L E I N的测试结果轮数P R E S E N T测试准确率K L E I N测试准确率 改进P R E S E N T和K L E I N的神经网络区分器设P R E S E NT和K L E I N神经网络差分区分器的密文分组为C,C,C和C,C,C,则原始输入矩阵格式可表示为MC C C C C CC C C C C C.()节所采用的模型是将输入数据重构为(NN u m_b l o c k,WW o r d_s i z e),这是应用文献 的通用模型的选择.文献 提出,这是为让神经网络学习到的密码算法是面向W o r
32、 d_s i z e的迭代运算.但这只是相对S P E C K/而言的,S P E C K/是一类F e i s t e l结构的密码,W o r d_s i z e是分组大小的一半,每一轮的迭代都是面向W o r d_s i z e的运算.而P R E S E NT和K L E I N都属于S P N结构的密码,迭代过程并不面向W o r d_s i z e,在(NN u m_b l o c k,WW o r d_s i z e)的输入格式下,神经网络模型并不能最大程度地获取这两类密码的密文分布特征.文献 第节的实验结果表示:当训练样本是多对同输入差分的密文对时,神经网络可以学习到更多西安电
33、子科技大学学报第 卷与密码算法有关的信息,从而提高准确率.基于这一改进方向和思路,笔者观察到P R E S E NT和K L E I N的每一轮迭代都复用了 个相同的S盒,而输入矩阵宽度与S盒数量相等时,神经网络也许可以在重构密文对时对比多个相同的S盒得到的输出数据,从而学习到更多和密码算法相关的信息.出于上述改进动机,笔者改变输入矩阵宽度为 来训练新的神经网络区分器改进模型,输入矩阵为M,格式为,可表示为MC C C C C C C C C C C CC C C C C C C C C C C C.()为了便于描述不同输入矩阵格式下的神经网络区分器,文中根据输入矩阵宽度来进行命名,输入矩阵格
34、式为 的神经网络区分器为N,以此类推,有N,训练结果如图和图所示.图和图的纵坐标为训练时的验证准确率,横坐标为训练期数.N _a c c和N _a c c分别表示N 和N 的验证准确率.实验将多次重复进行,但整体训练趋势是没有明显变化的,图和图是其中一次具有代表性的实验结果记录.图轮P R E S E N T在两种输入矩阵格式下的对比图轮K L E I N在两种输入矩阵格式下的对比图展示的是轮P R E S E NT神经网络区分器在两种输入矩阵格式下的验证准确率,其中N 的准确率高于原始模型N.图分别展示了轮K L E I N神经网络区分器在两种输入矩阵格式下的验证准确率,其中N 的准确率同样
35、高于原始模型N.基于以上结果可知,准确率最多可提高约 .由此得出这一改进方式是有效的,神经网络提取到了更多密码算法相关信息,来区分真实密文和随机数据.为了验证改进模型的理论依据的正确性,证明该改进效果的实现并不是因为输入文本向量的长度越小越好,而是与S盒的数量有关.笔者基于不同的输入矩阵格式进一步对不同轮数的P R E S E NT和K L E I N的神经网络差分区分器进行了训练和测试,其中输入矩阵格式的选择包括了M、M、M和M,M和M分别表示为MC C CC C C,()MC C C CCCC C C CCC.()第期杨小雪等:几类密码算法的神经网络差分区分器的改进选择这两类输入矩阵格式是
36、为了保证输入矩阵宽度的多样性.最后得到种输入矩阵格式下的轮K L E I N和轮P R E S E NT的神经网络差分区分器模型N、N、N 和N,其准确率测试结果以及文献 中使用倍样本数时对、轮P R E S E NT的实验结果如表所示;其中N 是文献 中的原始模型,N 是文中所提出的改进模型,N和N 都是用于验证N 的有效性和准确性.表轮P R E S E N T和轮K L E I N的实验结果汇总密码轮数N准确率(验证模型)N 准确率(改进模型)N 准确率(原始模型)N 准确率(验证模型)文献 准确率(倍样本数)K L E I N P R E S E N T P R E S E N T P
37、 R E S E N T P R E S E N T 实验结果分析根据表进行纵向比较,可以看到P R E S E NT的有效神经网络区分器最高可达轮,K L E I N的有效神经网络区分器最高可达轮.P R E S E NT和K L E I N的分组大小、S盒大小和密钥大小均相同,较大的区别在于K L E I N没 有 使 用 普 遍 的P置 换.因 此 实 验 结 果 的 不 同 主 要 是 因 为K L E I N使 用 了 列 混 合(M i x N i b b l e s)操作,让明文各比特的影响迅速得到扩散,也就使得其统计特性(此处指符合特定差分)在第轮就得到很好的隐藏,即神经网络不
38、能识别轮K L E I N密文分布与随机分布的区别.从该实验结果可以看到,使用该神经网络模型可以快速且直观地对P R E S E NT和K L E I N的扩散性进行比较,这一功能同样可以用于其他的轻量级分组密码.根据表进行横向比较,可以得出选择合适的输入矩阵格式可以有效地提高神经网络差分区分器的准确率.对于P R E S E NT,其轮的N 的准确率均高于N(原始模型),并且N和N 的表现都不如N,同时,其轮N 相对于轮N 的准确率提升是最少的.这是因为轮P R E S E NT的N 准确率已经接近,提升空间不大,轮N 相对于轮N 的准确率提升是较为相似的.对于K L E I N,其轮的N
39、的准确率同样是最高的,其准确率为 ,比N 提高了约 .虽然从P R E S E NT的N,N 和N 这类模型看,似乎输入矩阵宽度越小,准确率越高,但N的区分效果均低于N,甚至是低于原始模型的N 的.也就是说输入矩阵宽度并不是越小越好,而是要根据具体的密码算法选择合适的格式,这也是笔者的改进思想.从实验结果可知,比起原始模型,N 是最适合P R E S E NT和K L E I N的神经网络差分区分器模型,可以得到更高的区分准确率.输入矩阵宽度为 时,模型可以更好地匹配这两类密码算法,神经网络在该输入矩阵格式下可以学习到更多的密文分布特征.基于神经网络学习的不可解释性和笔者的改进动机,从实验结果
40、可以得出该项改进得益于神经网络学习到了与S盒数目相关的不可见特征.此外,相对于文献 中对P R E S E NT的已有实验结果,其轮区分器的准确率是高于本章提出的改进模型的,但其是以倍样本数为代价的,而P R E S E NT的样本生成过程是不能并行运行的,这意味着需要倍的计算时间,并且文献 的改进效果会随轮数增加而降低.从表中轮区分器的实验结果可以看出,其利用倍样本量的提升效果和文中提出的改进模型的效果是几乎相同的.这两类S P N结构密码的每个子密钥长度均为 b i t,即与主密钥长度相同,而神经网络差分区分器是对整个密文对进行评分,且目前不能精确到部分比特,因此使用神经网络差分区分器只能
41、一次性恢复子密钥的所有比特.由于子密钥长度过长,且笔者所能利用的实验设备资源有限,此处不对P R E S E NT和K L E I N进行密钥恢复攻击.两类F e i s t e l结构密码神经网络区分器的构造及改进除了S P N结构外,分组密码的另一大结构就是F e i s t e l结构.笔者继续利用神经网络模型来构造西安电子科技大学学报第 卷L B l o c k和S i m e c k/这两类F e i s t e l结构分组密码算法的差分区分器,分别提出S i m e c k/的神经网络差分区分器改进模型和一类新型多面体神经网络差分区分器,并给出 轮S i m e c k/的密钥恢复
42、攻击的实验结果.目前对神经网络模型进行应用的F e i s t e l密码算法多为没有S盒的A R X密码,选择L B l o c k是为了丰富神经网络在F e i s t e l密码算法的应用.选择S i m e c k/的原因不仅在其算法应用的广泛性,还在于笔者发现其算法本身的特点可以用来改进神经网络模型.构造L B l o c k神经网络区分器图L B l o c k迭代过程 具体密码方案名称L B l o c k是WU和Z HANG在A C N S提出的一类典型的F e i s t e l轻量级分组密码,分组大小为 b i t,密钥大小为 b i t,其迭代过程如图所示.Xi表示迭代分
43、组大小的一半,Ki表示轮密钥,其中i,F指的是,的映射,由S B o x层和P置换层组成,迭代过程可表示为XiF(Xi,Ki)(Xi)P(S(XiKi)(Xi).()训练过程及结果笔者根据T EHR AN I P O O R等 的差分分析结果,选择L B l o c k的输入差分为(,x ),使得训练样本具备足够的差分特征,E p o c h s为,其数据生成过程与P R E S E NT和K L E I N的数据生成过程相同.另外,为了验证P R E S E NT和K L E I N的成功改进仅适用于S P N结构的分组密码,笔者基于L B l o c k的S盒数量进行了输入矩阵的切割,分别
44、训练了改进模型N和验证模型N.文中训练了轮L B l o c k的N、N 和N,每个模型在M 显卡下,一个E p o c h的训练平均时长约为m i n,其中N、N 和N 在训练过程中的验证准确率对比如表所示.轮N的准确率明显小于N,这种改进方式并不适合L B l o c k这类F e i s t e l密码.表轮L B l o c k的类模型结果对比轮数N准确率N 准确率N 准确率 S i m e c k/神经网络区分器的改进与部分密钥恢复图S i m e c k迭代过程 具体密码方案名称S i m e c k是YANG等于 年在CHE S上提出的轻量级分组密码族,分组大小可以为/b i t
45、,对应的密钥大小为/b i t,结合了S P E C K和S I MON的特点和优势,其迭代过程如图所示.(Li,Ri)是第i轮的迭代结果,Ki是第i轮的轮密钥.文中研究的是分组大小为 b i t,密钥大小为 b i t的S i m e c k,即S i m e c k/.构造并改进S i m e c k/的神经网络区分器根据文献 可知,对于S i m e c k/,单比特的输入差分具备较好的训练结果,为了后续和文献 的结果形成对比,选择S i m e c k/的输入差分为(,x)训练了 轮的S i m e c k/的神经网络差分区分器;利用M 显卡进行训练时,每一个E p o c h的训练平
46、均时长约为m i n;其训练过程与前类密码的训练过程类似.初步训练结果将与改进第期杨小雪等:几类密码算法的神经网络差分区分器的改进结果对比展示.()改进动机.神经网络区分器模型进行区分的依据是其学习到的密码的密文分布特征,提高模型准确率的一个主要方向就是向神经网络提供更多和密码有关的信息.观察S i m e c k/的迭代过程,笔者发现在加解密过程中,其轮密钥在当前迭代轮数独立于非线性运算,即Ki 在加解密过程中都不经过第i轮的按位与运算.因此,笔者将获取到的密文对进行一轮无密钥的解密运算,期望神经网络能从该运算结果中得到有关上一轮分组的一些信息,从而学习到更多密文分布的特征来提高区分准确率.
47、()改进过程及结果.输入的每一个训练样本都是一个密文对,由符合特定差分(,x)的明文对加密得到,用C,C表示,则原始输入矩阵可表示为(CL,CR,CL,CR).输入根据改进动机对C、C进行一轮无密钥的解密运算,用DC和DC分别表示C和C对应的倒数第二轮的分组状态,最后一轮子密钥用sk表示,则S、S分别为S(CR)CR)(CR)CLDCRsk,()S(CR)CR)(CR)CLDCRsk.()将式()和式()左右两边分别进行异或运算,可以得到:SSDCRDCR.()SS可以提供倒数第二轮的差分信息,将其放入所有的训练样本中.在实验过程中,笔者尝试了两种输入数据形式:(CL,CR,CL,CR,SS)
48、和(CLCL,CRCR,SS).两者训练所需数据量相同,准确率的差距极小,在 到 之间,而后者的长度更短,更便于表示,因此笔者采用(CLCL,CRCR,SS)作为输入数据形式进行改进.改进前后的轮和轮S i m e c k/神经网络区分器训练结果如图和图所示.图和图的纵坐标为训练时的验证准确率,横坐标为训练期数,N s_a c c和N_a c c分别表示N s和N的验证准确率.N和N s分别表示改进前后的神经网络区分器模型.这两类模型在M 显卡下的单轮训练时长分别约为 s和 s.图轮S i m e c k/的改进前后的区分器准确率对比图轮S i m e c k/改进前后的区分器准确率对比 S
49、i m e c k/的新型多面体神经网络区分器文献 提出了多面体神经网络差分区分器模型,与使用单个差分的神经网络模型相比,得到了更高的准确率,代价是获取多个输入差分和 倍的原始模型样本量.笔者将 节的改进方法结合多面体差分分析,并与文献 的模型进行对比.文献 的三面体神经网络差分区分器的结果是最优的,即输入数据为(CL,CR,CL,CR,CL,CR),其中C和C由符合输入差分为(,x)的明文加密得到,C和C由符合输入差分为(,x)的明文加密得到.笔者采取相同的输入差分和训练样本量,将输入数据改为(CLCL,CRCR,SS,CLCL,CRCR,SS)进行训练,训练了 轮S i m e c k/神
50、经网络区分器,其与文献 的对比结果如表所示.轮和轮区分器的结果是文献 直接给出的,轮和 轮区分器的结果是笔者对文献 的模型进行复现得到的.TN和TN s分别表示改进前后的三面体神经网络区分器模型.西安电子科技大学学报第 卷表S i m e c k/改进前后的三面体神经网络差分区分器对比模型轮数准确率来源TN 本节对文献 的复现TN s 本节结果TN 文献 TN s 本节结果TN 文献 TN s 本节结果TN 本节对文献 的复现TN s 本节结果 S i m e c k/的部分密钥恢复攻击为了对比改进前后的S i m e c k/神经网络区分器在密钥恢复阶段的表现,笔者分别使用轮S i m e