Are there in x86 any instructions to accelerate SHA (SHA1/2/256/512) encoding?
这是2016年11月,答案终于是.但它只有SHA-1和SHA-256(和扩展,SHA-224).
>奔腾J4205(桌面)
>奔腾N4200(手机)
> Celeron J3455(桌面)
> Celeron J3355(桌面)
> Celeron N3450(手机)
> Celeron N3350(手机)
我在亚马逊的产品中看到了具有架构或处理器编号的机器,但是我没有找到任何可用的(尚).我相信惠普宏碁有一台笔记本电脑,奔腾N4200预计将于2016年11月2016年12月推出,以满足测试需求.
对于一些技术细节,为什么只有SHA-1,SHA-224和SHA-256,那么请参阅内核加密邮件列表中的crypto: arm64/sha256 – add support for SHA256 using NEON instructions.简单的答案是,SHA-256以上的事情并不容易并行化.
您可以在Noloader GitHub | SHA-Intrinsics找到Intel SHA内在函数和ARMv8 SHA内在函数的源代码.它们是C源文件,并为SHA-1,SHA-224和SHA-256提供压缩功能.基于固有的实现为SHA-1增加了大约3×4×的吞吐量,对于SHA-224和SHA-256,吞吐量增加约6×〜12×.