ARMv8指令集新增crypto密码学指令,其中包含了AES加解密算法、SHA1和SHA256安全散列算法相关的硬件加速指令,可以显著提升计算性能。SHA256优化算法主要使用的指令如下表 SHA256优化算法指令所示。
指令
功能
使用示例
SHA256H
SHA256哈希更新(part 1)
SHA256H q0, q1, v2.4s
SHA256H2
SHA256哈希更新(part 2)
SHA256H2 q0, q1, v2.4s
SHA256SU0
SHA256消息块更新0
SHA256SU0 v0.4s, v1.4s
SHA256SU1
SHA256消息块更新1
SHA256SU1 v0.4s, v1.4s, v2.4s
使用sha256_aarch64.S文件替换原本的实现,并在sha256.c文件中调用的位置添加上鲲鹏的sha256_compress函数。
具体请参见华为鲲鹏论坛:
https://bbs.huaweicloud.com/forum/thread-138517-1-1.html