关键词:
杂凑算法
循环展开
流水线
可重构
摘要:
随着当今时代物联网技术的蓬勃发展,越来越多的智能硬件设备映入我们的眼帘,尤其在射频识别标签、智能网卡等领域。研究开发者们也在探索让更多物联的科技产品走入我们的生活,科技产品是离不了信息的,有信息便涉及到安全隐患。杂凑算法是常用的信息加密技术之一,由于相关产品在计算能力、内存大小等方面常具有一定限制,从而给硬件部署带来一定的挑战,利用可重构技术设计杂凑算法加速器是近几年的研究热点,这不仅可在保证信息加密安全性的前提下满足杂凑算法性能需求,相应地也具有较高的灵活性。因此设计基于杂凑算法的可重构加速器具有十分重要的意义。具体工作内容如下:
首先,本文研究分析了SHA-1,SHA-2和SM3杂凑算法的实现过程,并基于以上杂凑算法进行硬件实现。对于SHA-2系列算法进行循环展开二合一的优化手段,通过预计算缩短关键路径,并使用进位4-2加法压缩器与保存加法器(CSA)组合的方式对加法进位的延迟进行缩短,有效提升算法执行的效率。
其次对于国密SM3算法的硬件实现,为提升单轮迭代压缩执行的性能,在逻辑运算中进行优化,通过改变运算过程中相加的顺序,降低了逻辑深度,将关键路径的计算性能改善,并利用预计算手段,再次将关键路径缩短,最终在CSA加法器优化的基础上,实现单轮优化的硬件设计。
随后在优化SHA-2以及SM3杂凑算法的基础上,从可重构计算角度出发,对文中介绍的四种杂凑算法进行算法结构分析,基于结构上的相似性尽可能多地设计可复用硬件模块单元,以使杂凑加速器实现面积尽可能地小。并做流水线优化策略,以SM3为例,进行两轮流水线优化实现,这使吞吐率进一步提升。
最后将各独立算法的优化方案的实现与SM3/SHA系列杂凑算法加速器分别部署在ZYNQ XA7Z020开发板上,经过功能仿真验证与综合,得到最终的频率与硬件消耗情况,并计算出每个独立算法与重构后的硬件加速器的吞吐率与效率,并进行比较。实验数据表明,本文的杂凑加速器实现资源消耗为5127 Slices,资源消耗降低了约39.6%,且能够在123.6 MHz时钟频率下,实现的SHA-1、SHA256、SHA512和SM3杂凑吞吐率分别为3179.6 Mbps、4048.0 Mbps、3276.8 Mbps和2073.6 Mbps,其吞吐率与实现效率相比较其他已有设计都有较高的提升。本文研究的杂凑算法可重构架构在保证较高的灵活性和处理性能的同时,能满足在资源受限的计算场景下实现安全高效的多种杂凑算法需求。