VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information: Introduction eBASH eBASC eBAEAD eBATS SUPERCOP XBX Computers
How to submit new software: Tips hash stream aead dh kem encrypt sign
List of primitives measured: lwc sha3 hash stream lwc caesar aead dh kem encrypt sign
Measurements indexed by machine: lwc sha3 hash stream lwc caesar aead dh kem encrypt sign
List of subroutines: verify decode encode sort core hashblocks scalarmult

Measurements of public-key Diffie–Hellman secret-sharing systems, indexed by machine

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a project to measure the performance of public-key systems. This page presents the 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.

Each computer name is linked to additional information about the implementations and compilers selected for benchmarking.

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.

Sizes across machines

Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32..32..64gls254
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

aarch64; Firestorm (610f0230); 2020 Apple M1; 4 x 3200MHz; unstable; minimac, supercop-20211108

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
103596?106662?191459?
T:
kummer
106662?107063?196792?
T:
curve25519
159594?159860?261590?
T:
nistp256
489848?492114?801969?
T:
ed521gs
667441?668907?980761?
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
103063?103996?168927?
T:
kummer
106662?107062?174526?
T:
curve25519
424383?424783?622109?
T:
nistp256
489847?490248?656374?
T:
ed521gs
666774667574780236
T:
nist521gs

amd64; Zen3 (a20f10); 2020 AMD Ryzen 9 5950X; 16 x 3400MHz; zen3, supercop-20220213

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
335503433637499
T:
curve2251
363653651337501
T:
gls254
379363793737952
T:
gls254prot
467334679546877
T:
k277taa
490954914549182
T:
kummer
538025436254972
T:
gls1271
622176235462808
T:
k298
730897320373278
T:
k277mon
102285102373102495
T:
curve25519
140529141187141634
T:
surf127eps
159195159496159723
T:
ed448goldilocks
207217208665210377
T:
sclaus1024
222820223237223320
T:
nistp256
367798369470370460
T:
surf2113
716599719778729310
T:
ed521gs
880981882015884294
T:
nist521gs
101912710197971023602
T:
claus
101372810214011029771
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
352643534135442
T:
gls254
378543788537886
T:
gls254prot
466344671746804
T:
k277taa
491034913949166
T:
kummer
620926218162313
T:
k298
730317308673130
T:
k277mon
110825110904110991
T:
curve25519
129784130071131187
T:
curve2251
129270130535131907
T:
gls1271
137060138423138483
T:
surf127eps
208043208798210458
T:
sclaus1024
364367365479366016
T:
surf2113
525993526466527032
T:
ed448goldilocks
600802602448603146
T:
nistp256
716085717688727485
T:
ed521gs
883003884791887358
T:
nist521gs
101633910172241018546
T:
claus
100114110280561029316
T:
sclaus2048

amd64; TigerLake (806c1); 2020 Intel Core i7-1165G7; 4 x 2800MHz; unstable; pascalinspiron75062n1, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
347133542435982
T:
gls254
44020?44122?62494?
T:
k277taa
40251?48857?52389?
T:
curve2251
40731?55280?55846?
T:
gls254prot
48486?59179?66204?
T:
kummer
66531?66652?90521?
T:
k277mon
680586850370155
T:
k298
85612?143849?148600?
T:
gls1271
121691?167095?168975?
T:
curve25519
201555?202390?349382?
T:
ed448goldilocks
413114?682870?684613?
T:
nistp256
817128?820394?1420902?
T:
ed521gs
105745610808211081832
T:
claus
966532?1605510?1671940?
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
339323400934088
T:
gls254
43953?44086?62441?
T:
k277taa
40617?55032?55657?
T:
gls254prot
48345?58817?66103?
T:
kummer
66462?66666?90539?
T:
k277mon
675166800869718
T:
k298
142970?165794?180848?
T:
curve2251
130971?181117?181710?
T:
curve25519
193504?325432?352758?
T:
gls1271
618730?621789?1130834?
T:
ed448goldilocks
824258?827097?1419341?
T:
ed521gs
105033610520751074540
T:
claus
909142?1420240?1423559?
T:
nistp256
975478?1596616?1671468?
T:
nist521gs

amd64; IceLake (706e5); 2020 Intel Core i5-1030NG7; 4 x 1100MHz; icelake, supercop-20200826

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
335223373134144
T:
gls254
356103568835857
T:
gls254prot
426744279043079
T:
k277taa
491334928449590
T:
kummer
489644940649890
T:
k298
641556422664474
T:
k277mon
139430139922140420
T:
ed448goldilocks
146164146617147668
T:
curve25519
177831179075180402
T:
surf127eps
216697219367222743
T:
sclaus1024
236243238668241547
T:
nistp256
415881418845426337
T:
surf2113
600080607273614920
T:
curve2251
803594809836813477
T:
ed521gs
989223994163999637
T:
nist521gs
111841011280461156630
T:
sclaus2048
130278413092631319571
T:
claus
Cycles to compute a shared secret
25%50%75%system
328033300733439
T:
gls254
355093560435832
T:
gls254prot
425604276943190
T:
k277taa
490704924449472
T:
kummer
488874931049909
T:
k298
640946424364566
T:
k277mon
146537147229148198
T:
curve25519
171622173237174793
T:
surf127eps
217221219534222323
T:
sclaus1024
412044414424419682
T:
surf2113
465488467029469786
T:
ed448goldilocks
592171597431608049
T:
curve2251
595051598639602985
T:
nistp256
802592807016811640
T:
ed521gs
99684410020681067900
T:
nist521gs
111448911254031153790
T:
sclaus2048
130280913077681315341
T:
claus

aarch64; A72 (410fd083); 2019 Broadcom BCM2711; 4 x 1500MHz; pi4b, supercop-20220506

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
248148249139249173
T:
kummer
349461349696350531
T:
curve25519
369172373685373896
T:
nistp256
422551424503426517
T:
surf127eps
597032603021610129
T:
sclaus1024
194760419533961987683
T:
ed521gs
240078124064472426148
T:
nist521gs
300380430189153043558
T:
sclaus2048
360371636176923633916
T:
claus
Cycles to compute a shared secret
25%50%75%system
248098248294248622
T:
kummer
349351350485351136
T:
curve25519
406145407608411163
T:
surf127eps
571389597937603751
T:
sclaus1024
130606913062371306937
T:
nistp256
194450519468921961978
T:
ed521gs
240177824020922411736
T:
nist521gs
302617930471053057524
T:
sclaus2048
360773636143713639519
T:
claus

ppc64; POWER9 (004e1203); 2019? IBM 02CY642; 22 x 3800MHz; power9, supercop-20210326

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
153845153989154567
T:
curve25519
219096221593236369
T:
sclaus1024
233761234189239890
T:
kummer
324530324909325258
T:
nistp256
380449381816383291
T:
surf127eps
939493947857967568
T:
sclaus2048
9904179916681005008
T:
ed521gs
126058312613791293254
T:
nist521gs
130086013505271401659
T:
claus
Cycles to compute a shared secret
25%50%75%system
153687153861157772
T:
curve25519
224841226275237648
T:
sclaus1024
233518235179243935
T:
kummer
368934370377372535
T:
surf127eps
876979877598878065
T:
nistp256
949847953575968856
T:
sclaus2048
9891939899021006598
T:
ed521gs
126008212606941262851
T:
nist521gs
130106213510441401612
T:
claus

amd64; Zen2 (830f10); 2019 AMD EPYC 7742; 64 x 2250MHz; unstable; colossus6, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
20205?23107?26212?
T:
hecfp127i
245252704530307
T:
jacfp128bk
22860?28553?31410?
T:
jacfp127i
279452974533840
T:
curve2251
274052992532895
T:
ecfp256e
300823037530735
T:
gls254
303973042030442
T:
gls254prot
276303055532895
T:
kumjacfp127g
24615?30713?34020?
T:
prjfp127i
30127?31342?39713?
T:
hecfp128fkt
292733152334493
T:
hecfp128bk
31275?33907?39262?
T:
ecfp256s
30915?35123?42075?
T:
ecfp256h
327603629239758
T:
hecfp128i
369683701237057
T:
k277taa
31433?37372?40410?
T:
prjfp128bk
34650?39105?45608?
T:
ecfp256q
388803917239195
T:
kummer
428634358344370
T:
gls1271
439424452846395
T:
k298
576905769057758
T:
kumfp127g
588605886059310
T:
k277mon
757137575875870
T:
kumfp128g
937809429794635
T:
curve25519
100058100620101542
T:
surf127eps
109597109958113400
T:
ed448goldilocks
109597110385111330
T:
ecfp256i
114255116370123750
T:
sclaus1024
148297153675161032
T:
hector
164115165510170685
T:
nistp256
367988369720372420
T:
surf2113
550237551745556538
T:
ed521gs
585697590580596588
T:
sclaus2048
652050652522658372
T:
nist521gs
678690682830689355
T:
claus
Cycles to compute a shared secret
25%50%75%system
287102875528868
T:
gls254
303303033030330
T:
gls254prot
366533692337215
T:
k277taa
389023915039172
T:
kummer
437854380743830
T:
k298
586575865859107
T:
kumfp127g
587705881559625
T:
jacfp128bk
588155881559265
T:
k277mon
591535928859940
T:
kumjacfp127g
695706961570178
T:
prjfp128bk
711677134871730
T:
hecfp128bk
736437373373935
T:
hecfp128fkt
796727967380167
T:
kumfp128g
900009031591013
T:
jacfp127i
937809434294590
T:
curve25519
971109731297920
T:
surf127eps
101160101183101812
T:
ecfp256e
104310105300108112
T:
gls1271
106493106830107325
T:
ecfp256i
107775107933108720
T:
curve2251
110677110767111555
T:
ecfp256q
110723110835112095
T:
prjfp127i
112995113062113490
T:
hecfp127i
115808116303117382
T:
sclaus1024
124605124740125662
T:
ecfp256h
147622147735148725
T:
ecfp256s
156398156555156623
T:
hecfp128i
336465337275339795
T:
ed448goldilocks
369292369788372442
T:
surf2113
402075402817405608
T:
nistp256
512842515498525915
T:
hector
548887549562551115
T:
ed521gs
583065586597590220
T:
sclaus2048
647505648517649778
T:
nist521gs
677453679455685845
T:
claus

amd64; Zen2 (830f10); 2019 AMD EPYC 7742; 64 x 2250MHz; unstable; colossus7, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
256952646027630
T:
jacfp127i
254922675228305
T:
prjfp127i
294303035233142
T:
curve2251
296103141033030
T:
jacfp128bk
299703172532625
T:
hecfp127i
319723228832422
T:
gls254
324233305333120
T:
gls254prot
326253348035843
T:
hecfp128i
328953438036518
T:
prjfp128bk
381153912840702
T:
hecfp128bk
392183957740163
T:
k277taa
390604029741377
T:
hecfp128fkt
445734542846328
T:
kummer
470024763248330
T:
k298
610656255063158
T:
k277mon
580956761272022
T:
gls1271
9283595895106673
T:
kumfp128g
109283117697130838
T:
curve25519
126540134618154553
T:
ed448goldilocks
192578203738224820
T:
nistp256
594360606397680602
T:
ed521gs
708638719528745133
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
304203075730803
T:
gls254
319053262532647
T:
gls254prot
386103874539150
T:
k277taa
438974396544325
T:
kummer
461024637346553
T:
k298
615156300063090
T:
k277mon
837008457890068
T:
kumfp128g
859738696394500
T:
jacfp128bk
98145102015116797
T:
hecfp128bk
101273102038102420
T:
curve25519
98325108068112207
T:
prjfp128bk
105705110677118170
T:
hecfp128fkt
113985115042115065
T:
curve2251
112500117653124200
T:
gls1271
118080125663131355
T:
jacfp127i
135113143505162900
T:
hecfp127i
176332182205193028
T:
prjfp127i
178830184050193612
T:
hecfp128i
362632365220372420
T:
ed448goldilocks
438840441315444060
T:
nistp256
581535595035604237
T:
ed521gs
701910711248719055
T:
nist521gs

amd64; Zen (810f81); 2019 AMD Ryzen Embedded R1606G; 2 x 2600MHz; unstable; ghf51, supercop-20200702

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
551985738264194curve2251
622186487069030ecfp256s
60632?66118?81640?ecfp256h
62764?67340?85644?ecfp256e
648707267074828gls254prot
680687324275790gls254
844488707499268k277taa
9633097578112996k298
73034?98332?103012?ecfp256q
135668136552168402k277mon
118820?156208?161486?gls1271
165672166062166478kummer
221286223366275522curve25519
262730263666264654surf127eps
270348274326283764sclaus1024
283322285506289744ecfp256i
346164?417794?467220?hector
368732?444548?519636?ed448goldilocks
560534664456676182nistp256
772928?909246?1042834?surf2113
158904215938521617720ed521gs
1587716?1595906?2398032?claus
169834617518801883336nist521gs
1538082?2000830?2065440?sclaus2048
Cycles to compute a shared secret
25%50%75%system
652606936873658gls254
627647251474438gls254prot
861908645098748k277taa
9599296356112970k298
135564135668168168k277mon
165464165646165880kummer
197990198276227760curve2251
237770238056297128curve25519
255996256568257452surf127eps
264394?266474?385788?ecfp256e
269464?273130?390780?sclaus1024
280566281164283790ecfp256i
307424?308282?442936?ecfp256h
322348323102333762ecfp256s
261222?379886?386984?ecfp256q
292604?390104?396344?gls1271
767520?891488?1048424?surf2113
1147588?1338168?1571414?hector
917800?1339182?1358734?ed448goldilocks
135361215278121551212nistp256
153738015897701591850ed521gs
1587872?1590524?2397434?claus
169741017052881974752nist521gs
1382004?2020798?2054494?sclaus2048

amd64; CometLake (806ec); 2019 Intel Core i3-10110U; 2 x 2100MHz; comet, supercop-20220213

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
209612145422270
T:
kumjacfp127g
215722257623315
T:
jacfp127i
252612605326949
T:
prjfp127i
259962685427832
T:
hecfp127i
302673132832259
T:
jacfp128bk
358083645437276
T:
prjfp128bk
372013747137858
T:
gls254
369643792939196
T:
hecfp128i
375483824439122
T:
hecfp128fkt
377443841039173
T:
hecfp128bk
382693883639693
T:
curve2251
390613909839147
T:
gls254prot
451394565646463
T:
ecfp256e
458864629346331
T:
k277taa
460234689848889
T:
ecfp256h
493174982550475
T:
ecfp256s
513875194152956
T:
ecfp256q
533405340353487
T:
kummer
540865419554408
T:
k298
699217076271611
T:
gls1271
703657172172298
T:
k277mon
792267939580104
T:
kumfp127g
112736112804112916
T:
kumfp128g
126478126705126951
T:
curve25519
153511153752153969
T:
ed448goldilocks
177698179528181105
T:
sclaus1024
184190187033187854
T:
surf127eps
192971196204203161
T:
ecfp256i
235513236319237024
T:
nistp256
257327264420276371
T:
hector
504448506315507508
T:
surf2113
816517817163818623
T:
ed521gs
912497922458965766
T:
sclaus2048
978281979937982372
T:
nist521gs
981241983435988884
T:
claus
Cycles to compute a shared secret
25%50%75%system
361393619836292
T:
gls254
388663890538970
T:
gls254prot
456864607046105
T:
k277taa
532145328653350
T:
kummer
533315342253526
T:
k298
716157172072960
T:
k277mon
816498219882607
T:
kumfp127g
829418381983961
T:
kumjacfp127g
891298919989325
T:
jacfp128bk
108668109210110174
T:
prjfp128bk
114237114522114879
T:
hecfp128bk
117916118031118231
T:
hecfp128fkt
118063118162118348
T:
kumfp128g
124483125615125928
T:
jacfp127i
136171136590137443
T:
curve25519
143766144005144139
T:
curve2251
166194166810167329
T:
prjfp127i
167692168961169421
T:
hecfp127i
172057174412176158
T:
gls1271
175382179286179682
T:
sclaus1024
179396179749180622
T:
ecfp256e
179904182356183419
T:
surf127eps
188871189145189754
T:
ecfp256i
189274189591190288
T:
ecfp256q
222509222824223451
T:
ecfp256h
241566242083242672
T:
ecfp256s
254453255188255860
T:
hecfp128i
458517458832459161
T:
ed448goldilocks
504878505329505736
T:
surf2113
584151585057587562
T:
nistp256
817024822628837240
T:
ed521gs
873090878162884112
T:
hector
930086953186968792
T:
sclaus2048
975599978328981745
T:
claus
978963980355982574
T:
nist521gs

amd64; CascadeLake (50657); 2019 Intel Xeon Gold 6230; 40 x 2100MHz; unstable; cel02, supercop-20201130

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
327063323434614
T:
kumjacfp127g
346263621037558
T:
jacfp127i
415904319445956
T:
prjfp127i
442464609648166
T:
hecfp127i
506945202854010
T:
jacfp128bk
523685305058760
T:
curve2251
563445762458716
T:
prjfp128bk
561025784459168
T:
hecfp128bk
565505785059190
T:
hecfp128fkt
579085913460432
T:
hecfp128i
613526220465598
T:
gls254
631606332667712
T:
gls254prot
672546902670854
T:
ecfp256e
672587009874296
T:
ecfp256s
677487113673004
T:
ecfp256h
744847458074672
T:
k277taa
731867507881258
T:
ecfp256q
766508098683830
T:
k298
812928603487222
T:
kummer
906169596296848
T:
k277mon
131428132014138058
T:
kumfp127g
180704187438190238
T:
curve25519
207584207848222432
T:
kumfp128g
291054293440293864
T:
ed448goldilocks
289238299022307752
T:
ecfp256i
311962315190320638
T:
surf127eps
336350341930345948
T:
sclaus1024
539896549466557090
T:
nistp256
94868010041521009544
T:
surf2113
161302216362481654726
T:
sclaus2048
176342818021162137402
T:
nist521gs
180513618754282031300
T:
claus
269201428879802900652
T:
ed521gs
Cycles to compute a shared secret
25%50%75%system
591385997663690
T:
gls254
630466320667656
T:
gls254prot
743427444474512
T:
k277taa
760828103283466
T:
k298
811488590687150
T:
kummer
906869568496706
T:
k277mon
133636134070140032
T:
kumfp127g
137676138248140764
T:
kumjacfp127g
138810148094156238
T:
jacfp128bk
167780172656179216
T:
hecfp128bk
170598178212180194
T:
prjfp128bk
180762189168191758
T:
hecfp128fkt
184830192414192694
T:
curve2251
190144200382200944
T:
curve25519
199346204780209558
T:
jacfp127i
213424213694227676
T:
kumfp128g
252548257326262096
T:
hecfp127i
266828286710287234
T:
prjfp127i
277024292936298704
T:
ecfp256q
294152295808303758
T:
ecfp256i
277480298268301952
T:
ecfp256e
304446306020311120
T:
surf127eps
326546333844354906
T:
ecfp256h
323260346148349038
T:
sclaus1024
339934352680376502
T:
ecfp256s
402470416534417002
T:
hecfp128i
794500795626796456
T:
ed448goldilocks
9934149959381007624
T:
surf2113
109948811510121186786
T:
nistp256
150783616228941693056
T:
sclaus2048
179474818215182022596
T:
claus
178881620135842136836
T:
nist521gs
264703428695722897724
T:
ed521gs

amd64; CascadeLake (50657); 2019 Intel Core i9-10980XE; 18 x 3000MHz; avx512imath, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
229422392025532
T:
jacfp127i
245212550826466
T:
kumjacfp127g
305373239134632
T:
prjfp127i
314883316635239
T:
hecfp127i
333093436635420
T:
jacfp128bk
351123571237647
T:
prjfp128bk
384593876341612
T:
curve2251
386963911939493
T:
gls254
403784041040446
T:
gls254prot
412774317346538
T:
hecfp128bk
418804346046879
T:
hecfp128fkt
431624430247228
T:
ecfp256e
432054492246417
T:
hecfp128i
456164685750701
T:
ecfp256h
470404803951942
T:
ecfp256s
485334857848625
T:
kummer
500115004250100
T:
k277taa
508365136852401
T:
ecfp256q
699767107772303
T:
gls1271
741817440174479
T:
k277mon
799928010280227
T:
kumfp127g
113033113138113281
T:
kumfp128g
126053127104127295
T:
curve25519
180867181318181751
T:
ed448goldilocks
192604193530195076
T:
ecfp256i
230062232318234278
T:
sclaus1024
274593274830286603
T:
nistp256
815460816320817222
T:
ed521gs
945603946034946657
T:
nist521gs
976164976586977059
T:
claus
114950411587401167421
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
375423756637600
T:
gls254
402774030340335
T:
gls254prot
484514849548544
T:
kummer
499464998150031
T:
k277taa
741047434374414
T:
k277mon
822938238882513
T:
kumfp127g
836708375683833
T:
kumjacfp127g
892418932189393
T:
jacfp128bk
109675109801109973
T:
prjfp128bk
117523117687117840
T:
hecfp128bk
118274118346118798
T:
kumfp128g
120759120853120965
T:
hecfp128fkt
125607125699125818
T:
jacfp127i
136236136787137606
T:
curve25519
142402144055144380
T:
curve2251
166911167038167186
T:
prjfp127i
170436170638174190
T:
hecfp127i
171219173467179102
T:
gls1271
177659177835178025
T:
ecfp256e
187333187569187788
T:
ecfp256q
188174188325188525
T:
ecfp256i
221385221564221721
T:
ecfp256h
241705241876242093
T:
ecfp256s
244691246341249729
T:
sclaus1024
258262258759259196
T:
hecfp128i
509021509336509626
T:
ed448goldilocks
686877687235687513
T:
nistp256
815272815800816798
T:
ed521gs
945263945700946329
T:
nist521gs
970505970866971374
T:
claus
117549811861441192945
T:
sclaus2048

aarch64; Skylark (503f0002); 2018 Ampere eMAG 8180; 32 x 3300MHz; gcc185, supercop-20211108

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
278025278685280005
T:
curve25519
355245355245355410
T:
kummer
379170380985384780
T:
surf127eps
461010465630471405
T:
sclaus1024
495495495660496320
T:
nistp256
171138017127001717980
T:
ed521gs
208906520892302091045
T:
nist521gs
222733522534052293830
T:
sclaus2048
272596527327302738670
T:
claus
Cycles to compute a shared secret
25%50%75%system
278025278850280005
T:
curve25519
355245355245355245
T:
kummer
377025378675381480
T:
surf127eps
459855466620476850
T:
sclaus1024
110830511091301109625
T:
nistp256
171154517123701713360
T:
ed521gs
208873520895602090385
T:
nist521gs
226033522657802294160
T:
sclaus2048
272349027276152729925
T:
claus

aarch64; A53 (410fd034); 2018 Broadcom BCM2837B0; 4 x 1400MHz; pi3aplus, supercop-20220506

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
422142427201428401
T:
kummer
469637475131475311
T:
curve25519
473251478043478658
T:
nistp256
609447612861615570
T:
surf127eps
99704510056281019043
T:
sclaus1024
310082831455203160808
T:
ed521gs
360135636491573658747
T:
nist521gs
490959249482554997230
T:
sclaus2048
555312255655325582570
T:
claus
Cycles to compute a shared secret
25%50%75%system
421426426641427379
T:
kummer
475903481449481615
T:
curve25519
606059607071611862
T:
surf127eps
101008410152291020164
T:
sclaus1024
160027316050001613138
T:
nistp256
309919031452383159950
T:
ed521gs
358268135949263602171
T:
nist521gs
490062849466185013522
T:
sclaus2048
548157454983925516280
T:
claus

aarch64; A53 (410fd034); 2018 Broadcom BCM2837B0; 4 x 1400MHz; pi3bplus, supercop-20210604

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
421690422033422861
T:
kummer
472614474796505959
T:
nistp256
504641509274527868
T:
curve25519
635917638790645312
T:
surf127eps
103423710442371052519
T:
sclaus1024
310181831263303339774
T:
ed521gs
362144838361803908128
T:
nist521gs
510296151469535173387
T:
sclaus2048
536047754497005471666
T:
claus
Cycles to compute a shared secret
25%50%75%system
421577421869422302
T:
kummer
503856504454528443
T:
curve25519
631638635860640814
T:
surf127eps
103848710621961069787
T:
sclaus1024
159644416047791697174
T:
nistp256
309906231214883341374
T:
ed521gs
361568837558073883894
T:
nist521gs
509899251258455154634
T:
sclaus2048
533473354128565429611
T:
claus

amd64; Zen (810f10); 2018 AMD Ryzen 5 2400G; 4 x 3600MHz; unstable; gcc67, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
261002888730179
T:
jacfp127i
277982914831092
T:
prjfp127i
281762945030679
T:
kumjacfp127g
310423327134776
T:
hecfp127i
354173820439641
T:
jacfp128bk
388163929039867
T:
prjfp128bk
386363962641575
T:
ecfp256e
392294083742683
T:
hecfp128bk
401744087841505
T:
hecfp128fkt
412754167443237
T:
curve2251
411204324144824
T:
hecfp128i
418354362246974
T:
ecfp256h
447954512845436
T:
gls254
435294545248952
T:
ecfp256s
459714603146102
T:
gls254prot
459244677149560
T:
ecfp256q
567905683657064
T:
k277taa
662496675567447
T:
gls1271
741967433974542
T:
k298
902499028791185
T:
k277mon
930889511995502
T:
kummer
101568101636101729
T:
kumfp127g
133240133311133411
T:
kumfp128g
143961144006144021
T:
curve25519
183938184827186105
T:
ecfp256i
189608190564193164
T:
surf127eps
201021203066204964
T:
sclaus1024
210045210207210545
T:
ed448goldilocks
369991370321370625
T:
nistp256
513214515401524601
T:
surf2113
971495972254973966
T:
ed521gs
99631710047791015192
T:
sclaus2048
119169011948961198080
T:
claus
119707211986801200438
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
438434388843905
T:
gls254
459124597346030
T:
gls254prot
566065670856743
T:
k277taa
741227423374354
T:
k298
875829018190219
T:
k277mon
930499510695464
T:
kummer
104235104338104366
T:
kumfp127g
104572104619104740
T:
jacfp128bk
106352106428106486
T:
kumjacfp127g
126596126715126881
T:
prjfp128bk
129908130080130174
T:
hecfp128bk
134371134529134739
T:
hecfp128fkt
139257139309140127
T:
kumfp128g
156686156933158458
T:
curve25519
160599161303169512
T:
gls1271
162311162476163170
T:
jacfp127i
162533163305163972
T:
curve2251
174075174244174585
T:
ecfp256e
182367182586183086
T:
ecfp256i
183685183800183967
T:
ecfp256q
183883184106188444
T:
surf127eps
203613203710204185
T:
prjfp127i
195600204265206569
T:
sclaus1024
207468207758208062
T:
hecfp127i
215646215720215883
T:
ecfp256h
235825236173236390
T:
ecfp256s
285708285886286139
T:
hecfp128i
507678514240515933
T:
surf2113
641513643332645617
T:
ed448goldilocks
676527677324677905
T:
nistp256
969593970968972690
T:
ed521gs
990477996065998992
T:
sclaus2048
119632811971321199707
T:
nist521gs
119378911978721199786
T:
claus

amd64; CoffeeLake (906ea); 2018 Intel Xeon E-2124; 4 x 3300MHz; r24000, supercop-20211108

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
216612271123683
T:
jacfp127i
224932317924734
T:
kumjacfp127g
252252600827501
T:
prjfp127i
257672689928107
T:
hecfp127i
301303134132445
T:
jacfp128bk
356913670237765
T:
prjfp128bk
367793699937458
T:
gls254
374853842339577
T:
hecfp128bk
376253858339492
T:
hecfp128fkt
384813873039277
T:
curve2251
378403876139696
T:
hecfp128i
388423888638941
T:
gls254prot
426134329444479
T:
ecfp256e
450684562847622
T:
ecfp256h
458714592446013
T:
k277taa
464314709948527
T:
ecfp256s
482104905850823
T:
ecfp256q
521145233652435
T:
k298
529995346954166
T:
kummer
688716974270607
T:
gls1271
713057134171381
T:
k277mon
790297917579301
T:
kumfp127g
110414110463110525
T:
kumfp128g
125164125303125539
T:
curve25519
153365153650153924
T:
ed448goldilocks
175276177093178576
T:
sclaus1024
182804183483183936
T:
surf127eps
190141190965192103
T:
ecfp256i
245414245637245857
T:
nistp256
505054507069508382
T:
surf2113
807735808041808412
T:
ed521gs
886258892693899201
T:
sclaus2048
935142935388935732
T:
nist521gs
968823969306969730
T:
claus
Cycles to compute a shared secret
25%50%75%system
357623579235829
T:
gls254
385683861438652
T:
gls254prot
456364567145779
T:
k277taa
518335190851977
T:
k298
529165316653422
T:
kummer
712187125171288
T:
k277mon
813348144881568
T:
kumfp127g
828258291383004
T:
kumjacfp127g
875118758287656
T:
jacfp128bk
108166108289108432
T:
prjfp128bk
112033112208112347
T:
hecfp128bk
115562115609115658
T:
kumfp128g
116042116239116428
T:
hecfp128fkt
124253124340124500
T:
jacfp127i
135014135390135608
T:
curve25519
144596144704144868
T:
curve2251
165179165324165553
T:
prjfp127i
167127167242167386
T:
hecfp127i
175293175416175559
T:
ecfp256e
173439177271177717
T:
gls1271
174619178909182563
T:
sclaus1024
179295179646179986
T:
surf127eps
185319185469185640
T:
ecfp256q
185598185734185867
T:
ecfp256i
217913218109218299
T:
ecfp256h
239745239931240098
T:
ecfp256s
247956248140248319
T:
hecfp128i
454987455224455421
T:
ed448goldilocks
488007498433506233
T:
surf2113
599149599319599533
T:
nistp256
807181807458807712
T:
ed521gs
895100901153901871
T:
sclaus2048
934831935010935215
T:
nist521gs
963006963550964877
T:
claus

riscv64; U54 (sifive,u54-mc); 2017 SiFive Freedom U540; 4 x 1000MHz; riscvunleashed000, supercop-20210326

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
117629111766241191114
T:
kummer
133277713338311350970
T:
curve25519
179294817977831817687
T:
nistp256
603531260510766062589
T:
ed521gs
718544371867137198473
T:
nist521gs
137428301375498313762774
T:
claus
Cycles to compute a shared secret
25%50%75%system
117601711761571189878
T:
kummer
133149613323601349154
T:
curve25519
349426834948933495869
T:
nistp256
603378160484896050121
T:
ed521gs
718365071849387186026
T:
nist521gs
136750661368760213699928
T:
claus

amd64; Zen (800f12); 2017 AMD EPYC 7501; 32 x 2000MHz; unstable; colossus5, supercop-20210125

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
275002806028680
T:
kumjacfp127g
27980?30540?36080?
T:
jacfp127i
299203094031840
T:
prjfp127i
365203872041680
T:
hecfp127i
414404260045240
T:
ecfp256e
424204454047160
T:
hecfp128fkt
436604488046180
T:
hecfp128i
429804506049220
T:
prjfp128bk
439804572050540
T:
hecfp128bk
444004594047600
T:
jacfp128bk
451404630050160
T:
curve2251
462604938057780
T:
ecfp256s
45940?50680?59540?
T:
ecfp256h
482405164059280
T:
ecfp256q
516405194052500
T:
gls254
530805320054420
T:
gls254prot
648006482065360
T:
k277taa
649006560066500
T:
gls1271
763607654077280
T:
k298
934809384093940
T:
k277mon
101720101960102080
T:
kummer
101980102060102140
T:
kumfp127g
133380133440133520
T:
kumfp128g
144340144440150280
T:
curve25519
185480186320187800
T:
ecfp256i
236760237420239040
T:
ed448goldilocks
266280268740271400
T:
sclaus1024
337600338140346520
T:
nistp256
102544010282001040120
T:
ed521gs
119356011966401206080
T:
nist521gs
133982013435401349060
T:
claus
134692013593801369280
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
496604968049860
T:
gls254
530805320054240
T:
gls254prot
647206480065180
T:
k277taa
762607632076440
T:
k298
931409342093620
T:
k277mon
101680101820102020
T:
kummer
104480104500104540
T:
kumfp127g
104920105000105220
T:
jacfp128bk
106340106380106480
T:
kumjacfp127g
126760126820126920
T:
prjfp128bk
130100130340130840
T:
hecfp128bk
135280135360135460
T:
hecfp128fkt
139280139300139360
T:
kumfp128g
156840157400158900
T:
curve25519
162580162720162880
T:
jacfp127i
162320163500164540
T:
curve2251
165780167580170840
T:
gls1271
173760173920174100
T:
ecfp256e
183020183120183360
T:
ecfp256i
183760184040184560
T:
ecfp256q
203900204020204440
T:
prjfp127i
207240207320207400
T:
hecfp127i
216180216320216420
T:
ecfp256h
235780235960236260
T:
ecfp256s
279440280420281360
T:
sclaus1024
285800286040286440
T:
hecfp128i
687360688840688980
T:
ed448goldilocks
865500865780866200
T:
nistp256
102478010257001041580
T:
ed521gs
119262011952401213300
T:
nist521gs
133416013355401340600
T:
claus
137136013774401387380
T:
sclaus2048

amd64; Zen (800f12); 2017 AMD EPYC 7451; 48 x 2300MHz; unstable; firefly, supercop-20201130

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
347073659339698
T:
jacfp127i
350523675438939
T:
prjfp127i
367313893942320
T:
hecfp127i
384104126243125
T:
kumjacfp127g
421364466647771
T:
jacfp128bk
454714639151980
T:
curve2251
480475147454487
T:
prjfp128bk
491745253256741
T:
hecfp128bk
489905299256327
T:
hecfp128fkt
551775697159708
T:
hecfp128i
565345722457960
T:
gls254prot
569255768458420
T:
ecfp256h
591565982362054
T:
gls254
593406113464078
T:
ecfp256q
688856895469046
T:
k277taa
694836994371461
T:
ecfp256e
751417553276015
T:
ecfp256s
891028965490068
T:
k298
107617107663113620
T:
kummer
114862128616134435
T:
kumfp127g
128087129720136206
T:
k277mon
150535155066158447
T:
curve25519
163783164105183724
T:
kumfp128g
236693239384259969
T:
ecfp256i
255001258957271216
T:
sclaus1024
263718266294291134
T:
surf127eps
270158279473301162
T:
ed448goldilocks
431296432722470166
T:
nistp256
664999813625820594
T:
surf2113
113229011454691158694
T:
sclaus2048
150426915326511606343
T:
claus
148720315852291636013
T:
ed521gs
190720619349901982899
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
563965713257500
T:
gls254prot
590875973162491
T:
gls254
687936886268931
T:
k277taa
879298912589861
T:
k298
108307108537113551
T:
kummer
114977123579124200
T:
jacfp128bk
127926129559135884
T:
k277mon
116610130364136206
T:
kumfp127g
120106?138943?152927?
T:
kumjacfp127g
146671147706164611
T:
hecfp128fkt
138276147729149109
T:
prjfp128bk
141404152720153433
T:
hecfp128bk
160563163875164611
T:
curve2251
168452168728188485
T:
kumfp128g
166359169487171304
T:
curve25519
192211203021203550
T:
jacfp127i
216867221996236463
T:
ecfp256q
230368230920237245
T:
ecfp256e
233404234071257485
T:
ecfp256i
236279236647236992
T:
prjfp127i
238832240833254058
T:
hecfp127i
257278262338282440
T:
surf127eps
251114262729277127
T:
sclaus1024
267099272113274252
T:
ecfp256h
296631298333298954
T:
ecfp256s
341251355051355373
T:
hecfp128i
657478?820203?822802?
T:
surf2113
857118875817972739
T:
ed448goldilocks
113631511460901162903
T:
sclaus2048
142468915233591605699
T:
claus
143294615565021597189
T:
nistp256
148699615784901648525
T:
ed521gs
190762019380491997665
T:
nist521gs

amd64; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 x 3000MHz; rumba7, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
285222944830465
T:
jacfp127i
292353001830923
T:
kumjacfp127g
325003364135048
T:
prjfp127i
328733382635155
T:
hecfp127i
378693883839785
T:
jacfp128bk
399584090743432
T:
curve2251
400974116443930
T:
ecfp256e
409654235244282
T:
hecfp128i
435624367443903
T:
gls254
429134397344931
T:
prjfp128bk
432724439145405
T:
hecfp128fkt
438524457245593
T:
hecfp128bk
447914481344879
T:
gls254prot
437004595051371
T:
ecfp256h
446644673751654
T:
ecfp256s
471124923053959
T:
ecfp256q
556805590455975
T:
k277taa
669716717467423
T:
k298
672436796668535
T:
gls1271
870758722387260
T:
k277mon
951199521195691
T:
kummer
101898101961102028
T:
kumfp127g
133273133326133386
T:
kumfp128g
144498144528149366
T:
curve25519
184708185586186939
T:
ecfp256i
186957187598187931
T:
surf127eps
199453199615199901
T:
ed448goldilocks
201458203043204976
T:
sclaus1024
272760272901273454
T:
nistp256
530694533435534721
T:
surf2113
896534897672899498
T:
ed521gs
9887449973261006009
T:
sclaus2048
109480110960971140749
T:
nist521gs
119165211953751198766
T:
claus
Cycles to compute a shared secret
25%50%75%system
424354244742464
T:
gls254
447454477344820
T:
gls254prot
557405582955899
T:
k277taa
670066709867182
T:
k298
871598719987221
T:
k277mon
950669511095659
T:
kummer
103827103928104014
T:
jacfp128bk
104383104447104566
T:
kumfp127g
106275106395106493
T:
kumjacfp127g
126640126716126887
T:
prjfp128bk
129849129963130091
T:
hecfp128bk
134558134718134839
T:
hecfp128fkt
139129139171139210
T:
kumfp128g
157200158972172551
T:
curve25519
159523160098160800
T:
curve2251
162475162546162826
T:
jacfp127i
163447163711167613
T:
gls1271
173433173525173602
T:
ecfp256e
181951182171182296
T:
ecfp256i
183317183597183685
T:
ecfp256q
183372183765184261
T:
surf127eps
197493203312204718
T:
sclaus1024
203515203813204255
T:
prjfp127i
207447207622209398
T:
hecfp127i
216350216397216500
T:
ecfp256h
235470235809236609
T:
ecfp256s
285827286103287064
T:
hecfp128i
527494532035532498
T:
surf2113
586294586995589535
T:
ed448goldilocks
663841664045664435
T:
nistp256
895604897628899323
T:
ed521gs
9854519898031004919
T:
sclaus2048
109554710967421143434
T:
nist521gs
118563011945121200167
T:
claus

amd64; Zen (800f11); 2017 AMD Ryzen 5 1600; 6 x 3200MHz; rumba5, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
298203057531661
T:
jacfp127i
298903091032174
T:
kumjacfp127g
328813416835893
T:
prjfp127i
338203496436552
T:
hecfp127i
381983952940743
T:
jacfp128bk
398554119744646
T:
curve2251
405874180744913
T:
ecfp256e
435364442345548
T:
prjfp128bk
447914481344879
T:
gls254prot
447164487945045
T:
gls254
439494510446195
T:
hecfp128bk
442404529746076
T:
hecfp128fkt
444064538446225
T:
hecfp128i
444644664052357
T:
ecfp256h
452274743752715
T:
ecfp256s
477465017755743
T:
ecfp256q
556705582455956
T:
k277taa
648476544365725
T:
k298
662316693867681
T:
gls1271
870978719087290
T:
k277mon
951149565695690
T:
kummer
101854101937102021
T:
kumfp127g
133254133321133375
T:
kumfp128g
144562144581144616
T:
curve25519
184723185692186967
T:
ecfp256i
187228187899188320
T:
surf127eps
199328199526199805
T:
ed448goldilocks
201041202596204636
T:
sclaus1024
273658273821273974
T:
nistp256
531504533908536114
T:
surf2113
895508896733899010
T:
ed521gs
9900039982991006779
T:
sclaus2048
109571310967491097764
T:
nist521gs
119051311940511197808
T:
claus
Cycles to compute a shared secret
25%50%75%system
421654218342201
T:
gls254
447364476444814
T:
gls254prot
557185581555906
T:
k277taa
646746472364777
T:
k298
870718714087216
T:
k277mon
950179563795640
T:
kummer
104400104463104516
T:
kumfp127g
104390104489104617
T:
jacfp128bk
106331106396106466
T:
kumjacfp127g
126456126512126600
T:
prjfp128bk
130022130152130321
T:
hecfp128bk
134518134612134757
T:
hecfp128fkt
139092139122139313
T:
kumfp128g
157260157515159050
T:
curve25519
159897161339161986
T:
curve2251
162475162670162797
T:
jacfp127i
159990164133165312
T:
gls1271
173521173761174755
T:
ecfp256e
181997182175182346
T:
ecfp256i
183262183355183501
T:
ecfp256q
183564184818185061
T:
surf127eps
197840201320202203
T:
sclaus1024
203935204135205185
T:
prjfp127i
207366207491207692
T:
hecfp127i
216169216277216409
T:
ecfp256h
235661235744235977
T:
ecfp256s
285464285708286026
T:
hecfp128i
532518533309535304
T:
surf2113
588527590392590617
T:
ed448goldilocks
664008664208665032
T:
nistp256
895079896875897726
T:
ed521gs
98112110004321015455
T:
sclaus2048
109380210949391095910
T:
nist521gs
119112011921451200226
T:
claus

amd64; Zen (800f11); 2017 AMD Ryzen 3 1200; 4 x 3100MHz; rumba3, supercop-20200906

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
291712985331062
T:
jacfp127i
296363062831527
T:
kumjacfp127g
327363394535247
T:
prjfp127i
333253447235898
T:
hecfp127i
382233918440610
T:
jacfp128bk
401144061042625
T:
curve2251
404554172644609
T:
ecfp256e
435864377244051
T:
gls254
435244448545663
T:
hecfp128fkt
435554451645911
T:
prjfp128bk
447954482644888
T:
gls254prot
439584501246035
T:
hecfp128i
439894501246190
T:
hecfp128bk
437414634550964
T:
ecfp256h
448574690351801
T:
ecfp256s
477714938354560
T:
ecfp256q
551495521155242
T:
k277taa
648216547265658
T:
k298
870798723492287
T:
k277mon
955429560495914
T:
kummer
101928102052102548
T:
kumfp127g
133362133393133486
T:
kumfp128g
144491144584144615
T:
curve25519
185132186124187457
T:
ecfp256i
187271188139189906
T:
surf127eps
199423199671200291
T:
ed448goldilocks
202771205282209684
T:
sclaus1024
273761273916274908
T:
nistp256
530999533076533820
T:
surf2113
897047898318899744
T:
ed521gs
99510010034081010693
T:
sclaus2048
109798910992601100500
T:
nist521gs
119284911959491199824
T:
claus
Cycles to compute a shared secret
25%50%75%system
424084243942935
T:
gls254
447644479545446
T:
gls254prot
550565518055211
T:
k277taa
648216491465441
T:
k298
870178720392132
T:
k277mon
955119563595914
T:
kummer
103912104098104656
T:
jacfp128bk
104377104501106144
T:
kumfp127g
106361106423106485
T:
kumjacfp127g
126387126728126945
T:
prjfp128bk
129859130293130386
T:
hecfp128bk
134478134602134695
T:
hecfp128fkt
139190139221139283
T:
kumfp128g
160177161045161851
T:
curve2251
162440162502162688
T:
jacfp127i
158689163432172608
T:
curve25519
173321173445173569
T:
ecfp256e
182249182435182528
T:
ecfp256i
182683183055184295
T:
surf127eps
183458183582184574
T:
ecfp256q
204104204228204445
T:
prjfp127i
207018207266208568
T:
hecfp127i
206987207297210676
T:
sclaus1024
215977216039216132
T:
ecfp256h
235786235879236003
T:
ecfp256s
285758287401287990
T:
hecfp128i
530472530813532704
T:
surf2113
587977589000589868
T:
ed448goldilocks
664423664733676606
T:
nistp256
895125896210896737
T:
ed521gs
98970610001531013979
T:
sclaus2048
109833010999421101957
T:
nist521gs
118943911921671199235
T:
claus

amd64; KabyLake (906e9); 2017 Intel Xeon E3-1220 v6; 4 x 3000MHz; kizomba, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
208512190523770
T:
kumjacfp127g
220362308524459
T:
jacfp127i
261112714328889
T:
prjfp127i
257922740530594
T:
hecfp127i
308813222834799
T:
jacfp128bk
350023653638685
T:
prjfp128bk
368733717042381
T:
gls254
380993825839401
T:
curve2251
375673866341037
T:
hecfp128bk
377163875039881
T:
hecfp128i
387973885938929
T:
gls254prot
374483890542046
T:
hecfp128fkt
427404370048925
T:
ecfp256e
457484590146000
T:
k277taa
452724605150689
T:
ecfp256h
474114804450655
T:
ecfp256s
481044906754722
T:
ecfp256q
502205047850621
T:
kummer
525005262152822
T:
k298
699477017070414
T:
k277mon
696697055974691
T:
gls1271
791867930779410
T:
kumfp127g
110575110654115361
T:
kumfp128g
125299127466130839
T:
curve25519
153137153645159359
T:
ed448goldilocks
175730177926182206
T:
sclaus1024
180933181688186841
T:
surf127eps
189793191131196818
T:
ecfp256i
234534235076240404
T:
nistp256
492555495274515714
T:
surf2113
810139815290854933
T:
ed521gs
903210953304986315
T:
sclaus2048
944671960199997258
T:
nist521gs
9807369949981035344
T:
claus
Cycles to compute a shared secret
25%50%75%system
356853573435786
T:
gls254
384823852838587
T:
gls254prot
454774555245762
T:
k277taa
500475021450711
T:
kummer
522045229452379
T:
k298
699077010370298
T:
k277mon
813858149486327
T:
kumfp127g
828228292587703
T:
kumjacfp127g
880048808188213
T:
jacfp128bk
108696108881109298
T:
prjfp128bk
112387112521117323
T:
hecfp128bk
115789115855120804
T:
kumfp128g
119224119557124262
T:
hecfp128fkt
124360124494129690
T:
jacfp127i
135216137258140010
T:
curve25519
144609144792150490
T:
curve2251
165054165224165556
T:
prjfp127i
167161167326168416
T:
hecfp127i
171686172744176702
T:
gls1271
175597175847181095
T:
ecfp256e
176345177919183298
T:
surf127eps
174165178496183189
T:
sclaus1024
184776185024190282
T:
ecfp256i
185274185635192729
T:
ecfp256q
217976218307223321
T:
ecfp256h
237461237744243424
T:
ecfp256s
251448251812257952
T:
hecfp128i
456494457581476097
T:
ed448goldilocks
491102493428513579
T:
surf2113
577334583032617388
T:
nistp256
810129820489858772
T:
ed521gs
943736953557992889
T:
nist521gs
913989955709983087
T:
sclaus2048
9658519788511017369
T:
claus

amd64; KabyLake (806e9); 2017 Intel Core i7-7567U; 2 x 3500MHz; unstable; intelnuci7, supercop-20211108

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
228542402425244
T:
jacfp127i
230762417825666
T:
kumjacfp127g
251382638627910
T:
hecfp127i
262442741629766
T:
prjfp127i
313463240833938
T:
jacfp128bk
360883742439956
T:
hecfp128i
368623812240248
T:
hecfp128fkt
372203823039526
T:
prjfp128bk
380203825038618
T:
gls254
393423945840200
T:
curve2251
383043960641796
T:
hecfp128bk
400444011040194
T:
gls254prot
438544459445714
T:
ecfp256e
472364728847348
T:
k277taa
467684764849566
T:
ecfp256h
470064777649534
T:
ecfp256s
494625044052650
T:
ecfp256q
518945220052956
T:
kummer
542885437054510
T:
k298
722487237872610
T:
k277mon
719947278873588
T:
gls1271
815528164681752
T:
kumfp127g
114092114148114208
T:
kumfp128g
129368129626129896
T:
curve25519
158112158318158604
T:
ed448goldilocks
180542182522184208
T:
sclaus1024
186540187234187858
T:
surf127eps
195688196738197926
T:
ecfp256i
217550226366238000
T:
hector
242064242480270748
T:
nistp256
508152510326511366
T:
surf2113
836516836864837546
T:
ed521gs
913382920252927792
T:
sclaus2048
970706971326972396
T:
nist521gs
100683810084961011858
T:
claus
Cycles to compute a shared secret
25%50%75%system
368503692836980
T:
gls254
397683981439892
T:
gls254prot
469344698047032
T:
k277taa
518045212452280
T:
kummer
540985417654274
T:
k298
723527251874482
T:
k277mon
838868396284030
T:
kumfp127g
852748536285450
T:
kumjacfp127g
908909099091088
T:
jacfp128bk
111918112022112158
T:
prjfp128bk
118500118660118848
T:
hecfp128bk
119418119482119546
T:
kumfp128g
122602122806123004
T:
hecfp128fkt
127970128042128146
T:
jacfp127i
139286139568140018
T:
curve25519
148680149586149718
T:
curve2251
170368170516170720
T:
prjfp127i
173236173498175470
T:
hecfp127i
174868179314179672
T:
gls1271
172194180938185840
T:
sclaus1024
181232181406181554
T:
ecfp256e
183398183722184034
T:
surf127eps
190906191084191228
T:
ecfp256i
191248191408191566
T:
ecfp256q
225138225284225548
T:
ecfp256h
245790246000246200
T:
ecfp256s
256004256202256392
T:
hecfp128i
471048471346471646
T:
ed448goldilocks
505542506108508468
T:
surf2113
595818596138596506
T:
nistp256
740472746538753674
T:
hector
836072836278836634
T:
ed521gs
912476915646935020
T:
sclaus2048
970230970696972034
T:
nist521gs
9913549937981041200
T:
claus

aarch64; A57+crypto (411fd072); 2016 AMD Opteron A1100; 8 x 2000MHz; warbear0, supercop-20200826

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
242272242272242288
T:
kummer
338112338800339216
T:
curve25519
367424367440367584
T:
nistp256
197190419723681976800
T:
ed521gs
244092824442402445904
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
240848240848240848
T:
kummer
338032338160338736
T:
curve25519
126955212695841270144
T:
nistp256
196939219707681971424
T:
ed521gs
243969624431042445712
T:
nist521gs

armeabi; Cortex-A7 (410fc075); 2016 Broadcom BCM2836; 4 x 900MHz; berry2, supercop-20210604

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
596059606294617958
T:
kummer
926474933209945204
T:
curve25519
132106513791461460532
T:
nistp256
347018335061433539488
T:
sclaus1024
112360951164348111790584
T:
claus
158706471601035716116442
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
593045602253615798
T:
kummer
926023932715940291
T:
curve25519
356863935933363603000
T:
sclaus1024
469529748692365005629
T:
nistp256
113406501163892111839912
T:
claus
159090681617918916232908
T:
sclaus2048

amd64; BW+AES (406f1); 2016 Intel Xeon E5-2609 v4; 8 x 1700MHz; bolero, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
245882542027984
T:
jacfp127i
257922668831012
T:
kumjacfp127g
283602943635376
T:
prjfp127i
28180?32376?37508?
T:
hecfp127i
316283305636380
T:
jacfp128bk
376403792443296
T:
gls254
392803944844140
T:
gls254prot
384563982045752
T:
hecfp128fkt
403004104446316
T:
curve2251
404404127245988
T:
hecfp128bk
381564144045984
T:
prjfp128bk
410004326846268
T:
hecfp128i
435204660851084
T:
ecfp256e
493044958058872
T:
k277taa
494925161259664
T:
ecfp256s
513725287661552
T:
ecfp256q
48252?53236?62840?
T:
ecfp256h
554685928066060
T:
k298
600966080069232
T:
kummer
732887447682648
T:
k277mon
782008265291916
T:
gls1271
827768395695596
T:
kumfp127g
130188135096149968
T:
kumfp128g
143320147952161396
T:
curve25519
157132163572186188
T:
ed448goldilocks
193244200420224812
T:
sclaus1024
198460206984230792
T:
surf127eps
203320210888231428
T:
ecfp256i
248712258988288812
T:
nistp256
628124663608707548
T:
surf2113
9421329797281026328
T:
ed521gs
99435610311321064904
T:
sclaus2048
104285210748001110968
T:
claus
108697211299161172100
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
361563642841940
T:
gls254
391923924039392
T:
gls254prot
492445370458948
T:
k277taa
552845545265836
T:
k298
603646302068968
T:
kummer
731647326483328
T:
k277mon
8670891332103028
T:
kumfp127g
9321696296107356
T:
kumjacfp127g
9603696348105676
T:
jacfp128bk
117200121948132768
T:
prjfp128bk
120876125448135496
T:
hecfp128bk
127920132844150784
T:
hecfp128fkt
135508140492160040
T:
kumfp128g
143008147612166496
T:
curve25519
153812159504172492
T:
curve2251
155180160152180432
T:
jacfp127i
187456192864218240
T:
hecfp127i
185368194672219028
T:
prjfp127i
186184195664214964
T:
ecfp256e
193544199072225748
T:
gls1271
192640199460221920
T:
surf127eps
192904199956221072
T:
ecfp256q
193136202444223864
T:
sclaus1024
201368206128229092
T:
ecfp256i
233548238596263568
T:
ecfp256h
252664262600290032
T:
ecfp256s
276500286984315484
T:
hecfp128i
479064509576532548
T:
ed448goldilocks
631448665560689612
T:
surf2113
632120670704701804
T:
nistp256
9533809894361026480
T:
ed521gs
97388810047561058408
T:
sclaus2048
104048810810681114844
T:
claus
108470811214601167224
T:
nist521gs

aarch64; A53+crypto (410fd034); 2015 NXP QorIQ LS1088; 8 x 1600MHz; ten64, supercop-20210604

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
423808423808423808
T:
kummer
469632470272470464
T:
curve25519
482496482816483392
T:
nistp256
566784569280570752
T:
surf127eps
9820809925121003136
T:
sclaus1024
309625631022723104896
T:
ed521gs
368243236893443690944
T:
nist521gs
482899248649604911872
T:
sclaus2048
518656051886085210560
T:
claus
Cycles to compute a shared secret
25%50%75%system
423488423488423744
T:
kummer
476032476096476352
T:
curve25519
568448569472570112
T:
surf127eps
978944988544999424
T:
sclaus1024
165177616518401658944
T:
nistp256
309670431026563104000
T:
ed521gs
368044836871043687360
T:
nist521gs
478713648380164860352
T:
sclaus2048
517612851774725180032
T:
claus

amd64; Skylake (506e3); 2015 Intel Xeon E3-1220 v5; 4 x 3000MHz; samba, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
209142119522503
T:
kumjacfp127g
203812159622906
T:
jacfp127i
239712481526513
T:
prjfp127i
264672779429597
T:
hecfp127i
293623019031508
T:
jacfp128bk
342153524736857
T:
prjfp128bk
367923703237419
T:
gls254
363103724738398
T:
hecfp128i
369943784440048
T:
hecfp128fkt
380163822238974
T:
curve2251
380363878139588
T:
hecfp128bk
388133884938891
T:
gls254prot
421324274644037
T:
ecfp256e
456924572045760
T:
k277taa
450584577847147
T:
ecfp256s
455694655448222
T:
ecfp256h
478274869350947
T:
ecfp256q
501735026450956
T:
kummer
524745256752709
T:
k298
697576982369901
T:
k277mon
696787059771320
T:
gls1271
783547841378500
T:
kumfp127g
110376110423110489
T:
kumfp128g
125110125388125606
T:
curve25519
152870153083153362
T:
ed448goldilocks
175817177084178931
T:
sclaus1024
182438183033183629
T:
surf127eps
189268190317191746
T:
ecfp256i
233987234506235182
T:
nistp256
581091584077590116
T:
surf2113
810090810493811974
T:
ed521gs
887848896855923533
T:
sclaus2048
936762937518938808
T:
nist521gs
967712968534970174
T:
claus
Cycles to compute a shared secret
25%50%75%system
357323578335840
T:
gls254
385593859438643
T:
gls254prot
455074553145562
T:
k277taa
505025064054145
T:
kummer
522575237852509
T:
k298
696846973169782
T:
k277mon
806608073880821
T:
kumfp127g
826158270582787
T:
kumjacfp127g
881708824088323
T:
jacfp128bk
108575108701108830
T:
prjfp128bk
114838115005115173
T:
hecfp128bk
115505115558115621
T:
kumfp128g
119075119229119402
T:
hecfp128fkt
124060124160124262
T:
jacfp127i
134799135148135334
T:
curve25519
145746145828145975
T:
curve2251
165141165294165433
T:
prjfp127i
167193167317167521
T:
hecfp127i
168744171585172476
T:
gls1271
175217175358175502
T:
ecfp256e
174675176508177360
T:
sclaus1024
177703178296178748
T:
surf127eps
184841184983185182
T:
ecfp256i
185217185385185580
T:
ecfp256q
217625217812218051
T:
ecfp256h
237809237983238228
T:
ecfp256s
248097248333248621
T:
hecfp128i
456281456622456889
T:
ed448goldilocks
577999578173578442
T:
nistp256
586934590649594453
T:
surf2113
809506809756810839
T:
ed521gs
891043911181934361
T:
sclaus2048
936514937023938031
T:
nist521gs
962205964952966399
T:
claus

amd64; BW+AES (306d4); 2015 Intel Core i5-5350U; 2 x 1800MHz; unstable; luft, supercop-20200702

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
484044935250144gls254
524685267252840gls254prot
635126449668968k277taa
762167681679544k298
843608584087200kummer
100828107472111260k277mon
270472296904305632curve25519
319844329440332672ed448goldilocks
340196368524380824surf127eps
350576377888391764sclaus1024
499756538332550092nistp256
108142011142881129628surf2113
118380812336921254712curve2251
176026018429841935860sclaus2048
180335219149121921716ed521gs
217002022646242362708claus
213710422828762372176nist521gs
Cycles to compute a shared secret
25%50%75%system
467604742848676gls254
497445064052432gls254prot
626166356868740k277taa
751287584476364k298
829168408484520kummer
98276105660111120k277mon
283904298712307000curve25519
339992369712375216surf127eps
385252389448396764sclaus1024
102795610538321055768ed448goldilocks
108630410936521124016surf2113
121327612190681260148curve2251
124639613234361381256nistp256
178382018888481921604ed521gs
185086819070361995280sclaus2048
214444023091642567204nist521gs
221658023465482437328claus

amd64; HW+AES (306c3); 2013 Intel Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
336373514736584
T:
jacfp127i
353853601836586
T:
hecfp127i
351693638137990
T:
kumjacfp127g
373783879140346
T:
prjfp127i
413814278046946
T:
curve2251
431314456846197
T:
jacfp128bk
451544569446350
T:
gls254
478384877149647
T:
hecfp128i
495404960149664
T:
gls254prot
495835030451216
T:
ecfp256e
492885104552725
T:
prjfp128bk
498125109655856
T:
ecfp256s
496195185955800
T:
ecfp256h
511675257753946
T:
hecfp128bk
513065286054151
T:
hecfp128fkt
549265676162585
T:
ecfp256q
604256047660531
T:
kummer
632616330463355
T:
k277taa
701107021370365
T:
k298
910189208893205
T:
gls1271
970919716497219
T:
k277mon
110159110304110482
T:
kumfp127g
144527146907148208
T:
curve25519
155900155963156079
T:
kumfp128g
176681176906177163
T:
ed448goldilocks
213925214640215122
T:
surf127eps
218608220593222147
T:
sclaus1024
223346225457229171
T:
ecfp256i
273184273426273766
T:
nistp256
617883620659622265
T:
surf2113
103202210333351039184
T:
ed521gs
109859611067221114396
T:
sclaus2048
118566011882641201472
T:
nist521gs
152425115254011528271
T:
claus
Cycles to compute a shared secret
25%50%75%system
400154154941999
T:
gls254
493394943549479
T:
gls254prot
603846044460489
T:
kummer
631526320363253
T:
k277taa
699186999970065
T:
k298
969649698997031
T:
k277mon
112275112607112860
T:
kumfp127g
114339114396114468
T:
jacfp128bk
120605120687120777
T:
kumjacfp127g
141108141358145705
T:
prjfp128bk
147634147768147991
T:
hecfp128bk
155409155574155745
T:
hecfp128fkt
156066158271158384
T:
curve25519
159698159913162440
T:
curve2251
162128162163162198
T:
kumfp128g
185124185303185516
T:
jacfp127i
206508206644206848
T:
ecfp256e
204721208189208731
T:
surf127eps
214760214921215136
T:
ecfp256q
219105219452222954
T:
gls1271
219661219787219984
T:
ecfp256i
218045220475223508
T:
sclaus1024
226907227058227286
T:
prjfp127i
228620228895229122
T:
hecfp127i
249856250026250218
T:
ecfp256h
273024273162273380
T:
ecfp256s
325812331163331556
T:
hecfp128i
537092537387538032
T:
ed448goldilocks
617276618221620083
T:
surf2113
680877681279682055
T:
nistp256
956012956673958458
T:
claus
103159610328561039519
T:
ed521gs
111220111134971114712
T:
sclaus2048
118886611913891193524
T:
nist521gs

amd64; HW+AES (306c3); 2013 Intel Xeon E3-1220 v3; 4 x 3100MHz; hiphop, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
288262948131246
T:
kumjacfp127g
304633122831938
T:
jacfp127i
327373353734322
T:
prjfp127i
348403647239029
T:
hecfp127i
385973937940069
T:
jacfp128bk
410734233646073
T:
curve2251
429404333345878
T:
prjfp128bk
447764527745948
T:
gls254
446524539447797
T:
hecfp128fkt
461144677348201
T:
ecfp256e
466474718949438
T:
hecfp128bk
469554845551426
T:
hecfp128i
484064918351128
T:
ecfp256h
495844970149835
T:
gls254prot
491205006752095
T:
ecfp256s
540655496457405
T:
ecfp256q
604326049260570
T:
kummer
632206329163367
T:
k277taa
701417025270450
T:
k298
909049192892638
T:
gls1271
971159719197311
T:
k277mon
109858109962110066
T:
kumfp127g
144456144548147220
T:
curve25519
157097157222157331
T:
kumfp128g
176643176963177382
T:
ed448goldilocks
213351214187215065
T:
surf127eps
218171219732221607
T:
sclaus1024
222921224124225489
T:
ecfp256i
272998273404281510
T:
nistp256
618119620972623686
T:
surf2113
103236510331801034069
T:
ed521gs
110251511130521160846
T:
sclaus2048
118462611860021187676
T:
nist521gs
152254415232221524943
T:
claus
Cycles to compute a shared secret
25%50%75%system
400594056940662
T:
gls254
494344952149608
T:
gls254prot
60408?60506?96147?
T:
kummer
631506318463225
T:
k277taa
699627006270166
T:
k298
969729709197208
T:
k277mon
112345112441112559
T:
kumfp127g
114100114170114261
T:
jacfp128bk
120886120964121072
T:
kumjacfp127g
140899141042141195
T:
prjfp128bk
144967145108145277
T:
hecfp128bk
155673155901156437
T:
hecfp128fkt
155992156071158679
T:
curve25519
158397159272160692
T:
curve2251
163145163214163362
T:
kumfp128g
185198185574186647
T:
jacfp127i
205455205578205896
T:
ecfp256e
207607208324209164
T:
surf127eps
214781214958215182
T:
ecfp256q
218932219315222458
T:
gls1271
219693219816220057
T:
ecfp256i
221215224153225103
T:
sclaus1024
227258227550227800
T:
prjfp127i
230806231008231273
T:
hecfp127i
249957250107250410
T:
ecfp256h
273147273380273744
T:
ecfp256s
325154325544325942
T:
hecfp128i
537140537412537880
T:
ed448goldilocks
615654620964626760
T:
surf2113
680707681249682505
T:
nistp256
956166957096957906
T:
claus
103235410331391034192
T:
ed521gs
111147111230331168502
T:
sclaus2048
118469811861201188217
T:
nist521gs

amd64; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; saber214, supercop-20220506

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
445354542046259
T:
jacfp127i
458144670047602
T:
kumjacfp127g
511845207953162
T:
prjfp127i
518785262553627
T:
hecfp127i
645686515167359
T:
curve2251
673676814969026
T:
jacfp128bk
707987324677900
T:
ecfp256e
747287748481982
T:
ecfp256h
749297766181294
T:
ecfp256s
775227816479324
T:
prjfp128bk
780167886580112
T:
hecfp128bk
780727889079997
T:
hecfp128i
786567952580480
T:
hecfp128fkt
810818360888465
T:
ecfp256q
906949168992844
T:
gls254
104738104739104746
T:
gls254prot
113410114917116103
T:
gls1271
138541138563138579
T:
k277taa
155609155746161545
T:
kumfp127g
167168167212167362
T:
k298
174711174730174763
T:
curve25519
204601204629204667
T:
kummer
211858211870211905
T:
k277mon
254643254723256395
T:
kumfp128g
341461343121345174
T:
ecfp256i
366960367256367994
T:
ed448goldilocks
375876377590379151
T:
surf127eps
423492427877432411
T:
sclaus1024
632720633103633417
T:
nistp256
670940673807675667
T:
surf2113
183735118389641843897
T:
ed521gs
210226621190352138022
T:
sclaus2048
211004121220802150117
T:
nist521gs
254714325538382562927
T:
claus
Cycles to compute a shared secret
25%50%75%system
851578707487496
T:
gls254
104657104710104710
T:
gls254prot
138448138450138454
T:
k277taa
160315160332160380
T:
kumfp127g
161566161806162992
T:
kumjacfp127g
167178167207167232
T:
k298
186758186780186805
T:
curve25519
197239197262197296
T:
kummer
199385199442199554
T:
jacfp128bk
211804211805211809
T:
k277mon
241458241958242807
T:
curve2251
247505247849248027
T:
prjfp128bk
251825251879251979
T:
hecfp128bk
263257263454263563
T:
hecfp128fkt
264219264395264564
T:
jacfp127i
266869266950267057
T:
kumfp128g
273908277064281513
T:
gls1271
320313320423320747
T:
ecfp256e
335580336201337003
T:
ecfp256q
338763338927339239
T:
ecfp256i
357062357242357461
T:
hecfp127i
359231359349359560
T:
prjfp127i
373913374164379026
T:
surf127eps
403004403319403801
T:
ecfp256h
422663422988423410
T:
ecfp256s
427272428426430504
T:
sclaus1024
562251562477562600
T:
hecfp128i
668065671925673795
T:
surf2113
115856811586661158757
T:
ed448goldilocks
124960512496171249753
T:
nistp256
183430718390491844432
T:
ed521gs
209803321012972131841
T:
nist521gs
210871521176882120005
T:
sclaus2048
255368525565442566788
T:
claus

amd64; IB+AES (306a9); 2012 Intel Xeon E3-1275 V2; 4 x 3500MHz; hydra8, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
319953319134393
T:
jacfp127i
325093331535003
T:
kumjacfp127g
360663825441045
T:
prjfp127i
407164158143420
T:
jacfp128bk
400314164943406
T:
hecfp127i
507945180953964
T:
ecfp256e
514875224553084
T:
hecfp128fkt
506985324955900
T:
prjfp128bk
536185441557117
T:
ecfp256h
525295544658125
T:
hecfp128bk
547405580357842
T:
ecfp256s
554225731758838
T:
hecfp128i
574205792061234
T:
curve2251
587645994262775
T:
ecfp256q
737697472476141
T:
gls254
887518896189056
T:
kummer
964289747898440
T:
gls1271
106453106511106591
T:
gls254prot
117024117183117270
T:
kumfp127g
145032145107145429
T:
curve25519
164999165207165344
T:
kumfp128g
175113176257176369
T:
k277taa
181230181597183233
T:
k298
235217235903236531
T:
surf127eps
242174243251244692
T:
ecfp256i
257953257955257963
T:
k277mon
266784269074271795
T:
sclaus1024
312040312347313112
T:
nistp256
655672658945660239
T:
surf2113
109921911004081102521
T:
ed521gs
123728012389121241388
T:
nist521gs
136153613685321379654
T:
sclaus2048
159958316031121606529
T:
claus
Cycles to compute a shared secret
25%50%75%system
695787219472546
T:
gls254
884708863888801
T:
kummer
106292106324106375
T:
gls254prot
119460119589119708
T:
kumfp127g
124148124266124448
T:
jacfp128bk
126536126673126829
T:
kumjacfp127g
156716156812157249
T:
curve25519
157900158053158286
T:
prjfp128bk
162349162462162610
T:
hecfp128bk
168485168658168841
T:
hecfp128fkt
171050171173171299
T:
kumfp128g
176001176063176126
T:
k277taa
180884180987181073
T:
k298
190532190859194843
T:
jacfp127i
223138224733225025
T:
curve2251
225093225330225573
T:
ecfp256e
227263228275228920
T:
surf127eps
235470235656235831
T:
ecfp256q
238973239168239496
T:
ecfp256i
239008239407240507
T:
prjfp127i
235393239533241664
T:
gls1271
244890245206245475
T:
hecfp127i
257914257917257932
T:
k277mon
272846273288276524
T:
sclaus1024
275862275927276122
T:
ecfp256h
297915298065298304
T:
ecfp256s
365659365890366333
T:
hecfp128i
653902655593657750
T:
surf2113
770215771170771875
T:
nistp256
110081711018461103443
T:
ed521gs
123627712376191241012
T:
nist521gs
132384813616761366685
T:
sclaus2048
159677615983161600840
T:
claus

amd64; IB+AES (306a9); 2012 Intel Xeon E3-1265L V2; 4 x 2500MHz; hedera, supercop-20210326

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
289092939631004
T:
jacfp127i
300703073232520
T:
kumjacfp127g
338193447236539
T:
hecfp127i
364863743838776
T:
prjfp127i
412014207043565
T:
jacfp128bk
482014919850624
T:
prjfp128bk
492175026351237
T:
hecfp128bk
499115071751482
T:
hecfp128fkt
497895075351723
T:
hecfp128i
501975080851753
T:
ecfp256e
531465379155988
T:
ecfp256h
566835709859815
T:
curve2251
577475827959159
T:
ecfp256s
580645889961154
T:
ecfp256q
747217580476899
T:
gls254
886978878088991
T:
kummer
962719748599181
T:
gls1271
106336106406106484
T:
gls254prot
114137114399115068
T:
kumfp127g
145078145412145504
T:
curve25519
164848164924165097
T:
kumfp128g
174548175860175937
T:
k277taa
180998181074181254
T:
k298
210970211547211882
T:
ed448goldilocks
235920236652237958
T:
surf127eps
242156243312244798
T:
ecfp256i
257518257522257546
T:
k277mon
265772268328270886
T:
sclaus1024
291564300634312125
T:
hector
319923321152322178
T:
nistp256
578681581128582779
T:
surf2113
113049511309001131611
T:
ed521gs
131767813178471318914
T:
nist521gs
135620413693521381427
T:
sclaus2048
159429115967631600250
T:
claus
Cycles to compute a shared secret
25%50%75%system
699627017772435
T:
gls254
884818856988771
T:
kummer
106240106267106320
T:
gls254prot
116592116673116728
T:
kumfp127g
124508124588124676
T:
jacfp128bk
126848126978127086
T:
kumjacfp127g
157341157509157688
T:
prjfp128bk
156807159451160595
T:
curve25519
161145161262161395
T:
hecfp128bk
167278167388167502
T:
hecfp128fkt
170626170736170839
T:
kumfp128g
174307175485175560
T:
k277taa
180306180349180412
T:
k298
190558190724191176
T:
jacfp127i
222999223430224790
T:
curve2251
225426225598225763
T:
ecfp256e
230305230733231179
T:
surf127eps
234913235082235332
T:
ecfp256q
234605236070239408
T:
gls1271
238259238493238847
T:
prjfp127i
238952239103239309
T:
ecfp256i
244592244829245150
T:
hecfp127i
257491257500257501
T:
k277mon
268418272793274235
T:
sclaus1024
276317276426276529
T:
ecfp256h
297445297545297702
T:
ecfp256s
365520365678365977
T:
hecfp128i
579552580206580761
T:
surf2113
628898629615631385
T:
ed448goldilocks
765125767126769017
T:
nistp256
99663510347211045662
T:
hector
112500811254491130459
T:
ed521gs
131731413174491317705
T:
nist521gs
135680113820931391271
T:
sclaus2048
159483715953091596323
T:
claus

amd64; SB+AES (206d7); 2012 Intel Xeon E5-2660; 8 x 2200MHz; unstable; gcc123, supercop-20220213

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
319433270833506
T:
jacfp127i
329533376535040
T:
kumjacfp127g
376083862339513
T:
hecfp127i
390044050442276
T:
prjfp127i
457984660449017
T:
jacfp128bk
545285530656314
T:
ecfp256e
559355709258739
T:
prjfp128bk
565285743958649
T:
hecfp128fkt
573725803860010
T:
ecfp256h
589355935562473
T:
curve2251
581725968661610
T:
hecfp128i
577295969461632
T:
hecfp128bk
592136026262540
T:
ecfp256s
632946411266013
T:
ecfp256q
742677518976426
T:
gls254
892828933389393
T:
kummer
101621102757104070
T:
gls1271
107786107990108100
T:
gls254prot
120356120660120847
T:
kumfp127g
147437149335150231
T:
curve25519
176693176754176821
T:
k277taa
183385183523183801
T:
k298
183493184494184712
T:
kumfp128g
216977217416218118
T:
ed448goldilocks
258378258897259109
T:
k277mon
264599265793267654
T:
ecfp256i
271269272151273008
T:
surf127eps
285659288427291181
T:
sclaus1024
346611347055348467
T:
nistp256
632059635140636537
T:
surf2113
120118312026971213390
T:
ed521gs
143767014388731440254
T:
nist521gs
145392114631991474175
T:
sclaus2048
170762417120691716365
T:
claus
Cycles to compute a shared secret
25%50%75%system
685677064070910
T:
gls254
890538907989114
T:
kummer
107718107843108042
T:
gls254prot
123422123608123778
T:
kumfp127g
131022131115131347
T:
kumjacfp127g
139870140122152456
T:
jacfp128bk
158914159113159230
T:
curve25519
176460176503176544
T:
k277taa
178453178678178968
T:
prjfp128bk
182177182418185208
T:
hecfp128bk
182474182579182699
T:
k298
189273189532200762
T:
hecfp128fkt
190389191431191674
T:
kumfp128g
200096200414213508
T:
jacfp127i
231825232605232832
T:
curve2251
248092248254248472
T:
ecfp256e
249077250480251963
T:
gls1271
257409257555257723
T:
ecfp256q
258321258857259061
T:
k277mon
260327260627261091
T:
prjfp127i
261160261279261406
T:
ecfp256i
264886265400269808
T:
hecfp127i
267683268185269010
T:
surf127eps
290366291197293939
T:
sclaus1024
305106305231305409
T:
ecfp256h
324559324747324996
T:
ecfp256s
412908413317413695
T:
hecfp128i
621379623817629240
T:
surf2113
648753651584670955
T:
ed448goldilocks
826719827216827670
T:
nistp256
120710312106961213881
T:
ed521gs
143747214380621439620
T:
nist521gs
144469914660691478225
T:
sclaus2048
170340017117751715637
T:
claus

armeabi; Cortex-A9+NEON (412fc09a); 2011 Freescale i.MX6 Quad; 4 x 1200MHz; unstable; novena, supercop-20220506

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
383633403235426836
T:
kummer
568432579721605953
T:
curve25519
113609712253061320114
T:
nistp256
317027133190843441142
T:
sclaus1024
103958101067570812763892
T:
claus
13118323?15156764?17482296?
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
377632394434418035
T:
kummer
567769587250684860
T:
curve25519
317587233146843482698
T:
sclaus1024
378432441255534561590
T:
nistp256
103845211070227310950137
T:
claus
12688797?16762633?17448692?
T:
sclaus2048

armeabi; Cortex-A9+NEON (412fc09a); 2011 Freescale i.MX6 Quad; 4 x 1200MHz; novenablue, supercop-20200702

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
355418355433355453kummer
567411567423567474curve25519
183060818319281841365nistp256
353095435711913610489sclaus1024
168218401692177017041862sclaus2048
171083231711652517123909claus
Cycles to compute a shared secret
25%50%75%system
355290355292355314kummer
567279567290567304curve25519
358911136050903620752sclaus1024
623533362479476251411nistp256
170730721707928317089253claus
170757241717672217304846sclaus2048

mipso32; Octeon II (cnmips64v2); 2011 Cavium Octeon II CN6120; 2 x 2000MHz; erpro8fsf2, supercop-20220213

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
147099214710061473758
T:
kummer
199978219998222008112
T:
curve25519
346045234641523494426
T:
nistp256
486200849033465012496
T:
surf127eps
901108890886289163840
T:
sclaus1024
447252984499559045330454
T:
sclaus2048
546248485474884454873548
T:
claus
Cycles to compute a shared secret
25%50%75%system
147060014706141470614
T:
kummer
199937019993842001402
T:
curve25519
485861449133245012660
T:
surf127eps
889381890661869103512
T:
sclaus1024
115805481160992411704890
T:
nistp256
448201024498917845145550
T:
sclaus2048
548210825487032654982680
T:
claus

mipso32; Octeon II (cnmips64v2); 2011 Cavium Octeon II CN6120; 2 x 2000MHz; gcc23, supercop-20220506

Graphs: (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
147097414710161472676
T:
kummer
199919019991902000622
T:
curve25519
344511234574143461870
T:
nistp256
484243248611724867094
T:
surf127eps
899081490854829171120
T:
sclaus1024
446202184494918645248108
T:
sclaus2048
545050245461244054716466
T:
claus
Cycles to compute a shared secret
25%50%75%system
147062614706301470630
T:
kummer
199890819989081999896
T:
curve25519
483016848424744861988
T:
surf127eps
900581490441769159864
T:
sclaus1024
115423281157057011603418
T:
nistp256
447917484505932645496830
T:
sclaus2048
542802005459834654663778
T:
claus

amd64; C2 45nm (10676); 2007 Intel Xeon X5450; 8 x 2992MHz; unstable; gcc14, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
450734746350135
T:
jacfp127i
470414835249377
T:
kumjacfp127g
517235395157038
T:
prjfp127i
530025517759391
T:
hecfp127i
713697255876668
T:
ecfp256e
774197899684435
T:
ecfp256h
780957935180571
T:
jacfp128bk
796888159186347
T:
ecfp256s
884948908191698
T:
ecfp256q
899879267895313
T:
prjfp128bk
906959309296851
T:
hecfp128fkt
914649368897172
T:
hecfp128i
918849393196811
T:
hecfp128bk
122081124406126622
T:
gls1271
127352128298131045
T:
curve2251
178621178639178774
T:
kumfp127g
299212299279299300
T:
curve25519
314856315067315465
T:
kumfp128g
329748330281330858
T:
ed448goldilocks
384083386835388905
T:
ecfp256i
413326415894420963
T:
surf127eps
422448422696424925
T:
kummer
422389426879430417
T:
sclaus1024
592353599624599809
T:
nistp256
703975707187707993
T:
surf2113
165127616548471665749
T:
ed521gs
196582819681241970593
T:
nist521gs
214164921584622174320
T:
sclaus2048
253159425367742542306
T:
claus
Cycles to compute a shared secret
25%50%75%system
183308183339183401
T:
kumfp127g
187644188022188184
T:
kumjacfp127g
244882244967245135
T:
jacfp128bk
292653292810292871
T:
jacfp127i
298596298922299590
T:
curve25519
301634301818301972
T:
prjfp128bk
307377307524307663
T:
hecfp128bk
315724316398332895
T:
gls1271
318241318313318421
T:
hecfp128fkt
327094327144327284
T:
kumfp128g
362120362446362793
T:
ecfp256e
377991378292378707
T:
ecfp256q
381459381554381707
T:
prjfp127i
383653383881384037
T:
ecfp256i
388709388774388844
T:
hecfp127i
412903415509419428
T:
surf127eps
422428422854424362
T:
kummer
424342428316440575
T:
sclaus1024
455103455540455801
T:
ecfp256h
470134470272470478
T:
ecfp256s
519804523960528188
T:
curve2251
694179694320694727
T:
hecfp128i
701889703404704125
T:
surf2113
102255210230961026174
T:
ed448goldilocks
117578911759971177498
T:
nistp256
165075316546411665087
T:
ed521gs
196526419670891969059
T:
nist521gs
212717521455732206421
T:
sclaus2048
253738125388522573470
T:
claus

amd64; C2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2404MHz; margaux, supercop-20220506

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
418874299644689
T:
jacfp127i
438654517546455
T:
kumjacfp127g
480264931851701
T:
prjfp127i
499195167954236
T:
hecfp127i
749587622277368
T:
jacfp128bk
774857820779759
T:
ecfp256e
828638345885025
T:
ecfp256h
840518491786249
T:
ecfp256s
879818931290934
T:
prjfp128bk
884309055293172
T:
hecfp128bk
889749057093427
T:
hecfp128i
891999077193712
T:
hecfp128fkt
904939152593049
T:
ecfp256q
126201127832129176
T:
gls1271
131760132846135609
T:
curve2251
178795178878178985
T:
kumfp127g
300192301403302425
T:
curve25519
314730314938315180
T:
kumfp128g
345050345724346796
T:
ed448goldilocks
387780389344391450
T:
ecfp256i
421852426405430360
T:
sclaus1024
428379430954431872
T:
kummer
430610432379433903
T:
surf127eps
493841495056497115
T:
nistp256
707495711520713861
T:
surf2113
168465916867841690900
T:
ed521gs
196121619641241966514
T:
nist521gs
215056821697132186433
T:
sclaus2048
254392025512532590229
T:
claus
Cycles to compute a shared secret
25%50%75%system
183326183367183534
T:
kumfp127g
187766188158188287
T:
kumjacfp127g
243799243974244147
T:
jacfp128bk
292249292381292659
T:
jacfp127i
300639301514302074
T:
curve25519
301871301937302075
T:
prjfp128bk
307782307874308088
T:
hecfp128bk
314737317098322188
T:
gls1271
318275318491318792
T:
hecfp128fkt
327017327159327324
T:
kumfp128g
366127366434366882
T:
ecfp256e
381376381552381748
T:
prjfp127i
382271382569383032
T:
ecfp256q
387243387400387571
T:
ecfp256i
389428389624390460
T:
hecfp127i
421353423825442261
T:
sclaus1024
427824429971431287
T:
kummer
427793430637431718
T:
surf127eps
458397458634458912
T:
ecfp256h
474824475181475579
T:
ecfp256s
545868547486551403
T:
curve2251
693928694211694565
T:
hecfp128i
699997709759711290
T:
surf2113
102915910305211031363
T:
ed448goldilocks
116033311611071162255
T:
nistp256
168366416857251687535
T:
ed521gs
195961019621171967104
T:
nist521gs
217020321744192183777
T:
sclaus2048
252674325466762604215
T:
claus

amd64; C2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2394MHz; latour, supercop-20201130

Graphs: old (pkcycles,pkbytes) (scycles,pkbytes)

Cycles to generate a key pair
25%50%75%system
418144284044001
T:
jacfp127i
436144467646188
T:
kumjacfp127g
488164979751165
T:
prjfp127i
495365109353487
T:
hecfp127i
742057524076527
T:
jacfp128bk
760867679778336
T:
ecfp256e
817118226983826
T:
ecfp256h
831068402485320
T:
ecfp256s
874808858790063
T:
prjfp128bk
880118973092655
T:
hecfp128bk
880748973992124
T:
hecfp128i
891729009091323
T:
ecfp256q
886959042392889
T:
hecfp128fkt
131796132273134325
T:
curve2251
178803178830179568
T:
kumfp127g
296073296397297711
T:
curve25519
315045315459316053
T:
kumfp128g
329778330426331290
T:
ed448goldilocks
386811388890392112
T:
ecfp256i
413433415692419049
T:
surf127eps
423441423486423549
T:
kummer
423990428571432324
T:
sclaus1024
592785600993602676
T:
nistp256
751266755028756891
T:
surf2113
165534316576021663704
T:
ed521gs
199874720020142011401
T:
nist521gs
216074721754532191986
T:
sclaus2048
254350825502222559150
T:
claus
Cycles to compute a shared secret
25%50%75%system
183384183411183411
T:
kumfp127g
188046188361188451
T:
kumjacfp127g
243351243567243639
T:
jacfp128bk
292230292473292662
T:
jacfp127i
296640297639297720
T:
curve25519
299241299403300294
T:
prjfp128bk
307611307755307872
T:
hecfp128bk
318600318717318897
T:
hecfp128fkt
327852328167328644
T:
kumfp128g
367776368136368640
T:
ecfp256e
380538380673380880
T:
prjfp127i
381825382068382302
T:
ecfp256q
386514386766387054
T:
ecfp256i
389520389556389691
T:
hecfp127i
411264413793416106
T:
surf127eps
423396423423423504
T:
kummer
429975433134438012
T:
sclaus1024
459072459234459450
T:
ecfp256h
474966475245475497
T:
ecfp256s
548262550845555012
T:
curve2251
694503694620694746
T:
hecfp128i
748431751878753390
T:
surf2113
101917810244161029906
T:
ed448goldilocks
117339311736091173906
T:
nistp256
165000616509421658637
T:
ed521gs
199848620005832010285
T:
nist521gs
219691822098782213046
T:
sclaus2048
254488525505012563587
T:
claus

Version

This is version 2022.06.19 of the results-dh.html web page. This web page is in the public domain.