You are on page 1of 3

NanHao SHA 3503379

MD5 research

1. Using the textbook, describe MD-5. 

Actually, there are four stages involved in cryptographic systems; the first stage is
so called “negotiation stage”. Once the security negotiation stage is finished, the
next handshaking stage in establishing a cryptographic system dialogue which is
authentication. Basically, there are several initial authentication methods, but the
most popular one is MS-CHAP. Before considering MS-CHAP initial
authentication, hashing which is an important part of how cryptographic systems
function should be studied. MD5 which is our topic in this report is the most widely
used hashing method today. Hashing is to treat the message’s bits as very large
binary number and divide it by a smaller number, and then the remainder can be the
hash. When hashing is applied to a binary message, the result is far shorter than the
original message, typically 128 to 512 bits ling. In real world, hashing is quite
complex, the hashing algorithms like MD5 has its unique way to operate the
original message.

Here, the most important thing is that, unlike encryption, which can be reversed by
decryption, hashing is irreversible. If you digest your message with MD-5
algorithm, you can never get the original message from the digest outcome.
However, hashing is repeatable. If two different people apply the same hashing
algorithm to the same bit string, they always get exactly the same hash.

2. What is it and how many bits does it use?   

MD5 processes a variable-length message into a fixed-length output of 128


bits. Nowadays, it can be used as a checksum to verify data integrity, but only
against unintentional corruption. It remains suitable for other non-cryptographic
NanHao SHA 3503379

purposes, for example for determining the partition for a particular key in a
partitioned database. MD5 is one in a series of message digest algorithms designed
by Professor Ronald Rivest of MIT (Rivest, 1992), and it was specified in 1992 as
RFC 1321.

Historically, MD5 has been used to store a one-way hash of a password, often with
key stretching. However, these days MD5 digests have been widely used in the
software world to provide some assurance that a transferred file has arrived intact.
For example, file servers often provide a pre-computed MD5 (known as md5sum)
checksum for the files, so that a user can compare the checksum of the downloaded
file to it to see whether the file content has been changed or not. The reason why
MD5 is so popular in message authentication is that the goal of any message digest
function is to produce digests that appear to be random; while, to be considered
cryptographically secure, the hash function should meet two requirements: first,
that it is impossible for an attacker to generate a message matching a specific hash
value; and second, that it is impossible for an attacker to create two messages that
produce the same hash value. Obviously, MD5 can perfectly meet above
requirements.

MD5 is also used in the field of electronic discovery, in order to provide a unique
identifier for each document that is exchanged during the legal discovery process.

3. Is it considered strong enough for securing passwords these days?

As we mentioned before, historically, MD5 has been used to store a one-way hash
of a password, but it is not the case anymore due to its weakness. One basic
requirement of any cryptographic hash function is that it should be computationally
infeasible to find two distinct messages that hash to the same value. MD5 fails this
requirement catastrophically; such collisions can be found in seconds on an
ordinary home computer, and these hash and collision attacks have been
NanHao SHA 3503379

demonstrated in the public in various situations, including colliding document files


and digital certificates. As a result, the IETF suggested that new protocol designs
should not use MD5 at all, and that the recent research attacks against the algorithm
"have provided sufficient reason to eliminate MD5 usage in applications where
collision resistance is required such as digital signatures."

Meanwhile, rainbow tables for MD5 are enormous by now, and probably cover
most of the hash space which is another reason why MD5 is considered to be
insecure.

The good news is that, at this time, MD5 is not really broken, which means you
cannot crack a password in MD5 without brute force or a dictionary. If you
implement salted md5 hashes you only have the brute force method, with a strong
password even without salted MD5 can be very hard to crack always depending on
the CPU power. So in many years when the power of the CPU will be exponential
(we don’t know yet) maybe is about seconds to crack it in brute force, but now with
the actual CPU’s or GPU if you use a strong password will be not easy at all.
However, according to the textbook, they strongly suggest that you cannot use
MD5 for any password securing purpose.

You might also like