EDUCBA

EDUCBA

MENUMENU
  • Free Tutorials
  • Free Courses
  • Certification Courses
  • 360+ Courses All in One Bundle
  • Login
Home Data Science Data Science Tutorials Data Structures Tutorial Hashing Algorithms
Secondary Sidebar
OLTP vs OLAP

Clustering Methods

Clustering Algorithms

Pie Chart in R

Data Science vs Data Engineering

What is MapReduce in Hadoop?

Hashing Algorithms

Hashing Algorithms main

Introduction to Hashing Algorithms

Hashing algorithm is an algorithm that is used to map data using a hash function. A hash function is a mathematical comparison that gives the summary of data from the original data. In their words, the hash function converts the size of one value to a certain size. In the world of cyber-attacks, various hashing algorithms at being used to secure our data.

Because of their security features, hashing algorithms are used in the field of digital signature, authentication, message authentication codes, fingerprinting, face lock, detecting corrupt files, checksum, etc. Here in this article, we are going to discuss the two most important hashing algorithms – message digest and secure hash function.

Start Your Free Data Science Course

Hadoop, Data Science, Statistics & others

Message Digest

A message digest is a summary of an original message. A message digest is used to verify data integrity. Integrity means it ensures that the data sent from the user and the data received at the receiver are the same. Any third party does not alter them. There are different versions available for message digest. The first one is MD that is a message digest that Ron Rivest develops. After that, he came up with another version with new features, which was known for MD2. But MD2 was looking quite weak, so Rivest started working on MD3. MD3 was also a failed version. That’s why it was not released.

After that, Rivest developed MD4. And soon, he develops MD5. MD5 is quite fast and meets the requirements. Hence it was very popular for data integrity. Here in this section, we are going to see the Message digest 5, i.e. MD5 algorithm. MD5 generates a 128-bit message digest. It takes input yes as 512 but blocks which are divided into 16(each of 32 bit ) sub-blocks. It generates output as a set of four 32 bit blocks, i.e. it generates a 128-bit message digest.

Working of MD5

Step 1: Padding – in the first step, adds padding bits with the original message so that the length of the original message will equal to values that are 64 bit less than multiple of 512.

Step 2: Append length – once the padding bit is added, the original message’s length is calculated and added to the end of the message.

Step 3: Divide input into 512-bit blocks – the input message is divided into blocks, each consisting of 512 bits in length.

Step 4: Initialize chaining variables – Four variables A, B, C, D are initialized in this step. Each variable is of a 32-bit number.

Step 5: Process blocks – once the variables are initialized, the algorithm’s main work will start.

Copy all variables A, B, C, D into a, b, c, d

Divide 512-bit current block into 16 sub-blocks(each of 32 bit).

7 rounds are performed in this step. Iteration of these rounds are as follows

  • The process is performed on the b, c, and d. This process p will be different in all four rounds.
  • Variable a to the output of process p.
  • Message subblock M[i] to step 2.
  • Constant t[k] to the output of step 3.
  • The output of step 4 is left-shifted by s bits.
  • Add variable b to the output of step 5.
  • Next, abcd will be the output of step 6.

You can understand the working of MD5 more easily with the help of the following diagram.

Working of MD5

SHA (Secure Hash Algorithm)

SHA stands for the secure hash algorithm. It is developed by the National Institute of Standards and Technology (NIST). SHA was developed after the MD5. SHA is designed to obtain the original message and generate the message digest of the original message. The main goal behind this algorithm is to identify the message that generates the same message digest.

Working of SHA Algorithm

Step 1: Padding – in this step, passing is added at the end of the original message in such a way that. The length of the message is 64 bits less than multiple of 512.

Step 2: Append length – length of the message except the padding length is calculated and added at the end of padding as a 64-bit block.

Step 3: Divide input into 512-bit blocks. The input is divided into sub-blocks, each of 512 bits in length.

Step 4: Initialize chaining variables – five variables, i.e. A, B, C, and E, are initialized.

Step 5: After the variables are initialized, the main working of the algorithm will be started.

Cope all variables A to E into a to e.

Divide the 512-bit current block into 16 sub-block, each of 32 bits.

SHA performs four rounds where each is of 20 steps. Each round takes a 521-bit current block, register a, b, c, d and E and constant k[t] as three inputs.

You will understand How SHA works with the help of the given diagram.

Working of SHA algorithm

Among the SHA family, SHA-512 is the most widely used. Here we are going to discuss the SHA-512 algorithm.

SHA- 512

SHA -512 algorithm takes input as 2 raised to 128 bits of message length and generates message digest which is of 512 bits in length.

Working of SHA-512

Step 1: Padding – add placing at the end of the message in such a way that the message length will be 128 bits less of multiple of 1024.

Step 2: Append length – The Length of the message except padding is calculated and added at the end of the padding as a 128-bit block

Step 3: Divide input into 1024 bit block – Divide input blocks into sub-blocks each pf 1024 bits.

Step 4: Initialize chaining variables – Initialize variables from A to H.

Step 5: Process blocks – the process for the blocks is as follows:

Copy all chaining variables A to H into a to h.

Divide 1024 bit current block into 16 sub-block each of 64 bits.

In SHa-512, 80 rounds are performed.

Working of SHA-512

Conclusion – Hashing Algorithms

So, we have seen some popular hashing algorithms such as MD5, SHA, SHA- 512, and their working.

Recommended Articles

This is a guide to Hashing Algorithms. Here we discuss the introduction, message digest, and working for better understanding. You may also look at the following article to learn more –

  1. Hashing in DBMS
  2. MD5 Algorithm
  3. Digital Signature Algorithm
  4. Digital Signature Types
Popular Course in this category
All in One Data Science Bundle (360+ Courses, 50+ projects)
  360+ Online Courses |  1500+ Hours |  Verifiable Certificates |  Lifetime Access
4.7
Price

View Course

Related Courses

Oracle DBA Database Management System Training (2 Courses)4.9
SQL Training Program (10 Courses, 8+ Projects)4.8
Primary Sidebar
Footer
About Us
  • Blog
  • Who is EDUCBA?
  • Sign Up
  • Live Classes
  • Corporate Training
  • Certificate from Top Institutions
  • Contact Us
  • Verifiable Certificate
  • Reviews
  • Terms and Conditions
  • Privacy Policy
  •  
Apps
  • iPhone & iPad
  • Android
Resources
  • Free Courses
  • Database Management
  • Machine Learning
  • All Tutorials
Certification Courses
  • All Courses
  • Data Science Course - All in One Bundle
  • Machine Learning Course
  • Hadoop Certification Training
  • Cloud Computing Training Course
  • R Programming Course
  • AWS Training Course
  • SAS Training Course

ISO 10004:2018 & ISO 9001:2015 Certified

© 2023 - EDUCBA. ALL RIGHTS RESERVED. THE CERTIFICATION NAMES ARE THE TRADEMARKS OF THEIR RESPECTIVE OWNERS.

EDUCBA
Free Data Science Course

Hadoop, Data Science, Statistics & others

By continuing above step, you agree to our Terms of Use and Privacy Policy.
*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you

Let’s Get Started

By signing up, you agree to our Terms of Use and Privacy Policy.

EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA

*Please provide your correct email id. Login details for this Free course will be emailed to you
EDUCBA Login

Forgot Password?

By signing up, you agree to our Terms of Use and Privacy Policy.

This website or its third-party tools use cookies, which are necessary to its functioning and required to achieve the purposes illustrated in the cookie policy. By closing this banner, scrolling this page, clicking a link or continuing to browse otherwise, you agree to our Privacy Policy

Loading . . .
Quiz
Question:

Answer:

Quiz Result
Total QuestionsCorrect AnswersWrong AnswersPercentage

Explore 1000+ varieties of Mock tests View more