HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC
Elementary Operations MD5 Message Digest Compression Elementary Operations
MESSAGE DIGEST GENERATION MD5
MD5 COMPRESSION FUNCTION
ELEMENTARY MD5 OPERATION
KEY ELEMENTS OF MD5 B C D || F G H I Table 9.1 – truth table B C D || F G H I -------------------------------------- 0 0 0 || 0 0 0 1 0 0 1 || 1 0 1 0 0 1 0 || 0 1 1 0 0 1 1 || 1 0 0 1 1 0 0 || 0 0 1 1 1 0 1 || 0 1 0 1 1 1 0 || 1 1 0 0 1 1 1 || 1 1 1 0
SECURE HASH ALGORITHM SHA-1 Message Digest Compression Elementary Operations
SHA-1 COMPRESSION FUNCTION
ELEMENTARY SHA OPERATION
TRUTH TABLE for ft – SHA-1 B C D || f0..19 f20..39 f40..59 f60..79 ---------------------------------------------------------------------------- 0 0 0 | 0 0 0 0 0 0 1 | 1 1 0 1 0 1 0 | 0 1 0 1 0 1 1 | 1 0 1 0 0 0 | 0 1 0 1 1 0 1 | 0 0 1 0 1 0 | 1 0 1 0 1 1 1 | 1 1 1 1
CREATION OF 80-WORD I/P
Comparison: MD5 vs SHA1 MD5 message digest – 128 bits SHA-1 message digest – 160 bits Find two messages with same digest: MD5 – 264 operations SHA-1 - 280 operations
message digest lengths: 256, 384, 512 NEW SHA ALGORITHMS SHA-256 SHA-384 SHA-512 message digest lengths: 256, 384, 512 to provide compatibility with AES (see Tables 12.3 and 12.4)
Elementary Operations RIPEMD - 160 Message Digest Compression Elementary Operations
RIPEMD – 160 COMPRESSION FUNCTION
RIPEMD – 160 ELEMENTARY OPERATION
RIPEMD – 160 - data Tables 12.5 – 12.9
HASH FUNCTIONS - comparisons Table 12.8 - comparison Table 12.9 - relative performance
HMAC – a MAC from a HASH Why? Hash functions (e.g. MD5, SHA-1) execute faster than Sym. Key (e.g. DES) HMAC combines HASH with Secret Key to make a MAC HMACK(M) = H[(K+ + opad)||H[K+ + ipad)||M]] Security(H) Security(HMAC)
HMAC STRUCTURE
EFFICIENT IMPLEMENTATION of HMAC