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; Bonnell (106ca); 2011 Intel Atom N435; 1 x 1330MHz; h4atom, 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
126726127111127546
T:
jacfp127i
130718131159131770
T:
kumjacfp127g
139848140278140753
T:
prjfp127i
144014144437144966
T:
hecfp127i
216110216657217321
T:
jacfp128bk
233540236485239752
T:
ecfp256e
243720244201244671
T:
hecfp128bk
244049244424244950
T:
hecfp128i
244487245291246761
T:
prjfp128bk
246442247485248651
T:
hecfp128fkt
247915248867253432
T:
curve2251
257048259198262137
T:
ecfp256s
260281260342260495
T:
curve25519
262926266808269726
T:
ecfp256q
425317425400426216nistp256
548946549065550093
T:
kumfp127g
785539805201829469
T:
hector
103656810370761037842
T:
kumfp128g
114114411458471150667
T:
surf127eps
115322411591041168851
T:
ecfp256i
130967613121811314996
T:
ed448goldilocks
135743713680781373542
T:
sclaus1024
142965814384131447074
T:
ecfp256h
163880416478661659215
T:
surf2113
170169917025921710900
T:
kummer
671190867413786757476
T:
sclaus2048
714417671508117160438
T:
ed521gs
853377085403858550925
T:
nist521gs
907112390825829096385
T:
claus
Cycles to compute a shared secret
25%50%75%system
556984557051557463
T:
kumfp127g
560339560432561173
T:
kumjacfp127g
725159725281726457
T:
jacfp128bk
862060862483864276
T:
prjfp128bk
887356888601891205
T:
hecfp128bk
921727923495925991
T:
hecfp128fkt
932496933761935393
T:
jacfp127i
101781110180611020223
T:
curve25519
102429410251911031667
T:
curve2251
106209810623711063092
T:
kumfp128g
108694810871251090769
T:
ecfp256e
110864611094451111575
T:
prjfp127i
113145011316601136546
T:
ecfp256q
114201711443131145818
T:
surf127eps
114391711443311146860
T:
hecfp127i
115903511592331164623
T:
ecfp256i
135977613601501364664
T:
ecfp256s
143334814337821438212
T:
ecfp256h
163753116393221642184
T:
surf2113
170129917015281702504
T:
kummer
170857517094001711598nistp256
176290517902151797987
T:
sclaus1024
195799619593531959917
T:
hecfp128i
268249226939952726308
T:
hector
445962044602014465528
T:
ed448goldilocks
714245971444647156659
T:
ed521gs
853267285423868555583
T:
nist521gs
858813986437568770231
T:
sclaus2048
107300131074346610753776
T:
claus