SHA-1
Hash Functions
MD5 and SHA1
Orr Dunkelman
Computer Science Department
14 March, 2012
c
Orr
Dunkelman
1/ 15
MD5
SHA-1
Outline
c
Orr
Dunkelman
2/ 15
MD5
SHA-1
c
Orr
Dunkelman
3/ 15
MD5
SHA-1
2
3
4
5
c
Orr
Dunkelman
4/ 15
MD5
SHA-1
The MD5 IV
=
=
=
=
67452301x
EFCDAB89x
98BADCFEx
10325476x
c
Orr
Dunkelman
5/ 15
MD5
SHA-1
Let hi 1 = (A0 , B0 , C0 , D0 ).
Let the message block be Mi = (W0 , W1, . . . , W15 )
For i = 0, 1, . . . , 63:
1
2
3
4
Di +1 Ci
Ci +1 Bi
Bi +1 Bi + (Ai + Fi (Bi , Ci , Di ) + Ki + Wg (i ) ) si
Ai +1 Di
c
Orr
Dunkelman
6/ 15
MD5
SHA-1
B0
C0
D0
f1
Ki
Wi
si
fi
Feed Forward
c
Orr
Dunkelman
7/ 15
MD5
SHA-1
0t
16 t
32 t
48 t
15:
31:
47:
63:
ft (X , Y , Z ) = XY (X )Z
ft (X , Y , Z ) = XY (Z )X
ft (X , Y , Z ) = X Y Z
ft (X , Y , Z ) = Y (X Z )
g (t) = t
g (t) = (5 t + 1) mod 16
g (t) = (3 t) mod 16
g (t) = (7 t) mod 16
c
Orr
Dunkelman
8/ 15
MD5
SHA-1
c
Orr
Dunkelman
22
20
23
21
Rotation
7 12 17 22
5 9 14 20
4 11 16 23
6 10 15 21
Constants
7 12 17
5 9 14
4 11 16
6 10 15
22
20
23
21
7 12 17 22
5 9 14 20
4 11 16 23
6 10 15 21
9/ 15
MD5
SHA-1
c
Orr
Dunkelman
10/ 15
MD5
SHA-1
SHA-1 is a Merkle-Damg
ard hash function:
1
c
Orr
Dunkelman
11/ 15
MD5
SHA-1
=
=
=
=
=
67452301x
EFCDAB89x
98BADCFEx
10325476x
C3D2E1F0x .
c
Orr
Dunkelman
12/ 15
MD5
SHA-1
c
Orr
Dunkelman
13/ 15
MD5
SHA-1
Set (A0 , B0 , C0 , D0 , E0 ) hi 1 .
For t = 0 to 79 do
1
2
T = At 5 + ft (Bt , Ct , Dt ) + Et + Wt + Kt .
Et+1 = Dt , Dt+1 = Ct , Ct+1 = Bt 30, Bt+1 = At ,
At+1 = T .
c
Orr
Dunkelman
19:
39:
59:
79:
ft (X , Y , Z ) = XY (X )Z
ft (X , Y , Z ) = X Y Z
ft (X , Y , Z ) = XY XZ YZ
ft (X , Y , Z ) = X Y Z
Kt
Kt
Kt
Kt
= 5A827999
= 6ED9EBA1
= 8F1BBCDC
= CA62C1D6
14/ 15
MD5
SHA-1
5
Ki
Wi
B0
D0
E0
C0
f1
30
30
fi
Feed Forward
c
Orr
Dunkelman
15/ 15