SHA256是否往返

bio*_*ard 5 hash sha256

如果采用32位序列并对其执行CRC32,则会得到另一个32位序列; 如果你做CRC32这个,你得到另一个,依此类推.很容易证明,如果你继续这样做,你最终会得到一个2 ^ 32位序列的循环,然后重新开始.

简单的问题:有没有人知道SHA256是否同样适用(或不相同),从256位序列开始?在重新开始之前,类似的过程会循环通过所有2 ^ 256个可能的256位序列的循环吗?或者这个哈希中是否有已知(或可能)更短的循环?

布赖恩

smr*_*t28 2

SHA256 的设计并未满足 2^256 循环的属性。然而,据我所知,没有人证明不存在这样的循环。此外,不存在任何较短的循环,因为如果有人发现一些循环,那么他也会发现冲突,并且从加密哈希函数的性质来看,这一定很困难。

所以,既然没有人证明这一点,是的,2^256 循环有可能存在。然而,这是极不可能的,我愿意用我的左睾丸来赌。:-)

我还要指出的是,在我看来,即使对于最好的加密专家来说,设计一个具有 2^256 循环的加密哈希函数也是极其困难的。