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 (800f11); 2017 AMD Ryzen 7 1700; 8 x 3000MHz; rumba7, supercop-20241022

[Page version: 20241215 22:59:13]

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: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
287732996931638
T:
jacfp127i
296473077332441
T:
kumjacfp127g
305173183134067
T:
hecfp127i
314423300035140
T:
prjfp127i
369693827440302
T:
jacfp128bk
406734158944164
T:
curve2251
412434233644864
T:
hecfp128bk
411484252444689
T:
hecfp128fkt
414484262044815
T:
hecfp128i
422544324345690
T:
prjfp128bk
436744382844033
T:
gls254
447234490144926
T:
gls254prot
556705580955891
T:
k277taa
640736439764546
T:
k298
654106618766971
T:
gls1271
892038925989393
T:
k277mon
100703100788100974
T:
kummer
102851102915102998
T:
kumfp127g
134083134203134292
T:
kumfp128g
144582144597144612
T:
curve25519
186368186864187332
T:
surf127eps
200786200939201274
T:
ed448goldilocks
201490203214205221
T:
sclaus1024
204123211257223223
T:
hector
274912275187275316
T:
nistp256
476312478274478841
T:
surf2113
954493955103956491
T:
ed521gs
99372210033791010147
T:
sclaus2048
119690212008621204815
T:
claus
Cycles to compute a shared secret
25%50%75%system
423794260242635
T:
gls254
446494482444857
T:
gls254prot
556695578755860
T:
k277taa
640256420664397
T:
k298
890698913889227
T:
k277mon
100740100915100925
T:
kummer
104221104251104437
T:
kumfp127g
104212104308104379
T:
jacfp128bk
106364106437106860
T:
kumjacfp127g
126766126976127472
T:
prjfp128bk
130004130156130271
T:
hecfp128bk
134215134300134445
T:
hecfp128fkt
138651138696139068
T:
kumfp128g
157287157533159061
T:
curve25519
160527161080161425
T:
curve2251
162438162541162766
T:
jacfp127i
165191165523166418
T:
gls1271
184120184271184539
T:
surf127eps
199162200820201472
T:
sclaus1024
204253204552204904
T:
prjfp127i
207467207669208339
T:
hecfp127i
285708285928287496
T:
hecfp128i
476947477213477828
T:
surf2113
581475581821582591
T:
ed448goldilocks
735882749741761130
T:
hector
945640947008947630
T:
nistp256
955790956483957133
T:
ed521gs
98908010032771014910
T:
sclaus2048
119378412006671213173
T:
claus