
基于FPGA的SM3算法高效实现方法-论文
5星
- 浏览量: 0
- 大小:None
- 文件类型:PDF
简介:
本文提出了一种基于FPGA平台的高效SM3哈希算法实现方案,旨在优化资源利用和加速计算过程。通过详细设计与实验验证,展示了该方法在安全性及性能方面的显著优势。
SM3算法是我国商用密码杂凑算法标准,其主要作用是将任意长度的消息转换为固定长度的输出,并保持一定的安全性和抗碰撞性。该算法设计适用于软硬件及智能卡等不同平台实现,具有结构新颖、安全性高的特点。此外,在研发过程中充分考虑了安全性问题,现已成为国家标准并提交至ISO国际标准化组织。
随着技术的发展,数据加密的应用需求日益增加,对加密算法的执行效率和速度要求也越来越高。为了提升SM3算法在硬件加密场景下的吞吐量,并减少运算资源占用,研究者设计了一种基于FPGA(现场可编程门阵列)的快速实现方案。由于其灵活性和高效性能,FPGA成为硬件实现加密算法的理想选择。
为提高性能,该方案采用了流水线结构设计,并对SM3算法的关键运算路径进行了并行计算优化。这可以在多个数据流上同时执行运算,进一步提升吞吐量。在关键路径的计算中使用了进位保留加法器(CSA),这是一种能够加快加法运算速度的设计方法,减少了所需的时钟周期数。
研究者基于FPGA对该方案进行具体实现,并与其它几种实现方式进行了性能对比。实验结果显示该方案的吞吐量高达80.43Gbits/s,非常适合对数据吞吐量有较高要求的应用场景如高性能计算、大数据处理和云计算中心等。
从技术细节来看,SM3算法的设计原理及其结构对于保证其安全性至关重要。这种设计不仅保障了算法的安全性还能适应多种应用场景,例如数据完整性检测、消息认证、数字签名、伪随机数生成以及区块链等领域。
Hash函数的抗碰撞性分为弱抗碰撞性和强抗碰撞性:前者指难以找到与原消息具有相同散列值的消息;后者则要求即使是不同消息也难以找到散列值相同的例子。单向性是指无法从散列值反推出原始消息,而SM3算法正是为此设计的。
由于Hash函数具备这些特性,在密码学三大类加密算法中占据重要地位,并被广泛应用于数据完整性检测、消息认证等场景,特别是在区块链领域扮演着关键角色。此外,SM3算法由国家商用密码管理办公室提出并公布于2012年,后在2016年成为国家标准。这一系列标准化流程确保了其在全球范围内的广泛应用与认可。
基于FPGA的快速实现方案通过流水线设计、并行计算优化及关键路径压缩实现了高吞吐量和高效执行,并适用于对吞吐量有较高要求的应用场景。随着密码学和技术的发展,该方案有望在更多领域展现应用价值。
全部评论 (0)


