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

[Page version: 20260405 18:00:55]

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

Cycles to generate a key pair
25%50%75%system
326803349534664
T:
jacfp127i
349643584036976
T:
kumjacfp127g
381113833438789
T:
hecfp127i
376623838839277
T:
prjfp127i
512565137851630curve25519
513475212053015
T:
jacfp128bk
595315984060217
T:
hecfp128fkt
595875986560225
T:
hecfp128bk
596436035261221
T:
prjfp128bk
604616119262023
T:
hecfp128i
726577423775670
T:
ecfp256e
750617639777825
T:
ecfp256s
802748028680517nistp256
792928105283090
T:
ecfp256q
798838127982980
T:
ecfp256h
111152112479113834
T:
gls1271
130753130784130940
T:
kumfp127g
205752207477208333
T:
sclaus1024
224229224294224568
T:
kumfp128g
276477278289280123
T:
ecfp256i
296201297540298147
T:
surf127eps
342229342706343500
T:
ed448goldilocks
452692452966453113
T:
kummer
479344487203504663
T:
hector
988566992853997730
T:
sclaus2048
108911910953861097960
T:
surf2113
133661013427191345714
T:
curve2251
135052013525841355188
T:
claus
154598915460681547736
T:
ed521gs
180758118083461809279
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
132417132425132539
T:
kumfp127g
134377134386134537
T:
kumjacfp127g
163333163539164032
T:
jacfp128bk
189028189045189340curve25519
200611200982201491
T:
prjfp128bk
206083206376206647
T:
hecfp128bk
212389212568212945
T:
jacfp127i
213754214111214386
T:
hecfp128fkt
229654229677229970
T:
kumfp128g
262114262682263997
T:
ecfp256e
267376269975275530
T:
sclaus1024
267952270644275468
T:
gls1271
271950272201272419
T:
prjfp127i
271954272506272750
T:
ecfp256q
275389275729276777
T:
ecfp256i
282011282103282470
T:
hecfp127i
295153295692296004
T:
surf127eps
312537312699313065nistp256
329502329967330590
T:
ecfp256s
352752353295353996
T:
ecfp256h
452543452857452994
T:
kummer
454325454708454968
T:
hecfp128i
944392945400946178
T:
ed448goldilocks
108430710957691096584
T:
surf2113
127513012906741299601
T:
sclaus2048
134459913448461345019
T:
curve2251
154554915456411545787
T:
ed521gs
156959315703471579923
T:
claus
162933316593971706311
T:
hector
180732418079561808821
T:
nist521gs