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; Goldmont (506c9); 2016 Intel Celeron J3455; 4 x 1500MHz; wooden, supercop-20240909

[Page version: 20241017 10:58:42]

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
467144811449546
T:
kumjacfp127g
45990?48124?75542?
T:
jacfp127i
536905512856944
T:
prjfp127i
561745748059294
T:
hecfp127i
633246462266562
T:
jacfp128bk
631506556868200
T:
curve2251
716167252674082
T:
gls254
756447746879088
T:
prjfp128bk
774247937081358
T:
hecfp128i
783888027282900
T:
hecfp128bk
784428030283274
T:
hecfp128fkt
907869078890794
T:
gls254prot
125346?125364?171978?
T:
k277taa
124520?126912?234274?
T:
gls1271
136658136704138746
T:
k298
181314181324181666
T:
k277mon
201734201756201808
T:
kumfp127g
274604?274664?514870?
T:
kumfp128g
280414280416280422
T:
curve25519
352092352992353962
T:
ed448goldilocks
389204?394004?723050?
T:
sclaus1024
403436403464404204
T:
kummer
424002424210424358
T:
nistp256
727550730868735750
T:
surf2113
189215619120801936018
T:
sclaus2048
200614420162862041688
T:
ed521gs
231997623383002355126
T:
nist521gs
232775423424342361462
T:
claus
Cycles to compute a shared secret
25%50%75%system
661186807869276
T:
gls254
905789058490588
T:
gls254prot
125202125222125236
T:
k277taa
136500136554136606
T:
k298
181194181202181214
T:
k277mon
198344198386198960
T:
jacfp128bk
206632206658206672
T:
kumfp127g
209868209890209906
T:
kumjacfp127g
242450242932243198
T:
curve2251
249852249898249994
T:
prjfp128bk
256028?256114?480052?
T:
hecfp128bk
265204265268267616
T:
hecfp128fkt
280316280318280318
T:
curve25519
283564283568283634
T:
kumfp128g
315648315696316558
T:
jacfp127i
308552318380320478
T:
gls1271
395598396186396424
T:
sclaus1024
403418403890403924
T:
kummer
413872413904414308
T:
prjfp127i
426208426308427056
T:
hecfp127i
574306574402585900
T:
hecfp128i
725024725354731552
T:
surf2113
115412011545561168506
T:
ed448goldilocks
146304214632021486648
T:
nistp256
191509419307001953588
T:
sclaus2048
200554420149142031248
T:
ed521gs
231957023342062349164
T:
nist521gs
232864423409922360214
T:
claus