我一直试图在python中实现我自己的SHA3 256函数,以尝试学习和理解它是如何工作的。我一直在比较我的散列与在线sha3工具,在这里找到的https://emn178.github.io/online-tools/sha3_256.html和测试文件在NIST网站上找到的https://csrc.nist.gov/projects/cryptographic-standards-and-guidelines/example-values。
我意识到,在NIST文件中找到的1600位文件中的输出哈希与在线工具上的输出哈希不同。我甚至使用了python sha3库,哈希的结果与在线工具上的结果相同。
有人知道为什么NIST输出哈希是不同的吗?我知道NIST已经对SHA3填充做了一些修改,但我仍然不确定。
发布于 2021-04-18 13:57:24
NIST将1600位输入作为位字符串,每个字节按LSb的第一位顺序排列。因此,1 1 0 0 0 1 0 1是A3,而不是人们所期望的C5。
https://crypto.stackexchange.com/questions/89467
复制相似问题