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-20250922

[Page version: 20251117 17:10:49]

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
326723347134708
T:
jacfp127i
350093583136963
T:
kumjacfp127g
381143832238751
T:
hecfp127i
376643834839234
T:
prjfp127i
512695134351393
T:
curve25519
513565209252971
T:
jacfp128bk
595565983260136
T:
hecfp128fkt
596185985660208
T:
hecfp128bk
596346034561096
T:
prjfp128bk
604106117461964
T:
hecfp128i
726937423275567
T:
ecfp256e
749917638077378
T:
ecfp256s
802798028080458nistp256
792068094583106
T:
ecfp256q
800438129882722
T:
ecfp256h
111183112477113806
T:
gls1271
130750130782130859
T:
kumfp127g
205863207435208368
T:
sclaus1024
224228224287224582
T:
kumfp128g
276674278268280132
T:
ecfp256i
296361297539298167
T:
surf127eps
342225342644343521
T:
ed448goldilocks
452735452972453107
T:
kummer
479298491018505813
T:
hector
988824992941998078
T:
sclaus2048
108853610966891097948
T:
surf2113
133569413422951345707
T:
curve2251
135056013526721354594
T:
claus
154598915460611546681
T:
ed521gs
180754518083751808887
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
132417132423132452
T:
kumfp127g
134377134380134459
T:
kumjacfp127g
163357163446164039
T:
jacfp128bk
189024189047189508
T:
curve25519
200586201048201496
T:
prjfp128bk
206086206470206634
T:
hecfp128bk
212407212579212899
T:
jacfp127i
213754214160214376
T:
hecfp128fkt
229658229676230014
T:
kumfp128g
262087262626263113
T:
ecfp256e
266681269834275771
T:
sclaus1024
267532270445275455
T:
gls1271
271978272219272404
T:
prjfp127i
271765272502272730
T:
ecfp256q
275351275621276775
T:
ecfp256i
282013282064282454
T:
hecfp127i
295116295714295999
T:
surf127eps
312523312586313074nistp256
329558329881330631
T:
ecfp256s
352743353090353987
T:
ecfp256h
452503452913452986
T:
kummer
454304454712454819
T:
hecfp128i
944340945787946193
T:
ed448goldilocks
108192410956621096537
T:
surf2113
126810512907511300184
T:
sclaus2048
134459713448481345007
T:
curve2251
154556015456391545747
T:
ed521gs
156943915704561581238
T:
claus
162014316591691712537
T:
hector
180734018079431808686
T:
nist521gs