Computer Security Lecture 6 Ch.11 Cryptographic Hash Functions Prepared by Dr. Lamiaa Elshenawy

Preview:

Citation preview

Computer Security

Lecture 6Ch.11

Cryptographic Hash FunctionsPrepared 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 FunctionsKey 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

H“Hash function”M H(M)

Data Integrity

Cryptographic Hash FunctionsBlock diagram

Cryptographic Hash FunctionsApplications

1. Message Authentication2. Digital Signatures3. Other Applications (Internet protocols)

Cryptographic Hash FunctionsMessage Authentication

• Message authentication Mechanism or service used to verify the integrity of a message.

No modificationNo insertionNo deletionNo replay

Cryptographic Hash FunctionsMessage Authentication

Confidentiality

No Confidentiality

Cryptographic Hash FunctionsMessage Authentication

Confidentiality

Cryptographic Hash FunctionsMessage 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 FunctionsMessage Authentication

M: variable-length message K: secret key KOutput: fixed-size

MAC: message authentication code (keyed hash function)

Cryptographic Hash FunctionsDigital Signatures

Public key

H“Hash

function”M H(M)

Encryption algorithm

Private key

Cryptographic Hash FunctionsDigital Signatures

Cryptographic Hash FunctionsDigital 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 codeencrypted using a symmetric secret key

Cryptographic Hash FunctionsDigital Signatures

Cryptographic Hash FunctionsOther Applications

1. One-way password file2. Intrusion detection3. Virus detection4. Pseudorandom function(PRF) or a

Pseudorandom number generator (PRNG).

Cryptographic Hash FunctionsPassword

Cryptographic Hash FunctionsTwo Simple Hash Functions

1. Bit-by-Bit exclusive-OR (XOR) of every block

Cryptographic Hash FunctionsTwo Simple Hash Functions

2. Rotated exclusive-OR (XOR) of every blocki. 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 FunctionsRequirements and Security

Cryptographic Hash FunctionsSecond Preimage Resistant

Cryptographic Hash FunctionsSecond Preimage Resistant

Cryptographic Hash FunctionsRequirements and Security

1. Brute-force attacks bit length (hash value)

2. Cryptanalysis weaknesses in cryptographic algorithm

Cryptographic Hash FunctionsBrute-Force Attacks

• Preimage and second preimage attacks

y H(y)=h

• Collision resistant attacks

y H(y)

Birthday paradox

Cryptographic Hash FunctionsBrute-Force Attacks

m: number of hash value bits

Cryptographic Hash FunctionsCryptanalysis

Merkle–Damgård hash function

Cryptographic Hash FunctionsCryptanalysis

Cryptographic Hash FunctionsSecure Hash Algorithm(SHA)

• National Institute of Standards and Technology (NIST)- Federal information processing standard (FIPS 180)-1993

SHA-0 (1993)SHA-1 (1995)SHA-256SHA-384 (2002)SHA-512

Cryptographic Hash FunctionsSecure Hash Algorithm(SHA)

Cryptographic Hash FunctionsSHA-512 Logic

Cryptographic Hash FunctionsSHA-512 Logic

1. Append padding bits (length896 mod 1024)2. Append length (128 bits=16 bytes)3. Initialize hash buffer

4. Process message in 1024-bit blocks5. Output 80

rounds

Cryptographic Hash FunctionsSHA-512 Logic

Cryptographic Hash FunctionsSHA-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 FunctionsSHA-512 Round Function

Cryptographic Hash FunctionsSHA-512 Round Function

Cryptographic Hash FunctionsSHA-512 Round Function

Cryptographic Hash FunctionsSHA-512 Round Function

Cryptographic Hash FunctionsSHA-3

• SHA-1& SHA-2 Not broken • NIST competition (2007) SHA-3Replace 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)

Example

M=“abc”

ASCII code

Padding bits=896-24=871

Length=24 bits=18 hexadecimal

1024-bit massage

Cryptographic Hash FunctionsExample

Cryptographic Hash FunctionsExample

After two rounds

Example

After 80 rounds

Hash value

Example

512-bit message digest Finally

Thank you for your attention

Recommended