《03-舒卓.pdf》由会员分享,可在线阅读,更多相关《03-舒卓.pdf(14页珍藏版)》请在三个皮匠报告上搜索。
1、安全加解密算子RVK性能优化舒卓Nuclei TechnologyContents:2024/10/12Confidential 2024 Nuclei.All Rights Reserved.2安全加解密算法简介RISC-V Crypto 扩展(Scalar K 与 Vector K)使用 K 扩展加速安全加解密算法在 Nuclei Evalsoc 上实测的提升效果安全加解密算法简介2024/10/12Confidential 2024 Nuclei.All Rights Reserved.3安全加解密算法 主要分为三大类:对称加解密、非对称加解密与哈希函数 对称加解密(DES/3DES/A
2、ES/SM4 等)非对称加解密(RSA/ECC/SM2 等)哈希函数(MD5/SHA-1/SHA-2/SM3 等)RISC-V Crypto 扩展2024/10/12Confidential 2024 Nuclei.All Rights Reserved.4RISC-V Crypto 扩展包括 Scalar K 与 Vector K 扩展,相比于纯软件实现,使用 K 扩展指令可以提升加解密算法的速度,并降低应用程序的Code size Scalar K 扩展,包含 zbk(位操作)、zkn(NIST)、zks(商密)等子扩展优点:基于通用寄存器,实现开销较小,适用于小核缺点:性能提升有限,比
3、Vector K 差 Vector K 扩展,包含 zvkb(位操作)、zvkn(NIST)、zvks(商密)等子扩展优点:基于 RVV 扩展实现,性能较高,适用于大核缺点:Vector K 扩展依赖 RVV 扩展(即VPU),面积开销较大RISC-V Crypto 扩展-支持的加解密算法2024/10/12Confidential 2024 Nuclei.All Rights Reserved.5 AES-128/192/256 GCM/CCM/ECB/OCB/OFB/CFB/CFB1/CFB8/CTR AES-128/256-XTS SHA-224/SHA-256 SHA-384/SHA-
4、512 SM3 SM4 CBC/ECB/CCM/CFB/CFB1/CFB8/CTR/GCM/OFB/XTSRISC-V Crypto 扩展支持以下算法,以及不同的模式:RISC-V Crypto 不支持以下算法,原因是这些算法不再安全:DES/3DES MD5 SHA-1使用 K 扩展加速安全加密算法-SM42024/10/12Confidential 2024 Nuclei.All Rights Reserved.6以 SM4 算子为例来展示使用K扩展优化的流程SM4 加解密算法原理如图:使用 K 扩展加速安全加密算法-Scalar K2024/10/12Confidential 2024
5、Nuclei.All Rights Reserved.7使用 Scalar K 扩展加速 SM4-密钥扩展部分:使用 K 扩展加速安全加密算法-Scalar K2024/10/12Confidential 2024 Nuclei.All Rights Reserved.8使用 Scalar K 扩展加速 SM4-轮函数迭代加密部分:使用 K 扩展加速安全加密算法-Vector K2024/10/12Confidential 2024 Nuclei.All Rights Reserved.9使用 Vector K 扩展加速 SM4算法:使用 K 扩展加速安全加密算法-3种使用方式2024/10/
6、12Confidential 2024 Nuclei.All Rights Reserved.10Nuclei 目前提供 3种 方式来使用 K 扩展:MbedTLSNuclei 基于 mbedtls 适配,裸机,适用于小型MCU链接地址:https:/ Linux Crypto框架Linux 6.9 主线已经支持 Vector K(目前不支持scalar K),运行在 kernel space 链接地址:https:/ OpenSSLOpenSSL 主线已经支持 Vector K(目前不支持scalar K),运行在 user space链接地址:https:/ Evalsoc上实测的提升效果