密码学报2024,Vol.11Issue(2):427-440,14.DOI:10.13868/j.cnki.jcr.000686
基于寄存器的SM4软件优化实现方法
Optimization Implementation Method of SM4 Based on Register
摘要
Abstract
The efficiency of the SM4 is a fundamental issue that needs to be solved urgently during the development of national cryptographic algorithms.Many scholars have devoted themselves to studying how to improve the implementation speed of the SM4 algorithm.Bit-slicing is currently recognized as one of the fastest software implementation method of SM4 algorithm.It improves the implementation speed of the SM4 algorithm by encrypting multiple sets of data in parallel in one encryption operation.However,the same bits of multiple sets of data need to be loaded into the registers of the CPU at one time before each encryption operation,which will bring the extra overhead of data transmission between the CPU registers and the memory.In order to reduce the data loaded by registers at one time,this study improves the data arrangement method in the bit slicing method,so that only the necessary operation data is loaded each time when CPU performs the operation.It reduces the interaction between memory and registers,and further improves the overall encryption efficiency when using the bit slicing method to implement SM4.This study adopts the improved bit slicing method to realize the parallel encryption and decryption of 64 groups of data of SM4 algorithm.The encryption and decryption speed of this method can reach 4.1 cycles/byte in theory,and reached 11 162 Mb/s on the AMD Ryzen 7 5800H platform.This method has important reference value for the software optimization implementation method of the symmetric encryption algorithm designed based on the bit slicing method.关键词
SM4算法/比特切片/内存读取/数据编排Key words
SM4 algorithm/bit-slicing/memory read operations/data arrangement分类
信息技术与安全科学引用本文复制引用
陈晨,郭华,刘源灏,龚子睿,张宇轩..基于寄存器的SM4软件优化实现方法[J].密码学报,2024,11(2):427-440,14.基金项目
北京市自然科学基金(4202022) (4202022)
复杂关键软件环境全国重点实验室自主课题(CCSE-2024ZX-06) (CCSE-2024ZX-06)
校级大学生创新创业训练计划(X202210006242)Natural Science Foundation of Beijing Municipality(4202022) (X202210006242)
State Key Laboratory of Complex& Critical Software Environment(CCSE-2024ZX-06) (CCSE-2024ZX-06)
Innovation and Entrepreneurship Training Plan for College Students(X202210006242) (X202210006242)