面向AES与SM4的轻量级指令集架构扩展
密码学与安全
2020-08-18 v5
摘要
我们描述了一种面向AES与SM4分组密码的轻量级RISC-V指令集架构(ISA)扩展。借助该扩展,实现一个AES轮仅需16条指令(及一次子密钥加载),而无扩展时需80条。一次SM4步(四分之一轮)具有6.5条算术指令,实现了类似的缩减。或许更为重要的是,该ISA扩展有助于消除缓慢的、依赖于秘密的表查找,并防御缓存时序侧信道攻击。由于仅有一个S盒,该扩展具有极小的硬件规模,非常适用于超低功耗应用。使用该ISA扩展的AES与SM4实现还具有大幅缩减的软件占用。AES与SM4实例可共享相同的数据通路,但在意义上相互独立,即芯片设计者可以实现不带AES的SM4,反之亦然。完整的AES与SM4汇编列表、指令组合逻辑的HDL源代码,以及用于仿真的C代码,已在宽松的开源许可下提供给社区。该实现包含基于Boyar-Peralta构造、具有共享非线性中间层的深度与规模优化的联合AES与SM4 S盒逻辑,展示了逻辑优化的其他途径。该指令逻辑已实验性集成至“Pluto” RV32核的单周期执行通路,并在FPGA系统上完成测试。
引用
@article{arxiv.2002.07041,
title = {A Lightweight ISA Extension for AES and SM4},
author = {Markku-Juhani O. Saarinen},
journal= {arXiv preprint arXiv:2002.07041},
year = {2020}
}
备注
4 Pages. First International Workshop on Secure RISC-V Architecture Design Exploration (SECRISC-V'20). Held in conjunction with the IEEE International Symposium on Performance Analysis of Systems and Software (ISPASS) - August 23rd, 2020 in Boston, Massachusetts, USA