RFC 1186 (rfc1186) - Page 2 of 18
MD4 Message Digest Algorithm
Alternative Format: Original Text Document
RFC 1186 MD4 Message Digest Algorithm October 1990
(Note: The document supersedes an earlier draft. The algorithm
described here is a slight modification of the one described in the
draft.)
2. Terminology and Notation
In this note a "word" is a 32-bit quantity and a byte is an 8-bit
quantity. A sequence of bits can be interpreted in a natural manner
as a sequence of bytes, where each consecutive group of 8 bits is
interpreted as a byte with the high-order (most significant) bit of
each byte listed first. Similarly, a sequence of bytes can be
interpreted as a sequence of 32-bit words, where each consecutive
group of 4 bytes is interpreted as a word with the low-order (least
significant) byte given first.
Let x_i denote "x sub i". If the subscript is an expression, we
surround it in braces, as in x_{i+1}. Similarly, we use ^ for
superscripts (exponentiation), so that x^i denotes x to the i-th
power.
Let the symbol "+" denote addition of words (i.e., modulo- 2^32
addition). Let X