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; Core 2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2404MHz; margaux, supercop-20250307

[Page version: 20250419 12:16:54]

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
439774511746444
T:
jacfp127i
456564640647784
T:
kumjacfp127g
501165111052249
T:
prjfp127i
523735331554585
T:
hecfp127i
765377762478471
T:
jacfp128bk
771837820779729
T:
ecfp256e
814638211483485
T:
ecfp256h
841778507686202
T:
ecfp256s
896419032291517
T:
prjfp128bk
893829086393367
T:
hecfp128fkt
892939087893742
T:
hecfp128bk
897009119594247
T:
hecfp128i
902599124892563
T:
ecfp256q
127659129676131414
T:
gls1271
132646132988134923
T:
curve2251
180966181059181086
T:
kumfp127g
294884295526295637
T:
curve25519
316368316670319135
T:
kumfp128g
323145325388345871
T:
sclaus1024
329053329904330889
T:
ed448goldilocks
376467378084380389
T:
ecfp256i
393844400922411581
T:
hector
413355414975417055
T:
surf127eps
417303417381418476
T:
kummer
512425512482513237
T:
nistp256
779625782272784203
T:
surf2113
164536316524381655457
T:
sclaus2048
170373117048171707042
T:
ed521gs
195889819596621962032
T:
nist521gs
213933121422612185653
T:
claus
Cycles to compute a shared secret
25%50%75%system
181377183505183635
T:
kumfp127g
188388188404188418
T:
kumjacfp127g
243304243377243536
T:
jacfp128bk
291913291972292175
T:
jacfp127i
294652294951294951
T:
curve25519
300134300241300418
T:
prjfp128bk
307293307344307569
T:
hecfp128bk
313398318266319685
T:
gls1271
318476318586318647
T:
hecfp128fkt
326578326587330284
T:
kumfp128g
357708357770357890
T:
ecfp256e
372655372703372917
T:
ecfp256q
375569375683375872
T:
ecfp256i
381063381291381468
T:
prjfp127i
388716388929389002
T:
hecfp127i
411921413598415465
T:
surf127eps
417253417331417399
T:
kummer
426698429623460429
T:
sclaus1024
443483443663443693
T:
ecfp256h
462966463199463462
T:
ecfp256s
551083554332554402
T:
curve2251
693872694025694174
T:
hecfp128i
778383780473780915
T:
surf2113
102697710294181032403
T:
ed448goldilocks
122689112269171227087
T:
nistp256
134859513577151363947
T:
hector
170818417081841708905
T:
ed521gs
195910919601891960299
T:
nist521gs
215897121607182194151
T:
sclaus2048
254182225586362573875
T:
claus