2. Topic 5 List cryptographic hash algorithms and list their applications. Discuss MD5 hash algorithm or any other hash algorithm in detail. Submitted By: Muhammad AshikIqbal M.Sc. in CSE ID: 092-25-127 DIU ashik.email@gmail.com http://ashikiqbal.blogspot.com
7. MD5 Designed by Ronald Rivest in 1991 and replaces an earlier hash function MD4 MD5 is a widely used cryptographic hash function 128-bit hash function Uses 512 bit blocks Uses 128-bit keys or states The 128-bit key is split into 4 sub-keys of 32 bits each Four rounds are used to produce the hash In each round addition, XOR, AND, OR, rotation are used
9. MD5 Algorithms 2. Append length (64bits) 1. Append padding bits (to 448 mod 512) 3. Initialize MD buffer Word A = 01 23 45 67 Word B = 89 AB CD EF Word C = FE DC BA 98 Word D = 76 54 32 10
10. MD5 Algorithms F(X,Y,Z) = (X ∧ Y) ∨ (¬X ∧ Z) G(X,Y,Z) = (X ∧ Z) ∨ (Y ∧ ¬Z) H(X,Y,Z) = X ⊕ Y ⊕ Z I(X,Y,Z) = Y ⊕ (X ∨ ¬Z) Round 0: Steps 0 to 15 Round 1: Steps 16 to 31 Round 2: Steps 32 to 47 16 steps Round 4: Steps 47 to 63 X[k] = M [q*16+k] (32 bit) Constructed from sine function
11. MD5 Applications MD5 has been employed in a wide variety of security applications and is also commonly used to check the integrity of files Used in the software world to provide some assurance that a transferred file has arrived intact Unix-based operating systems include MD5 sum utilities in their distribution packages MD5 can provide error-checking functionality It recognizes corrupt or incomplete download, which becomes more likely when downloading larger files Widely used to store passwords after adding salt
12. MD5 Attack History Dobbertin “almost” able to break MD5 using his MD4 attack in 1996 Showed that MD5 might be at risk In 2004, Wang published one MD5 collision No explanation of method was given Based on one collision, Wang’s method was reverse engineered by Australian team Ironically, this reverse engineering work has been primary source to improve Wang’s attack