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; K10 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, 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
297383011330723
T:
jacfp127i
320443251533111
T:
kumjacfp127g
339083435034842
T:
prjfp127i
349333513135403
T:
hecfp127i
471724761048112
T:
jacfp128bk
486274875448806
T:
curve25519
564155659256793
T:
hecfp128fkt
565735683657380
T:
hecfp128bk
566995711857576
T:
prjfp128bk
574475760057882
T:
hecfp128i
710907228373636
T:
ecfp256e
732657466675711
T:
ecfp256s
766037664176727nistp256
772727838379684
T:
ecfp256h
774937916180912
T:
ecfp256q
105633106917108470
T:
gls1271
119919119953120054
T:
kumfp127g
205851205905206410
T:
kumfp128g
205816207569208421
T:
sclaus1024
264429266033267924
T:
ecfp256i
280620281781282488
T:
surf127eps
313200313861315431
T:
ed448goldilocks
329912336800343282
T:
hector
427286427819428023
T:
kummer
712752716506718056
T:
surf2113
900112905125906508
T:
curve2251
963568967197969686
T:
sclaus2048
135668313592291378608
T:
claus
150710615073041507771
T:
ed521gs
180965018100981810755
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
121606121613121649
T:
kumfp127g
122808122866122950
T:
kumjacfp127g
153560154036154418
T:
jacfp128bk
178012178018178333
T:
curve25519
187580187902188411
T:
prjfp128bk
193729194412194758
T:
hecfp128bk
197232197595198204
T:
jacfp127i
201690202014202595
T:
hecfp128fkt
211682211691212243
T:
kumfp128g
251394251872252965
T:
ecfp256e
254784256893261051
T:
gls1271
257298257524258103
T:
prjfp127i
260340260976261777
T:
ecfp256q
263638263770264471
T:
hecfp127i
263775263975265543
T:
ecfp256i
266234270664272535
T:
sclaus1024
278970279501279825
T:
surf127eps
297634297717298332nistp256
317846318121319211
T:
ecfp256s
336240336531337722
T:
ecfp256h
426139426779427030
T:
hecfp128i
427176427728427936
T:
kummer
712722713687716516
T:
surf2113
897857898214901514
T:
curve2251
952342952610956893
T:
ed448goldilocks
112046011307401135414
T:
hector
124417712597831262648
T:
sclaus2048
150682615070031507126
T:
ed521gs
158493415874001621418
T:
claus
180948118099071810723
T:
nist521gs