- 论坛徽章:
- 0
|
很多人认为能够有效求解方程
md5(const+x) =x
或
md5(x)=x
就是破解了md5算法
我倒不这么认为。
拿md5(x)=x来说,你可以通过暴力找到一两个这样的解(虽然我没有去找,是否确实存在也不可知),但并不代表任意给出一个md5可以反推出原文件内容,实际根本也不可能推出原文件的内容,因为md5是有损的。那么是否能够有效求解md5(x)=x就可以有效求解这么一个问题,即已知一个文件的md5,我往这个文件中差进一个常数数据使得结果的md5保持不变来实现伪造文件呢?用数学来表示就是:
存在有效求解md5(x)=x或md5(x+const)=x可以推出
存在有效求解md5(x+const)=z 其中y和z是已知数据,且md5(const)=z,要求一个满足方程的x使得原数据const被伪造而且原md5的结果z保持不变
这两类问题是等价的吗?个人感觉不是,如果后者存在有效求解方法,那md5就完了,目前为止还没有这样的算法可以做到,也就是md5继续存在的理由。但是如果前者的问题和后者是等价的,那前者也就不可解。
那么这两个问题是等价的吗?谁能够证明这一点?看来这真是一个数学问题了。 |
|