Chapter 5 Hash funtions and other topics Link to a network and security course I did in 2004
What is a Hash function? Input x, Output h(x) Hash functions can be used just as symmetric key can be used.
Must provide the flollowing:

Can be used because:

Question: We must have collision resistance, both weak and strong. Then it says over that " collisions must exist"...
Collision: Two distinct inputs creates the same output. Here the birthday problem comes in. Is the Hash secure?
Secure hash: 2^{N/2} to break
Secure symmetric key: 2^{N1} to break

Tiger: Optimal performance on 64bit processors. Input is divided into 512 bit blocks (8 x 64). 4 S boxes is used. Uses the same message stuffing as MD5 and SHA. Output of Tiger is 192 bits (3x 64 bit words).

HMAC: As any MAC (message authentication code), it can be used for data integrity and the authenticity of a message. Using a cryptographic hash function together with a key. Uses hash such as MD5 (128 bits) and SHA1 (180) bits. The bit size of the hash function is the same as for the undelying functions used. 
Kway collision: page 9
Question: Input is divided into 512 bit blocks, MD5 and Sha use 128 and 180 bits. What is the connection?
THE CONNECTION IS THAT 512 IS INPUT AND 128, 180 AND 3X 64 IS OUTPUT.
Uses for HMAC:
online bids  
Spam reduction work for the sender, but none for the receiver  
Digital signature efficiency, data corruption detection 
Applications using HMAC
functions:
A hash function can be used to do anything that can be done with symmetric key cipher and vice versa.

Random numbers:
