点评:看到一些介绍MD5在互联网上,有很多的误解或理解王晓云的开裂。




There are many misunderstandings or misunderstandings about the MD5 introduced by Wang Xiaoyun on the Internet.
首先,MD5实际上是一个散列,或者叫散列函数的某个地方,散列函数是一个东西,其实它是一种映射,而通常最常见的是MD5是不可逆和不可逆的,为什么呢有人说不喜欢那些反函数的功能,但它仍然是一个有点抽象,考虑MD5是多对一的映射,也就是说很多不同的通过MD5变换可以是相同的,因为太多的人,自然是不可逆的,你怎么知道他在变换它。在密码学中的应用,这是一个单向函数或单向转化,这是多对一的不可逆的,有一个逆向工程,将是非常困难的,例如,假设f(x)= X ^ 6-x-1,然后你知道,F(1)= - 1,x = 1和F在知道f的计算(1)很简单,和f(x)= - 1和F X是非常困难的,这里就不多说了,我们有一个大致的了解它的钟声。
(图为维基百科)

正如我刚才说的,因为MD5是一个多对一的,它肯定变化的值是相同的,称为碰撞或碰撞。为了确保安全,定义了两种类型,一种称为无弱碰撞,另一种称为无强碰撞。
没有弱碰撞
已知函数m和数据段h
找到一个H
使m(h)=m(h)
很难。
没有强碰撞
已知M
找到一对H和H
使m(h)=m(h)
很难。
很明显,满足弱碰撞比难以满足弱碰撞的要求。这是真的吗嗯,这并不意味着它是显而易见的。为什么不说强碰撞更难换句话说,为什么很难找到强碰撞嗯,这包括生日悖论或生日攻击。
想一想以前的概率,假设一年365天,那么多人,至少两个人使同一个生日会超过1 2的概率,直觉应该是365 2人,答案是23,这是不夸张,或者不会叫悖论啊,怎么计算呢。事实上,我们在一个最小的N,1(1 / 365)*(1 / 365)(* hellip;1(N-1)* 365)> = 1 / 2,只要写一个程序验证23、你不知道。怎么来的,二人不考虑概率和第一个生日的冲突(1-1 / 365)然后第三个人的概率在两人同一天生日是(1 / 365)回来就知道了。然后数实际上是O(sqrt(365))。所以让回到前面的问题。假设映射空间是可以达到最终值的个数是m的弱碰撞的复杂度为O(M),而强烈的碰撞是O(sqrt(M)),所以找到强碰撞是更简单的,就是说,它适应了强烈的碰撞更难。
王晓云的贡献在于找到一个比生日攻击的更复杂的算法快速找到一双有力的碰撞,和弱碰撞仍然是不可能的。这是她的纸。我对它很感兴趣,也就是说,通过密文找到明文仍然是不可能的,弱碰撞仍然是困难的。
但是国外的NB是开明的王晓云,已经是一个非常快的算法可以知道前缀后缀X1,Y1 Y2建设X2的情况下,M(x1y1)= M(X2Y2),但有一个需要注意的,他实际上是一种搜索的强烈碰撞,另一个就是他复杂度比Wang Xiaoyun high直接施工,并有论文,然后利用这个由2008美国总统大选结果的预测,为什么叫预测,因为它可以
因为我说我知道选举结果,但必须事后宣布。为了确保我没有说谎,我首先给出了一个MD5值。然后我给了我的结果。只要结果和MD5一样,我就不能预测成功。
它是基于这样一个事实:我很难建立两个东西来使它们的MD5完全相同,但是用上面的算法,这个问题的复杂性大大降低了,使它成为可能。
那么对裂缝有什么影响呢。我们首先需要知道MD5是干什么用的,现在很多网站使用MD5验证文件的完整性,但是你可以从非官方的地方下载的文件的MD5相同,所以你还是不能掉以轻心,因为该算法可以在程序中添加病毒代码,但MD5是同样的,所以文件或从官方地址栏,也常被用于数字签名,所以不知道这里的数字签名先不说,这样就可以伪造签名什么的,但现在看来有人用MD5传说得到数字签名,没有担心太多,这是基本的。