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 4 (a60f12); 2023 AMD Ryzen 7 7700; 8 x 3800MHz; hertz, supercop-20260217

[Page version: 20260221 06:44:44]

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 (or StQ1 starting with supercop-20260214), the median of many speed measurements (or StQ2 starting with supercop-20260214), the third quartile of many speed measurements (or StQ3 starting with supercop-20260214), and the name of the primitive. Measurements with large interquartile range (or stabilized interquartile range) 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
242112538326765
T:
jacfp127i
238592580728385
T:
kumjacfp127g
263512646226607curve25519
272292841229857
T:
prjfp127i
290563017831572
T:
hecfp127i
308633102031620
T:
gls254
313953147831532
T:
gls254prot
307983194233101
T:
jacfp128bk
306763251535690
T:
ecfp256e
348843659438550
T:
hecfp128bk
349803675438626
T:
hecfp128i
363033762938812
T:
hecfp128fkt
359633774339365
T:
prjfp128bk
361693850144682
T:
ecfp256s
374303958745599
T:
ecfp256q
34701?39938?48926?
T:
curve2251
405364068240885nistp256
424814252642577
T:
kummer
427574279942862
T:
k277taa
482584839249449
T:
k298
610506134061380
T:
k277mon
792877943479636
T:
kumfp127g
104187104267104364
T:
kumfp128g
143885144752145716
T:
ecfp256i
160259160699161155
T:
ed448goldilocks
162706163606164717
T:
ecfp256h
209336211944214013
T:
sclaus1024
777123780813791620
T:
ed521gs
937065938858945649
T:
nist521gs
101494610190631024903
T:
claus
109209011022351110669
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
295942965329740
T:
gls254
314253148431540
T:
gls254prot
424864250942541
T:
kummer
426964271542758
T:
k277taa
481264818248270
T:
k298
607886121061378
T:
k277mon
788237888479007
T:
jacfp128bk
815768162181640
T:
kumfp127g
822878265382821
T:
kumjacfp127g
879168793388654curve25519
939829409194203
T:
prjfp128bk
973809746897604
T:
hecfp128fkt
988169891599067
T:
hecfp128bk
109040109108109203
T:
kumfp128g
120949121045121136
T:
jacfp127i
128945128997129057
T:
ecfp256e
136897?137148?174006?
T:
curve2251
137134137195137276
T:
ecfp256i
140402140439140528
T:
ecfp256q
150228150318150404
T:
prjfp127i
152822152892152953
T:
hecfp127i
154023154029154044nistp256
155276155376155619
T:
ecfp256h
196754196876196991
T:
ecfp256s
210511210608210861
T:
hecfp128i
218089220015270356
T:
sclaus1024
536378539886547191
T:
ed448goldilocks
777661781209792632
T:
ed521gs
934175938324942595
T:
nist521gs
101143010131401015716
T:
claus
109392310985931114894
T:
sclaus2048