APP下载

SM4 算法快速软件实现*

2021-01-13张笑从张习勇刘建伟

密码学报 2020年6期
关键词:指令优化方法

张笑从, 郭 华, 张习勇, 王 闯, 刘建伟

1. 北京航空航天大学 软件开发环境国家重点实验室, 北京100191

2. 密码科学技术国家重点实验室, 北京100878

3. 北京航空航天大学 空天网络安全工业与信息化部重点实验室, 北京100191

4. 北京卫星信息工程研究所, 北京100086

1 引言

SM4 分组密码算法[1]是我国自主设计的对称分组密码, 为众多信息系统提供安全、完整的数据加密方案. SM4 算法的高效软件实现为我国应用在安全产品(如IPSec、VPN、SSL、TLS 等)上的密码算法由国际标准替换为国家标准提供了强有力的支撑, 为SM4 算法广泛用于政府办公、公安、银行、税务、电力等自主可控要求高的信息系统提供了可靠的保障. 目前关于SM4 算法的软件优化实现方面的相关工作不多, 多使用查表的方法[2], 但由于代替表规模相对较大, CPU 在做查表操作时, 表中数据在内存和cache之间频繁对换导致查表延时较大, 且不利于高效并行加/解密多组消息. 此外, 查表法无法抵抗缓存-计时侧信道攻击, 因此在一定程度上制约了SM4 的软件实现性能和安全性.

1996 年Intel 推出单指令多数据的SSE (Streaming SIMD Extensions) 指令集后, Biham[3]于1997年提出一种新的对称分组密码快速软件实现方法, 核心思想是将处理器视为以1 比特为单位的单指令多数据处理器, 随后被Matthew Kwan 称为比特切片(bit slicing)[4].比特切片方法在64 位平台上实现了64 组DES 消息的并行加解密, 将逻辑门个数从理论上需要的132 个每比特输出优化到100 个每比特输出.之后研究者们对门函数个数进一步进行了优化, 使得标准逻辑门(与、或……

登录APP查看全文

猜你喜欢

指令优化方法
听我指令:大催眠术
超限高层建筑结构设计与优化思考
民用建筑防烟排烟设计优化探讨
关于优化消防安全告知承诺的一些思考
一道优化题的几何解法
ARINC661显控指令快速验证方法
LED照明产品欧盟ErP指令要求解读
用对方法才能瘦
四大方法 教你不再“坐以待病”!
捕鱼