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; 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-20211108

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

Cycles to generate a key pair
25%50%75%system
249194249428249460
T:
kummer
356584356693356731
T:
curve25519
370218373875374104
T:
nistp256
422489424229425813
T:
surf127eps
598136603984610508
T:
sclaus1024
194628619525321982985
T:
ed521gs
239903624028822426406
T:
nist521gs
300151830203363049292
T:
sclaus2048
360745536212943638001
T:
claus
Cycles to compute a shared secret
25%50%75%system
248094248361249344
T:
kummer
351136355994356528
T:
curve25519
404320409302411478
T:
surf127eps
600398607993609286
T:
sclaus1024
130620513069561308208
T:
nistp256
194525819490231978577
T:
ed521gs
240318724044082428206
T:
nist521gs
300678930496353065381
T:
sclaus2048
359879636204303629059
T:
claus

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

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

Cycles to generate a key pair
25%50%75%system
239466239647240371kummer
336971336976337244curve25519
365080365152365478nistp256
438473440226441757surf127eps
623249629417636188sclaus1024
195839619668931986867ed521gs
244769724522132478604nist521gs
310517831360803157810sclaus2048
377494737887233804249claus
Cycles to compute a shared secret
25%50%75%system
240323240383240823kummer
336698336701337594curve25519
427913429158430428surf127eps
627260628143628643sclaus1024
127253612742011282354nistp256
195710719604501983950ed521gs
244650224488342462133nist521gs
313235931429683167355sclaus2048
376268637861223798556claus

armeabi; A72 (410fd083); 2019 Broadcom BCM2711; 4 x 1500MHz; rpi4, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
221469225301238663kummer
304884304912309941curve25519
520659535659562019nistp256
191097320794442236718sclaus1024
9099538999238610477298sclaus2048
110523721109712011820000claus
Cycles to compute a shared secret
25%50%75%system
221330226218239802kummer
304773304775307828curve25519
178530718355022022499nistp256
193922320890262197524sclaus1024
9181731964628110484381sclaus2048
110814001112176112596599claus

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

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 Xeon Gold 6230; 40 x 2100MHz; unstable; ygritte, supercop-20200525

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

Cycles to generate a key pair
25%50%75%system
331963345635894curve2251
326443349235764ecfp256e
337443402834474gls254
349503519635242gls254prot
344243567240194ecfp256h
346563577039914ecfp256s
393143976240740ecfp256q
398783990839936k277taa
422104225242290kummer
445464489845016k298
514985908660134gls1271
650566517865276k277mon
95368110952111360curve25519
124994125170125346ed448goldilocks
144032144800145702ecfp256i
171452173320175690sclaus1024
189442189678220900nistp256
628976629852748226ed521gs
732966733994833836nist521gs
865882873972882340sclaus2048
98980210070041064002claus
Cycles to compute a shared secret
25%50%75%system
280342805828084gls254
298843010630138gls254prot
337143981239854k277taa
421544219242234kummer
437584419844272k298
557425583855922k277mon
102294102492102590curve25519
107120107810107978curve2251
125914128668134702gls1271
133034133158133306ecfp256e
140556140658140804ecfp256i
142702142828143030ecfp256q
165604165730165924ecfp256h
179622179948180112ecfp256s
181984182838183812sclaus1024
351960352238352584ed448goldilocks
449076449244449504nistp256
628674629186629502ed521gs
732486732888735224nist521gs
867200877534884402sclaus2048
986034989768993964claus

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+crypto (410fd034); 2018 NXP i.MX 8M; 4 x 1500MHz; googlecoraldev, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
421380421560421740kummer
469440469440469620curve25519
471960472320472680nistp256
604980606960608040surf127eps
105192010638001074060sclaus1024
310140031111203116520ed521gs
355500035661603570480nist521gs
517536052153205254380sclaus2048
636390063772206392160claus
Cycles to compute a shared secret
25%50%75%system
421380421380421560kummer
475740475740475920curve25519
602820606600606960surf127eps
105930010605601076400sclaus1024
158994015899401600020nistp256
310248031114803117060ed521gs
355320035640003568680nist521gs
518958052081205231520sclaus2048
636804063828006387660claus

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

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

Cycles to generate a key pair
25%50%75%system
429408432827438483
T:
kummer
472635475025477602
T:
curve25519
475426478193479739
T:
nistp256
609763612358615115
T:
surf127eps
100156710132071051694
T:
sclaus1024
314461231757983212044
T:
ed521gs
364758136933543729645
T:
nist521gs
498941850519105104648
T:
sclaus2048
556945856729685710278
T:
claus
Cycles to compute a shared secret
25%50%75%system
429960432230434707
T:
kummer
478853481330484060
T:
curve25519
611284612048614561
T:
surf127eps
101160310165031035532
T:
sclaus1024
160233316126001651944
T:
nistp256
314133131763673212476
T:
ed521gs
361684736433523687864
T:
nist521gs
499398750496555129100
T:
sclaus2048
542710654983985617882
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; Zen+ (800f82); 2018 AMD Ryzen 7 2700; 8 x 3200MHz; unstable; gcc68, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
318723289635520ecfp256e
329923372836544curve2251
350083516835296gls254
355203571235712gls254prot
348803683241600ecfp256h
360003772842688ecfp256s
374403916843840ecfp256q
444484448044576k277taa
522245235252800k298
678406998471744k277mon
802248032080384kummer
115648115680116384curve25519
147616148256149312ecfp256i
149856150496151104surf127eps
157568157856158080ed448goldilocks
185440187744189696sclaus1024
213056214112214336nistp256
413504415008416640surf2113
714848717024720384ed521gs
877888880032884864nist521gs
945472952704963680sclaus2048
110934411133121120864claus
Cycles to compute a shared secret
25%50%75%system
337603398434176gls254
354243545635648gls254prot
444804454444608k277taa
515845171251904k298
678086953670144k277mon
801928028880384kummer
125824126016127264curve25519
130368130816131200curve2251
138272138432139072ecfp256e
145088145856145952ecfp256i
146560147136147552ecfp256q
147040147296148000surf127eps
171840172096173088ecfp256h
186816186944188064ecfp256s
186656189152190432sclaus1024
412576414656414848surf2113
471552473184475744ed448goldilocks
526400529216530304nistp256
715776717632719296ed521gs
878752880128882240nist521gs
948160951776957856sclaus2048
111353611157441116608claus

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

amd64; KabyLake (906e9); 2018 Intel Core i7-8705G; 4 x 3100MHz; unstable; sectionthirtyone, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
509535155452460gls254
531605377554869gls254prot
554505699359824curve2251
678547150075957ecfp256s
688707190475042ecfp256h
728797320673424k277taa
752927780181596k298
769718198487849ecfp256q
850688835992757kummer
905869218893834ecfp256e
9353198225115477k277mon
121099131668136697gls1271
186299187008196024curve25519
254473259502261922ed448goldilocks
293337307455318499ecfp256i
377621383067430616sclaus1024
449527452947454188nistp256
161485616393721679905ed521gs
194635019888792071796nist521gs
194167621875052239233sclaus2048
216223924841852561349claus
Cycles to compute a shared secret
25%50%75%system
499115073951262gls254
526925370754602gls254prot
729557322673848k277taa
738957551578260k298
832638575390818kummer
915449599098121k277mon
187648190433190930curve2251
197705197950211429curve25519
285497286767295324ecfp256e
286472295940314899ecfp256i
297293304272315627ecfp256q
285487327601330490gls1271
334733346458352742ecfp256h
352142367525384938ecfp256s
400397406529463949sclaus1024
772752773666777993ed448goldilocks
106945510715821078778nistp256
159420216099941660468ed521gs
197036020393502339236nist521gs
196473022231702341124sclaus2048
219792624654342537547claus

aarch64; A53+crypto (410fd034); 2017 Rockchip RK3328; 4 x 1512MHz; renegaderocrk3328cc, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
421398421617422384kummer
469399469437469823curve25519
471830472479474785nistp256
605444608019612606surf127eps
105807210700221084744sclaus1024
310920231150573148417ed521gs
356245835695853619386nist521gs
517677352258005264318sclaus2048
638335463999516417618claus
Cycles to compute a shared secret
25%50%75%system
421289421312421614kummer
475752475865475950curve25519
603770606468610654surf127eps
101767210540551095758sclaus1024
158998415902021598136nistp256
310521231095213123445ed521gs
356253535670263597895nist521gs
522657252389225277198sclaus2048
639121063984256407692claus

aarch64; A53+crypto (410fd034); 2017 HiSilicon Kirin 970; 8 x 1844MHz; unstable; hikey970, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
305439307360343859kummer
347701347701349622nistp256
389963389963437988curve25519
472566474487476408surf127eps
666587672350678113sclaus1024
185568618576071861449ed521gs
229175322955952310963nist521gs
295641929775502998681sclaus2048
402065340341004504745claus
Cycles to compute a shared secret
25%50%75%system
305439307360343859kummer
393805395726443751curve25519
461040466803468724surf127eps
658903672350676192sclaus1024
119486211967831342779nistp256
185568618576071863370ed521gs
229175322975162574140nist521gs
296410330025233006365sclaus2048
403602140417844520113claus

riscv64; U54 (sifive,u54-mc); 2017 SiFive Freedom U540; 4 x 1400MHz; hifiveunleashedriscv, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
9934309940871003898curve25519
108821310883361095030kummer
127560512776571285595nistp256
425750042838234326742sclaus1024
559118055973755607677ed521gs
674892367496996751305nist521gs
199854312012341020267941sclaus2048
250337132509167825155771claus
Cycles to compute a shared secret
25%50%75%system
993003993663995458curve25519
108798310880491093724kummer
420255842039764207772nistp256
423494744207374439451sclaus1024
558970455903965596390ed521gs
674214667482866748784nist521gs
201228572039665620678548sclaus2048
250068712502862425055842claus

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

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

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

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

aarch64; A53+crypto (410fd034); 2016 HiSilicon Kirin 960; 8 x 1844MHz; unstable; hikey960spare, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
199800241425249750kummer
274725?283050?524475?nistp256
324675324675402019curve25519
382950?391275?532800?surf127eps
432900?549450?2897570?sclaus1024
1039311?1948050?3804525?nist521gs
235597528721252880450ed521gs
1749951?3274476?6418575?claus
2439225?5169825?5219775?sclaus2048
Cycles to compute a shared secret
25%50%75%system
199800199800249750kummer
324675?333000?983176?curve25519
382950?599400?774225?surf127eps
957375?957375?1739925?nistp256
541125?1115550?4486560?sclaus1024
1039311?1939725?3796200?nist521gs
1498500?2056275?2872125?ed521gs
1758834?3257812?6368625?claus
2439225?3679650?5144850?sclaus2048

aarch64; A53+crypto (410fd034); 2016 Amlogic S905X; 4 x 1512MHz; lepotatoamls905xcc, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
421378421418421920kummer
469366469428469496curve25519
472032472306472790nistp256
603780606656608668surf127eps
105788110673051081255sclaus1024
305250730585323084285ed521gs
355846235623203585426nist521gs
517476952106545259810sclaus2048
637513263855366399878claus
Cycles to compute a shared secret
25%50%75%system
421288421306421468kummer
475747475759475878curve25519
602135604397608238surf127eps
104995910790701083797sclaus1024
158998815901231597162nistp256
304825530568333060699ed521gs
355635435624503566311nist521gs
517278452495095305320sclaus2048
633980663993596415571claus

armeabi; A53 (410fd034); 2016 Broadcom BCM2837; 4 x 1200MHz; unstable; rpi3b, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
368373399873420498kummer
511934536997566309curve25519
144461914867421582117nistp256
392854441227294726914sclaus1024
176975371833316019505902sclaus2048
231500722449719125776435claus
Cycles to compute a shared secret
25%50%75%system
371435388247413561kummer
510872536185565560curve25519
391048040002924075417sclaus1024
490766350501005170599nistp256
180054731843515819107529sclaus2048
252653742586974626363055claus

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

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
143092151868166536
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
142748147420161284
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-20211108

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

armeabi; Cortex-A17 (410fc0d1); 2014 Rockchip RK3288; 4 x 1800MHz; unstable; tinkerboards, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
249600253004258443kummer
336762338974348601curve25519
791779819580861360nistp256
889648900648911076sclaus1024
119535712263741258318surf127eps
456581846173684695739sclaus2048
534731154060745518546claus
Cycles to compute a shared secret
25%50%75%system
249810253380261147kummer
336562339414346077curve25519
888418911512931079sclaus1024
122977612551501279979surf127eps
275493428220702928463nistp256
456120746111644727109sclaus2048
536576254866685531147claus

armeabi; Cortex-A17 (410fc0d1); 2014 Rockchip RK3288; 4 x 1512MHz; unstable; tinkerboard, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
261532290595323203kummer
338086?411868?438368?curve25519
797554833486962534nistp256
906738920233935792sclaus1024
118742411927311199272surf127eps
533913553563325439375claus
523683354842345684342sclaus2048
Cycles to compute a shared secret
25%50%75%system
260459291273320152kummer
337918?401928?437315?curve25519
916814927206941386sclaus1024
118370011901121194014surf127eps
277816428439433237181nistp256
523362254595505629713sclaus2048
534023954613235480193claus

amd64; HW+AES (306f2); 2014 Intel Xeon E5-1630 v3; 4 x 3700MHz; unstable; wyvern1, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
413044194345140curve2251
462944684247469ecfp256e
45614?48544?67271?ecfp256h
485414896149326gls254
480414972053992ecfp256s
506575071450764gls254prot
513895508660736ecfp256q
619806213662356kummer
680476813068231k277taa
956359567995738k277mon
140707140789142429curve25519
192361192767193211ed448goldilocks
208603209423209965surf127eps
211732214245216361sclaus1024
215678?217406?281669?ecfp256i
344858344956345106nistp256
606812609337610387surf2113
106056510612631062282ed521gs
106113310709491077937sclaus2048
119137011921461192936nist521gs
148534014858371486980claus
Cycles to compute a shared secret
25%50%75%system
473484738147437gls254
505365056050610gls254prot
618126195662344kummer
679506800968077k277taa
955229556795635k277mon
151922151984152038curve25519
156072156240156563curve2251
199735199838199966ecfp256e
200999202742203216surf127eps
208245208470232616ecfp256q
212747?212936?269340?ecfp256i
213277214482215876sclaus1024
241462?241651?352723?ecfp256h
265915266196273184ecfp256s
596493596771597059ed448goldilocks
601475601818602940surf2113
888980889382889876nistp256
961584962428963024claus
106029910605951061873ed521gs
105398810828511086501sclaus2048
119125811919061192469nist521gs

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

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

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

armeabi; Cortex-A9+NEON (413fc090); 2012 Samsung Exynos 4412?; 4 x 1200MHz; artik, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
370745395407413969kummer
570503577254609728curve25519
163568817328591860288nistp256
414761445933424844743sclaus1024
181758441848175318786523claus
187264271981381221497901sclaus2048
Cycles to compute a shared secret
25%50%75%system
365675385180411494kummer
568456570241591894curve25519
442878247465385141685sclaus1024
529798755551955787440nistp256
184018361875837219012812claus
183577711904993320056702sclaus2048

amd64; Piledriver (610f01); 2012 AMD A10-4655M; 2 x 2000MHz; h9trinity, supercop-20200618

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

Cycles to generate a key pair
25%50%75%system
660166652368082curve2251
706577243775845ecfp256e
756377759581733ecfp256h
760657768881118ecfp256s
818688376287371ecfp256q
935749457595672gls254
107429107429107430gls254prot
142076142079142093k277taa
171607171643171791k298
179166179180179183curve25519
204241204269204301kummer
217271217277217307k277mon
350399352159354592ecfp256i
377589378186379075ed448goldilocks
385246386701387578surf127eps
437022442725450233sclaus1024
648914649098649407nistp256
691292693890695626surf2113
188114518837291890648ed521gs
215834121636102203359nist521gs
214793921644462178584sclaus2048
260719526140932624140claus
Cycles to compute a shared secret
25%50%75%system
853798580689805gls254
107215107216107217gls254prot
141877141884141889k277taa
171385171418171450k298
191394191420191432curve25519
204057204078204115kummer
217093217095217096k277mon
250621251955252587curve2251
328315328535329086ecfp256e
343804344135344705ecfp256q
347151347441347915ecfp256i
378557382495384400surf127eps
413162413312413641ecfp256h
432863433252433511ecfp256s
440132445787455090sclaus1024
682572685063692675surf2113
119569711957511196535ed448goldilocks
128083812808681281018nistp256
188282318829961883961ed521gs
215022821570352192115nist521gs
216354021937982196355sclaus2048
260076126042922608400claus

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

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

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

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

amd64; Bobcat (500f20); 2011 AMD E-450; 2 x 1650MHz; h4e450, supercop-20200618

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

Cycles to generate a key pair
25%50%75%system
109449111193113002ecfp256e
115891118151120825ecfp256s
118252120892123514ecfp256h
122422124996129290ecfp256q
163504165158167077gls1271
365223365251365807curve25519
445930447973451468ecfp256i
505970507494510150curve2251
544483545195546701ed448goldilocks
692774700706714319sclaus1024
819556820050820462nistp256
833093833235833644kummer
238265724017242422462ed521gs
273446627427502754734nist521gs
334847933787983415136sclaus2048
392924339581223983255claus
Cycles to compute a shared secret
25%50%75%system
365090365104365128curve25519
397542399228400320gls1271
414660414894415511ecfp256e
434511434777435271ecfp256q
443090443298443778ecfp256i
524096524333525074ecfp256h
526210526509527169ecfp256s
718989738801748338sclaus1024
832861832880833031kummer
157990715804111601876nistp256
160320616033721612269ed448goldilocks
210046421019892120215curve2251
239899724028442418305ed521gs
273277927330082750526nist521gs
343550934571933509623sclaus2048
401421040351824051873claus

amd64; K10 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
828478490288097ecfp256e
873088887792391ecfp256s
883059011794256ecfp256h
895339178395523ecfp256q
238724238727238732curve25519
297083299515301840sclaus1024
314702315917316595surf127eps
321694323675325575ecfp256i
337630338108340661ed448goldilocks
472373475992476666kummer
485674486564486599nistp256
856497860326861353surf2113
102632110300911031549curve2251
139688814083941418637sclaus2048
167415116749851679370ed521gs
176792817713931777694claus
201681120174092020821nist521gs
Cycles to compute a shared secret
25%50%75%system
239144239148239149curve25519
291717291739291792ecfp256e
298261299226302128sclaus1024
302451302815302846ecfp256q
308558313577313988surf127eps
321335321658321699ecfp256i
369854369951370023ecfp256s
376309376354376389ecfp256h
475200475496475854kummer
847632858269858880surf2113
102224910232541029254curve2251
103074710311991031216ed448goldilocks
107877010787741078778nistp256
139129214270321430826sclaus2048
167339816739301675583ed521gs
175970617634231775993claus
201534020165672017081nist521gs

amd64; Atom (30661); 2011 Intel Atom D2500; 2 x 1866MHz; h8atom, supercop-20200618

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

Cycles to generate a key pair
25%50%75%system
233016235214237797ecfp256e
246855247401250768curve2251
253099256571258552ecfp256s
260533262661266770ecfp256h
262738265335269241ecfp256q
109660610966201097362curve25519
112107111251801130094surf127eps
114781111523261163400ecfp256i
132122913224191326857ed448goldilocks
159398416087051621592surf2113
175029417504971766856kummer
173889817570141774857sclaus1024
194601419465461968519nistp256
710050671009617108787ed521gs
847858284797938493079nist521gs
865416387315278809857sclaus2048
105802901063801210673810claus
Cycles to compute a shared secret
25%50%75%system
100886810098201012858curve2251
108331310834111085161ecfp256e
109643110964311096543curve25519
111706711195871122534surf127eps
112763011277631130241ecfp256q
115263411527321154223ecfp256i
135137813514901353226ecfp256s
143796814381011439431ecfp256h
158785215883421608544surf2113
175014717502171750497kummer
175072817570561773695sclaus1024
397588139969723997700nistp256
450515145227564523309ed448goldilocks
709822470984277099652ed521gs
847598584765598478393nist521gs
872744687932328831109sclaus2048
106399651066627110687803claus

amd64; Sandy Bridge (206a7); 2011 Intel Core i3-2310M; 2 x 2100MHz; h6sandy, supercop-20200618

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

Cycles to generate a key pair
25%50%75%system
887689049293372ecfp256e
900769422096448ecfp256h
62592?97464?98308?curve2251
62956?97732?100704?ecfp256s
68272?107684?113584?ecfp256q
129164134368136208kummer
116456?178476?188488?gls254
114376?179180?185012?gls254prot
152712?265100?277808?curve25519
265960277836288416k277taa
182960?282356?290508?k298
387580399684404956ed448goldilocks
276600?401388?427304?k277mon
267104?409976?423076?ecfp256i
428868440820444448surf127eps
519540542096565092sclaus1024
755328758404764656nistp256
131677613752161409380surf2113
1267424?2356904?2415488?ed521gs
254578427063442807096sclaus2048
1537716?2775536?2828616?nist521gs
2364472?3205432?3298160?claus
Cycles to compute a shared secret
25%50%75%system
129292134356136008kummer
115276?177420?184452?gls254
114396?180260?215364?gls254prot
263516279608288208k277taa
245364282104290140k298
164676?299076?299896?curve25519
355472370724378228curve2251
256100?395856?424040?ecfp256e
261228?402868?444592?ecfp256i
389840403848427996k277mon
423372435000437800surf127eps
265028?442068?443916?ecfp256q
308392?467372?506348?ecfp256h
501068518584544828ecfp256s
523836560036562760sclaus1024
114217211850921206736ed448goldilocks
129146813282681380048surf2113
153590816279321633296nistp256
231040823856762435704ed521gs
260964827229842819684sclaus2048
235492828000762865800nist521gs
2542272?3223840?3282100?claus

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

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

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

ppc32; G3 (G3); 2006 IBM PowerPC Broadway; 1 x 729MHz; nintendowiilinuxngx, supercop-20191221

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

Cycles to generate a key pair
25%50%75%system
154759215526681558584kummer
263542826462762734368nistp256
336883233748203460836curve25519
424074484441971644586084claus
Cycles to compute a shared secret
25%50%75%system
160569616093321614516kummer
338188833870603478356curve25519
8636760?10661148?12581784?nistp256
423657124435256444515572claus

Version

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