Browse Prior Art Database

MD4 Message Digest Algorithm (RFC1186)

IP.com Disclosure Number: IPCOM000001999D
Original Publication Date: 1990-Oct-01
Included in the Prior Art Database: 2000-Sep-12
Document File: 16 page(s) / 32K

Publishing Venue

Internet Society Requests For Comment (RFCs)

Related People

R.L. Rivest: AUTHOR

Abstract

This note describes the MD4 message digest algorithm. The algorithm takes as input an input message of arbitrary length and produces as output a 128-bit "fingerprint" or "message digest" of the input. It is conjectured that it is computationally infeasible to produce two messages having the same message digest, or to produce any message having a given prespecified target message digest. The MD4 algorithm is thus ideal for digital signature applications, where a large file must be "compressed" in a secure manner before being signed with the RSA public-key cryptosystem.

This text was extracted from a ASCII Text document.
This is the abbreviated version, containing approximately 9% of the total text.

Network Working Group R. Rivest

Request for Comments: 1186 MIT Laboratory for Computer Science

October 1990

The MD4 Message Digest Algorithm

Status of this Memo

This RFC is the specification of the MD4 Digest Algorithm. If you

are going to implement MD4, it is suggested you do it this way. This

memo is for informational use and does not constitute a standard.

Distribution of this memo is unlimited.

Table of Contents

1. Abstract .................................................... 1

2. Terminology and Notation .................................... 2

3. MD4 Algorithm Description ................................... 2

4. Extensions .................................................. 6

5. Summary ..................................................... 7

6. Acknowledgements ............................................ 7

APPENDIX - Reference Implementation ............................. 7

Security Considerations.......................................... 18

Author's Address................................................. 18

1. Abstract

This note describes the MD4 message digest algorithm. The algorithm

takes as input an input message of arbitrary length and produces as

output a 128-bit "fingerprint" or "message digest" of the input. It

is conjectured that it is computationally infeasible to produce two

messages having the same message digest, or to produce any message

having a given prespecified target message digest. The MD4 algorithm

is thus ideal for digital signature applications, where a large file

must be "compressed" in a secure manner before being signed with the

RSA public-key cryptosystem.

The MD4 algorithm is designed to be quite fast on 32-bit machines.

On a SUN Sparc station, MD4 runs at 1,450,000 bytes/second. On a DEC

MicroVax II, MD4 runs at approximately 70,000 bytes/second. On a

20MHz 80286, MD4 runs at approximately 32,000 bytes/second. In

addition, the MD4 algorithm does not require any large substitution

tables; the algorithm can be coded quite compactly.

The MD4 algorithm is being placed in the public domain for review and

possible adoption as a standard.

(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 giv...