Time | Relative time | Primitive | Implementation | Compiler |
| | claus | crypto_dh/claus/openssl | gcc -m64 -O3 -fomit-frame-pointer |
623728 | 1.00 | curve2251 | crypto_dh/curve2251/relic/amd64-clmul | gcc -funroll-loops -m64 -march=k8 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
1148632 | 1.84 | curve2251 | crypto_dh/curve2251/relic/amd64-ssse3 | gcc -funroll-loops -O2 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| | curve2251 | crypto_dh/curve2251/relic/amd64-avx | gcc -m64 -O3 -fomit-frame-pointer |
746908 | 1.00 | curve25519 | crypto_dh/curve25519/ref | gcc -funroll-loops -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
| | curve25519 | crypto_dh/curve25519/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
552620 | 1.00 | ecfp256e | crypto_dh/ecfp256e/v01/w8s8 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
558912 | 1.01 | ecfp256e | crypto_dh/ecfp256e/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer |
569224 | 1.03 | ecfp256e | crypto_dh/ecfp256e/v01/w8s2 | gcc -O3 -fomit-frame-pointer |
593488 | 1.07 | ecfp256e | crypto_dh/ecfp256e/v01/w8s1 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
915916 | 1.66 | ecfp256e | crypto_dh/ecfp256e/v01/var | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
653372 | 1.00 | ecfp256h | crypto_dh/ecfp256h/v01/w8s8 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
659004 | 1.01 | ecfp256h | crypto_dh/ecfp256h/v01/w8s4 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
670564 | 1.03 | ecfp256h | crypto_dh/ecfp256h/v01/w8s2 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
696820 | 1.07 | ecfp256h | crypto_dh/ecfp256h/v01/w8s1 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
1103996 | 1.69 | ecfp256h | crypto_dh/ecfp256h/v01/var | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
595556 | 1.00 | ecfp256i | crypto_dh/ecfp256i/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
600876 | 1.01 | ecfp256i | crypto_dh/ecfp256i/v01/w8s4 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
609876 | 1.02 | ecfp256i | crypto_dh/ecfp256i/v01/w8s2 | gcc -m64 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
630532 | 1.06 | ecfp256i | crypto_dh/ecfp256i/v01/w8s1 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
964780 | 1.62 | ecfp256i | crypto_dh/ecfp256i/v01/var | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
583952 | 1.00 | ecfp256q | crypto_dh/ecfp256q/v01/w8s8 | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
588764 | 1.01 | ecfp256q | crypto_dh/ecfp256q/v01/w8s4 | gcc -m64 -O3 -fomit-frame-pointer |
599004 | 1.03 | ecfp256q | crypto_dh/ecfp256q/v01/w8s2 | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
623008 | 1.07 | ecfp256q | crypto_dh/ecfp256q/v01/w8s1 | gcc -O3 -fomit-frame-pointer |
940652 | 1.61 | ecfp256q | crypto_dh/ecfp256q/v01/var | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
702516 | 1.00 | ecfp256s | crypto_dh/ecfp256s/v01/w8s8 | gcc -m64 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
709484 | 1.01 | ecfp256s | crypto_dh/ecfp256s/v01/w8s4 | gcc -m64 -march=core2 -O3 -fomit-frame-pointer |
721660 | 1.03 | ecfp256s | crypto_dh/ecfp256s/v01/w8s2 | gcc -O3 -fomit-frame-pointer |
748148 | 1.06 | ecfp256s | crypto_dh/ecfp256s/v01/w8s1 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
1193864 | 1.70 | ecfp256s | crypto_dh/ecfp256s/v01/var | gcc -m64 -march=core2 -msse4 -O3 -fomit-frame-pointer |
697196 | 1.00 | gls1271 | crypto_dh/gls1271/ref4 | gcc -funroll-loops -fno-schedule-insns -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
| | gls254 | crypto_dh/gls254/ref | gcc -m64 -O3 -fomit-frame-pointer |
562220 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s16 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
562464 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s32 | gcc -march=k8 -O3 -fomit-frame-pointer |
564572 | 1.00 | hecfp127i | crypto_dh/hecfp127i/v02/w8s08 | gcc -m64 -march=nocona -O3 -fomit-frame-pointer |
570080 | 1.01 | hecfp127i | crypto_dh/hecfp127i/v02/w8s04 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
582420 | 1.04 | hecfp127i | crypto_dh/hecfp127i/v02/w8s02 | gcc -m64 -march=k8 -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
607172 | 1.08 | hecfp127i | crypto_dh/hecfp127i/v02/w8s01 | gcc -m64 -march=corei7 -O3 -fomit-frame-pointer |
992968 | 1.77 | hecfp127i | crypto_dh/hecfp127i/v02/var | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
429896 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s32glv4 | gcc -march=barcelona -O3 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
430952 | 1.00 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s16glv4 | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer |
433044 | 1.01 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s08glv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
442244 | 1.03 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s04glv4 | gcc -m64 -march=barcelona -O3 -fomit-frame-pointer |
458444 | 1.07 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s02glv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
492816 | 1.15 | hecfp128bk | crypto_dh/hecfp128bk/v02/w8s01glv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
666972 | 1.55 | hecfp128bk | crypto_dh/hecfp128bk/v02/varglv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
429364 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s16glv4 | gcc -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
429940 | 1.00 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s32glv4 | gcc -march=k8 -O2 -fomit-frame-pointer |
432536 | 1.01 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s08glv4 | gcc -march=barcelona -O3 -fomit-frame-pointer |
439764 | 1.02 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s04glv4 | gcc -march=k8 -O2 -fomit-frame-pointer |
457476 | 1.07 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s02glv4 | gcc -march=k8 -O2 -fomit-frame-pointer |
492756 | 1.15 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/w8s01glv4 | gcc -m64 -march=k8 -O2 -fomit-frame-pointer |
667632 | 1.55 | hecfp128fkt | crypto_dh/hecfp128fkt/v02/varglv4 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer |
830604 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s32 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
832276 | 1.00 | hecfp128i | crypto_dh/hecfp128i/v02/w8s16 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
834976 | 1.01 | hecfp128i | crypto_dh/hecfp128i/v02/w8s08 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
843988 | 1.02 | hecfp128i | crypto_dh/hecfp128i/v02/w8s04 | gcc -march=barcelona -O2 -fomit-frame-pointer |
861808 | 1.04 | hecfp128i | crypto_dh/hecfp128i/v02/w8s02 | gcc -march=barcelona -O2 -fomit-frame-pointer |
897824 | 1.08 | hecfp128i | crypto_dh/hecfp128i/v02/w8s01 | gcc -m64 -march=barcelona -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
1473776 | 1.77 | hecfp128i | crypto_dh/hecfp128i/v02/var | gcc -m64 -march=core2 -msse4.1 -O3 -fomit-frame-pointer |
| | hector | crypto_dh/hector/ref | gcc -m64 -O3 -fomit-frame-pointer |
461412 | 1.00 | kumfp127g | crypto_dh/kumfp127g/v02/var | gcc -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
669684 | 1.00 | kumfp128g | crypto_dh/kumfp128g/v02/var | gcc -m64 -march=k8 -O2 -fomit-frame-pointer (4.6.3 20120306 (Red Hat 4.6.3-2)) |
| | surf127eps | crypto_dh/surf127eps/mpfq | gcc -m64 -O3 -fomit-frame-pointer |
| | surf2113 | crypto_dh/surf2113/mpfq | gcc -m64 -O3 -fomit-frame-pointer |