Can MD5 decrypt it?

Source: Internet
Author: User
Tags decrypt md5 hash
People who have contacted MD5 know that MD5 is not to be decrypted, but why there are many websites online claiming to be able to crack MD5, this article to discuss the issue.

First, indeed, as the internet says, MD5 has a lot of cracked versions that can be reversed, but only based on running dictionaries. The so-called running dictionary is the use of some commonly used words, phrases MD5 code for comparison. Attention! is "common"!
If someone doesn't understand what it means to be used, let me give you a mathematical example.
Assuming x=1 time y=1,x=0 time y=0. What is the function of the first reaction of everyone? Y=x^n (n>0) or (y-0.5) ^2+ (x-0.5) ^2= (0.5) ^2
This is the usual function.
What do you mean, it's not used? Or the above condition: y=log2 (x+1)
Well, it's still a common function = =, but it's too troublesome to make up a little bit of it--everybody forgive me for being lazy.
A sudden epiphany, think of a less commonly used function: Y=∫ (upper 1) (lower limit 0) (8x^3+8x^2-16x) dx.

Take a look at an example:

MD5 512-bit grouping to process the input information, each grouping is divided into 16 32-bit sub-groups, after a series of processing, the algorithm output has four 32-bit grouping, the four 32-bit grouping cascade will generate a 128-bit hash value. In the MD5 algorithm, the information needs to be processed first, so that its byte length is 448 to 512. As a result, the byte length of the information is extended to n*512+448, which is n*64+56 bytes, where n is a positive integer. Fill the method as follows, fill a 1 at the end of the information, and then use 0 to complement it until the condition is met. Then, after this result, append a pre-fill information length in 64-bit binary notation. With these two steps, the direct length of the information is transformed into n*512+448+64= (n+1) *512, which is exactly 512 of the integer multiples. This is done in order to meet the information length requirements in the later processing.

There are four integer parameters in the MD5 that are called connection variables, which are:

a=0x01234567;

B=0x89abcdef;

C=0xfedcba98;

d=0x76543210.

There are also 4 processing bit manipulation functions, each of which are:

F (x, y, Z) = (x&y) | ((~x) &z);

G (x, y, Z) = (x&z) | (y& (~z));

H (x, Y, z) =x^y^z;

I (x, Y, z) =y^ (x| ( ~Z));

where x, y, and z represent any 32-bit integers respectively. & is with arithmetic, | is OR operation, ~ non-operation, ^ is XOR or operation [4].

The specific steps are:

First, copy A to the A variable, b to the B variable, c to the C variable, and D to the D variable. Then, a four-wheel main loop is performed, with 16 operations per round. Each operation makes a nonlinear function operation on three of the a,b,c,d, then adds the resulting result to the fourth variable, a sub-group of text, and a constant. The resulting result is then shifted to the right by an indefinite number, plus one of the a,b,c,d.

From the above example, we can clearly know that MD5 is to reduce the length of any text content, to be reduced to 128-bit hash number. Whether the text content is only a letter a, or a 1w multi-word long paper, are condensed (or filled) into 128-bit hash number. This has caused the hack to become almost impossible.

Why do you say that? Or just that example, I told you the result "x=0, when Y=0;x=1 y=1" but I do not tell (in fact, no one will go to the statistics document how many characters) you this is a function, is the log function or linear function, or higher function? Do not know, excuse me, how to crack?

Moreover, in the realm of encryption, Des and RSA are the real encryption, and MD5 more used in document verification, to generate the key detection document has been tampered with.

See here, people should be very clear MD5 is not to decrypt

Another good two points of knowledge:

1. The so-called encryption:

Encryption technology is the most common security means, using technical means to turn important data into garbled (encrypted) transmission, to the destination and then use the same or different means to restore (decryption).
Cryptography consists of two elements: algorithms and algorithms combine common information or understandable information with a string of numbers to create incomprehensible ciphertext steps, which are an algorithm used to encode and decrypt data. In the security secrecy, the information communication security of the network can be ensured by proper key encryption technology and management mechanism.

2. The so-called hash:

Hash, the general translation to do "hash", there is a direct transliteration of "hash", is the arbitrary length of the input (also known as pre-mapping, pre-image), through the hash algorithm, transformed into a fixed-length output, the output is the hash value. This conversion is a compression map, that is, the space of the hash value is usually much smaller than the input space, the different inputs may be hashed to the same output, but not from the hash value to uniquely determine the input value.
Simply, a function that compresses messages of any length to a fixed-length message digest.
Hash is mainly used in the field of information security encryption algorithm, he put some different length of information into a messy 128-bit code, called the hash value. It can also be said that the hash is to find a data content and data storage address between the mapping relationship.
The application of hash algorithm in information security is mainly embodied in the following 3 aspects:
1) file check
We are more familiar with the parity check algorithm and CRC check, these 2 kinds of verification does not have the ability to resist data tampering, they can detect and correct the channel error in the data transmission, but can not prevent malicious damage to the data.
MD5 Hash Algorithm's "digital fingerprint" feature makes it the most widely used file integrity checksum (Checksum) algorithm, and many UNIX systems have the command to provide calculation MD5 Checksum.
2) Digital Signature
Hash algorithm is also an important part of modern cipher system. Because of the slow operation of the asymmetric algorithm, the one-way hash function plays an important role in the digital signature protocol. A digital signature of a hash value, also known as a "digital digest", can be statistically considered equivalent to a digital signature on the file itself. And there are other advantages to such an agreement.
3) Authentication Agreement
The following authentication protocol is also known as the "Challenge-authentication mode: This is a simple and secure way to be able to listen to a transmission channel, but not tamper."

Related articles:
PHP MD5 encryption and decryption algorithms and tools (with code)
PHP MD5 decryption code sharing (with interface, pro-Test available)
Can PHP MD5 encryption be cracked?
MD5 Encryption Tool

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.