Lecture 6 Hash functions TEK 4500 29 09

  • Slides: 54
Download presentation
Lecture 6 – Hash functions TEK 4500 29. 09. 2020 Håkon Jacobsen hakon. jacobsen@its.

Lecture 6 – Hash functions TEK 4500 29. 09. 2020 Håkon Jacobsen hakon. jacobsen@its. uio. no

Hash function applications • File storage verification • Data authentication (MACs and digital signatures)

Hash function applications • File storage verification • Data authentication (MACs and digital signatures) • Certificates • Randomness extraction and key derivation (PRFs) • Password hashing • Quantum-resistant signatures • Hash chains (Bitcoin) 2

Hash functions Keyless function Compressing Collision! 3

Hash functions Keyless function Compressing Collision! 3

Collision resistance 4

Collision resistance 4

Collision resistance 5

Collision resistance 5

One-way security 6

One-way security 6

Relation between notions 7

Relation between notions 7

Relation between notions 8

Relation between notions 8

Collision resistance application – MAC domain extension Hash-then-MAC paradigm 9

Collision resistance application – MAC domain extension Hash-then-MAC paradigm 9

Attacks on hash functions 10

Attacks on hash functions 10

Birthday attack 11

Birthday attack 11

Birthday attack 12

Birthday attack 12

Birthday attack 13

Birthday attack 13

Birthday attack 14

Birthday attack 14

Birthday attack 365 20 1000 15

Birthday attack 365 20 1000 15

 16

16

Attacks on hash functions 17

Attacks on hash functions 17

DESIGNING HASH FUNCTIONS

DESIGNING HASH FUNCTIONS

Merkle-Damgård 19

Merkle-Damgård 19

Merkle-Damgård 20

Merkle-Damgård 20

Merkle-Damgård 21

Merkle-Damgård 21

Merkle-Damgård 23

Merkle-Damgård 23

Merkle-Damgård – security 24

Merkle-Damgård – security 24

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Merkle-Damgård – security

Compression function designs 36

Compression function designs 36

Compression functions from block ciphers – Davies-Meyer 37

Compression functions from block ciphers – Davies-Meyer 37

Alternatives… Black, Rogaway & Shrimpton: Black-Box Analysis of the Block-Cipher-Based Hash-Function Constructions from PGV;

Alternatives… Black, Rogaway & Shrimpton: Black-Box Analysis of the Block-Cipher-Based Hash-Function Constructions from PGV; CRYPTO'02 38

SHA – Secure Hash Algorithm • Family of hash functions published by NIST •

SHA – Secure Hash Algorithm • Family of hash functions published by NIST • SHA 1 in 1995 • SHA 2 -256 and SHA 2 -512 in 2001 • Also truncated versions: SHA 2 -224, SHA 2 -384 • SHA 3 -256 and SHA 3 -512 in 2015 • SHA 1 and SHA 2 designed by NSA • Merkle-Damgård + Davies-Meyer designs • SHA 3 designed by Belgian cryptographers • Sponge design 39

SHA 1 Repeat 80 times 40

SHA 1 Repeat 80 times 40

SHA 0 Repeat 80 times 41

SHA 0 Repeat 80 times 41

SHA – Secure Hash Algorithm • Family of hash functions published by NIST •

SHA – Secure Hash Algorithm • Family of hash functions published by NIST • SHA 0 in 1993 • SHA 1 in 1995 • SHA 2 -256 and SHA 2 -512 in 2001 • Also truncated versions: SHA 2 -224, SHA 2 -384 • SHA 3 -256 and SHA 3 -512 in 2015 • SHA 1 and SHA 2 designed by NSA • Merkle-Damgård + Davies-Meyer designs • SHA 3 designed by Belgian cryptographers • Sponge design 42

Attacks against SHA 1 43

Attacks against SHA 1 43

SHA 2 -256 Repeat 64 times 44

SHA 2 -256 Repeat 64 times 44

 • Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 45

• Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 45

 • Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 46

• Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 46

 • Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 47

• Doesn't work in general • Length-extension attacks on Merkle-Damgård hash functions 47

NMAC 48

NMAC 48

HMAC 49

HMAC 49

HMAC 50

HMAC 50

SHA 3 Absorption phase Squeezing phase 51

SHA 3 Absorption phase Squeezing phase 51

END OF PART 1 (SYMMETRIC CRYPTO)

END OF PART 1 (SYMMETRIC CRYPTO)

Summary of symmetric cryptography Primitive Functionality + syntax Security goal Acronym Examples Pseudorandom function

Summary of symmetric cryptography Primitive Functionality + syntax Security goal Acronym Examples Pseudorandom function Indistinguishability from random function PRF AES HMAC Block cipher / pseudorandom permutation Indistinguishability from random permutation PRP AES Encryption Confidentiality: attacker should learn nothing about plaintext (except length) from ciphertexts IND-CPA, IND$-CPA IND-CCA CTR$ CBC$ MAC Integrity: attacker shouldn't be able to forge messages, i. e. , create new messages with valid tags UF-CMA CBC-MAC CMAC HMAC Authenticated encryption Confidentiality + ciphertext integrity AE Et. M GCM OCB CCM Confidentiality (message) + ciphertext integrity + AD integrity Hash function Collision-resistance + one-wayness SHA 1 SHA 2 -256 SHA 2 -512 SHA 3

Midterm exam • Home-exam • Published on Canvas after next week’s lecture (Tuesday 6.

Midterm exam • Home-exam • Published on Canvas after next week’s lecture (Tuesday 6. October) • Due: Tuesday 20. October (2 weeks) • Pass/fail • Must pass in order to take final exam 54

Next week – October 6 • Guest lecture (I’m away) 55

Next week – October 6 • Guest lecture (I’m away) 55