Professional Documents
Culture Documents
TECHNOLOGY
SCHOOL OF ELECTRONICS AND
TELECOMMUNICATIONS
INTRODUCE TO SHA-512
Subject: Cryptography Theory
Lecturer: Assoc. Prof. Do Trong Tuan
Presentation: Team 01
Hanoi, 12/19/2021
Members
Luong Van Minh Nguyen Anh Dung Tran Manh Cuong Hoang Tuan Anh Do Thi Thuy Kieu
12/19/2021 2
Content
12/19/2021 3
Content
12/19/2021 4
1.1. Introduce to hash function
12/19/2021 5
1.1. Introduce to hash function
12/19/2021 6
1.1. Introduce to hash function
HASH
ALGORITHM
(H)
h
Hash value (fixed length)
12/19/2021 7
1.2. Properties
12/19/2021 8
1.2. Properties
Fixed length
661dce0da2bcb2d8
Hello, world H
2884e0162acf8194
12/19/2021 9
1.2. Properties
Preimage resistant (One-way property)
Easy
y=
x
H(x)
Difficult
12/19/2021 (Impossible) 10
1.2. Properties
Second preimage resistant (Weak collision resistant)
12/19/2021 11
1.2. Properties
Collision Resistant (Strong collision resistant)
12/19/2021 12
1.3. Applications
Integrity
12/19/2021 14
1.3. Application
Password Verification
12/19/2021 15
Content
12/19/2021 16
2.1. SHA overview
Number of rounds 80 64 64 80 80
Word size 32 32 32 64 64
12/19/2021 18
2.2. SHA-512 hash function
12/19/2021 19
2.2. SHA-512 hash function
Merkle–Damgard Scheme
M1 M2 … Mt
m bits m bits
H1 H2 … Ht-1
H0 f f f Ht
Message dige
Compression Compression Compression
function function function
12/19/2021 20
2.2. SHA-512 hash function
Message Preparation
Padding and length field in SHA-512
12/19/2021 21
2.2. SHA-512 hash function
Implement the hashing algorithm
Augmented message: multiple of 1024-bits
blocks
Block 1 Block 2 Block N
1024 bits 1024 bits … 1024 bits
12/19/2021 23
2.2. SHA-512 hash function
Implement the hashing algorithm Results of the previous block or the initial digest
Compression function
Round 0
Round 79
Final
adding
12/19/2021 24
Values for the next block or the final digest
2.2. SHA-512 hash function
Implement the hashing algorithm
Structure of each round
Majority(x,
Majority(x, y,y, z)
z) == (x
(x & y) ⊕
& y) ⊕ (y
(y & z) ⊕
& z) ⊕ (z
(z &
& x)
x)
Conditional(x,
Conditional(x, y,y, z)
z) == (x
(x & y) ⊕
& y) ⊕(~x
(~x &
& z)
z)
RR11(x)
(x) == RotR(x, 28) ⊕
RotR(x, 28) ⊕ RotR(x, 34) ⊕
RotR(x, 34) ⊕RotR(x,
RotR(x,
39)
39)
RR22(x)
(x) == RotR(x, 14) ⊕
RotR(x, 14) ⊕ RotR(x, 18) ⊕
RotR(x, 18) ⊕RotR(x,
RotR(x,
41)
41)
12/19/2021 25
2.2. SHA-512 hash function
Implement the hashing algorithm
Constant word Ki
i = 0 ÷ 19 i = 20 ÷ 39 i = 40 ÷ 59 i = 60 ÷ 79
12/19/2021 26
2.2. SHA-512 hash function
Implement the hashing algorithm Results of the previous block or the initial digest
Compression function
Round 0
Round 79
Final
adding
12/19/2021 27
Values for the next block or the final digest
2.2. SHA-512 hash function
Implement the hashing algorithm
Word expansion
ShRn(x)
ShRi(x)
12/19/2021 28
Content
12/19/2021 29
INTRODUCE TO SHA-512
12/19/2021 30