MD Library version 1.0.0
© 2001 WiteG//xtreeme
All Rights Reserved
Email: witeg@poczta.fm
Homepage: http://www.witeg.cad.pl



Introduction :
MD is a family of cryptographic hash functions, designed by Ron Rivest. MD Libary is an implementation of MD2, MD4, MD5 coded in assembly language.



Exported functions:
      MD2
      MD4
      MD5
      GetVersion



Syntax for all MDx functions is the same:

MDx(
      DWORD  ptrBuffer
      DWORD  nSize
      DWORD  ptrData
);

Parameters:
ptrBuffer
The pointer to the buffer to receive message digest (16 bytes)
nSize
The number of bytes of data to be hashed
ptrData
The address of the data to be hashed
Return Values:

This function does not return a value.



GetVersion();

Parameters:

This function has no parameters.

Return Values:

The return value is a DWORD that contains the version number of MD library (in example: if eax == 0x00000100 it is version 1.0.0 , if eax == 0x000003B4 it is version 3.11.4)



Test vectors :

Message Hash result using MD2 Hash result using MD4 Hash result using MD5
"" (empty string) 8350e5a3e24c153df2275c9f80692773 31d6cfe0d16ae931b73c59d7e0c089c0 d41d8cd98f00b204e9800998ecf8427e
"a" 32ec01ec4a6dac72c0ab96fb34c0b5d1 bde52cb31de33e46245e05fbdbd6fb24 0cc175b9c0f1b6a831c399e269772661
"abc" da853b0d3f88d99b30283a69e6ded6bb a448017aaf21d8525fc10ae87aa6729d 900150983cd24fb0d6963f7d28e17f72
"message digest" ab4f496bfb2a530b219ff33031fe06b0 d9130a8164549fe818874806e1c7014b f96b697d7cb7938d525a2f31aaf161d0
"abcdefghijklmnopqrstuvwxyz" 4e8ddff3650292ab5a4108c3aa47940b d79e1c308aa5bbcdeea8ed63df412da9 c3fcd3d76192e4007dfb496cca67e13b
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" da33def2a42df13975352846c30338cd 043f8582f241db351ce627e153e7f0e4 d174ab98d277d9f5a5611c2c9f419d9f
8 times "1234567890" d5976f79d83d3a0dc9806c3c66f3efd8 e33b4ddc9c38f2199c3e7b164fcc0536 57edf4a22be3c955ac49da2e2107b67a



License :
"Software" means the program supplied by WiteG herewith.

Permission is hereby granted to any individual, organization or agency to use the Software for any legal NON-COMMERCIAL purpose, without any obligation to the author. You may distribute the Software freely, provided that the original distribution package (binaries and any other files included in it) is left intact. You may also disassemble, reverse engineer or modify the Software, but you MAY NOT distribute it in modified form.
Any COMMERCIAL use of the Software without prior written permission from the author is strictly prohibited.




Warranty :
This software is provided by WiteG as-is, without warranty of ANY KIND, either expressed or implied, including but not limited to the implied warranties of merchantability and/or fitness for a particular purpose. The author shall NOT be held liable for ANY damage to you, your computer, or to anyone or anything else, that may result from its use, or misuse.Use it at YOUR OWN RISK.


Please report any bugs, answers, comments or suggestions to me