Release history of Crypt-RIPEMD160
C HTML Perl XS C++
Latest commit 03f7f67 Jun 10, 2015 @toddr Prep for release of 0.06
Failed to load latest commit information.
RIPEMD160 initial import of Crypt::RIPEMD160 0.03 from CPAN Dec 7, 2009
misc import Crypt::RIPEMD160 0.04 from CPAN Dec 7, 2009
rmd160
t Convert code to use Test::More for testing Apr 4, 2011
.gitignore Prep for release of 0.06 Jun 9, 2015
CHGEUER.asc import Crypt::RIPEMD160 0.04 from CPAN Dec 7, 2009
Changes Prep for release of 0.06 Jun 9, 2015
MANIFEST Prep for release of 0.06 Jun 9, 2015
META.json Prep for release of 0.06 Jun 9, 2015
META.yml Prep for release of 0.06 Jun 9, 2015
Makefile.PL Modernize Makefile.PL Apr 4, 2011
README import Crypt::RIPEMD160 0.04 from CPAN Dec 7, 2009
RIPEMD160.pm Prep for release of 0.06 Jun 9, 2015
RIPEMD160.xs
rmd160.c initial import of Crypt::RIPEMD160 0.03 from CPAN Dec 7, 2009
rmd160.h Fix RT 19138 - make dword a 4 byte integer on all platforms Apr 4, 2011
typemap initial import of Crypt::RIPEMD160 0.03 from CPAN Dec 7, 2009
wrap_160.c Fix two compiler warnings about printf statement Mar 24, 2012
wrap_160.h import Crypt::RIPEMD160 0.04 from CPAN Dec 7, 2009

README

Crypt::RIPEMD160 Extension Version 0.04

Crypt::RIPEMD160 adcO "RIPEMD-160 message digest algorithm" CHGEUER

#########################################################################

CHANGES:

Crypt-RIPEMD160-0.04 now supports BigEndian architectures (thanks to Ken Neighbors)

#########################################################################

INSTALLATION:

This is a Perl5 extension interface to the RIPEMD-160
Message Digest algorithm. Documentation is in RIPEMD160.pm

To build the extension, unpack this distribution under the ext/
directory of your Perl source distribution, create the Makefile using
'perl Makefile.PL' and do a 'make'.

Then try a 'make test' and wait for performing all tests.

#########################################################################

SOURCES:

All files in doc/ and the rmd160.*-files are taken from a sample
implementation of RIPEMD-160. 

see also the RIPEMD160-Homepage: 
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html

The wrap_160.*-files are wrapper-code to allow the user to add 
small pieces of data to the message digest and to have the same 
convenient API like MD5 and SHA give. The Wrapper-Code was written 
by Christian Geuer. 

The rest (RIPEMD160.pm, RIPEMD160.xs, typemap, test.pl and Makefile.PL) are 
stolen and modified from MD5-1.7 and SHA-1.1. Thanks to Neil Wilton and
Uwe Hollerbach for writing this code.

Thanks to Ken Neighbors who updated this module to support big-endian
systems in April 2001. Enclosed his comments:

<COMMENT FROM="Ken Neighbors">
I changed three files: RIPEMD160.xs, wrap_160.h, wrap_160.c

In RIPEMD160.xs, the section commented /* Little Endian (1234) */
actually works for big-endian systems as well, so I deleted the
section commented /* Big Endian (4321) */.

In wrap_160.h I added a buffer called "data" to hold the unprocessed
bytes.  The buffer "X" is now only used to hold bytes for processing.

In wrap_160.c I used a trick from hashtest.c (available at
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html) to do the
correct byte-ordering.
</COMMENT>

#########################################################################

ADRESSES:

Christian Geuer-Pollmann: geuer-pollmann@nue.et-inf.uni-siegen.de
Uwe Hollerbach: uh@alumni.caltech.edu
Ken Neighbors: ken@nsds.com
Neil Wilton: N.Wilton@axion.bt.co.uk

#########################################################################

TEST-VECTORS:

RIPEMD-160 test suite results (ASCII):

* message: "" (empty string)
  hashcode: 9c1185a5c5e9fc54612808977ee8f548b2258d31
* message: "a"
  hashcode: 0bdc9d2d256b3ee9daae347be6f4dc835a467ffe
* message: "abc"
  hashcode: 8eb208f7e05d987a9b044a8e98c6b087f15a0bfc
* message: "message digest"
  hashcode: 5d0689ef49d2fae572b881b123a85ffa21595f36
* message: "abcdefghijklmnopqrstuvwxyz"
  hashcode: f71c27109c692c1b56bbdceb5b9d2865b3708dbc
* message: "abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq"
  hashcode: 12a053384a9c0c88e405a06c27dcf49ada62eb2b
* message: "A...Za...z0...9"
  hashcode: b0e20b6e3116640286ed3a87a5713079b21f5189
* message: 8 times "1234567890"
  hashcode: 9b752e45573d4b39f4dbd3323cab82bf63326bfb
* message: 1 million times "a"
  hashcode: 52783243c1697bdbe16d37f97f68f08325dc1528

#########################################################################