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; Zen 3 (a50f00); 2021 AMD Ryzen 5 5560U; 6 x 4062MHz; beelink, supercop-20221122

[Page version: 20240720 10:46:06]

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
337343515539802
T:
curve2251
378263799538008
T:
gls254prot
372723827438659
T:
gls254
467504677046841
T:
k277taa
476974775247905
T:
kummer
527445287253245
T:
k298
540195499656224
T:
gls1271
736497369373773
T:
k277mon
102507102661102824
T:
curve25519
139792140126140514
T:
surf127eps
156767157050157379
T:
ed448goldilocks
200647202727204578
T:
sclaus1024
209722210036210198
T:
nistp256
367234369072370210
T:
surf2113
757107758860764001
T:
ed521gs
872057875803876158
T:
nist521gs
100644510150731020480
T:
sclaus2048
119862812011361204247
T:
claus
Cycles to compute a shared secret
25%50%75%system
353323536835374
T:
gls254
378513789837931
T:
gls254prot
467024674546836
T:
k277taa
478424789748070
T:
kummer
525905267552753
T:
k298
736187368873725
T:
k277mon
110876110972111112
T:
curve25519
126036129335132317
T:
gls1271
129803131087131198
T:
curve2251
135835136451136730
T:
surf127eps
202626205515206705
T:
sclaus1024
363140363460363827
T:
surf2113
517434518481518742
T:
ed448goldilocks
563375563907564446
T:
nistp256
758675758870760360
T:
ed521gs
872278873146874983
T:
nist521gs
101862610200251021087
T:
sclaus2048
119823611998721202629
T:
claus