2014-10-31 59 views
3

我正在做一个使用彩虹桌破解sha256的项目。我正在尝试攻击8位数字的字母数字序列。我清楚地知道彩虹桌是如何工作的,以及连锁应该如何形成和储存。但是,我不明白如何获得一个减少函数形成链。我已经用Google搜索了几个小时,并没有任何结果。那么,什么是链的良好的还原功能,它如何证明它涵盖了所有8位数的字母数字序列。SHA256彩虹桌减少算法

+1

这个问题似乎是题外话,因为它是关于发展密码分析技术和不包括编程的问题。 – 2014-10-31 08:59:22

+3

@邓肯有人可能会争辩说,这是一个关于软件算法的问题,根据帮助中心,这是一个关于主题的问题。堆栈溢出不仅仅是编程问题。 – 2014-10-31 11:45:14

回答

3

有10^9不同的8位数字序列。 SHA256散列值的前30位有1073741824个可能的值。因此,一个合理的做法是提取那些30位,并使用数字模10^9作为您还原功能:

R(hash) = hash[0:30] % 10^9 

这是不可能的,这实际上涵盖了所有8个数字序列,但在实践中它绝对应该不错由于假定SHA256的“随机性”属性而足够了。尽管由于模量的原因,对数字< = 2^30 - 10^9有一个小的偏差。