Hashing Flashcards
Easy to compute H(m)
Performance of hash function
Given H(m), but not m, it’s computationally infeasible to find m
One-way property of hash function
Given H(m), it’s computationally infeasible to find m’ such that H(m’) = H(m)
Pre-image resistance
Computationally infeasible to find any pair m1, m2 such that H(m1) = H(m2)
Collision resistance
Too long of a hash
Unnecessary overhead
Too short of a hash
Birthday paradox
Broken, collisions published in August 2004
MD5
Too weak for serious applications
MD5
Weaknesses were found, but still in use
SHA
Collisions in 2^69 hash operations
SHA-1 birthday attack
128-bit input digest of four 32-bit words
MD5 input
512-bit message block (sixteen 32-bit words)
MD5 input
128-bit output (four 32-bit words)
MD5 output
Each pass uses a table of constants to update output digest
MD5 operation
Developed by NIST, specified in 1993
SHA