由于最近做一个和密码有关的东西,在网上查了下彩虹表的形成原理,这篇文章:(总结)密码破解之王:Ophcrack彩虹表(Rainbow Tables)原理详解 看了下,里面提到了一句话:
对于一个Q = H(P),建立另一个算法R使得 P = R(Q),然后对于一个p,这样进行计算: p0 -H-> q1 -R->p1 -H-> q2 -R->p2 -H-> q3 -R->p3 … -H-> q(n-1) -R->p(n-1) -H-> qn -R->pn 简单的说,就是把q用H、R依次迭代运算,最后得到pn,n可能比较大。最后我们把p0和pn都存储下来,把其他的结果都丢弃。
我想问下,这个N的值是怎么确定的,找了很多文章,包括维基百科,他也只提到这个N,但是没有说是怎么确定的:
To generate the table, we choose a random set of initial passwords from P, compute chains of some fixed length k for each one, and store only the first and last password in each chain.(即那个K)
求了解彩虹表的大神帮忙解答下,感谢!
不会,Mark ######只会用的路过######谢谢楼上两位的光顾,希望有懂得帮忙看下,刚才我看了下那篇论文,里面只提到了他实验时用到的一个数值就是 4666 但是感觉这个应该不是一般的n的参考值吧?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。