Current location - Quotes Website - Personality signature - Is MD5 only because it is a hip-hop function?
Is MD5 only because it is a hip-hop function?
The full name of MD5 is Message-digest Algorithm 5, which is used to ensure the integrity and consistency of information transmission. It was developed by Ronald L. Rivest and RSA Data Security Company in the Computer Science Laboratory of Massachusetts Institute of Technology in the early 1990s, and was developed by MD2, MD3 and MD4. Its function is to "compress" a large amount of information into a secret format (that is, convert a byte string of any length into a large integer of a certain length) before signing the private key with digital signature software. No matter MD2, MD4 or MD5, it is necessary to get a random length of information and generate a 128-bit information summary. Although the structures of these algorithms are more or less similar, the design of MD2 is completely different from that of MD4 and MD5, because MD2 is optimized for 8-bit computers, while MD4 and MD5 are designed for 32-bit computers. The internet RFC 132 1(/ is set to openly solicit attacks specifically targeting MD5, and the website announced on August 17, 2004: "China researchers found that the complete MD5 algorithm collided; Wang, Feng, Lai and Yu announced the collision of several Hash functions: MD5, MD4, HAVAL- 128, RIPEMD- 128. This is the most substantial research progress in the field of cryptography in recent years. Using their technology, MD5 conflicts can be found in a few hours. ..... Because of this landmark discovery, the MD5CRK project will end in the next 48 hours ". MD5 uses hash function, and the irreversible encryption algorithms widely used in computer networks include MD5 algorithm invented by RSA Company and secure hash algorithm SHA proposed by National Institute of Technical Standards. ] The typical application of MD5 in editing this paragraph is to generate a message digest for a message to prevent tampering. For example, under UNIX, many softwares have a file with the same file name and the file extension of .md5, and this file usually has only one line of text, with the general structure as follows: md5 (tanajiya.tar.gz) = 0ca175b9c0f726a831d895e2693324/. MD5 regards the whole file as a big text message, and generates this unique MD5 message digest through its irreversible string transformation algorithm. In order to let readers have an intuitive understanding of the application of MD5, the author briefly describes its working process with an example and an example: As we all know, everyone on the earth has his own unique fingerprint, which is often the most reliable way for public security organs to identify criminals; Similarly, MD5 can generate the same unique "digital fingerprint" for any file, regardless of its size, format and quantity. If someone makes any changes to the file, its MD5 value, that is, the corresponding "digital fingerprint", will change. We often see the MD5 value in some software information of some software download websites. Its function is that after downloading the software, we can do an MD5 check on the downloaded files with special software (such as Windows MD5 Check) to ensure that the files we get are the same as those provided by the site. The scheme of checking files with MD5 algorithm is widely used in software download station, forum database, system file security and so on. The typical application of MD5 is to generate fingerprints for messages (byte strings) to prevent them from being tampered with. For example, if you write a paragraph in a file named readme.txt and generate an MD5 value for this readme.txt and record it, then you can spread this file to others. If someone else modifies anything in the file, when you recalculate the MD5 of this file (the two MD5 values are different), you will find that. If there is a third-party certification authority, MD5 can also prevent the "denial" of the document author, which is the so-called digital signature application. MD5 is also widely used in login authentication of operating systems, such as Unix, login passwords of various BSD systems, digital signatures and many other aspects. For example, in a UNIX system, the user's password is hashed with MD5 (or other similar algorithm) and stored in the file system. When the user logs in, the system performs MD5 hash operation on the password entered by the user, and then compares it with the MD5 value saved in the file system to judge whether the entered password is correct. Through such steps, the system can determine the legitimacy of the user's login system without knowing the clear password of the user. This can prevent users with system administrator rights from knowing the user's password. MD5 maps a "byte string" of any length to a large integer of 128bit, and it is difficult to reverse the original string through this 128bit. In other words, even if you see the description of the source program and algorithm, you can't convert the value of MD5 back to the original string. Mathematically, it is because there are infinite original strings, which is a bit like a mathematical function without inverse function. Therefore, to meet the problem of md5 password, a better way is to use the md5 () function in this system to reset a password, such as admin, and just rewrite the original hash value of the generated password string. It is for this reason that one of the most commonly used methods for hackers to decipher passwords is a method called "running a dictionary". There are two ways to obtain the dictionary, one is the string table used as password collected daily, and the other is generated by permutation and combination. Firstly, the MD5 values of these dictionary items are calculated by MD5 program, and then the MD5 values of the target are found in this dictionary. Let's assume that the maximum length of the password is 8 bytes, the password can only be letters and numbers, ***26+26+ 10=62 characters, and the number of entries in the dictionary is p (62,1)+p (62,2) ...+p (62). This encryption technology is widely used in UNIX systems, which is also an important reason why UNIX systems are more robust than general operating systems.