[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Some hash timings
Clock cycles to hash messages of 64 bytes, 128 bytes, etc., with
hash127 and the OpenSSL MD5:
Library 64 128 256 512 1024 2048 Chip MHz Compiler
---------- ------------------------------- ---------------- -------------
127 0.70 550 825 1340 2480 4667 9275 Pentium 166 gcc 2.8.1
MD5 0.9.5 1132 1523 2250 3727 6680 12583 Pentium 166 gcc 2.8.1
127 0.70 561 814 1313 2449 4583 8954 Pentium III 450 egcs 2.91.66
MD5 0.9.5 1133 1494 2267 3782 6767 12947 Pentium III 450 egcs 2.91.66
127 0.70 570 762 1148 2111 3818 7438 UltraSPARC I 167 egcs 2.91.66
MD5 0.9.5 1523 2127 3313 5703 10468 20008 UltraSPARC I 167 egcs 2.91.66
127 0.70 608 864 1375 2552 4818 9429 Alpha 21264 500 egcs 2.91.66
MD5 0.9.5 1623 2335 3795 6699 12465 23835 Alpha 21264 500 egcs 2.91.66
Timing overhead is included. Pentium and Pentium II timings are stable;
UltraSPARC and Alpha timings wobble somewhat.
hash127 includes a Wegman-Carter pad. The output can be used directly as
an authenticator if you supply 128 new secret bits for each message.
The output of MD5, even with a secret initial state, isn't usable as an
authenticator. NMAC and HMAC feed the result through MD5 again, taking
more time.
---Dan
References: