VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information:IntroductioneBASHeBASCeBAEADeBATSSUPERCOPXBXComputersArch
How to submit new software:Tipshashstreamaeaddhkemencryptsign
List of primitives measured:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
Measurements:lwcsha3hashstreamlwccaesaraeaddhkemencryptsign
List of subroutines:verifydecodeencodesortcorehashblocksxofscalarmult

Measurements of public-key Diffie–Hellman secret-sharing systems on one machine: amd64; Bobcat (500f20); 2011 AMD E-450; 2 x 1650MHz; h4e450, supercop-20250922

[Page version: 20251015 23:19:22]

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a project to measure the performance of public-key systems. This page presents benchmark results collected in eBATS for public-key Diffie–Hellman secret-sharing systems:

Each table row lists the first quartile of many speed measurements, the median of many speed measurements, the third quartile of many speed measurements, and the name of the primitive. Measurements with large variance are indicated in red with question marks. The symbol T: (starting with supercop-20200816) means that the SUPERCOP database at the time of benchmarking did not list constant time as a goal for this implementation. The symbol T!!! means that constant time was listed as a goal for this implementation, but that the implementation failed TIMECOP. (TIMECOP failures are not necessarily security issues; they can sometimes be resolved by, e.g., declaring that a rejection-sampling condition is safe to declassify.)

There is a separate page with more information about each Diffie–Hellman system and each implementation. Designers and implementors interested in submitting new Diffie–Hellman systems and new implementations of existing systems should read the call for submissions.


Test results

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
527885307853430
T:
jacfp127i
561845692258108
T:
kumjacfp127g
609436120861663
T:
prjfp127i
614796197662418
T:
hecfp127i
762587669077184
T:
jacfp128bk
876578859489852
T:
prjfp128bk
892769001491139
T:
hecfp128fkt
904279133592490
T:
hecfp128bk
907959172992833
T:
hecfp128i
981369820698292
T:
curve25519
99087100546101965
T:
ecfp256e
108222109450111623
T:
ecfp256h
108702110519112328
T:
ecfp256s
112678115134117516
T:
ecfp256q
131072131452131964nistp256
178002179838181498
T:
gls1271
199531199628199772
T:
kumfp127g
316333316335316471
T:
kumfp128g
432360434652437556
T:
ecfp256i
515406516497518968
T:
curve2251
555370555911557251
T:
ed448goldilocks
702076708313714609
T:
sclaus1024
869535869772870862
T:
kummer
239428723963152399057
T:
ed521gs
277712427778972780474
T:
nist521gs
331545133438003367480
T:
sclaus2048
394379339637343984217
T:
claus
Cycles to compute a shared secret
25%50%75%system
201544201551201631
T:
kumfp127g
207286207390207681
T:
kumjacfp127g
242246242358242694
T:
jacfp128bk
299350299500299822
T:
prjfp128bk
299660299710300108
T:
hecfp128bk
309472309481309501
T:
curve25519
312186312246312894
T:
hecfp128fkt
325407325407325451
T:
kumfp128g
354378354500355532
T:
jacfp127i
402202405162407186
T:
gls1271
405686406338407370
T:
ecfp256e
424652424746425080
T:
ecfp256q
429904430050430482
T:
prjfp127i
432826432890433036
T:
ecfp256i
436214436290436858
T:
hecfp127i
488262488345489785
T:
ecfp256h
505421505616506630
T:
ecfp256s
508512508700510893nistp256
668334668788669998
T:
hecfp128i
744482748308752285
T:
sclaus1024
869355870099870699
T:
kummer
163569316375271638144
T:
ed448goldilocks
209413720955032098541
T:
curve2251
239489223957162405107
T:
ed521gs
277563527760992776564
T:
nist521gs
343440934497233474798
T:
sclaus2048
398427740180474042516
T:
claus