Performance Optimization

We rearranged the assembly code of MD5 (optimised) algorithm with the help
of paper "Fast Hashing on Pentium" published in Crypto '96 on a
FreeBSD pentium-pro machine. We were able to achieve performance
improvement of approx. 115% (factor of 2.13).
Performance Results
- Without rearrangement (MD5-Opt)
-
md5 -c 60 -l 100000 -t -s -r -d
MD5 time trial. Digesting 60 100000-byte blocks (no reordering
required) ... done
Digest = 36023ea6e959c9e678702bdba0f95ff8
Time = 1.01703 U : 0.001894 S :: 1.01892 seconds
Speed = 5.88858e+06 bytes/second,4.71086e+07 bits/sec
minflt 0 majflt 0 nswap 0 nvcsw 0 nivcsw 11
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
- After rearrangement
-
md5 -c 60 -l 100000 -t -s -r -d
MD5 time trial. Digesting 60 100000-byte blocks (no reordering
required) ... done
Digest = 36023ea6e959c9e678702bdba0f95ff8
Time = 0.478771 U : 0 S :: 0.478771 seconds
Speed = 1.25321e+07 bytes/second, 1.00257e+08 bits/sec
minflt 0 majflt 0 nswap 0 nvcsw 0 nivcsw 5
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
Modified code

Go back to the ATOMIC-2 home page. / Go back to the ISI home page.
This page written and maintained by the
ATOMIC-2 group.
Please mail us any problems with or
comments about this page.
Last modified July 10, 1997.