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
.cvsignore
Makefile.ssl
README
ripemd.h
rmd160.c
rmd_dgst.c
rmd_locl.h openbsd-x86 macros 2001-10-14 00:57:30 +00:00
rmd_one.c
rmdconst.h
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)