1996-12-14 - Magic Numbers in MD5

Header Data

From: ph@netcom.com (Peter Hendrickson)
To: cypherpunks@toad.com
Message Hash: d513bcbaed1ce86f67ed5d83656854e240280ed6997f2d22ec9d9420d2c5594b
Message ID: <v02140b01aed7e51544ac@[192.0.2.1]>
Reply To: N/A
UTC Datetime: 1996-12-14 05:15:44 UTC
Raw Date: Fri, 13 Dec 1996 21:15:44 -0800 (PST)

Raw message

From: ph@netcom.com (Peter Hendrickson)
Date: Fri, 13 Dec 1996 21:15:44 -0800 (PST)
To: cypherpunks@toad.com
Subject: Magic Numbers in MD5
Message-ID: <v02140b01aed7e51544ac@[192.0.2.1]>
MIME-Version: 1.0
Content-Type: text/plain


I am curious where some of the magic numbers in MD5 originated.

First, we have the four chaining variables, A, B, C, and D which
are initialized with apparently random numbers.  Are they as
random as they look, or are they carefully chosen?

Second, we have the t_i values.  Schneier's first edition says this:

"In step i, t_i is the integer part of 4294967296xabs(sin(i)), when
i is in radians.  (Note that 4294967296 is 2^32.)"

Does abs(sin()) have some properties that are especially conducive to
strengthening MD5 or is it just a function to generate mildly random
numbers?  If the latter, wouldn't the algorithm be stronger if it was
used with completely random numbers?

Peter Hendrickson
ph@netcom.com







Thread