220 likes | 398 Views
In this presentaiton on md5 algorithm, we learn about what is md5 algorithm? and all there is about the Message Digest algorithms fifth revision. We start with getting a recap on what is hashing and how it's used to maintain data integrity on a global basis. Moving on, we learn about the origin and use-case of the MD5 algorithm explained. Finally, we learn about the advantages MD5 algorithm provides against its counterparts, all while being a vital cog in the field of network security.<br><br>Learn more https://www.simplilearn.com/cyber-security-expert-master-program-training-course
E N D
Agenda For the Day What Is Hashing? What Is MD5? Steps In MD5 Advantages of MD5
What Is Hashing? Hashing is the process of scrambling a piece of information or data beyond recognition. They are designed to be irreversible. We pass the input through a hash function to calculate the Hash Value or Digest. S51F@&2QD YouTube Original Data Hash Function Hash Value/Digest
Password Hash Storage If the re-calculated hash matches the hash stored on the servers during initial sign-up, the log-in is allowed. S51F@&2QD S51F@&2QD Re-calculated Digest Hash Stored on the Servers Login is Allowed
Integrity Verification Hashing can also be used for integrity checks to ensure the data isn’t corrupted. The hash value/digest will always be the same for similar input. S51F@&2QD S51F@&2QD Hash calculated after download Original Hash Digest before download Both owner and file verified
Integrity Verification To convert plaintext to digest, we need hash algorithms like MD5. Hashing can also be used for integrity checks to ensure the data isn’t corrupted. The hash value/digest will always be the same for similar input. S51F@&2QD S51F@&2QD Hash calculated after download Original Hash Digest before download Both owner and file verified
What Is MD5? • One-way cryptographic hash function • 128-bit digest size for every single input • Initially designed for digital signatures • Designed in 1991 by Ronald Rivest 099F9AFBC6D684A8C2AA0CD3919A9F1A Programmer Input String MD5 Function 128-bit Digest
Examples of MD5 Hashes To obtain the digest, we follow a number of steps in MD5 hash algorithm.
Step 1: Padding Bits • Bits are appended to the original input to make it compatible with the hash function. • Total bits must always be 64 bits short of any multiple of 512. • The first bit added is ‘1’, and the rest are all zeroes. Original Message Padding Bits Total length to be 64 bits less than multiple of 512
Step 2: Padding Length • Length of the original message is padded to the result from step 1. • Length is expressed in the form of 64 bits. • Resultant string will now be a multiple of 512. • Used to increase complexity of the function. Original Message Length of Input Padding Bits Final Data to be Hashed as a multiple of 512
Step 3: Initialize MD Buffer • The entire message is broken down into blocks of 512bits each. • 4 buffers are used of 32 bits each. • They are 4 words named A, B, C and D. • The first iteration has fixed hexadecimal values. A = 01 23 45 67 B= 89 ab cd ef C = fe dc ba 98 D = 76 54 32 10
Step 4: Process Each Block • Each block is broken down to 16 sub blocks of 32 bit each. • There are 4 rounds of operations, each of them utilizing all 16 sub blocks, the 4 buffers and other constants. • The constant value is an array of 64 elements, with 16 elements being used every round. • Sub blocks : M[0], M[1], …. M[15] • Constant array : T[1], T[2], …. T[64]
Step 4: Process Each Block D C B B D C A A Non - Linear Process Addition M[j] Addition T[k] Addition Shifting Addition
Non-Linear Process Function • Different for each round. • Used to increase randomness of the hash as an upgrade over MD4. Round 1: (b AND c) OR ((NOT b) AND (d)) Round 2: (b AND d) OR (c AND (NOT d)) Round 3: b XOR c XOR d Round 4: c XOR (b OR (NOT d))
Advantages of MD5 Storing passwords is convenient Easy to compare small hashes Integrity check cannot be tampered with Low resource consumption