21
HASH ALGORITHMS HASH ALGORITHMS - - Chapter 12 Chapter 12 MD5 SHA RIPEMD-160 HMAC

HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

  • View
    245

  • Download
    1

Embed Size (px)

Citation preview

Page 1: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

HASH ALGORITHMSHASH ALGORITHMS - Chapter 12 - Chapter 12

• MD5

• SHA

• RIPEMD-160

• HMAC

Page 2: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

MD5MD5

• Message Digest

• Compression

• Elementary Operations

Page 3: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

MESSAGE DIGEST GENERATIONMD5

L ´ 512 bits = N ´ 32 bits

M essage

M essage length(K mod 2 64 )

¥ ¥ ¥ ¥ ¥ ¥

512 bits 512 bits 512 bits 512 bits

Y 0 Y 1 Y q Y L Ð1

128

512

H M D 5I VC V 1 C V q C V L Ð1

128

512

128

512

128

512

128-bitdigest

F igur e 12.1 M essage D igest G ener ation U sing M D5

100...0

P adding(1 to 512 bits)

K bits

H M D 5 H M D 5 H M D 5

Page 4: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

MD5 COMPRESSION FUNCTION128

Y q

512

C V q

A B C D

+

128

C V q+1

+ + +

32

A B C D

A B C D

A B C D

N ote: addition (+) is m od 2 32

F igur e 12.2 M D5 P r ocessing of a Single 512-bit B lock

F , T [1...16], X [i]16 steps

G , T [17...32], X [r 2i]16 steps

H , T [33...48], X [r 3i]16 steps

I , T [49...64], X [r 4i]16 steps

Page 5: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

ELEMENTARY MD5 OPERATION

A B C D

A B C D

+

+

X [k]

T [i]

F igur e 12.3 E lementar y M D5 O per ation (single step)

+

+ g

C L S s

Page 6: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

KEY ELEMENTS OF MD5KEY ELEMENTS OF MD5• Table 9.1 – truth table B C D || F G H I -------------------------------------- 0 0 0 || 0 0 0 1 0 0 1 || 1 0 1 0 0 1 0 || 0 1 1 0 0 1 1 || 1 0 0 1 1 0 0 || 0 0 1 1 1 0 1 || 0 1 0 1 1 1 0 || 1 1 0 0 1 1 1 || 1 1 1 0

Page 7: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

SECURE HASH ALGORITHMSECURE HASH ALGORITHM SHA-1 SHA-1

• Message Digest

• Compression

• Elementary Operations

Page 8: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

SHA-1 COMPRESSION FUNCTION

+ + +

160

Y q

512

C V q

160

C V q+1

+

A B C D E

N ote: addition (+) is mod 2 32

32

A B C D E

A B C D E

A B C D E

+

F igur e 12.5 SH A -1 P r ocessing of a Single 512-bit B lock(SH A -1 C ompr ession F unction)

f1, K , W [0...19]20 steps

f2, K , W [20...39]20 steps

f3, K , W [40...59]20 steps

f4, K , W [60...79]20 steps

Page 9: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

ELEMENTARY SHA OPERATION

A B C D E

A B C D E

+

+

+

f t

S 5

S30

W t

K t

F igur e 12.6 E lementar y SH A O per ation (single step)

+

Page 10: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

TRUTH TABLE for fTRUTH TABLE for ftt – SHA-1 – SHA-1B C D || f0..19 f20..39 f40..59 f60..79----------------------------------------------------------------------------

0 0 0 | 0 0 0 00 0 1 | 1 1 0 10 1 0 | 0 1 0 10 1 1 | 1 0 1 01 0 0 | 0 1 0 11 0 1 | 0 0 1 01 1 0 | 1 0 1 01 1 1 | 1 1 1 1

Page 11: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

CREATION OF 80-WORD I/P

X O RX O RX O R

S1 S1 S1

512 bits

¥ ¥ ¥ ¥ ¥ ¥ ¥ ¥ ¥

F igur e 12.7 C r eation of 80-w or d I nput Sequence for SH A -1 P r ocessing of Single B lock

W t-16W 0 W 2 W 8 W 13 W 63 W 65 W 71 W 76W t-14 W t-8 W t-3

W 0 W 1 W 15 W 16 W t

Y q

W 79

Page 12: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

Comparison: MD5 vs SHA1Comparison: MD5 vs SHA1

MD5 message digest – 128 bitsSHA-1 message digest – 160 bits

Find two messages with same digest: MD5 – 264 operations SHA-1 - 280 operations

Page 13: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

NEW SHA ALGORITHMSNEW SHA ALGORITHMS

• SHA-256• SHA-384• SHA-512 message digest lengths: 256, 384, 512

to provide compatibility with AES (see Tables 12.3 and 12.4)

Page 14: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

RIPEMD - 160RIPEMD - 160

• Message Digest

• Compression

• Elementary Operations

Page 15: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

RIPEMD – 160COMPRESSION FUNCTION

N ote: addition (+) is mod 2 32

F igur e 12.8 R I P E M D-160 P r ocessing of a Single 512-bit B lock(R I P E M D-160 C ompr ession F unction)

f1, K 1, X i16 steps

f2, K 2, X r (i)16 steps

f3, K 3, X r 2(i)16 steps

f4, K 4, X r 3(i)16 steps

f5, K 5, X r 4(i)16 steps

f5, K 1, X i16 steps

f4, K 2, X r p(i)16 steps

f3, K 3, X r 2p(i)16 steps

f2, K 4, X r 3p(i)16 steps

f1, K 5, X r 4p(i)16 steps

'

'

'

'

'

++

++

+

C V q

Y q Y q

A B C D E A ' B ' C ' D ' E '

A ' B ' C ' D ' E '

A ' B ' C ' D ' E '

A ' B ' C ' D ' E '

A B C D E

A B C D E

A B C D E

C V q+1

Page 16: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

RIPEMD – 160ELEMENTARY OPERATION

A B C D

A B C D

E

E

+

+

X i

K j

F igur e 12.9 E lementar y R I P E M D-160 O per ation (single step)

+

+ f j

rol 10rol s(j)

Page 17: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

RIPEMD – 160 - dataRIPEMD – 160 - data

Tables 12.5 – 12.9

Page 18: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

HASH FUNCTIONS - comparisonsHASH FUNCTIONS - comparisons

Table 12.8 - comparison

Table 12.9 - relative performance

Page 19: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

HMAC – a MAC from a HMAC – a MAC from a HASHHASHWhy?Hash functions (e.g. MD5, SHA-1)execute faster than Sym. Key (e.g. DES)

HMAC combines HASH with Secret Key to make a MAC

HMACK(M) = H[(K+ + opad)||H[K+ + ipad)||M]]

Security(H) Security(HMAC)

Page 20: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

HMAC STRUCTURE

Y 0S i

So

Y 1 Y L Ð1¥ ¥ ¥b bits

b bits

b bits b bits

»

ipad

»

K +

K +

opad

H ashI V n bits

n bits

pad to b bits

H ashI V n bits

n bits

H M A C K (M )

H (S i || M )

F igur e 12.10 H M A C Structur e

Page 21: HASH ALGORITHMS - Chapter 12 HASH ALGORITHMS - Chapter 12 MD5 SHA RIPEMD-160 HMAC

EFFICIENT IMPLEMENTATION of HMAC

Y 0S i

So

Y 1 Y L Ð1¥ ¥ ¥b bits b bits b bits

»

P r ecom puted C om puted per m essage

opad

ipad

H ashI Vn bits

b bits

n bits

pad to b bits

n bits

n bits

H M A C K (M )

F igur e 12.11 E fficient I mplementation of H M A C

f

»

K+

K +

I V

b bits

f f

H (S i || M )