0% found this document useful (0 votes)
92 views

SHA-1 Message Digest Algorithm

The document discusses the SHA-1 message digest algorithm, including its purpose of providing authentication through generating a 160-bit digest of variable-length messages. It outlines the SHA-1 framework which involves padding the message, appending the length, initializing buffers, and processing the message in 512-bit blocks through 80 processing functions and constants to produce the message digest. The summary also notes that while SHA-1 was considered secure, it is now considered cryptographically broken due to collisions being found requiring fewer than 280 operations.

Uploaded by

Shaheer Arshad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
92 views

SHA-1 Message Digest Algorithm

The document discusses the SHA-1 message digest algorithm, including its purpose of providing authentication through generating a 160-bit digest of variable-length messages. It outlines the SHA-1 framework which involves padding the message, appending the length, initializing buffers, and processing the message in 512-bit blocks through 80 processing functions and constants to produce the message digest. The summary also notes that while SHA-1 was considered secure, it is now considered cryptographically broken due to collisions being found requiring fewer than 280 operations.

Uploaded by

Shaheer Arshad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 16

SHA-1 Message Digest Algorithm

Presented By: Dr. Amjad Ali


Department of Computer Science
COMSATS University Islamabad, Lahore Campus
Outline

 Introduction
 Purpose
 SHA-1 Framework
 SHA-1Pseudo Code
 Cryptanalysis and Limitation
Introduction

 The Secure Hash Algorithm (SHA) was developed by the National


Institute of Standards and Technology (NIST) for the use of Digital
Signature and published in 1993.

 The Secure hash standard specifies a SHA-1 for computing the


hash value of a message of any length less than 264 bits.

 SHA-1 produces a 160-bit message digest.

 Signing the message digest rather than the message often improves
the efficiency of the process because the message digest is usually
much smaller than the actual message.
Purpose: Authentication Not Encryption

 Authentication Requirements:
 Masquerade – Insertion of message from fraudulent source
 Content Modification – Changing the message content
 Sequence Modification – Insertion, deletion and reordering sequence
 Timing Modification – Replaying valid sessions
Background Theory

 Message Digest or “Fingerprint”


→ Condensed Representation of the message
→ Easy to generate for a given message.
 Computationally it is infeasible to produce two messages with
the same message digest
 Impossible to recreate a message from a given message digest.
 Data Integrity and Comparison Checking
→ Message Integrity Validation
Authentication Using Hash Function

Fig. 1 Using Secret value


SHA-1 (160-bit digest): Algorithm Framework

 Step 1: Appending Padding Bits


 Message is “padded” with a 1 and as many 0’s as necessary to bring
the message length to 64 bits fewer than an even multiple of 512.

 Step 2: Appending Length


 64 bits are appended to the end of the padded message. These bits
hold the binary format of 64 bits indicating the length of the
original message.

f
SHA-1: Algorithm Framework

Fig. 1 Padding and adding length bits


f
SHA-1 Cont..

 Step 3: Preparing Processing Functions….


SHA-1 requires 80 processing functions defined as:
f(t;B,C,D) = (B AND C) OR ((NOT B) AND D) (0 <= t <= 19)
f(t;B,C,D) = B XOR C XOR D (20 <= t <= 39)
f(t;B,C,D) = (B AND C) OR (B AND D) OR (C AND D) (40 <=t <= 59)
f(t;B,C,D) = B XOR C XOR D (60 <= t <= 79)

 Step 4: Preparing Processing Constants.


SHA-1 requires 80 processing constant words defined as:
K(t) = 0x5A827999 (0 <= t <= 19)
K(t) = 0x6ED9EBA1 (20 <= t <= 39)
K(t) = 0x8F1BBCDC (40 <= t <= 59)
K(t) = 0xCA62C1D6 (60 <= t <= 79)
SHA-1 Cont..

 Step 5: Initialize Buffers.


SHA-1 requires 160 bits or 5 buffers of words (32 bits):
H0 = 0x67452301
H1 = 0xEFCDAB89
H2 = 0x98BADCFE
H3 = 0x10325476
H4 = 0xC3D2E1F0
SHA-1 Framework Final Step

 Step 6: Processing Message in 512-bit blocks (L blocks in total message).


This is the main task of SHA-1 algorithm which loops through the
padded and appended message in 512-bit blocks.

Input and predefined functions:


M[1, 2, ..., L]: Blocks of the padded and appended message

f(0;B,C,D), f(1,B,C,D), ..., f(79,B,C,D): 80 Processing Functions K(0), K(1),…,


K(79): 80 Processing Constant Words H0, H1, H2, H3, H4, H5: 5 Word buffers
with initial values
SHA-1 Complete Framework

Fig. 3 Computing Message Digest


SHA-1 Operation
A = A<<<5 + f(t;B,C,D) + E + W(t) + K(t),
B = A, C = B<<<30, D = C, E = D

Fig. 2 SHA-1 Operation


SHA-1 Pseudo Code

Pseudo Code….
For loop on k = 1 to L
(W(0),W(1),...,W(15)) = M[k] /* Divide M[k] into 16 words */
For t = 16 to 79 do: /* Extending 16 words into 80 words */
W(t) = (W(t-3) XOR W(t-8) XOR W(t-14) XOR W(t-16)) <<< 1
A = H0, B = H1, C = H2, D = H3, E = H4
For t = 0 to 79 do:
TEMP = A<<<5 + f(t;B,C,D) + E + W(t) + K(t) E = D, D = C,
C = B<<<30, B = A, A = TEMP
End of for loop
H0 = H0 + A, H1 = H1 + B, H2 = H2 + C, H3 = H3 + D, H4 = H4 + E
End of for loop

Output:
H0, H1, H2, H3, H4, H5: Word buffers with final message digest
SHA-1 Message Digest

Example:
The message digest of the string:

“This is a test for theory of computation”

4480afca4407400b035d9debeb88bfc402db514f

https://slideplayer.com/slide/7635005/
Cryptanalysis and Limitation

 Key Premises for Hash Functions:


1. Impossible to re-create a message given a message digest
2. Collision Free

 SHA-1 failure using brute force attack in 280 operations


 Collision failure found in 2005 in 233 operations

You might also like