Hardware implementation and optimization of SM3 algorithm based on BSV

LI Kexin, HAN Yueping, NIE Huaihao

Integrated Circuits and Embedded Systems ›› 2024, Vol. 24 ›› Issue (10) : 31-35.

PDF(4301 KB)
PDF(4301 KB)
Integrated Circuits and Embedded Systems ›› 2024, Vol. 24 ›› Issue (10) : 31-35. DOI: 10.20193/j.ices2097-4191.2024.0028
Research Paper

Hardware implementation and optimization of SM3 algorithm based on BSV

Author information +
History +

Abstract

This article proposes an improved plan for the SM3 algorithm using the agile development language BSV.By analyzing the algorithm's operating logic, the algorithm is innovatively split into multiple high-abstraction BSV modules, thereby effectively reducing the design complexity and making it comparable to traditional Verilog design. The code amount is reduced by 60% compared to the previous model. The iterative compression module has a greater impact on the algorithm performance, thus methods such as parallel pipeline and single-round logic optimization are employed for improvement from two aspects, and simulation verification is conducted on the Xilinx ARTIX-7 series FPGA platform with successful serial port debugging. The final results show that only 1 563 LUT resources are consumed to achieve a throughput of 3.2 Gbit/s, which represents up to a threefold improvement in throughput per unit logic resource compared to existing solutions. The maximum operating frequency reaches 375 MHz, with a higher practical value.

Key words

SM3 / agile development / BSV / FPGA

Cite this article

Download Citations
LI Kexin , HAN Yueping , NIE Huaihao. Hardware implementation and optimization of SM3 algorithm based on BSV[J]. Integrated Circuits and Embedded Systems. 2024, 24(10): 31-35 https://doi.org/10.20193/j.ices2097-4191.2024.0028

References

[1]
王晓燕, 杨先文. 基于FPGA的SM3算法优化设计与实现[J]. 计算机工程, 2012, 38(6):244-246.DOI: 10.3969/j.issn.1000-3428.2012.06.081.
WANG X Y, YANG X W. Optimization Design and Implementation of SM3 Algorithm Based on FPGA[J]. Computer Engineering, 2012, 38(6):244-246.DOI:10.3969/j.issn.1000-3428.2012.06.081(in Chinese).
[2]
刘宗斌, 马原, 荆继武, 等. SM3算法优化设计与实现[J]. 信息网络安全, 2011(9):191-193,218.
LIU Z B, MA Y, JIN J W, et al. SM3 algorithm optimization design and implementation[J]. NetinfoSecurity, 2011(9):191-193,218(in Chinese).
[3]
方轶, 丛林虎, 邓建球, 等. 基于FPGA的SM3算法快速实现方案[J]. 计算机应用与软件, 2020, 37(6):259-262.
FANG Y, CONG L H, DENG J Q, et al. Fast implementation solution of SM3 algorithm based on FPGA[J]. Computer Applications and Software, 2020, 37(6):259-262(in Chinese).
[4]
陈博宇, 王宏. 基于FPGA的SM3算法的优化实现[J]. 信息技术, 2018, 42(7):143-147.DOI:10.13274/j.cnki.hdzj.2018.07.032.
CHEN B Y, WANG H. Optimized implementationof SM3 algorithm based on FPGA[J]. Information Technology, 2018, 42(7):143-147.DOI:10.13274/j.cnki.hdzj.2018.07.032(in Chinese).
[5]
Bluespec Inc. Bluespec SystemVerilog Reference Guide[EB/OL].(2008-11)[2024-06-04]. https://web.ece.ucsb.edu/its/bluespec/doc/BSV/reference-guide.pdf.
[6]
Bluespec Inc.Bluespec SystemVerilog and Bluespec Development Workstation User Guide[DB/OL].(2017-7-21)[2024-06-04]. http://csg.csail.mit.edu/6.375/6_375_2019_www/resources/bsv-user-guide.pdf.
[7]
DU X J, LI S G. The ASIC implementation of SM3 hash algorithm for high throughtput[J]. IEICE Transactions on Fundamentals of Electronics,Communications and Computer Sciences, 2016, E99.A(7):1481-1487.DOI:10.1587/transfun.E99.A.1481.
[8]
蔡冰清, 白国强. SM3杂凑算法的流水线结构硬件实现[J]. 微电子学与计算机, 2015, 32(1):15-18.DOI:10.19304/j.cnki.issn1000-7180.2015.01.004.
CAI B Q, BAI G Q. Pipeline structure hardware implementation of SM3 hash algorithm[J]. Microelectronics and Computers, 2015, 32(1):15-18.DOI:10.19304/j.cnki.issn1000-7180.2015.01.004(in Chinese).
[9]
HUANG X Y, GUO Z C, SONG M G, et al. Accelerating the SM3 hash algorithm with CPU-FPGA Co-Designed architecture[J]. IET Computers&Digital Techniques, 2021, 15(6):427-436.DOI:10.1049/cdt2.12034.
[10]
王汉宁, 孙浩, 邓辰辰, 等. 面向SM3算法的高性能FPGA实现[J]. 微电子学与计算机, 2023, 40(7):105-110.DOI:10.19304/J.ISSN1000-7180.2022.0664.
WANG H N, SUN H, DENG C C, et al. High performance FPGA implementation for SM3 algorithm[J]. Microelectronics and Computer, 2023, 40(7):105-110.DOI:10.19304/J.ISSN1000-7180.2022.0664(in Chinese).
[11]
ZANG S P, ZHAO D Y, HU Y, et al. A high speed SM3 algorithm implementation for security chip[C]// 2021 IEEE 5th Advanced Information Technology,Electronic and Automation Control Conference (IAEAC).Chongqing,China:IEEE, 2021: 915-919.DOI:10.1109/IAEAC50856.2021.9390790.
[12]
丁冬平, 高献伟. SM3算法的FPGA设计与实现[J]. 微型机与应用, 2012, 31(5):26-28.
DING D P, GAO X W. FPGA design and implementation of SM3 algorithm[J]. Microcomputers and Applications, 2012, 31(5):26-28(in Chinese).
PDF(4301 KB)

Accesses

Citation

Detail

Sections
Recommended

/