/* Round 1. */
/* Let [abcd k s i] denote the operation
a = b + ((a + F(b,c,d) + X[k] + T[i]) <<< s). */
/* Do the following 16 operations. */
[ABCD 0 7 1] [DABC 1 12 2] [CDAB 2 17 3] [BCDA 3 22 4]
[ABCD 4 7 5] [DABC 5 12 6] [CDAB 6 17 7] [BCDA 7 22 8]
[ABCD 8 7 9] [DABC 9 12 10] [CDAB 10 17 11] [BCDA 11 22 12]
[ABCD 12 7 13] [DABC 13 12 14] [CDAB 14 17 15] [BCDA 15 22 16]
here is a bit of what md5 looks like
basically the process is something like this
first the plain text is padded to be a multiple of 448 or 512
then it is broken down into 16 bit pieces
then those 16 bits are broken up into 4 word buffers
or
a
b
c
d
then a b c and d are plugged into the algorithm and the hash is produced
MD5 doesnt use a key. which leads me to this...
if you are using a key that means public or private key encrypted files.
wont that slow down the process
pke is a bit risky as there are built in back doors
http://groups.google.com/groups?q=ba...olumbia&rnum=1
encryption witha secret key is iffy as well...
in order to achieve a good level of security you need a big key. IE 128bit or more
thats blowfish or 3des... that is computationaly huge and a strain on processors.
but anything less and its crackable...
unless Im missing something obvious...
-Dom
edit
linky to rfc 1321
http://www.ietf.org/rfc/rfc1321.txt?number=1321