Quote:
Originally posted by stief Philippe's new optimizations sound really impressive (might this mean java will begin to lose its "slow" rep?) |
My optimizations have been found very impressive by the maintainer of GNU Crypto. I have posted them for free download on
http://www.rodage.org/pub/java/.
When compiled with the GNU "gcj" compiler, my SHA1 implementation shows an "impressive" rate of only 16 CPU cycles per byte on a Pentium III, according to the GNU Crypto author, as he also have other test vectors for the Tiger, SHA-1, MD5 algorithms, and he didn't report bugs to me, he will soon release an updated version of GNU Crypto with my new implementations, and I am working on SHA-256 (and SHA-224 which is a small variant), SHA-384 and SHA-512 (these 3 are part of the Secure Hash algorithms recently added to the american cryptographic standard, and approved too by the European NESSIE standard).
(SHA-512 and SHA-384 are very challenging to optimize for speed; lots of things can be optimized face to all the available implementations, but the number and complexity of binary expressions is quite complex; optimizing SHA-1 required lots of manual work that could not be automated by a generation script.)