基于随机延时S盒的可防御碰撞攻击的高速AES加密电路制造技术

技术编号:20369417 阅读:19 留言:0更新日期:2019-02-16 19:46
本发明专利技术提出基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,AES加密电路为全展开结构,由10轮轮变换单元构成,通过流水线技术提高电路吞吐率,加快电路处理速度。其中轮变换单元中的字节替换单元基于并行S盒结构,通过为每个S盒的输入端和输出端分别添加一个随机延时,破坏碰撞攻击检测条件,达到防御碰撞攻击的目的。本发明专利技术与传统的碰撞攻击防御措施相比能够极大的减小电路面积。

A High Speed AES Encryption Circuit Based on Random Delay S-Box to Defend Collision Attack

The invention proposes a high-speed AES encryption circuit based on random delay S-box, which can resist collision attack. The AES encryption circuit is fully deployed structure and consists of 10-wheel conversion units. The circuit throughput is improved by pipeline technology, and the processing speed of the circuit is accelerated. The byte substitution unit in the round transformation unit is based on the parallel S-box structure. By adding a random delay to the input and output terminals of each S-box, the collision attack detection condition is destroyed, and the purpose of collision attack defense is achieved. Compared with the traditional collision attack defense measures, the invention can greatly reduce the circuit area.

【技术实现步骤摘要】
基于随机延时S盒的可防御碰撞攻击的高速AES加密电路
本专利技术涉及AES加密
,尤其是一种基于随机延时S盒的可防御碰撞攻击的高速AES加密电路。
技术介绍
1.AES加密算法密码学中的高级加密标准(AdvancedEncryptionStandard,AES),由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPSPUB197,并在2002年5月26日成为有效的标准。AES加密算法,又称为Rijndael加密算法,该算法为比利时密码学家JoanDaemen和VincentRijmen所设计,这个标准用来替代原先的DES,已经被多方分析且广为全世界所使用。AES是一个迭代的、对称密钥分组的密码,它可以使用128、192和256位密钥,并且用128位(16字节)分组加密和解密数据。AES加密算法还是使用轮变换的操作。轮变换操作次数与密钥的位数有关,AES-128轮数为10轮。AES-128加密算法流程如图1所示,明文首先进行一个轮密钥加的操作,然后进行10轮轮变换操作。图2为轮变换流程示意图,如图2所示,轮变换包括四个操作:字节替换、行移位、列混合替换和轮密钥加,其中第10轮轮变换中不包含列混合替换操作。2.高速AES加密电路流水线技术是实现高速AES电路的有效手段。常见的AES流水线电路结构有外部流水线式和子流水线式两种,如图3所示。外部流水线结构AES电路在每轮变换之后插入寄存器,对每轮轮变换的数据进行缓存,在下个时钟到来时进行下轮轮变换,这种流水线结构缩短了纯组合逻辑的关键路径,相比于循环结构速度有较大提升。子流水线结构AES电路除了在轮变换之间插入寄存器之外,在轮变换内部各个运算单元之间也插入了寄存器,这种结构进一步缩短了关键路径,更适合应用在高速场合。3.碰撞攻击2003年,KaiSchramm等人提出了碰撞攻击的概念,并成功对DES算法进行了攻击。如果加密算法内部某一运算的输入不同,但是具有相同的输出值,则称二者发生了碰撞。碰撞攻击通过寻找特定位置上产生的碰撞,推导出一系列和密钥有关的表达式,寻找到的碰撞越多,表达式中包含的密钥信息就越丰富,密钥搜寻空间就越小,攻击强度就越强。碰撞攻击通常包括“碰撞检测”以及“密钥恢复”两个阶段:碰撞检测阶段根据特定的区分模型构造出碰撞检测器,使用碰撞检测器检测特定位置是否发生碰撞,如果检测到发生碰撞,则根据碰撞条件推导出和密钥相关的表达式;密钥恢复阶段利用matlab等数据分析工具,分析功耗数据,破解部分密钥,以此为基础结合碰撞检测阶段得到的一系列密钥表达式破解全部密钥。①碰撞位置在AES轮变换中,S盒是最常见的碰撞的位置,S盒的碰撞示意图如图4所示。如果碰撞位置在第i个S盒和第j个S盒处,那么碰撞表达式为:据此得到密钥ki和kj的关系式:pi、pj代表输入加密数据的第i个和第j个字节。改变输入的加密数据,寻找不同的碰撞位置,依据密钥ki和kj的关系式可以得到一系列密钥相关的表达式:当该表达式中的一个密钥被破解时,与之相关的所有密钥均可被破解。②碰撞检测通常,碰撞检测方法有相关系数法和距离检测法。相关系数法在实施时,首先随机输入明文进行加密,假设输入的明文序列为{Pα|α=1,2,...,N},记录第i个S盒以及第j个S盒的能量迹和之后将和256个特定输入数据的能量迹分组,每一组内求平均,得到两个平均能量迹集台和对应Δi,j的每一个固定取值,计算遍历pi可以得到256个pj,然后找到对应的能量迹并对其进行排序,然后计算两个集合与的相关系数遍历Δi,j的所有可能取值后,计算得到256个在所有256个相关系数中数值最大的所对应的△即为正确的碰撞关系数值。基于距离的碰撞检测法一般流程是:首先将两组能量曲线进行求平均操作,降低噪声的影响,之后求两条功耗曲线之间的距离,如果该距离小于某个阈值,则认为发生了碰撞,否则没有发生碰撞。基于距离的碰撞检测方法示意图如图5所示。图中,操作1和操作2均执行n次,得到两组功耗曲线,对两组功耗曲线求平均后可得到两条平均功耗曲线τ1,τ2,在两条曲线上选取r个关键点,计算关键点之间的距离,如果距离小于事先设定的阈值则认为碰撞发生,否则认为不发生碰撞。由上述分析可知,轮变换结构的字节替换单元中的S盒是碰撞攻击的首选攻击目标,为了抵御碰撞攻击需要对S盒结构加以改善,增大碰撞检测的难度。通常的防御措施是杜绝掩码重用,但即使添加的掩码没有重用,电路中也存在可被碰撞攻击的漏洞。为了能够更好的防御碰撞攻击,本专利技术提出一种基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,该电路基于随机延时的并行S盒防御措施,通过破坏碰撞检测的条件,从而实现抵御碰撞攻击的目标。
技术实现思路
专利技术目的:本专利技术为实现密码电路防碰撞攻击,提出一种基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,改电路通过为S盒添加随机延时,破坏功耗曲线的一致性,影响碰撞的判定以及阈值的设置,降低碰撞攻击的成功率。另一方面,本专利技术采用流水线电路结构,在抵御碰撞攻击的同时可提高加密速度。技术方案:为实现上述技术效果,本专利技术提出以下技术方案:基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,加密电路的明文和密钥均为128位,所述加密电路包括:十轮轮变换单元和密钥扩展单元;前一轮轮变换单元的输出数据作为后一轮轮变换单元的输入数据,第一轮轮变换单元的输入数据为明文和初始密钥异或后的加密数据;每一轮轮变换单元的输入数据同时输入密钥扩展单元进行密钥扩展,得到当前轮的轮密钥并输入本轮轮变换单元中的密钥加单元;第一至第九轮轮变换单元结构相同,均包括依次连接的字节替换单元、行位移单元、列混合单元和密钥加单元;而第十轮轮变换单元包括依次连接的字节替换单元、行位移单元和密钥加单元;其中,字节替换单元通过S盒电路实现字节替换功能,字节替换单元包括16个并联的支路,每个支路包括依次串联的第一延时单元、S盒电路和第二延时单元;定义第i个支路中的第一延时单元的延时值为第二延时单元的延时值为从集合[0,T,2T,…,15T]中随机选取,的取值唯一,T表示单个时钟;轮变换单元的输入数据分为16个8位数据包,分别输入所述16个支路,第i个支路对输入的数据包先进行T1i个时钟的延时后送入S盒电路实现字节替换,字节替换的结果再经过个时钟的延时后输出;16个支路的输出结果合并为128位数据,作为本轮轮变换中字节替换的结果并送入本轮轮变换单元中的行位移单元;行位移单元、列混合单元分别对输入的数据进行行位移操作、列混合操作;密钥加单元将输入的数据与轮密钥进行异或后输出;第十轮轮变换单元的输出结果即为所述加密电路的加密结果。进一步的,所述十轮轮变换单元中,相邻两个轮变换单元间插入有寄存器,形成轮间流水线结构。进一步的,所述字节替换单元还包括第一寄存器、第二寄存器、异或器、16个第一计数器、16个第二计数器;第i个第一计数器的输出端与第i支路的S盒电路输入端相连,第i个第二计数器的输入端与第i支路的S盒电路输出端相连,和分别用于实现第i支路中第一延时单元和第二延时单元的延时功能;第一寄存器内存储有预先写入的16个不同的延时值,即第一寄存器内的16个延时值分别通过异或器与十六进制数0xF异或,本文档来自技高网
...

【技术保护点】
1.基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,其特征在于,加密电路的明文和密钥均为128位,所述加密电路包括:十轮轮变换单元和密钥扩展单元;前一轮轮变换单元的输出数据作为后一轮轮变换单元的输入数据,第一轮轮变换单元的输入数据为明文和初始密钥异或后的加密数据;每一轮轮变换单元的输入数据同时输入密钥扩展单元进行密钥扩展,得到当前轮的轮密钥并输入本轮轮变换单元中的密钥加单元;第一至第九轮轮变换单元结构相同,均包括依次连接的字节替换单元、行位移单元、列混合单元和密钥加单元;而第十轮轮变换单元包括依次连接的字节替换单元、行位移单元和密钥加单元;其中,字节替换单元通过S盒电路实现字节替换功能,字节替换单元包括16个并联的支路,每个支路包括依次串联的第一延时单元、S盒电路和第二延时单元;定义第i个支路中的第一延时单元的延时值为T1

【技术特征摘要】
1.基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,其特征在于,加密电路的明文和密钥均为128位,所述加密电路包括:十轮轮变换单元和密钥扩展单元;前一轮轮变换单元的输出数据作为后一轮轮变换单元的输入数据,第一轮轮变换单元的输入数据为明文和初始密钥异或后的加密数据;每一轮轮变换单元的输入数据同时输入密钥扩展单元进行密钥扩展,得到当前轮的轮密钥并输入本轮轮变换单元中的密钥加单元;第一至第九轮轮变换单元结构相同,均包括依次连接的字节替换单元、行位移单元、列混合单元和密钥加单元;而第十轮轮变换单元包括依次连接的字节替换单元、行位移单元和密钥加单元;其中,字节替换单元通过S盒电路实现字节替换功能,字节替换单元包括16个并联的支路,每个支路包括依次串联的第一延时单元、S盒电路和第二延时单元;定义第i个支路中的第一延时单元的延时值为T1i,第二延时单元的延时值为T1i从集合[0,T,2T,…,15T]中随机选取,T1i的取值唯一,T表示单个时钟;轮变换单元的输入数据分为16个8位数据包,分别输入所述16个支路,第i个支路对输入的数据包先进行T1i个时钟的延时后送入S盒电路实现字节替换,字节替换的结果再经过个时钟的延时后输出;16个支路的输出结果合并为128位数据,作为本轮轮变换中字节替换的结果并送入本轮轮变换单元中的行位移单元;行位移单元、列混...

【专利技术属性】
技术研发人员:吴宁周芳葛芬张勇兰利东
申请(专利权)人:南京航空航天大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1