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; Crestmont (a06a4-20); 2023 Intel Core Ultra 5 125H, LPE cores; 2 x 700MHz; meteor,tiny, supercop-20251222

[Page version: 20260208 14:17:38]

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
297473046731760
T:
jacfp127i
307203138732431
T:
kumjacfp127g
335013438835845
T:
curve2251
338743439735200
T:
prjfp127i
345473511036095
T:
hecfp127i
363233649336676
T:
gls254
374923760637809
T:
gls254prot
432954334843401curve25519
425124523146798
T:
jacfp128bk
442924531846599
T:
ecfp256e
470274769849052
T:
prjfp128bk
473534787648438
T:
hecfp128i
476164812248654
T:
hecfp128bk
478084816148536
T:
hecfp128fkt
509285111751342
T:
k277taa
501985168653398
T:
ecfp256s
531175403954686
T:
k298
533445446256095
T:
ecfp256q
687026881769004
T:
k277mon
717207178671888nistp256
107286107455107650
T:
kummer
114310114580114870
T:
kumfp127g
151142151565151926
T:
kumfp128g
204034205234206721
T:
ecfp256i
236143237513239145
T:
ecfp256h
249232250583254860
T:
ed448goldilocks
340120344179349409
T:
sclaus1024
141281114301961482943
T:
ed521gs
155438616112171697683
T:
nist521gs
201164520655992126261
T:
claus
229716323950802439812
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
353383549835686
T:
gls254
374583758437781
T:
gls254prot
508395098251304
T:
k277taa
528505325553893
T:
k298
686376869568825
T:
k277mon
107183107336107510
T:
kummer
114082114522115051
T:
jacfp128bk
117000117298117601
T:
kumfp127g
119231119448119796
T:
kumjacfp127g
132090133862134870
T:
curve2251
139982140288140976
T:
prjfp128bk
144477144928145571
T:
hecfp128bk
150278150630151081
T:
hecfp128fkt
157273158423158644
T:
kumfp128g
160615160744160923curve25519
174402174938175619
T:
jacfp127i
188450188845189360
T:
ecfp256e
198650198934199230
T:
ecfp256i
200695201213201812
T:
ecfp256q
217142217798218762
T:
prjfp127i
222130222600223353
T:
hecfp127i
230733231153232438
T:
ecfp256h
266289267874270908
T:
ecfp256s
281576281717281944nistp256
325925326912328787
T:
hecfp128i
353825355478360351
T:
sclaus1024
892649896714911327
T:
ed448goldilocks
138809214099841473606
T:
ed521gs
154714216005881691404
T:
nist521gs
201495920648192117719
T:
claus
234072323953272458884
T:
sclaus2048