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; K10 45nm (100f63); 2010 AMD Athlon II Neo K125; 1 x 1700MHz; h3neo, supercop-20250415

[Page version: 20250523 10:17:42]

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
328283310033429
T:
jacfp127i
352993608137182
T:
kumjacfp127g
382933860038923
T:
hecfp127i
383283869238954
T:
prjfp127i
515355231553232
T:
jacfp128bk
593726018660966
T:
prjfp128bk
599486065861385
T:
hecfp128i
604776126961994
T:
hecfp128bk
607116138062082
T:
hecfp128fkt
721867349974971
T:
ecfp256e
769867807379555
T:
ecfp256h
771237847879975
T:
ecfp256s
799188202483990
T:
ecfp256q
111847113147114437
T:
gls1271
131105131128131196
T:
kumfp127g
206403207354208576
T:
sclaus1024
218983218984219056
T:
curve25519
224590224609224713
T:
kumfp128g
277204279377281909
T:
ecfp256i
293923295141295494
T:
surf127eps
342825343440344020
T:
ed448goldilocks
425512425633425766
T:
nistp256
438758438770438869
T:
kummer
470448471948485102
T:
hector
989190994440996977
T:
sclaus2048
108331210892401092022
T:
surf2113
133374913379401340145
T:
curve2251
135065613523801354525
T:
claus
155552015559391557273
T:
ed521gs
182314718238051825060
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
132639132641132649
T:
kumfp127g
134341134343134346
T:
kumjacfp127g
163535163552163605
T:
jacfp128bk
201112201377201411
T:
prjfp128bk
206081206129206759
T:
hecfp128bk
212229212274212594
T:
jacfp127i
213899213947213972
T:
hecfp128fkt
218954218955218965
T:
curve25519
230019230028230048
T:
kumfp128g
262009262058262069
T:
ecfp256e
263648269298276545
T:
gls1271
265890269364271528
T:
sclaus1024
270677270703270776
T:
ecfp256q
272010272064272094
T:
prjfp127i
275483275562275643
T:
ecfp256i
281530281551281580
T:
hecfp127i
287045292486293151
T:
surf127eps
328969329049329069
T:
ecfp256s
334484334517334602
T:
ecfp256h
438710438715438718
T:
kummer
454606454655454728
T:
hecfp128i
944553944976945068
T:
ed448goldilocks
102474610247861025602
T:
nistp256
107385210782531086007
T:
surf2113
127178312851221295850
T:
sclaus2048
133305513336111334131
T:
curve2251
155519515556171555664
T:
ed521gs
156684815750151580731
T:
claus
165900316841001709473
T:
hector
181945818233881824171
T:
nist521gs