Implements the MD5 message digest encryption algorithm.
TIdHashMessageDigest5 = class(TIdHashMessageDigest4);
TIdHashMessageDigest5 is a TIdHashMessageDigest descendant that implements the RSA-MD5 encryption algorithm as described in the Internet Standards document:
TIdHashMessageDigest5 implements the MD5 algorithm used for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a private (secret) key under a public-key cryptosystem such as RSA. The RSA-MD5 algorithm takes an input message of an arbitrary length and produces a 128-bit "fingerprint" or "message digest" of the input.
The MD5 algorithm is an extension of the MD4 message-digest algorithm. MD5 is slightly slower than MD4, but is more "conservative" in design. MD5 exists to compensate for potential security holes that exist in MD4. The MD5 algorithm differs from MD4 in the following ways:
A fourth round operation is added to the algorithm. Each step now has a unique additive constant. Rounding in second step of the algorithm has been made less symmetrical than it's MD4 predecessor. Each step accumulates the result of the previous step promoting an "avalanche effect". The input word order in rounds 2 and 3 is changed to make these patterns less predictable and repetitive. The shift amounts in each round have been approximately optimized, to yield a faster "avalanche effect." The shifts in each of the rounds is distinct.
TIdHashMessageDigest5 can be used in various cryptography implementations that require the RSA-MD5 algorithm. Some MD5 implementations are described in the following documents:
The MD5 algorithm has been placed in the public domain.
Copyright © 1993-2006, Chad Z. Hower (aka Kudzu) and the Indy Pit Crew. All rights reserved.
Post feedback to the Indy Docs Newsgroup.