基于选择空间的AES密钥扩展算法(2)
胡亮等将密钥扩展过程不可逆的思想称为单向性思路[10],在原有的密钥扩展算法基础上,通过利用单向性思路交换轮密钥的顺序以达到不可逆的特点。而杨小东等则通过对原有的轮密钥进行移位异或操作,并通过随机性函数对其进行变换[11],这样便增大了其破解的难度。这两种方法虽然解决了传统密钥扩展算法的不足,但对于固化的专用硬件逻辑设计而言,一旦其密钥扩展算法遭到破解,而当前的加解密模块由于采用了固定的扩展算法,而这种扩展算法在专用硬件逻辑上是与整个加密算法逻辑高效整合的,也就产生了无法扩展的问题,必须重新进行设计以满足安全性的要求。因此在面向专用硬件逻辑(或FPGA)设计时,密钥扩展算法在保证单向性的前提下还要能够满足可扩充的特性。
本文在单向性思路的基础上,结合FPGA设计的特点通过引入可替换的选择空间模块进行改进设计。同样以10轮的AES算法为例,首先通过传统的密钥扩展算法生成种子密钥之外的10轮子密钥,假定以32位的字为单位,那么11轮子密钥将产生11×4的子密钥空间,选择空间模块设计成一个向量矩阵,如式(2)所示:
通过子密钥空间与选择空间的结合,将原有子密钥空间的字顺序进行改变。假设只是将第2轮子密钥与第4轮子密钥进行调换,通过第1节对传统子密钥扩展的分析知道下一轮子密钥是通过上一轮子密钥产生的,那么如果攻击方获取了一轮子密钥,要对更改后的子密钥进行攻击的话,假设获取的只是除第2轮和第4轮外的轮密钥的话,那么必将导致至少第2轮和第4轮是错误的,从而保证了密文的安全。而如果一旦获得的是第2轮或者第4轮的密钥,那么其余9轮势必是错误的,这样破解的结果也就必然是错误的。同时也可在选择空间中定义运算方式对现有子密钥空间进行加工,这样将使得新产生的子密钥组在上述场景中更加难以破解。
通过改变原有以128位明文为加密的基本单位,引入单元块的概念,定义一个N个单元分组的单元块,而每个单元分组为128位。具体的设计思想如图2所示。
以单元块为加/解密的基本单位一方面相当于在原有加/解密基础上进行了二次加密,使得密文具有更高的安全性,另一方面这种思路可用于解决相同明文加密结果相同的问题,这是由于每一个子密钥分组均由初始子密钥空间扩展而来,其相当于由初始密钥扩展产生了新的11轮密钥,而每一个子密钥分组是由选择空间中不同的行列与子密钥空间进行组合产生的,这样选择空间不同的行列值保证了子密钥组之间的差异性,使得单元块中相同明文分组的加密结果不同。单从效果上来讲,这种基于选择空间的密钥扩展算法的加密效果与不同密钥组合的加密效果相一致。新的子密钥分组的安全性也是得到保证的。以字为单位的情况下,新的子密钥空间相当于原有子密钥空间全排列((11×4)!=2.658×1054)的一种,而单元块化的设计又相当于在这种全排列的基础上产生一个序列N的组合,在N=4时这种密钥加强强度已经达到了4.991×10217,针对于这样设计的有效攻击方式也就只能采取穷举的方式。同时为了使得产生的子密钥分组能够满足更好的非线性要求,可以对新的子密钥分组采取移位或异或等简单操作的非线性化处理,在增强其安全性的前提下并没有增加多少时间消耗,满足了其本身的高效性。
将已有的子密钥空间保存于FPGA的RAM中,选择空间模块采用LUT(查找表)的方式,在统一时钟的作用下,每一次时钟的上升沿便产生了新的轮密钥,这种硬连接的方式使得新的轮密钥的产生与上一轮加密过程得以并行执行[12],同时由于单元块中各分组明文的加/解密过程相互独立,这样可以通过使用流水线的方式提高数据的吞吐能力。选择空间的模块化设计使得可以通过预留数据的更新端口,这样只需要更新选择空间模块中向量矩阵的数据便可以产生新的选择空间,由于AES加/解密算法整体采用模块化的设计方法,如图3所示,各模块之间只是通过互联的方式整合在一起,单一模块的数据更新并不会影响到其他模块,这样确保了硬件加解密逻辑的可扩充性,同时新的选择空间的产生保证了子密钥分组的差异化,从而增强信息的安全性。
3FPGA实现与仿真
综合考虑资源与速度等问题,算法的设计采用统一时钟下的模块互联,利用状态机的方式进行设计实现,所有的算法模块均采用VerilogHDL实现,在ISE12.4下进行综合设计,在Isim下完成了功能仿真和时序仿真。加解密模块所处理的基本单位为128b数据,通过引入num控制信号,使得选择空间模块产生不同的子密钥分组,图4阐述了num控制信号在kld使能信号作用下产生的有效选择空间序列,对于原始的明文数据以128b为加密单位,每个单元块为128×4b,单元块内各明文分组数值相同。图5给出了其加解密统一进行下的仿真结果,结果表明单元块内每个明文分组最终的加密结果均不相同,但解密后的结果均与原明文分组一致,验证了基于选择空间密钥扩展算法的正确性以及FPGA设计的可行性。同时在多个模块之间设置全局的使能信号和复位信号进行控制,当使能或者复位信号禁止时,整个系统进入休眠状态,这样的设计方式使得控制简单,系统对环境的适应度增强,也确保了整个设计的稳定与一致。
对于XilinxVirtex5系列的xc5vfx70t?1ff1136FPGA,整个系统模块占用资源可以从表1中看出,其占用的资源并未达到FPGA瓶颈,且资源占用率较低,而Virtex5系列的FPGA在整个Xilinx的FPGA产品中目前只处于中低端,因此这种设计方案在FPGA上是完全可行的。
4结语
基于单向性思路提出的选择空间下的AES加解密的设计,增强了加密的强度,同时达到了单一密钥下多个密钥加密效果。通过在统一时钟触发下并行化设计,有效的减少了资源的利用率,并通过仿真验证了方案的可行性,而且这种方案可以设计成专用芯片,在民用通信、军事通信、文件加密等领域均有着广泛的应用前景。
参考文献
[1]毛明.分组迭代密码函数的安全性研究[D].成都:电子科技大学,2012.
[2]王薇.分组密码CLEFIA与基于四圈AES消息认证码的安全性分析[D].济南:山东大学,2009.
[3]韩津生,林家骏,周文锦,等.基于FPGA的AES核设计[J].计算机工程与科学,2013,35(3):80?84.
[4]宁乃东,王岩国.基于FPGA的Rijndael可配置密钥系统优化设计[J].宇航计测技术,2008,28(6):35?38.
[5]鲁艳蓉.分组密码算法的设计与分析研究[D].西安:西安电子科技大学,2011.
[6]胡亮,闫智佳,初剑峰,等.IDEA子密钥扩展算法的分析与改进[J].吉林大学学报:工学版,2012,42(6):25?32.
期刊库(http://www.zgqkk.com),是一个专门从事期刊推广、投稿辅导的网站。
本站提供如何投稿辅导,寻求投稿辅导合作,快速投稿辅导,投稿辅导格式指导等解决方案:省级投稿辅导/国家级投稿辅导/核心期刊投稿辅导//职称投稿辅导。
【免责声明】本文仅代表作者本人观点,与投稿辅导_期刊发表_中国期刊库专业期刊网站无关。投稿辅导_期刊发表_中国期刊库专业期刊网站站对文中陈述、观点判断保持中立,不对所包含内容的准确性、可靠性或完整性提供任何明示或暗示的保证。请读者仅作参考,并请自行承担全部责任。
投稿辅导服务咨询与期刊合作加盟
陆老师联系QQ:
蒋老师联系QQ:
刘老师联系QQ:
联系电话:18015016272
17327192284
投稿辅导投稿邮箱:zgqkk365@126.com
期刊推荐
- 《校园英语》旬刊 省级 教育类学术期刊
- 《吉林教育》旬刊 省级 教育类学术期刊
- 《文教资料》 旬刊 省级
- 《科技风》半月刊 省级 科技类优秀期刊
- 《价值工程》旬刊 国家级 科技统计源期刊
- 《中国实验方剂学杂志》 半月刊 北大核心
- 《电影评介》半月刊 14版北大核心
- 《社科纵横》季刊 社科类优秀期刊
- 《求索》月刊 14版北大核心期刊
- 《中华建设》月刊 国家级 建设类优秀期刊
- 《继续教育研究》月刊 北大核心期刊
- 《网络空间安全》(信息安全与技术)月刊 国
- 《新闻传播》月刊 省级 新闻类优秀期刊
- 《财会月刊》旬刊 14版北大核心
- 《体育文化导刊》月刊 体育类双核心期刊
- 《机械研究与应用》双月刊 省级 机械应用类
- 《公路交通科技》 月刊 北大核心
- 《教学与管理》旬刊 北大核心
- 《新课程研究》旬刊 省级 教育类优秀学术期
- 《中国医药指南》 旬刊 国家级
- 《高教论坛》 月刊 省级
- 《课程教育研究》 旬刊 国家级
- 《语文建设》 旬刊 14版北大核心
- 《教育发展研究》 半月刊 双核心
- 《学术界》 月刊 双核心