gpt4 book ai didi

hash - Keccak/SHA-3 具有多个程序的不同哈希值?

转载 作者:行者123 更新时间:2023-12-05 00:59:10 24 4
gpt4 key购买 nike

我正在开发 keccak 海绵函数,并且对哈希结果有一些奇怪的行为。

我使用 24 位(3 个字节)的字符串“abc”。
http://www.di-mgt.com.au/sha_testvectors.html 上的 SHA-3 测试向量说 SHA3-512 的结果如下:

SHA3-512 from Test Vector b751850b1a57168a 5693cd924b6b096e 08f621827444f70d 884f5d0240d2712e 10e116e9192af3c9 1a7ec57647e39340 57340b4cf408d5a5 6592f8274eec53f0



我还使用了cryptopp 5.62版,它给了我这个输出:

CryptoPP 18587dc2ea106b9a1563e32b3312421ca164c7f1f07bc922a9c83d77cea3a1e5d0c69910739025372dc14ac9642629379540c17e2a65b19d77aa511a9d00bb96



我在 Windows 上使用 HashTab 5.2.0.14,它为我提供了与“abc”相同输出的文件:

HashTab 5.2.0.14 18587dc2ea106b9a1563e32b3312421ca164c7f1f07bc922a9c83d77cea3a1e5d0c69910739025372dc14ac9642629379540c17e2a65b19d77aa511a9d00bb96



所以,有一些引用,但其中一个与其他引用不同。网站上解释说,输入消息附有 FIPS-202 草案中定义的 2 位“10”。那么,CryptoPP 和 HashTab 可能使用另一种实现,但是哪个??

现在我有我的程序和来自 keccak 站点的“引用代码”,还有另一个在 python 中的实现:

我的程序为“abc”返回这个哈希值:

My Program 20FF13D217D5789FA7FC9E0E9A2EE627363EC28171D0B6C52BBD2F240554DBC94289F4D61CB57DF72DF08AAC4366022D5DF23E703B8FDFF6306021DB4D5E6760



这是 http://keccak.noekeon.org/KeccakReferenceAndOptimized-3.2.zip 上的 keccak 引用代码 ( http://keccak.noekeon.org/files.html )计算相同的值:

Keccak-Reference 3.2 Message of size 2040 bits with Keccak[r=1024, c=576] 20FF13D217D5789FA7FC9E0E9A2EE627363EC28171D0B6C52BBD2F240554DBC94289F4D61CB57DF72DF08AAC4366022D5DF23E703B8FDFF6306021DB4D5E6760 (truncated to the same length)



这是来自 https://github.com/mgoffin/keccak-python/blob/master/Keccak.py 的 python 实现产生相同的值:

keccak-python Value after squeezing : 20FF13D217D5789FA7FC9E0E9A2EE627363EC28171D0B6C52BBD2F240554DBC94289F4D61CB57DF72DF08AAC4366022D5DF23E703B8FDFF6306021DB4D5E67601173D04BF5AEC3EBBCA87696355C5FB4D72D00D2CC4F843A0A3A0ED8924A16FC37769A3DB7C3A84F31E92375A7D74A0136D80A647FBC5AF8D733B43873A3709F



所以我的问题:

1) 根据 NIST 使用 FIPS 202 制定的规范,Keccak 和 SHA-3 是否具有不同的输出?

2)为什么我现在有三个不唯一的不同哈希值?

3) SHA3-512 中的容量是否更改为具有 512 位容量和 1600-512 比特率?这是我在关于 SHA-3 的演示文稿中读到的另一个不同之处,但我没有在 FIPS-202 文档中找到它。

非常感谢!

问候,

布拉克

最佳答案

2)
就像 https://crypto.stackexchange.com/questions/15727/what-are-the-key-differences-between-the-draft-sha-3-standard-and-the-keccak-sub 中提到的一样
FIPS 202 已于 2014 年 4 月 7 日更改。

CryptoPP 的最后一个版本是 2/20/2013(这是第一个包含 SHA3 的版本)
http://www.cryptopp.com/

这解释了为什么 CryptoPP 与实际测试向量相比产生不同的哈希值。我认为同样适用于 HashTab。

关于hash - Keccak/SHA-3 具有多个程序的不同哈希值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25529217/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com