[发明专利]基于随机延时S盒的可防御碰撞攻击的高速AES加密电路有效
申请号: | 201811018872.5 | 申请日: | 2018-08-31 |
公开(公告)号: | CN109347621B | 公开(公告)日: | 2020-11-06 |
发明(设计)人: | 吴宁;周芳;葛芬;张勇;兰利东 | 申请(专利权)人: | 南京航空航天大学 |
主分类号: | H04L9/06 | 分类号: | H04L9/06 |
代理公司: | 南京瑞弘专利商标事务所(普通合伙) 32249 | 代理人: | 刘珊珊 |
地址: | 210016 江*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 随机 延时 防御 碰撞 攻击 高速 aes 加密 电路 | ||
本发明提出基于随机延时S盒的可防御碰撞攻击的高速AES加密电路,AES加密电路为全展开结构,由10轮轮变换单元构成,通过流水线技术提高电路吞吐率,加快电路处理速度。其中轮变换单元中的字节替换单元基于并行S盒结构,通过为每个S盒的输入端和输出端分别添加一个随机延时,破坏碰撞攻击检测条件,达到防御碰撞攻击的目的。本发明与传统的碰撞攻击防御措施相比能够极大的减小电路面积。
技术领域
本发明涉及AES加密技术领域,尤其是一种基于随机延时S盒的可防御碰撞攻击的高速AES加密电路。
背景技术
1.AES加密算法
密码学中的高级加密标准(Advanced Encryption Standard,AES),由美国国家标准与技术研究院(NIST)于2001年11月26日发布于FIPS PUB 197,并在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年,Kai Schramm等人提出了碰撞攻击的概念,并成功对DES算法进行了攻击。如果加密算法内部某一运算的输入不同,但是具有相同的输出值,则称二者发生了碰撞。碰撞攻击通过寻找特定位置上产生的碰撞,推导出一系列和密钥有关的表达式,寻找到的碰撞越多,表达式中包含的密钥信息就越丰富,密钥搜寻空间就越小,攻击强度就越强。碰撞攻击通常包括“碰撞检测”以及“密钥恢复”两个阶段:碰撞检测阶段根据特定的区分模型构造出碰撞检测器,使用碰撞检测器检测特定位置是否发生碰撞,如果检测到发生碰撞,则根据碰撞条件推导出和密钥相关的表达式;密钥恢复阶段利用matlab 等数据分析工具,分析功耗数据,破解部分密钥,以此为基础结合碰撞检测阶段得到的一系列密钥表达式破解全部密钥。
①碰撞位置
在AES轮变换中,S盒是最常见的碰撞的位置,S盒的碰撞示意图如图4所示。如果碰撞位置在第i个S盒和第j个S盒处,那么碰撞表达式为:据此得到密钥ki和kj的关系式:pi、pj代表输入加密数据的第i个和第j个字节。改变输入的加密数据,寻找不同的碰撞位置,依据密钥ki和kj的关系式可以得到一系列密钥相关的表达式:
当该表达式中的一个密钥被破解时,与之相关的所有密钥均可被破解。
②碰撞检测
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京航空航天大学,未经南京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811018872.5/2.html,转载请声明来源钻瓜专利网。