论文部分内容阅读
随着网络和计算机应用的高速发展,信息安全问题已经成为人们关注的重点问题。针对无线局域网安全问题,我国官方在2006年公布了第一个商用分组密码算法——SM4算法(原 SMS4算法);针对网络上信息传递过程中的完整性和真实性问题,美国国家标准技术研究所(NIST)先后公布了SHA-1、SHA-2算法,并且在2012年公布了SHA-3系列获胜算法——KECCAK算法。加密芯片是加密算法不可或缺的硬件载体。近年来针对于加密芯片提出的旁路攻击发展迅速,其中的故障攻击能力强,攻击范围广,已经成功破译了多种密码算法,无疑对加密芯片组成的信息安全系统构成严重威胁。本文在对SM4和KECCAK算法安全性研究的基础上,提出了针对于两种算法的抗故障攻击方案,实现了算法执行过程中的故障检测,提高了安全性能。主要工作如下: 第一,分析硬件实现的SM4算法的主要过程,其中轮函数是整个算法的核心,根据运算逻辑结构中的异或运算和T变换的运算特点,针对于容易出现故障的位置,通过在关键位置上建立检测点,实时监测检测点来定位算法执行过程中出现的故障。 第二,当前网络服务器处理大量数据,需求更高的吞吐量,分析 KECCAK算法的硬件实现结构,利用解循环技术设计实现了一种高吞吐量的KECCAK算法;另外,根据KECCAK算法置换函数的结构,提出一种抗故障攻击的KECCAK算法。 第三,本文选取几个 FPGA硬件平台,将改进方案在 FPGA硬件平台上进行实现验证。实验证明,论文提出的方案占用硬件资源小,可以有效地在算法硬件实现过程中进行故障检测,从而避免算法受到故障攻击,并且保证吞吐量等性能。