我愿意在Linux内核上为特定的架构实现更快的sha256,但我不知道它使用了什么。
我不仅对使用内核API的用户空间软件感兴趣,而且对重用sha256加密算法的内核空间功能感兴趣。
答案 0 :(得分:1)
sha256_generic.c
包含内核中sha256实现的独立于平台的实现。
我想你可以从这个文件开始跟踪内核中使用它的位置,但是很难找到一个完整的列表。
您发现sha256主要用于网络堆栈,例如:
说到用户空间,我不确定内核的sha256是否被大量使用。例如,我查看了sha256sum
实用程序,它是coreutils的一部分。如果我正确地阅读了源代码,它将使用openssl的sha256实现。