ABSTRACT
MD5 (message digest five) is one of algorithms most widely used
cryptographic hash functions nowadays. It was designed in 1992 as an
improvement of MD4. On 2004, Wang found the weakness of the algorithm using
differential attack, the collisions of MD5 could be found efficiently in two blocks.
The first took about 239 MD5 operations, and the second block took about 232
MD5 operations. Based on these cases, it would be explained the weaknesses of
the algorithm according to sufficient conditions analysis. The resulting analysis
were used to modify the structure of MD5 hash function algorithm.
The result was that there were four important components in MD5 algorithm
which were changed, i.e addition constancy, cyclic constancy, message block
permutation, and non-linearly boolean function. The value of addition constancy,
cyclic constancy, message block permutation were changed from the value of
fixed constancy into the value of a number of variable operation in the previous
iteration, which was spread (depend on previous variable). In the meantime, the
formula of non-linearly boolean function was changed.
Modified MD5 algorithm was intended to be resistant to the differential
attack of Wang version. Since the structure was not changed, this algorithm was
also resistant to the other types or kinds of attack. The changing of some
operations in MD5 algorithm caused the implementation to slow down. The
results of the implementation showed that modified MD5 slower about three times
from previous version.
Keywords: hash function, MD5 algorithm, collision, differential attack, sufficient
conditions.