Message-Digest Algorithm 2

from Wikipedia, the free encyclopedia
MD2
developer Ronald L. Rivest
Released 1989
Length of the hash value (bit) 128
construction Merkle Damgård construction with checksum
Round 18th
Best known cryptanalysis
Preimage attack with complexity , collision attack with complexity

Message-Digest Algorithm 2 (MD2) is a hash function published by Ronald L. Rivest in 1988 . The algorithm was optimized for 8- bit computers. The hash value of any message is formed by first bringing the message to a multiple of the block length (128 bits or 16 bytes ) and then appending a checksum of 16 bytes in length. For the actual calculation, an auxiliary block with 48 bytes and a 256-byte long substitution table, which was permuted depending on the number π , are used. The substitution table causes a "random" and non-linear substitution operation within the algorithm.

After all blocks of the (extended) message have been processed, the first sub-block of the auxiliary block forms the hash value of the message.

MD2 hashes

The 128-bit long MD2 hashes (also known as "message digests") are usually noted as 32-digit hexadecimal numbers. The following example shows a 59 byte long ASCII input and the associated MD2 hash:

md2("Franz jagt im komplett verwahrlosten Taxi quer durch Bayern") =
8415570a6653a06314f09b023612a92d

A small change in the message produces (with a very high probability) a completely different hash. With Frank instead of Franz the result is:

md2("Frank jagt im komplett verwahrlosten Taxi quer durch Bayern") =
b0e27e91b84246bc4c38bc3008f00374

The hash of a zero-length string is:

md2("") = 8350e5a3e24c153df2275c9f80692773

Individual evidence

  1. ^ A b Lars R. Knudsen, John Erik Mathiassen, Frédéric Muller, Søren S. Thomsen: Cryptanalysis of MD2 . In: Journal of Cryptology . tape 23 , no. 1 . Springer, 2010, p. 72-90 , doi : 10.1007 / s00145-009-9054-1 .

Web links