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; Core 2 45nm (1067a); 2009 Intel Core 2 Duo E7600; 2 x 3060MHz; wolfdale, supercop-20261018

[Page version: 20261107 07:58:40]

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
434634418344934
T:
jacfp127i
454144609046770
T:
kumjacfp127g
500335090752486
T:
prjfp127i
512335209853646
T:
hecfp127i
708527093971022curve25519
742567488575761
T:
ecfp256e
759547657777285
T:
jacfp128bk
787797931380582
T:
ecfp256h
812578200083108
T:
ecfp256s
880758878490017
T:
ecfp256q
892689025291806
T:
hecfp128bk
895369050191754
T:
prjfp128bk
895469052192106
T:
hecfp128i
897709067892188
T:
hecfp128fkt
126966128466129700
T:
gls1271
129505129961131429
T:
curve2251
140313140435140547nistp256
181721181900182312
T:
kumfp127g
317136317425318219
T:
kumfp128g
321844324162325761
T:
sclaus1024
333020333422333904
T:
ed448goldilocks
373837376223378428
T:
ecfp256i
379833387090400790
T:
hector
398474400511400851
T:
kummer
421721424468428352
T:
surf127eps
753804756915759378
T:
surf2113
164565616525031655549
T:
sclaus2048
169998417009841702538
T:
ed521gs
195521919575831965343
T:
nist521gs
212975921320282134308
T:
claus
Cycles to compute a shared secret
25%50%75%system
183868183893184658
T:
kumfp127g
188143188975189080
T:
kumjacfp127g
244685244730244826
T:
jacfp128bk
263423263446263506curve25519
294712294796294889
T:
jacfp127i
302160302275302520
T:
prjfp128bk
312343312412312526
T:
hecfp128fkt
313467316740327143
T:
gls1271
317992318057318116
T:
hecfp128bk
327456327802328630
T:
kumfp128g
349867349894349950
T:
ecfp256e
363171363301363553
T:
ecfp256q
365388365521365696
T:
ecfp256i
383366383407383467
T:
prjfp127i
393571393640393759
T:
hecfp127i
404011404416413835
T:
kummer
423624425384427562
T:
surf127eps
433869434024434149
T:
ecfp256h
436062437218446323
T:
sclaus1024
450709450730450812
T:
ecfp256s
525305526942527531
T:
curve2251
528932528944528999nistp256
693600693660693975
T:
hecfp128i
751866753369754972
T:
surf2113
103610810362541036901
T:
ed448goldilocks
123097812416231264993
T:
hector
170547317062861707290
T:
ed521gs
195904519593621961167
T:
nist521gs
218236921976782198930
T:
sclaus2048
254837325562962571260
T:
claus