| Time | Relative time | Primitive | Implementation | Compiler |
| 10794208 | 1.00 | claus | crypto_dh/claus/gmp | g++ -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 12722104 | 1.18 | claus | crypto_dh/claus/cryptopp | g++ -m64 -march=barcelona -O -fomit-frame-pointer |
| 23893064 | 2.21 | claus | crypto_dh/claus/openssl | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer |
| | claus | crypto_dh/claus/ntl | g++ -m64 -O3 -fomit-frame-pointer |
| 1303192 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -fno-schedule-insns -Os -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 3455472 | 2.65 | curve2251 | crypto_dh/curve2251/mpfq | gcc -funroll-loops -march=k8 -O2 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/relic/amd64-avx | gcc -m64 -O3 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/relic/amd64-clmul | gcc -m64 -O3 -fomit-frame-pointer |
| 1252880 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1570832 | 1.25 | curve25519 | crypto_dh/curve25519/mpfq | gcc -march=nocona -O3 -fomit-frame-pointer |
| 863832 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=core2 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 870888 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -march=k8 -O2 -fomit-frame-pointer |
| 885240 | 1.02 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 922552 | 1.07 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer |
| 1439712 | 1.67 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1044024 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1051216 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -march=barcelona -Os -fomit-frame-pointer |
| 1068864 | 1.02 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1111288 | 1.06 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -m64 -march=core2 -msse4 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1771864 | 1.70 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -march=barcelona -O2 -fomit-frame-pointer |
| 921720 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -Os -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 927728 | 1.01 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer |
| 943088 | 1.02 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -march=core2 -Os -fomit-frame-pointer |
| 975584 | 1.06 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -march=native -mtune=native -Os -fomit-frame-pointer |
| 1498056 | 1.63 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -m64 -march=barcelona -Os -fomit-frame-pointer |
| 910560 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -march=k8 -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 916368 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -m64 -march=native -mtune=native -O2 -fomit-frame-pointer |
| 934592 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -O2 -fomit-frame-pointer |
| 970160 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -O2 -fomit-frame-pointer |
| 1476728 | 1.62 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
| 1077640 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1082384 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 1101456 | 1.02 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -m64 -march=native -mtune=native -O3 -fomit-frame-pointer |
| 1139640 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -march=core2 -O2 -fomit-frame-pointer |
| 1828680 | 1.70 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=core2 -msse4.1 -O2 -fomit-frame-pointer |
| 933408 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 2837160 | 1.00 | hector | crypto_dh/hector/ref | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| | nistp256 | crypto_dh/nistp256/nawaz | gcc -m64 -O3 -fomit-frame-pointer |
| 1820312 | 1.00 | sclaus1024 | crypto_dh/sclaus1024/gmp | g++ -march=nocona -O -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 2263912 | 1.24 | sclaus1024 | crypto_dh/sclaus1024/cryptopp | g++ -march=barcelona -O3 -fomit-frame-pointer |
| 8762648 | 1.00 | sclaus2048 | crypto_dh/sclaus2048/gmp | g++ -m64 -Os -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 11092008 | 1.27 | sclaus2048 | crypto_dh/sclaus2048/cryptopp | g++ -m64 -march=barcelona -Os -fomit-frame-pointer |
| 1693960 | 1.00 | surf127eps | crypto_dh/surf127eps/mpfq | gcc -funroll-loops -march=nocona -Os -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 2597776 | 1.00 | surf2113 | crypto_dh/surf2113/mpfq | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| Time | Relative time | Primitive | Implementation | Compiler |
| 615496 | 1.00 | curve25519 | crypto_scalarmult/curve25519/donna_c64 (2.0) | gcc -funroll-loops -O2 -fomit-frame-pointer (4.3.2 20081105 (Red Hat 4.3.2-7)) |
| 615976 | 1.00 | curve25519 | crypto_scalarmult/curve25519/amd64-64 | gcc -funroll-loops -m64 -O3 -fomit-frame-pointer |
| 655432 | 1.06 | curve25519 | crypto_scalarmult/curve25519/amd64-51 | gcc -O3 -fomit-frame-pointer |
| 989480 | 1.61 | curve25519 | crypto_scalarmult/curve25519/donna | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
| 1308768 | 2.13 | curve25519 | crypto_scalarmult/curve25519/ref10 | gcc -funroll-loops -m64 -march=k8 -Os -fomit-frame-pointer |
| 18812104 | 30.56 | curve25519 | crypto_scalarmult/curve25519/ref | gcc -funroll-loops -m64 -march=k8 -O -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/athlon | gcc -m64 -O3 -fomit-frame-pointer |
| | curve25519 | crypto_scalarmult/curve25519/costigan-schwabe/cbe | gcc -m64 -O3 -fomit-frame-pointer |