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



Introduction :
RIPEMD is a family of cryptographic hash functions, developed by Hans Dobbertin, Antoon Bosselaers, and Bart Preneel as a variation of MD4. Original RIPEMD was developed in the framework of the EU project RIPE (1988-1992). RipeMD Libary is an implementation of RIPEMD, RIPEMD-128, RIPEMD-160, RIPEMD-256, RIPEMD-320 coded in assembly language.



Exported functions:
      RIPEMD
      RIPEMD128
      RIPEMD160
      RIPEMD256
      RIPEMD320
      GetVersion



Syntax for all RIPEMDxxx functions is the same:

RIPEMDxxx(
      DWORD  ptrBuffer
      DWORD  nSize
      DWORD  ptrData
);

Parameters:
ptrBuffer
The pointer to the buffer to receive message digest (it should be 16 bytes for RIPEMD and RIPEMD128, 20 bytes for RIPEMD160, 32 bytes for RIPEMD256, 40 bytes for RIPEMD320)
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 RipeMD 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 RIPEMD-128 Hash result using RIPEMD-160 Hash result using RIPEMD-256 Hash result using RIPEMD-320
"" (empty string) cdf26213a150dc3ecb610f18f6b38b46 9c1185a5c5e9fc54612808977ee8f548b2258d31 02ba4c4e5f8ecd1877fc52d64d30e37a2d9774fb1e5d026380ae0168e3c5522d 22d65d5661536cdc75c1fdf5c6de7b41b9f27325ebc61e8557177d705a0ec880151c3a32a00899b8
"a" 86be7afa339d0fc7cfc785e72f578d33 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe f9333e45d857f5d90a91bab70a1eba0cfb1be4b0783c9acfcd883a9134692925 ce78850638f92658a5a585097579926dda667a5716562cfcf6fbe77f63542f99b04705d6970dff5d
"abc" c14a12199c66e4ba84636b0f69144c77 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc afbd6e228b9d8cbbcef5ca2d03e6dba10ac0bc7dcbe4680e1e42d2e975459b65 de4c01b3054f8930a79d09ae738e92301e5a17085beffdc1b8d116713e74f82fa942d64cdbc4682d
"message digest" 9e327b3d6e523062afc1132d7df9d1b8 5d0689ef49d2fae572b881b123a85ffa21595f36 87e971759a1ce47a514d5c914c392c9018c7c46bc14465554afcdf54a5070c0e 3a8e28502ed45d422f68844f9dd316e7b98533fa3f2a91d29f84d425c88d6b4eff727df66a7c0197
"abcdefghijklmnopqrstuvwxyz" fd2aa607f71dc8f510714922b371834e f71c27109c692c1b56bbdceb5b9d2865b3708dbc 649d3034751ea216776bf9a18acc81bc7896118a5197968782dd1fd97d8d5133 cabdb1810b92470a2093aa6bce05952c28348cf43ff60841975166bb40ed234004b8824463e6b009
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq" a1aa0689d0fafa2ddc22e88b49133a06 12a053384a9c0c88e405a06c27dcf49ada62eb2b 3843045583aac6c8c8d9128573e7a9809afb2a0f34ccc36ea9e72f16f6368e3f d034a7950cf722021ba4b84df769a5de2060e259df4c9bb4a4268c0e935bbc7470a969c9d072a1ac
"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" d1e959eb179c911faea4624c60c5c702 b0e20b6e3116640286ed3a87a5713079b21f5189 5740a408ac16b720b84424ae931cbb1fe363d1d0bf4017f1a89f7ea6de77a0b8 ed544940c86d67f250d232c30b7b3e5770e0c60c8cb9a4cafe3b11388af9920e1b99230b843c86a4
8 times "1234567890" 3f45ef194732c2dbb2c4a2c769795fa3 9b752e45573d4b39f4dbd3323cab82bf63326bfb 06fdcc7a409548aaf91368c06a6275b553e3f099bf0ea4edfd6778df89a890dd 557888af5f6d8ed62ab66945c6d2a0a47ecd5341e915eb8fea1d0524955f825dc717e4a008ab2d42
1 million times "a" 4a7f5723f954eba1216c9d8f6320431f 52783243c1697bdbe16d37f97f68f08325dc1528 ac953744e10e31514c150d4d8d7b677342e33399788296e43ae4850ce4f97978 bdee37f4371e20646b8b0d862dda16292ae36f40965e8c8509e63d1dbddecc503e2b63eb9245bb66



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