Hash 可以使用WHIRLPOOL散列的消息的最大长度

Hash 可以使用WHIRLPOOL散列的消息的最大长度,hash,passwords,cryptography,whirlpool,Hash,Passwords,Cryptography,Whirlpool,我只是想知道最大长度是多少。我从中了解到,它需要任何长度小于2^256位的消息。这是否意味着2乘以256的幂?另外,多次散列密码是否更安全?例如: WHIRLPOOL(WHIRLPOOL(WHIRLPOOL(WHIRLPOOL("passw0rd")))) 或者这会增加冲突的风险吗?是的,这意味着2^256位。当然,由于一个字节中有2^3位,因此最大空间为2^253字节。没什么好担心的 是的,最好是多次散列。不,你不必担心“周期”(很多)。许多伪随机数生成器都以相同的方式使用哈希。散列算法不应

我只是想知道最大长度是多少。我从中了解到,它需要任何长度小于2^256位的消息。这是否意味着2乘以256的幂?另外,多次散列密码是否更安全?例如:

WHIRLPOOL(WHIRLPOOL(WHIRLPOOL(WHIRLPOOL("passw0rd"))))

或者这会增加冲突的风险吗?

是的,这意味着2^256位。当然,由于一个字节中有2^3位,因此最大空间为2^253字节。没什么好担心的

是的,最好是多次散列。不,你不必担心“周期”(很多)。许多伪随机数生成器都以相同的方式使用哈希。散列算法不应该丢失太多的信息,也不应该有一个短的循环时间


但是,应使用基于密码的密钥派生函数计算密码哈希。然后存储“密钥”。PBKDF可以使用散列(例如PBKDF2)或键控分组密码(bcrypt)。大多数KDF使用消息身份验证码(HMAC或MAC),而不是直接使用底层哈希算法或分组密码

PBKDF的输入是salt和迭代计数。迭代计数用于使攻击者更难通过尝试各种密码对系统进行暴力攻击。这基本上和你在惠而浦做的一样。只有迭代计数通常在1到10000之间。在每次迭代中,通常也会混合更多的数据

更重要的是,(特定于密码的)salt用于确保无法检测到重复密码,并避免使用rainbow表进行攻击。通常情况下,salt大约是64到128位。salt和迭代计数应与“hash”一起存储



最后,最好使用NIST审查过的散列算法,如SHA-512,而不是WHIRLPOOL。

在继续之前,请阅读整个页面:WHIRLPOOL仍在ISO/IEC 10118“认可”散列函数列表中。。。13专用哈希函数7(惠而浦)