The following are the differences between MD4 and MD5:
- A fourth round has been added.
- Each step now has a unique additive constant.
- The function g in round 2 was changed from (XY v XZ v YZ) to (XZ v Y not(Z)) to make g less symmetric.
- Each step now adds in the result of the previous step. This promotes a faster “avalanche effect”.
- The order in which input words are accessed in rounds 2 and 3 is changed, to make these patterns less like each other.
- The shift amounts in each round have been approximately optimized, to yield a faster “avalanche effect.” The shifts in different rounds are distinct.