openssl/crypto/ripemd
Dr. Stephen Henson 20d2186c87 Retain compatibility of EVP_DigestInit() and EVP_DigestFinal()
with existing code.

Modify library to use digest *_ex() functions.
2001-10-16 01:24:29 +00:00
..
asm Remove Win32 assembler files. They are always rebuilt (with some 2000-03-13 08:04:20 +00:00
.cvsignore Ignore Makefile.save 1999-04-29 16:04:54 +00:00
Makefile.ssl make update 2001-07-31 17:07:24 +00:00
README Import of old SSLeay release: SSLeay 0.9.0b 1998-12-21 10:56:39 +00:00
ripemd.h Make EVP_Digest*() routines return a value. 2001-03-08 14:04:22 +00:00
rmd160.c Support the EBCDIC character set and BS2000/OSD-POSIX (work in progress). 1999-06-04 21:35:58 +00:00
rmd_dgst.c Make EVP_Digest*() routines return a value. 2001-03-08 14:04:22 +00:00
rmd_locl.h openbsd-x86 macros 2001-10-14 00:57:30 +00:00
rmd_one.c Document hash functions. 2000-02-03 18:22:01 +00:00
rmdconst.h Import of old SSLeay release: SSLeay 0.9.0b 1998-12-21 10:56:39 +00:00
rmdtest.c Retain compatibility of EVP_DigestInit() and EVP_DigestFinal() 2001-10-16 01:24:29 +00:00

RIPEMD-160
http://www.esat.kuleuven.ac.be/~bosselae/ripemd160.html

This is my implementation of RIPEMD-160.  The pentium assember is a little
off the pace since I only get 1050 cycles, while the best is 1013.
I have a few ideas for how to get another 20 or so cycles, but at
this point I will not bother right now.  I belive the trick will be
to remove my 'copy X array onto stack' until inside the RIP1() finctions the
first time round.  To do this I need another register and will only have one
temporary one.  A bit tricky....  I can also cleanup the saving of the 5 words
after the first half of the calculation.  I should read the origional
value, add then write.  Currently I just save the new and read the origioal.
I then read both at the end.  Bad.

eric (20-Jan-1998)