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; Tiger Lake (806c1); 2020 Intel Core i7-1165G7; 4 x 2800MHz; panther, supercop-20240716

[Page version: 20240726 23:45: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.


Implementation notes

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
190201958820788
T:
jacfp127i
209182211823511
T:
kumjacfp127g
235612480426513
T:
prjfp127i
241092516126976
T:
hecfp127i
298073006330695
T:
gls254
316163168331737
T:
gls254prot
306923184333524
T:
jacfp128bk
355503567236858
T:
curve2251
359993764341194
T:
prjfp128bk
364503824241930
T:
hecfp128i
383763844338558
T:
k277taa
367443852742615
T:
hecfp128fkt
368863893042864
T:
hecfp128bk
425094258542680
T:
k298
509825103751096
T:
kummer
550155507155156
T:
k277mon
626396338164412
T:
gls1271
790557923379789
T:
kumfp127g
116242116391116517
T:
kumfp128g
121099121206121351
T:
curve25519
144473145107145553
T:
ed448goldilocks
210917212775215209
T:
sclaus1024
224279225114226036
T:
nistp256
404937407166409112
T:
surf2113
793093795366798929
T:
ed521gs
966787969852975835
T:
nist521gs
105785510586751059839
T:
claus
107340210905201112808
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
288552890128957
T:
gls254
315743164531761
T:
gls254prot
383083836838488
T:
k277taa
422324230442358
T:
k298
509115095851004
T:
kummer
549645502855089
T:
k277mon
820988221882344
T:
kumfp127g
820778222182409
T:
kumjacfp127g
931889341493586
T:
jacfp128bk
112284112507112770
T:
prjfp128bk
115001115452115744
T:
hecfp128bk
118931119152119506
T:
hecfp128fkt
122268122386122514
T:
kumfp128g
122209122807123147
T:
jacfp127i
129938130038130134
T:
curve25519
139233141224141918
T:
curve2251
153129153565154508
T:
prjfp127i
154956155543156732
T:
hecfp127i
151265157542158467
T:
gls1271
209087209858213619
T:
sclaus1024
252550253126254083
T:
hecfp128i
413161415136416675
T:
surf2113
457158457966458475
T:
ed448goldilocks
578380580396582268
T:
nistp256
792784794524796564
T:
ed521gs
964679968981970676
T:
nist521gs
105366210544221055242
T:
claus
107852110994301102825
T:
sclaus2048