• Applications of Cryptographic Hash Functions
 Message Authentication
 Digital Signatures
 Other Applications
• Two Simple Hash Functions
• Requirements and Security
 Security Requirements for Cryptographic Hash Functions
 Brute-Force Attacks
 Cryptanalysis
• Hash Functions Based on Cipher Block Chaining
• Secure Hash Algorithm (SHA)
 SHA-512 Logic
 SHA-512 Round Function
• 11.6 SHA-3
Cryptographic Hash Functions
Key Points
• Hash function Variable-length message
Fixed-length message digest
h=H(M)
• Cryptographic hash functions iterative use
of a compression function
Cryptographic Hash Functions
• Hash function
 One-way property
 Collision-free property
H
“Hash function”
M H(M)
Data Integrity
Computationally infeasible
Cryptographic Hash Functions
Block diagram
Cryptographic Hash Functions
Applications
1. Message Authentication
2. Digital Signatures
3. Other Applications (Internet protocols)
Cryptographic Hash Functions
Message Authentication
• Message authentication
Mechanism or service used to verify the
integrity of a message.
No modification
No insertion
No deletion
No replay
Cryptographic Hash Functions
Message Authentication
Confidentiality
No
Confidentiality
Cryptographic Hash Functions
Message Authentication
Confidentiality
Cryptographic Hash Functions
Message Authentication
• No confidentiality: method (b) has an
advantage over methods (a) and (d)
less computation
• Avoid encryption method (c)
 Encryption software relatively slow
 Encryption hardware high cost
 Time high
 Encryption algorithms patents cost
Cryptographic Hash Functions
Message Authentication
M: variable-length message
K: secret key K
Output: fixed-size
MAC: message authentication code (keyed hash function)
Cryptographic Hash Functions
Digital Signatures
Public key
H
“Hash
function”
M H(M)
Encryption
algorithm
Private
key
Cryptographic Hash Functions
Digital Signatures
Cryptographic Hash Functions
Digital Signatures
• Digital signature private-key-
encrypted hash code authentication
(only the sender could have produced the
encrypted hash code, essence of the digital
signature technique)
• Confidentiality + Digital signature
message + private-key-encrypted hash code
encrypted using a symmetric secret key
Cryptographic Hash Functions
Digital Signatures
Cryptographic Hash Functions
Other Applications
1. One-way password file
2. Intrusion detection
3. Virus detection
4. Pseudorandom function(PRF) or a
Pseudorandom number generator
(PRNG).
Cryptographic Hash Functions
Password
Cryptographic Hash Functions
Two Simple Hash Functions
1. Bit-by-Bit exclusive-OR (XOR) of every block
Cryptographic Hash Functions
Two Simple Hash Functions
2. Rotated exclusive-OR (XOR) of every block
i. Initially set the -bit hash value to zero.
ii. Process each successive -bit block of data as
follows:
a. Rotate the current hash value to the left
by one bit.
b. XOR the block into the hash value.
Cryptographic Hash Functions
Requirements and Security
Cryptographic Hash Functions
Second Preimage Resistant
Cryptographic Hash Functions
Second Preimage Resistant
Cryptographic Hash Functions
Requirements and Security
1. Brute-force attacks bit length
(hash value)
2. Cryptanalysis weaknesses in
cryptographic algorithm
Cryptographic Hash Functions
Brute-Force Attacks
• Preimage and second preimage attacks
y H(y)=h
• Collision resistant attacks
y H(y)
Birthday
paradox
Cryptographic Hash Functions
Brute-Force Attacks
m: number of hash value bits
Cryptographic Hash Functions
Cryptanalysis
Merkle–Damgård hash function
Cryptographic Hash Functions
Cryptanalysis
Cryptographic Hash Functions
Secure Hash Algorithm(SHA)
• National Institute of Standards and
Technology (NIST)- Federal information
processing standard (FIPS 180)-1993
SHA-0 (1993)
SHA-1 (1995)
SHA-256
SHA-384 (2002)
SHA-512
Cryptographic Hash Functions
Secure Hash Algorithm(SHA)
Cryptographic Hash Functions
SHA-512 Logic
Cryptographic Hash Functions
SHA-512 Logic
1. Append padding bits (length≡896 mod 1024)
2. Append length (128 bits=16 bytes)
3. Initialize hash buffer
4. Process message in 1024-bit blocks
5. Output 80
rounds
Cryptographic Hash Functions
SHA-512 Logic
Cryptographic Hash Functions
SHA-512 Logic
• Let 32 bit quantity 90AB12CD16
• 4 bytes are: 90, AB, 12, CD
• Two ways to store in memory
Address Value
1000 90
1001 AB
1002 12
1003 CD
Address Value
1000 CD
1001 12
1002 AB
1003 90
Big -
endian
Little -
endian
Cryptographic Hash Functions
SHA-512 Round Function
Cryptographic Hash Functions
SHA-512 Round Function
Cryptographic Hash Functions
SHA-512 Round Function
Cryptographic Hash Functions
SHA-512 Round Function
Cryptographic Hash Functions
SHA-3
• SHA-1& SHA-2 Not broken
• NIST competition (2007) SHA-3
Replace SHA-2 with SHA-3 in any application by
a simple drop-in substitution.
Preserve online nature (SHA-2) small
blocks (no buffer-entire message)
Thank you for your attention

Hash Function