Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy Computer Security Lecture 6 Ch.11 Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy
Cryptographic Hash Functions 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 Cryptographic hash functions iterative use of a compression function Compression function Specific function (SHA) Symmetric block cipher (Whirlpool)
Cryptographic Hash Functions Hash function Computationally infeasible One-way property Collision-free property Data Integrity H “Hash function” M H(M)
Cryptographic Hash Functions Block diagram
Cryptographic Hash Functions Applications Message Authentication Digital Signatures 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 MAC: message authentication code (keyed hash function) M: variable-length message K: secret key K Output: fixed-size
Cryptographic Hash Functions Digital Signatures Private key H “Hash function” M H(M) Encryption algorithm Public 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 One-way password file Intrusion detection Virus detection Pseudorandom function(PRF) or a Pseudorandom number generator (PRNG).
Cryptographic Hash Functions Password
Cryptographic Hash Functions Two Simple Hash Functions Bit-by-Bit exclusive-OR (XOR) of every block
Cryptographic Hash Functions Two Simple Hash Functions Rotated exclusive-OR (XOR) of every block Initially set the -bit hash value to zero. 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 Brute-force attacks bit length (hash value) 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 Append padding bits (length≡896 mod 1024) Append length (128 bits=16 bytes) 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 CD 1001 12 1002 AB 1003 90 Address Value 1000 90 1001 AB 1002 12 1003 CD 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)
Length=24 bits=18 hexadecimal Example Length=24 bits=18 hexadecimal ASCII code M=“abc” 1024-bit massage Padding bits=896-24=871
Cryptographic Hash Functions Example
Cryptographic Hash Functions Example After two rounds
Example After 80 rounds Hash value
Example 512-bit message digest Finally
Thank you for your attention