2013-12-10 54 views
5

如果你采用32位序列,并对其执行CRC32,则会得到另一个32位序列作为结果;如果你做CRC32这个,你会得到另一个,等等。很容易证明,如果你一直这样做,最终会在重新开始之前产生一个2^32位序列的循环。是否SHA256往返

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

布赖恩

回答

2

SHA256尚未设计,以满足2^256环的财产。不过,据我所知,没有人证明没有这样的循环。此外,还不知道任何更短的循环,因为如果有人发现了一些,那么他也会发现碰撞,并且根据密码散列函数的性质,这很难。

所以,由于没有人没有证明它,是的,有可能存在2^256周期。然而,我很不愿意为左睾丸打赌。 :-)

让我也注意到,即使是最好的加密专家,IMO设计具有2^256循环的加密散列函数也是极其困难的。