一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种针对DES密码算法末轮约减轮故障分析的攻击方法

2022-07-15 22:46:26 来源:中国专利 TAG:

一种针对des密码算法末轮约减轮故障分析的攻击方法
技术领域
1.本发明涉及密码算法分析检测领域,尤其涉及一种针对des密码算法末轮约减轮故障分析的攻击方法。


背景技术:

2.一般情况下,运行密码算法的硬件设备或软件程序都能够正确的执行各种密码算法运算,但是在有干扰的情况下,密码运算的单元模块可能会出现一些故障,比如运算异常或者寄存器故障。利用这些故障引起的错误信息来攻击恢复出密钥的方法称为密码故障分析。
3.目前密码设备的接口和实现对故障注入的防护措施都有欠缺,一般都比较容易受到攻击。1996年,boneh等首先将故障注入的方法引入到密码算法的分析中,从此针对智能芯片的故障注入技术开始飞速发展。
4.根据攻击者侵入密码设备的程度,可以将故障注入分为3种,包括非侵入式故障注入、半侵入式故障注入和侵入式故障注入。顾名思义,后两种方式需要在物理上接触密码芯片,因此需要用于剖片处理的设备、化学用品以及用于注入故障的特殊设备。非侵入式的故障注入主要通过外界干扰的方式,如电压、时钟、磁场等,因此不需要这些昂贵的设备。
5.故障注入攻击通常由两个部分构成,即故障注入和错误数据利用。故障注入是在某些适合的时间诱导密码运行中的某些中间状态发生故障,这种攻击的实施方式和实际产生的效果依赖于攻击者使用的设备和工作环境。错误利用主要是利用故障注入所产生的结果即错误数据信息,并使用与其对应的分析方法来恢复出部分甚至全部密钥,攻击能否成功一般既依赖于密码系统的设计和实现,也依赖于其算法规范。
6.故障注入攻击的执行可以分为4个步骤:(1)选定故障模型攻击者在进行故障注入前需要明确给出错误注入时机、位置、动作和效果模型。典型的故障模型为:在加密过程中某中间轮发生单字节的瞬时故障。
7.(2)故障注入根据故障模型,攻击者选定故障注入的手段,如电流、时钟、激光、射线等干扰方式进行错误注入。常用的诱导故障发生的方法分为3类:1.直接从外部加入非正常信息,如异常的时钟、电压、温度等;2.结合探测攻击,从内部引入错误;3.skorobogatov和anderson发明的半入侵攻击属于错误攻击,可在去除钝化层之后,使用激光或重粒子辐照芯片制定区域,引入错误。
8.(3)错误样本筛选在故障注入完成后,攻击者根据故障模型,参考密码运行最终输出中的错误宽度、错误位置、错误值,甚至从错误注入后密码运行的时间长短来筛选理想的错误样本,该步骤对于错误分析效率具有较大影响。
9.(4)密钥分析在筛选出理想的错误样本后,攻击者分析密码运行正确输出和错误输出之间的关系,使用一定的错误分析方法结合密码算法设计分析出相关密钥值。
10.des算法为密码体制中的对称密码体制,又被称为美国数据加密标准。des是一个分组加密算法,典型的des以64位为分组对数据加密,加密和解密用的是同一个算法。密钥长64位,密钥事实上是56位参与des运算(第8、16、24、32、40、48、56、64位是校验位,使得每个密钥都有奇数个1),分组后的明文组和56位的密钥按位替代或交换的方法形成密文组。
11.des算法的主要流程如图1所示。des算法的加密过程经过了三个阶段:首先,64位的明文在一个初始置换ip后,比特重排产生了经过置换的输入,明文组被分成右半部分和左半部分,每部分32位,以l0和r0表示。接下来的阶段是由对同一个函数进行16次循环组成的,16 轮迭代称为乘积变换或函数f,这个函数本身既包含有换位又包含有代替函数,将数据和密钥结合起来,最后1轮的输出由64位组成,其左边和右边两个部分经过交换后就得到预输出。最后阶段。预输出通过一个逆初始置换ip-1
算法就生成了64位的密文结果。
12.设des密码算法加密轮数为i,des密码算法每轮的输入64位,每个64位的中间结果的左、右两个部分被当成两个独立的32位数据处理。每轮循环如图2所示,每轮变换的逻辑关系为:li=r
i-1ri
=l
i-1

f(l
i-1
,ki)在这个循环中使用的轮密钥ki的长度是48位,输入r
i-1
是32位,先被扩展到48位,扩展变换e将32位输入扩展为48位输出,48位输出表示为m。扩展后得到的48位结果再与ki进行异或,这样得到的结果再经过一个代替函数s(s变换)产生48位的输出,最后经过p置换得到32位输出。
13.扩展变换e如下表所示,表中的数字代表位,左右两列数据是扩展的数据,可以看出,扩展的数据是从相邻两组分别取靠近的一位,4位变为6位。靠近32位的位为1,靠近1位的位为32。表中第二行的4取自上组中的末位,9取自下组中的首位。
3212345456789891011121312131415161716171819202120212223242524252627282928293031321
14.s变换由8个不同的s盒完成,每个s盒有6位输入4位输出,表示为b=subbyte(a),其中输入a,输出b。48位输入分为8个6位的分组,一个分组对应一个s盒, s盒对a进行代替操作。一个s盒就是一个4行16列的表,盒中的每一项都是一个4位的数。s盒的6个输入确定了其对应的输出在哪一行哪一列,输入的第一位和第六位的十进制值表示为行数h,中间四位的十进制值作为列数l,在s-box中查找第h行l列对应的数据即为b。
15.p置换把输入的每位映射到输出位,任何一位不能被映射两次,也不能被略去,映
射规则如下图3所示。
16.des密钥扩展算法,des算法规定密长度为64 bit,其中有效密钥长度为56 bit,在des子密钥生成算法中直接使用,另外8 bit 在算法中并不直接使用,可作为校验位。如初始密钥中每8 bit密钥包含用户提供的7 bit 和1 bit校验位。校验位可以用奇偶校验码产生,即每8 bit密钥中保证有奇数个“1”(1的个数为奇数)。8 bit校验位数据分别放在8、16、 24、32、40、56和64位置上(位的序号为8的倍数)。
17.用户将初始密钥64 bit输人到子密码生成器中,子密钥生成过程如下图4所示,首先经过置换选择pc-1,pc-1变换如图5所示,将初始密钥的8 bit奇偶校验位去掉,并重新编排,留下真正的56 bit 有效密钥。接着,分为两部分,每部分28 bit,记为c0和d0,再分别经过一个循环左移函数,每部分循环左移1或2位,每轮次移位位数不同,具体如图6所示,记为c1和d1,然后再连接成56 bit数据c
1 || d1,再按置换选择pc-2做重排,pc-2如图7所示,进行压缩,抛弃8bit后,便可输出第一个48 bit子密钥k1,作为函数f的子密钥输入部分。而c1和d1各部分继续经过循环左移函数,记为c2和d2,连接成56 bit数据c
2 || d2,再按置换选择pc-2做重排,进行压缩,抛弃8bit后,便可输出第二个48bit子密钥k2,依次进行,生成16个48 bit的子密钥。。
18.需要注意的是,密钥置换pc-1的输人为64 bit, 输出为56 bit;而密钥置换pc-2的输人和输出分别为56 bit和48 bit。
19.目前,尚未有针对des密码算法后2轮的约减轮故障分析的攻击方法。该方法先利用故障注入的技术使des密码执行的时候提前跳出正常的16轮迭代,然后利用该故障情况下生成的输出得到后2轮中某一轮输出,接着有计划的重复上述操作直至获取后2轮的全部轮输出并结合明文信息计算出后2轮的轮密钥,最后根据后2轮的轮密钥计算出整个算法的初始密钥。


技术实现要素:

20.本发明的目的是提供一种针对des密码算法后2轮的约减轮故障分析的攻击方法,以解决对des算法进行攻击时方法复杂,样本量大的问题。通过注入故障的技术使des密码运行时提前跳出轮函数的迭代过程从而获取后2轮中某轮的轮输入,然后重复上述操作以获取后2轮的全部轮输入,然后结合密文信息推断出后2轮的轮密钥,最后结合密钥扩展算法利用后2轮的轮密钥计算出初始密钥,从而降低了攻击次数,增强了攻击效率、灵活性、有效性和成功率。
21.为解决上述技术问题,本发明提供一种针对des密码算法末轮约减轮故障分析的攻击方法,具体包括以下步骤:s1:对des密码算法后2轮的轮输入进行故障注入来减少迭代的轮数,获取des密码算法后2轮的轮输入;s2:根据des密码算法后2轮的轮输入推出后2轮的轮密钥,根据des密钥扩展算法,逆向计算出初始密钥。
22.进一步地,s1具体包括以下步骤:s11:选择故障注入整体的位置为后2轮,选择完成之后设定sum=2,集合r={15,16};
s12:开始执行des密码算法,进行故障注入,若提前跳出加解密的迭代轮且轮数属于集合r中的元素,记该运算的轮数为r,若未成功则重复本步骤;s13:判断r是否已在中,如果是则跳转到步骤s12,如果不是则将其添加到集合中,根据步骤s12中的输出利用反序变化推出该运算的轮输入,count自增;s14:判断count是否等于sum,如果不是则跳转到s12继续执行,反之则故障注入完毕,根据密文信息和步骤s13中记录的后2轮的轮输入推断第14轮、第15轮的轮输出。
附图说明
23.图1为des加密算法流程图;图2为每轮迭代函数f的流程图;图3为p置换;图4为des的轮密钥的产生过程图;图5为des轮密钥的置换选择pc-1;图6为des轮密钥的循环左移位;图7为des轮密钥的置换选择pc-2;图8为对后2轮的轮输入进行故障注入的位置示意图;图9为针对des密码算法后2轮的约减轮故障分析攻击方法的流程图。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献