Fast Implementations on the Pentium

Antoon Bosselaers


The following table lists the performance of my 80x86 implementations optimized for the Pentium. The figures listed are for a 90 Mhz Pentium, and assume that both code and data reside in the Pentium's on-chip caches (8K each). Under this assumption the figures also scale with the clock speed. If your implementations are even faster or if you know of implementations that are faster, I would very much appreciate if you let me know.

Hash functions

Hash functions Size (bytes) Cycles Mbit/sec Mbyte/sec
MD2 2709 4.25 0.53
MD4 1190 241 191.2 23.90
MD5 1713 337 136.7 17.09
RIPEMD 2291 480 96.0 12.00
RIPEMD-128 2929 592 77.8 9.73
SHA-1 4323 837 55.1 6.88
RIPEMD-160 4808 1013 45.5 5.69
Snefru-128 5730 6.03 0.75
Snefru-256 5738 4.02 0.50
Tiger 1320 34.9 4.36


More information on the hash function implementations of the MD4-family can be found in my Crypto'96 paper ``Fast hashing on the Pentium'', and in the short note ``Even faster hashing on the Pentium,'' presented at the rump session of Eurocrypt'97.

Stream ciphers

Stream ciphers Block size (bits) Endianness Tables (bytes) Cycles Mbit/sec Mbyte/sec
alleged RC4 8192 -- 256 6711 110 13.7
SEAL 3.0 8192 selectable 3K+16/1K 3727 198 24.7

Block ciphers

Block ciphers Rounds Block size (bits) Endianness Tables (bytes) Cycles Mbit/sec Mbyte/sec
DES 16 64 neutral 2K 340 16.9 2.12
DES key setup (16) 64 neutral 2K 686 7.3 0.91
3DES 48 64 neutral 2K 928 6.21 0.78
Blowfish 16 64 big 4K 158 36.5 4.56
CAST 16 64 big 4K 220 26.2 3.27
IDEA 8.5 64 big none 590 9.76 1.22
Khufu 32 64 neutral 4K 132 43.6 5.45
SAFER K-64 6 64 -- 512 258 22.3 2.79
SAFER SK-64 8 64 -- 512 338 17.0 2.13
SAFER (S)K-128 10 64 -- 512 418 13.8 1.72
RC5-32/12 12 64 little none 151 38.1 4.77
RC5-32/16 16 64 little none 199 28.9 3.62
RC5-64/24 24 128 little none 830 13.9 1.73
Square 8 128 neutral 4K 244 47.2 5.90


Back to:


This page is maintained by Antoon Bosselaers