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 2 (860f01); 2022 AMD Ryzen 5 4500U; 6 x 3600MHz; renoir, 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
215262314124614
T:
jacfp127i
220922368825083
T:
kumjacfp127g
251232635827948
T:
hecfp127i
256982674528104
T:
prjfp127i
322523340734609
T:
jacfp128bk
336203518137492
T:
hecfp128bk
341193537837619
T:
hecfp128i
351453630637495
T:
prjfp128bk
359943717338141
T:
hecfp128fkt
398654055242867
T:
curve2251
439084391743931
T:
gls254prot
434724528745624
T:
gls254
536165364253702
T:
k277taa
601216077161228
T:
gls1271
609996100061297
T:
kummer
640236406664168
T:
k298
820938214782194
T:
kumfp127g
865988659886598
T:
k277mon
109171109236109290
T:
kumfp128g
134032134299134522
T:
curve25519
158781159969160209
T:
ed448goldilocks
163748165525166882
T:
sclaus1024
235587235981236606
T:
nistp256
442575444555445394
T:
surf2113
804326804999806045
T:
ed521gs
844889850043855348
T:
sclaus2048
938526941734951973
T:
nist521gs
976860979744982812
T:
claus
Cycles to compute a shared secret
25%50%75%system
419824199542283
T:
gls254
437354383143831
T:
gls254prot
536185362253623
T:
k277taa
610146111661248
T:
kummer
639526398164012
T:
k298
835888362083620
T:
kumfp127g
842688435984741
T:
jacfp128bk
854288543085908
T:
kumjacfp127g
865698658386583
T:
k277mon
100113100167100286
T:
prjfp128bk
102185102248102329
T:
hecfp128bk
106037106092106180
T:
hecfp128fkt
114692114726114734
T:
kumfp128g
128368128528128955
T:
jacfp127i
134284134327135156
T:
curve25519
146807147247148493
T:
gls1271
157008157350157896
T:
curve2251
159737160390160420
T:
prjfp127i
163153163188163234
T:
hecfp127i
161962166801167530
T:
sclaus1024
225867225930226153
T:
hecfp128i
443663444307444629
T:
surf2113
482996483167483626
T:
ed448goldilocks
597570598080599522
T:
nistp256
805534805898806767
T:
ed521gs
851776858333861261
T:
sclaus2048
938235941303952921
T:
nist521gs
977027978635980088
T:
claus