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