我愿意在Linux内核上为特定架构实现更快的sha256,但我不知道它是什么用的。
我不仅对使用内核 API 的用户空间软件感兴趣,还对重用 sha256 加密算法的内核空间功能感兴趣。
sha256_generic.c
在内核中包含与平台无关的SHA256实现。
我想您可以从此文件开始跟踪内核中使用它的位置,但很难提出完整的列表。
您会发现sha256主要用于网络堆栈,例如:
- HMAC:用于消息身份验证的密钥哈希 (RFC2104(。(IPSec 需要(
当涉及到用户空间时,我不确定内核的sha256是否被大量使用。例如,我看了一下sha256sum
实用程序,它是coreutils的一部分。如果我正确阅读源代码,它会使用 openssl 的 sha256 实现。