3
Most read
4
Most read
5
Most read
MD5 ALGORITHM
DESIGN AND ITS
WORKING
BY
S.Rajapriya, MS(IT).,
Assistant Professor of IT
V.V.Vanniaperumal College for Women
Message Authentication
Code (MAC)
 MAC algorithm is a symmetric key cryptographic technique to
provide message authentication. For establishing MAC process,
the sender and receiver share a symmetric key K.
 Essentially, a MAC is an encrypted checksum generated on the
underlying message that is sent along with a message to ensure
message authentication.
MD5 Design
 MD5 (Message Digest Method 5) is a cryptographic hash algorithm
used to generate a 128-bit digest from a string of any length.
 It represents the digests as 32 digit hexadecimal numbers.
 Ronald Rivest designed this algorithm in 1991 to provide the means
for digital signature verification.
 The digest size is always 128 bits, and thanks to hashing function
guidelines, a minor change in the input string generate a drastically
different digest.
 This is essential to prevent similar hash generation as much as
possible, also known as a hash collision.
Working of the MD5
Algorithm
MD5 algorithm follows the following steps :
Step 1. Append Padding Bits: In the first step, we add padding
bits in the original message in such a way that the total length of
the message is 64 bits less than the exact multiple of 512.
 Suppose we are given a message of 1000 bits. Now we have to
add padding bits to the original message. Here we will add 472
padding bits to the original message.
 After adding the padding bits the size of the original
message/output of the first step will be 1472 i.e. 64 bits less than
an exact multiple of 512 (i.e. 512*3 = 1536).
 Length(original message + padding bits) = 512 * i – 64 where i =
1,2,3 . . .
Step 2.Append Length Bits:
 In this step, we add the length bit in the output of the first step in
such a way that the total number of the bits is the perfect multiple
of 512. Simply, here we add the 64-bit as a length bit in the output
of the first step.
 i.e. output of first step = 512 * n – 64
 length bits = 64. After adding both we will get 512 * n i.e. the exact
multiple of 512.
Step 3. Initialize MD buffer:
 Here, we use the 4 buffers i.e. J, K, L, and M. The size of each
buffer is 32 bits.
- J = 0x67425301
- K = 0xEDFCBA45
- L = 0x98CBADFE
- M = 0x13DCE476
Step 4.Process Each 512-bit Block:
 This is the most important step of the MD5 algorithm. Here, a
total of 64 operations are performed in 4 rounds.
 In the 1st round, 16 operations will be performed, 2nd round 16
operations will be performed, 3rd round 16 operations will be
performed, and in the 4th round, 16 operations will be performed.
 We apply a different function on each round i.e. for the 1st round
we apply the F function, for the 2nd G function, 3rd for the H
function, and 4th for the I function.
 We perform OR, AND, XOR, and NOT (basically these are
logic gates) for calculating functions. We use 3 buffers for each
function i.e. K, L, M.
- F(K,L,M) = (K AND L) OR (NOT K AND M)
- G(K,L,M) = (K AND L) OR (L AND NOT M)
- H(K,L,M) = K XOR L XOR M
- I(K,L,M) = L XOR (K OR NOT M)
 After applying the function now we perform an operation on
each block. For performing operations we need
• add modulo 232
• M[i] – 32 bit message.
• K[i] – 32-bit constant.
• <<<n – Left shift by n bits.
 Now take input as initialize MD buffer i.e. J, K, L, M. Output of K
will be fed in L, L will be fed into M, and M will be fed into J. After
doing this now we perform some operations to find the output for J.
• In the first step, Outputs of K, L, and M are taken and then the
function F is applied to them. We will add modulo 232 bits for
the output of this with J.
• In the second step, we add the M[i] bit message with the
output of the first step.
• Then add 32 bits constant i.e. K[i] to the output of the second
step.
• At last, we do left shift operation by n (can be any value of n)
and addition modulo by 232.
 After all steps, the result of J will be fed into K. Now same
steps will be used for all functions G, H, and I. After
performing all 64 operations we will get our message digest.
Output:
After all, rounds have been performed, the buffer J, K, L, and M
contains the MD5 output starting with the lower bit J and ending
with Higher bits M.
Application Of MD5
Algorithm
 We use message digest to verify the integrity of files/
authenticates files.
 MD5 was used for data security and encryption.
 It is used to Digest the message of any size and also used for
Password verification.
 For Game Boards and Graphics.
Advantages of MD5
Algorithm
 MD5 is faster and simple to understand.
 MD5 algorithm generates a strong password in 16 bytes format.
All developers like web developers etc use the MD5 algorithm
to secure the password of users.
 To integrate the MD5 algorithm, relatively low memory is
necessary.
 It is very easy and faster to generate a digest message of the
original message
Disadvantages of MD5
Algorithm
 MD5 generates the same hash function for different inputs.
 MD5 provides poor security over SHA1.
 MD5 has been considered an insecure algorithm. So now we
are using SHA256 instead of MD5
 MD5 is neither a symmetric nor asymmetric algorithm
MD5 ALGORITHM.pptx

More Related Content

PPTX
Message digest 5
PPTX
Secure Hash Algorithm (SHA-512)
PPTX
SHA- Secure hashing algorithm
PDF
Break, Continue and Pass in Python.pdf
PDF
SHA 1 Algorithm
PPT
Classification using back propagation algorithm
PPTX
Swarm intelligence
PPSX
Modules and packages in python
Message digest 5
Secure Hash Algorithm (SHA-512)
SHA- Secure hashing algorithm
Break, Continue and Pass in Python.pdf
SHA 1 Algorithm
Classification using back propagation algorithm
Swarm intelligence
Modules and packages in python

What's hot (20)

PPTX
Elgamal &amp; schnorr digital signature scheme copy
PPTX
Kerberos
PDF
symmetric key encryption algorithms
PPTX
Hash Function
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
PPTX
Intruders
PPT
Network Security and Cryptography
PDF
MD-5 : Algorithm
PPTX
PDF
Cs8792 cns - unit iv
PPT
Message authentication and hash function
PDF
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
PPT
Message Authentication Code & HMAC
PPT
Protocol for Secure Communication
PPTX
Topic1 substitution transposition-techniques
PPTX
Encryption algorithms
PPT
Intruders and Viruses in Network Security NS9
PPTX
Hash Function
Elgamal &amp; schnorr digital signature scheme copy
Kerberos
symmetric key encryption algorithms
Hash Function
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Intruders
Network Security and Cryptography
MD-5 : Algorithm
Cs8792 cns - unit iv
Message authentication and hash function
CS6701 CRYPTOGRAPHY AND NETWORK SECURITY
Message Authentication Code & HMAC
Protocol for Secure Communication
Topic1 substitution transposition-techniques
Encryption algorithms
Intruders and Viruses in Network Security NS9
Hash Function
Ad

Similar to MD5 ALGORITHM.pptx (20)

PDF
A Comparative Analysis between SHA and MD5 algorithms
PPT
ENGG_CSE_III_YEAR_Message_Digest_MD_5.ppt
PPTX
Cryptographic hash function md5
PDF
Unit-3.pdf
PPTX
Data streaming algorithms
PDF
MD5.pptx.pdf
PDF
D44091720
PPTX
Basic explanation to md5 implementation in C
PPT
Message Authentication
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash& mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
Hash mac algorithms
PPT
An Introduction to Hashing: A basic understanding
PPTX
Cryptography Key Management.pptx
PDF
An Enhanced Message Digest Hash Algorithm for Information Security
A Comparative Analysis between SHA and MD5 algorithms
ENGG_CSE_III_YEAR_Message_Digest_MD_5.ppt
Cryptographic hash function md5
Unit-3.pdf
Data streaming algorithms
MD5.pptx.pdf
D44091720
Basic explanation to md5 implementation in C
Message Authentication
Hash mac algorithms
Hash mac algorithms
Hash& mac algorithms
Hash mac algorithms
Hash mac algorithms
Hash mac algorithms
Hash mac algorithms
An Introduction to Hashing: A basic understanding
Cryptography Key Management.pptx
An Enhanced Message Digest Hash Algorithm for Information Security
Ad

More from Rajapriya82 (16)

PPTX
Knapsack problem using Greedy method.pptx
PPTX
CPU SCHEDULING ALGORITHMS-FCFS,SJF,RR.pptx
PPTX
Python Strings & Built-in String Methods.pptx
PPTX
Applications of IoTs in Home,City,Health
PPTX
contiguous memory allocation.pptx
PPT
SHA 1 Algorithm.ppt
PPTX
File System Implementation.pptx
PPTX
Consensus Algorithms.pptx
PPTX
Security services and mechanisms
PPTX
Wireless transmission
PPTX
Guided Transmission Media
PPTX
Input of graphical data
PPT
Clipping
PPTX
Heaptree
PPT
Deadlock
PPTX
Deadlock
Knapsack problem using Greedy method.pptx
CPU SCHEDULING ALGORITHMS-FCFS,SJF,RR.pptx
Python Strings & Built-in String Methods.pptx
Applications of IoTs in Home,City,Health
contiguous memory allocation.pptx
SHA 1 Algorithm.ppt
File System Implementation.pptx
Consensus Algorithms.pptx
Security services and mechanisms
Wireless transmission
Guided Transmission Media
Input of graphical data
Clipping
Heaptree
Deadlock
Deadlock

Recently uploaded (20)

PDF
faiz-khans about Radiotherapy Physics-02.pdf
PPTX
Copy of ARAL Program Primer_071725(1).pptx
PDF
anganwadi services for the b.sc nursing and GNM
PDF
Unleashing the Potential of the Cultural and creative industries
PDF
FYJC - Chemistry textbook - standard 11.
PPTX
Approach to a child with acute kidney injury
PPTX
Cite It Right: A Compact Illustration of APA 7th Edition.pptx
PPTX
2025 High Blood Pressure Guideline Slide Set.pptx
PPTX
ENGlishGrade8_Quarter2_WEEK1_LESSON1.pptx
PPTX
Thinking Routines and Learning Engagements.pptx
PPTX
ACFE CERTIFICATION TRAINING ON LAW.pptx
PPTX
MMW-CHAPTER-1-final.pptx major Elementary Education
PDF
Review of Related Literature & Studies.pdf
PPTX
CHROMIUM & Glucose Tolerance Factor.pptx
PDF
Laparoscopic Imaging Systems at World Laparoscopy Hospital
PDF
POM_Unit1_Notes.pdf Introduction to Management #mba #bba #bcom #bballb #class...
PDF
Physical pharmaceutics two in b pharmacy
PDF
Horaris_Grups_25-26_Definitiu_15_07_25.pdf
PPTX
IT infrastructure and emerging technologies
PDF
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf
faiz-khans about Radiotherapy Physics-02.pdf
Copy of ARAL Program Primer_071725(1).pptx
anganwadi services for the b.sc nursing and GNM
Unleashing the Potential of the Cultural and creative industries
FYJC - Chemistry textbook - standard 11.
Approach to a child with acute kidney injury
Cite It Right: A Compact Illustration of APA 7th Edition.pptx
2025 High Blood Pressure Guideline Slide Set.pptx
ENGlishGrade8_Quarter2_WEEK1_LESSON1.pptx
Thinking Routines and Learning Engagements.pptx
ACFE CERTIFICATION TRAINING ON LAW.pptx
MMW-CHAPTER-1-final.pptx major Elementary Education
Review of Related Literature & Studies.pdf
CHROMIUM & Glucose Tolerance Factor.pptx
Laparoscopic Imaging Systems at World Laparoscopy Hospital
POM_Unit1_Notes.pdf Introduction to Management #mba #bba #bcom #bballb #class...
Physical pharmaceutics two in b pharmacy
Horaris_Grups_25-26_Definitiu_15_07_25.pdf
IT infrastructure and emerging technologies
WHAT NURSES SAY_ COMMUNICATION BEHAVIORS ASSOCIATED WITH THE COMP.pdf

MD5 ALGORITHM.pptx

  • 1. MD5 ALGORITHM DESIGN AND ITS WORKING BY S.Rajapriya, MS(IT)., Assistant Professor of IT V.V.Vanniaperumal College for Women
  • 2. Message Authentication Code (MAC)  MAC algorithm is a symmetric key cryptographic technique to provide message authentication. For establishing MAC process, the sender and receiver share a symmetric key K.  Essentially, a MAC is an encrypted checksum generated on the underlying message that is sent along with a message to ensure message authentication.
  • 3. MD5 Design  MD5 (Message Digest Method 5) is a cryptographic hash algorithm used to generate a 128-bit digest from a string of any length.  It represents the digests as 32 digit hexadecimal numbers.  Ronald Rivest designed this algorithm in 1991 to provide the means for digital signature verification.  The digest size is always 128 bits, and thanks to hashing function guidelines, a minor change in the input string generate a drastically different digest.  This is essential to prevent similar hash generation as much as possible, also known as a hash collision.
  • 4. Working of the MD5 Algorithm MD5 algorithm follows the following steps : Step 1. Append Padding Bits: In the first step, we add padding bits in the original message in such a way that the total length of the message is 64 bits less than the exact multiple of 512.
  • 5.  Suppose we are given a message of 1000 bits. Now we have to add padding bits to the original message. Here we will add 472 padding bits to the original message.  After adding the padding bits the size of the original message/output of the first step will be 1472 i.e. 64 bits less than an exact multiple of 512 (i.e. 512*3 = 1536).  Length(original message + padding bits) = 512 * i – 64 where i = 1,2,3 . . .
  • 6. Step 2.Append Length Bits:  In this step, we add the length bit in the output of the first step in such a way that the total number of the bits is the perfect multiple of 512. Simply, here we add the 64-bit as a length bit in the output of the first step.  i.e. output of first step = 512 * n – 64  length bits = 64. After adding both we will get 512 * n i.e. the exact multiple of 512.
  • 7. Step 3. Initialize MD buffer:  Here, we use the 4 buffers i.e. J, K, L, and M. The size of each buffer is 32 bits. - J = 0x67425301 - K = 0xEDFCBA45 - L = 0x98CBADFE - M = 0x13DCE476
  • 8. Step 4.Process Each 512-bit Block:  This is the most important step of the MD5 algorithm. Here, a total of 64 operations are performed in 4 rounds.  In the 1st round, 16 operations will be performed, 2nd round 16 operations will be performed, 3rd round 16 operations will be performed, and in the 4th round, 16 operations will be performed.  We apply a different function on each round i.e. for the 1st round we apply the F function, for the 2nd G function, 3rd for the H function, and 4th for the I function.
  • 9.  We perform OR, AND, XOR, and NOT (basically these are logic gates) for calculating functions. We use 3 buffers for each function i.e. K, L, M. - F(K,L,M) = (K AND L) OR (NOT K AND M) - G(K,L,M) = (K AND L) OR (L AND NOT M) - H(K,L,M) = K XOR L XOR M - I(K,L,M) = L XOR (K OR NOT M)
  • 10.  After applying the function now we perform an operation on each block. For performing operations we need • add modulo 232 • M[i] – 32 bit message. • K[i] – 32-bit constant. • <<<n – Left shift by n bits.
  • 11.  Now take input as initialize MD buffer i.e. J, K, L, M. Output of K will be fed in L, L will be fed into M, and M will be fed into J. After doing this now we perform some operations to find the output for J. • In the first step, Outputs of K, L, and M are taken and then the function F is applied to them. We will add modulo 232 bits for the output of this with J. • In the second step, we add the M[i] bit message with the output of the first step. • Then add 32 bits constant i.e. K[i] to the output of the second step. • At last, we do left shift operation by n (can be any value of n) and addition modulo by 232.
  • 12.  After all steps, the result of J will be fed into K. Now same steps will be used for all functions G, H, and I. After performing all 64 operations we will get our message digest. Output: After all, rounds have been performed, the buffer J, K, L, and M contains the MD5 output starting with the lower bit J and ending with Higher bits M.
  • 13. Application Of MD5 Algorithm  We use message digest to verify the integrity of files/ authenticates files.  MD5 was used for data security and encryption.  It is used to Digest the message of any size and also used for Password verification.  For Game Boards and Graphics.
  • 14. Advantages of MD5 Algorithm  MD5 is faster and simple to understand.  MD5 algorithm generates a strong password in 16 bytes format. All developers like web developers etc use the MD5 algorithm to secure the password of users.  To integrate the MD5 algorithm, relatively low memory is necessary.  It is very easy and faster to generate a digest message of the original message
  • 15. Disadvantages of MD5 Algorithm  MD5 generates the same hash function for different inputs.  MD5 provides poor security over SHA1.  MD5 has been considered an insecure algorithm. So now we are using SHA256 instead of MD5  MD5 is neither a symmetric nor asymmetric algorithm