The Study of Quick MD5 Collision Algorithms
|Keywords||Collision algorithm MD5 Message Fast Modify the law Hash Algorithm Stride Symmetric encryption algorithm Validation Digital Signature Satisfied PPP PC total Information Security Pointwise Computational complexity message Circulating the left Block calculation|
MD5 is a hash algorithm, which is closely related with digital signatures . Research MD5 algorithm has a very important significance in the field of information security . Search MD5 collision is to find a pair of messages M0 and M1 makes MD5 (Mo) = MD5 (M1). MD5 collision research breakthrough Wang Xiaoyun , packet modification method , but the method of search efficiency is very low , personal computer can not get the search results in a short period of time . Single packets to modify the method by modifying the m [0 ] to m [ 15] , P [ 1 ] to P [ 16] The conditions of 16 points so that M0 meet the first differential path . Multiple packets can modify the method by modifying packets farthest reaches the P  this point . Reaches P [ 24 ] points , m [ 0 ] to m  , have all been determined , it follows that only a verified M0 to determine if it meets P [ 25 ] to P  of each point conditions . If M0 does not satisfy P  to P  at any point conditions , need to randomly generate a new M0 repeat in front of the message did modify steps to reach the P  points . Obviously , you want to make P  to P  , the probability of each point conditions are satisfied up to 1 , they are required to reach P  point M0 237 . As the message to modify not reuse meet the P  to P [24 ] point conditions M0 resulting computational complexity is too high , so we Klima of the \the the free bits stepped validation MD5 collision search method . The so-called free point in P [ 1 ] to P  a few points when we change a bit of some of these points , and not caused by the conditions of these points change . Free points can change the bit is called the free bit . For a has reached P  the point M0 , if it does not meet the condition of a point P [ 24 ] points behind , then we do not have to give up the whole M0 , but may be based on the M0 , by changing the free point free bit to get the new M0 . As long as the free bit is enough , we can change from a M0 multiple M0 , thus greatly improving the probability of M0 later point conditions . The same time, the validation of the free bit changes do not need to point by point , but you can stride to reach the verification point . Therefore , the the free bit stride validation not only makes the differential path before they reach the verification points enough packets changes to improve the the MD5 collision probability , but also greatly accelerate the search speed of MD5 collision .