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; Gracemont (b06a2-20); 2024 Intel Core 5 210H; 4 x 1600MHz; freshwrap,little, supercop-20251222

[Page version: 20260116 16:46:37]

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: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
287302952630397
T:
jacfp127i
288732969830324
T:
kumjacfp127g
319723260333446
T:
prjfp127i
326603335734329
T:
hecfp127i
338863416234795
T:
curve2251
382813846538655
T:
gls254
393163938739470
T:
gls254prot
391663995840896
T:
jacfp128bk
403034088141948
T:
ecfp256e
431554325743405curve25519
450974580746730
T:
prjfp128bk
455294622947371
T:
hecfp128i
461254682347793
T:
hecfp128bk
462514699147998
T:
hecfp128fkt
464084734849150
T:
ecfp256s
471204801249597
T:
ecfp256q
514035148051594
T:
k277taa
551025532555588
T:
k298
699517008870240
T:
k277mon
712077130971415nistp256
114795114926115225
T:
kumfp127g
124810125203125473
T:
kummer
149807150299150487
T:
kumfp128g
199882201433202837
T:
ecfp256i
236010237262238718
T:
ecfp256h
245496247430248251
T:
ed448goldilocks
348264351549356181
T:
sclaus1024
132760113348551340554
T:
ed521gs
152434115306271536338
T:
nist521gs
202770720356912044771
T:
claus
225483522728982290755
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
374393753137613
T:
gls254
392703933639444
T:
gls254prot
514035151951635
T:
k277taa
549175507855279
T:
k298
698667000570169
T:
k277mon
115245115588115936
T:
jacfp128bk
117964118163118472
T:
kumfp127g
119326119552119750
T:
kumjacfp127g
124515125155125754
T:
kummer
135899136581136815
T:
curve2251
140341140641141092
T:
prjfp128bk
144978145310145810
T:
hecfp128bk
150129150519151091
T:
hecfp128fkt
156219157130157312
T:
kumfp128g
158402158559158730curve25519
175929176394177125
T:
jacfp127i
184727185246186195
T:
ecfp256e
193914194622195781
T:
ecfp256q
195297196668197832
T:
ecfp256i
220499221149221832
T:
prjfp127i
224753225456226413
T:
hecfp127i
231045231892232931
T:
ecfp256h
259268261146262213
T:
ecfp256s
281460281636281930nistp256
322305323463326618
T:
hecfp128i
359058361976369964
T:
sclaus1024
863684867330870584
T:
ed448goldilocks
132451413295891333742
T:
ed521gs
153083415500411560434
T:
nist521gs
203319120434302049558
T:
claus
228701423220372356077
T:
sclaus2048