MD5 algorithm overview
MD5 algorithm overview
Roman Nepšinský aka Mem/Mlat, 17.10.2002


Contents


Message-Digest algorithms characteristics

Message-Digest (Fingerprint) algorithms are special functions which transform input of (usually) arbitrary length into output (so-called "fingerprint" or "message digest") of constant length. These transformation functions must fulfil these requirements:

Message-Digest algorithms serve in digital signature applications for guaranteeing consistency (integrity) of data. Commonly used model is as follows (message-digest in cooperation with asymmetric cryptography):


MD2, MD4, MD5 algorithms overview

MD2, MD4 and MD5 are message-digest algorithms developed by Ronald L. Rivest (the Rivest that stands for the letter 'R' in RSA algorithm). All these three algorithms take input message of arbitrary length and produce a 128-bit message digest. (Short description taken from RSA Security Inc. [1].)


MD5 algorithm description

MD5 algorithm takes input message of arbitrary length and generates 128-bit long output hash. MD5 hash algorithm consist of 5 steps (described in deatil in Internet RFC 1321 [2]):


MD5 algorithm uses

MD5 is commonly used hash algorithm. It can be found in many implementations (available on some unix-based system as utility md5; class MD5CryptoServiceProvider in Microsoft's .NET Framework (namespace System.Security.Cryptography); example implemetation in Visual C++ [5] or JavaScript [4], etc). It is used sometimes as file CRC function (Napster...) or one-way cipher in authentization operations (for storing user password hash).

MD5 is also used in conjunction with other cryptographic methods in digital signature applications or in protocols like SSL and others.


References