论文部分内容阅读
安全哈希算法(SHA)具有运算速度快、资源占用少等特点,被广泛应用于数字签名、消息认证和无线射频识别(RFID)等领域。随着密码分析学的发展与传统哈希算法SHA-0、SHA-1等被成功攻击,NIST提出制定新一代哈希算法(SHA-3)以适应信息安全的发展。在硬件加密芯片追求高速率、低面积以及低功耗的情况下,提高硬件实现的面积、频率、吞吐量以及功耗等指标的综合性能成为SHA-3算法研究的重要课题。目前国内外SHA-3候选算法的硬件实现具有以下几点不足:第一、硬件实现版本比较单一,缺乏灵活性;第二、硬件实现的吞吐量和面积等综合性能有待提高;第三、硬件实现缺乏对功耗方面的分析。针对这些问题,本文根据哈希算法在嵌入式系统中应用需求的不同,提出了三种不同架构的哈希算法硬件实现:第一,新型版本可选择JH算法。考虑FPGA硬件可重复编程的特点,运用动态部分可重构方法,对JH算法的硬件实现进行合理的功能模块划分,并将其关键部分的硬件实现进行优化。该方案支持JH-224、JH-256、JH-384和JH-512四种不同参数版本的JH算法,在Xilinx Virtex-5FPGA硬件平台上实现的吞吐量/面积指标比目前设计提高了118%,具有灵活性强,综合性能较优等特点;第二,面向RFID硬件的低功耗JH算法。本文设计了数据通路长度为16位的轮函数结构,通过适当降低算法的工作频率来减少硬件实现的面积。将低功耗JH-256算法的硬件实现综合在ASIC0.18μm CMOS库上,当工作频率为100KHz时,功耗值为27.89μW;所占用的面积为24797门,比目前设计降低了51.5%。第三,面向RFID硬件的低功耗KECCAK算法。本文通过采用循环结构外部存储方式对KECCAK算法硬件实现的体系结构进行优化;并将一个较长的组合逻辑电路分为多个运算周期来实现,缩短了整个电路的关键路径;此外,通过复用置换R模块降低设计的面积。在ASIC0.18μm CMOS库上进行仿真实验,当工作频率为100KHz时,KECCAK算法的功耗为27.03μW,比目前设计降低了39%;面积为4200门,在目前设计中具有较大优势。