-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Benchmarks
Software protection is inevitably linked with increased code size and slower performances. On this page, we publish benchmarks for various combinations of compilation flags.
OpenSSL is the most widely deployed open-source cryptographic toolkit.
- OpenSSL 1.0.1e, compiled with no obfuscation and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz.
OpenSSL 1.0.1e 11 Feb 2013
built on: Sun Nov 24 14:05:43 CET 2013
options:bn(64,64) rc4(ptr,char) des(idx,cisc,16,int) aes(partial) idea(int) blowfish(idx)
compiler: obfuscator-llvm/working_branch/obfuscator-llvm/build/bin/Release/clang -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -arch x86_64 -O3 -DL_ENDIAN -Wall
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 0.00 0.00 0.00 0.00 0.00
mdc2 10450.82k 12748.52k 13755.33k 14005.93k 14203.12k
md4 27248.45k 96638.50k 279214.93k 519984.13k 700391.42k
md5 23552.89k 78022.21k 202613.08k 337656.15k 412469.93k
hmac(md5) 37069.81k 111016.13k 251370.41k 362646.87k 420926.81k
sha1 21413.18k 66064.49k 148607.83k 235136.09k 290766.85k
rmd160 21309.08k 67215.81k 164454.49k 247258.45k 292099.41k
rc4 332297.13k 351840.43k 365429.42k 357199.19k 357253.12k
des cbc 64811.63k 66126.78k 67803.31k 67692.20k 66671.96k
des ede3 24516.60k 24958.23k 25100.03k 25250.47k 25171.29k
idea cbc 73158.38k 74576.09k 75967.66k 77267.09k 77381.63k
seed cbc 71983.39k 72445.91k 73584.21k 73431.38k 72663.04k
rc2 cbc 37102.64k 37653.50k 37897.73k 38077.44k 38180.18k
rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00
blowfish cbc 101456.64k 106090.73k 107352.06k 108227.93k 109370.05k
cast cbc 104081.62k 107719.83k 108543.74k 110250.33k 110968.83k
aes-128 cbc 166374.77k 170936.25k 172209.66k 174535.00k 172725.59k
aes-192 cbc 142979.93k 145100.86k 147934.55k 148022.27k 147606.19k
aes-256 cbc 125551.18k 129374.66k 132039.51k 126946.65k 131402.41k
camellia-128 cbc 130709.78k 132506.03k 130935.47k 132316.16k 132169.73k
camellia-192 cbc 101994.55k 103848.41k 102466.70k 102450.86k 101749.54k
camellia-256 cbc 100849.56k 102087.04k 102309.84k 103865.34k 103563.26k
sha256 20026.40k 48390.78k 85548.71k 106697.39k 113885.18k
sha512 16267.34k 64235.24k 112194.30k 167185.07k 190887.25k
whirlpool 24057.77k 50450.56k 81417.47k 96423.59k 102064.13k
aes-128 ige 161647.38k 170119.85k 169633.88k 171347.63k 169571.67k
aes-192 ige 140363.04k 143451.52k 145919.66k 143633.41k 144673.45k
aes-256 ige 121747.67k 124857.30k 126876.67k 128619.52k 132461.91k
ghash 177742.12k 185119.59k 186870.33k 187124.05k 189964.29k
sign verify sign/s verify/s
rsa 512 bits 0.000182s 0.000014s 5493.4 70164.1
rsa 1024 bits 0.000886s 0.000039s 1129.0 25898.6
rsa 2048 bits 0.005149s 0.000122s 194.2 8182.1
rsa 4096 bits 0.032712s 0.000440s 30.6 2272.5
sign verify sign/s verify/s
dsa 512 bits 0.000170s 0.000162s 5873.6 6159.2
dsa 1024 bits 0.000437s 0.000481s 2290.4 2079.4
dsa 2048 bits 0.001388s 0.001623s 720.7 616.3
sign verify sign/s verify/s
160 bit ecdsa (secp160r1) 0.0001s 0.0006s 7518.7 1807.3
192 bit ecdsa (nistp192) 0.0001s 0.0005s 7684.5 1967.0
224 bit ecdsa (nistp224) 0.0002s 0.0008s 5680.4 1277.1
256 bit ecdsa (nistp256) 0.0002s 0.0008s 5232.3 1260.6
384 bit ecdsa (nistp384) 0.0004s 0.0016s 2776.4 610.6
521 bit ecdsa (nistp521) 0.0006s 0.0031s 1602.5 319.6
163 bit ecdsa (nistk163) 0.0002s 0.0010s 4134.3 981.4
233 bit ecdsa (nistk233) 0.0004s 0.0015s 2271.4 689.6
283 bit ecdsa (nistk283) 0.0007s 0.0033s 1482.8 306.8
409 bit ecdsa (nistk409) 0.0015s 0.0070s 664.6 143.8
571 bit ecdsa (nistk571) 0.0031s 0.0151s 319.3 66.1
163 bit ecdsa (nistb163) 0.0002s 0.0011s 4098.4 913.2
233 bit ecdsa (nistb233) 0.0004s 0.0016s 2277.8 640.4
283 bit ecdsa (nistb283) 0.0007s 0.0035s 1458.4 286.9
409 bit ecdsa (nistb409) 0.0015s 0.0078s 659.0 128.6
571 bit ecdsa (nistb571) 0.0032s 0.0169s 314.2 59.2
op op/s
160 bit ecdh (secp160r1) 0.0004s 2250.7
192 bit ecdh (nistp192) 0.0004s 2445.7
224 bit ecdh (nistp224) 0.0006s 1597.5
256 bit ecdh (nistp256) 0.0007s 1516.1
384 bit ecdh (nistp384) 0.0014s 718.7
521 bit ecdh (nistp521) 0.0026s 388.0
163 bit ecdh (nistk163) 0.0005s 1962.5
233 bit ecdh (nistk233) 0.0007s 1379.7
283 bit ecdh (nistk283) 0.0016s 623.0
409 bit ecdh (nistk409) 0.0035s 285.9
571 bit ecdh (nistk571) 0.0074s 135.3
163 bit ecdh (nistb163) 0.0005s 1840.5
233 bit ecdh (nistb233) 0.0008s 1291.0
283 bit ecdh (nistb283) 0.0018s 571.1
409 bit ecdh (nistb409) 0.0038s 261.6
571 bit ecdh (nistb571) 0.0084s 118.7
-
OpenSSL 1.0.1e, compiled with
-mllvm -sub
and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz. -
OpenSSL 1.0.1e, compiled with
-mllvm -bcf
and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz. -
OpenSSL 1.0.1e, compiled with
-mllvm -fla
and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz. -
OpenSSL 1.0.1e, compiled with
-mllvm -fla -mllvm -bcf
and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz. -
OpenSSL 1.0.1e, compiled with
-mllvm -sub -mllvm -fla -mllvm -bcf -mllvm -boguscf-loop=2 -mllvm -boguscf-prob=100
and standard compilation flags, C-only 64-bit implementations, run on an Intel Core i7 clocked @ 2.4 GHz.