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

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; 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; Zen2 (830f10); 2019 AMD EPYC 7702; 64 x 2000MHz; genji346, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
341803470036720ecfp256e
349203532035780ecfp256h
370803748037900ecfp256s
388603926039660ecfp256q
393203942039640curve2251
441404432044380gls254
462004636046440gls254prot
580405810058120k277taa
577805822058300kummer
656406588066080k298
843408452084740k277mon
134260134400134680curve25519
144600145160145660surf127eps
157580158440159660ecfp256i
195840196460196980ed448goldilocks
203460205500207600sclaus1024
203960213340224460hector
228240228880229580nistp256
444680448540462260surf2113
746220749300770540ed521gs
926660933000959440nist521gs
102248010417001060520claus
110260011148801134540sclaus2048
Cycles to compute a shared secret
25%50%75%system
439604398044040gls254
463204636046380gls254prot
577405792058240kummer
578805810058300k277taa
654606558065780k298
845408464084760k277mon
134540134580134820curve25519
139820140120141500surf127eps
146520146640146780ecfp256e
153980154120154420ecfp256i
156740156800156900ecfp256q
156760156880157600curve2251
179840180780181460ecfp256h
202340207160208580sclaus1024
212320212420212540ecfp256s
446560447640448760surf2113
472560473660477120ed448goldilocks
579080580620592760nistp256
701700708660717820hector
745880746960766460ed521gs
927220934500958820nist521gs
99986010145001030400claus
110476011176601135440sclaus2048

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

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 6248; 20 x 2500MHz; pmnod076, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
363323669037376gls254
375343757437622gls254prot
386063920843334curve2251
427784386446854ecfp256e
448404488244932k277taa
453824729252482ecfp256h
467684825853874ecfp256s
487024873848796kummer
509925107651186k298
490785126658628ecfp256q
609546103661270k277mon
709847191472878gls1271
126758127090127284curve25519
179776181380182952sclaus1024
187542188118189078surf127eps
187820188146188564ed448goldilocks
192200193386194552ecfp256i
231004239018249878hector
282984283194283472nistp256
480278483384486958surf2113
816594817876831400ed521gs
898438906474917604sclaus2048
944186950648971816nist521gs
979706980924994720claus
Cycles to compute a shared secret
25%50%75%system
350463507035102gls254
374403747037504gls254prot
447564478044824k277taa
486344867048716kummer
508125086650930k298
595125954659576k277mon
135868135988136142curve25519
142136143690144914curve2251
177644177848178154ecfp256e
175898178164178858gls1271
180666181250182020surf127eps
182584184242185220sclaus1024
186932187084187348ecfp256q
187496187660187908ecfp256i
220520220716221066ecfp256h
241214241378241664ecfp256s
474902478896483134surf2113
486108486692487766ed448goldilocks
581478584608586142nistp256
789340794220805482hector
816084816720824070ed521gs
895746900998906338sclaus2048
943870944754953102nist521gs
970582972140978386claus

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; ThunderX2 (431f0af1); 2018 Cavium ThunderX2 CN9980; 64 x 2500MHz; pmnod145, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
235675237350240450curve25519
287925288000293025kummer
383275386400389650surf127eps
511800514700521875nistp256
511025517300522475sclaus1024
156417515925001604400ed521gs
199427520025752026225nist521gs
250922525364502569925sclaus2048
307050030844753098375claus
Cycles to compute a shared secret
25%50%75%system
235775237000239500curve25519
285300285350289125kummer
311325316000320875surf127eps
498725513150520025sclaus1024
876350881825889175nistp256
156275015895501600525ed521gs
201297520177002028625nist521gs
251415025283502539450sclaus2048
309667531115253125750claus

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; 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; Zen (800f12); 2018 AMD EPYC 7371; 16 x 3100MHz; unstable; temp, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
209872238225079jacfp127i
218862362224676kumjacfp127g
25265?27156?31589?hecfp127i
301323193036053jacfp128bk
336663372834069curve2251
366423713840796ecfp256q
380373958741354prjfp127i
431834563247709hecfp128bk
456014758550437hecfp128i
483294894952483ecfp256s
488254935250747ecfp256e
487325009651863prjfp128bk
535375666858714hecfp128fkt
591485998562837ecfp256h
654416640267053gls254
704947064970866gls254prot
713007148671796k277mon
824918301883452k277taa
823368329784165gls1271
797638332884196kummer
92411101711102145k298
108810114731114824kumfp128g
128867129301129828kumfp127g
181381181567181753curve25519
188015194525203391hector
231942233802235104ecfp256i
240560241521242730surf127eps
255812256866287122ed448goldilocks
261547262043263035nistp256
333591337559342209sclaus1024
638445?759004?812479?surf2113
965557972780979693sclaus2048
1010662?1014258?1394349?nist521gs
1093215?1097586?1510289?claus
856747?1298683?1446739?ed521gs
Cycles to compute a shared secret
25%50%75%system
596135986161256gls254
703707049470742gls254prot
717037173471765k277mon
792367973280755kummer
825228283283297k277taa
834218494087730jacfp128bk
867388676986831kumjacfp127g
92194101494101866k298
113677113739120001kumfp128g
132122132525132928kumfp127g
133114133641134199curve2251
133641134323134664jacfp127i
145762146165146475hecfp128bk
148025148521148924ecfp256q
157356160487167617prjfp128bk
169477170531171151hecfp127i
186372188077189565hecfp128fkt
197315197780199702curve25519
207204210645212474gls1271
216535217000217806ecfp256e
230609231570232159ecfp256i
231632232066232624surf127eps
263965265763266228ecfp256s
252185286657288951prjfp127i
308357309938310465ecfp256h
322462323206324632hecfp128i
293229344596348099sclaus1024
632152?638600?792112?surf2113
646257648086656177hector
667058668236669011nistp256
770412774256868899ed448goldilocks
857274?859010?1294467?ed521gs
976159981367982111sclaus2048
1009949?1012646?1390753?nist521gs
1086705?1089867?1503810?claus

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

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-8809G; 4 x 3100MHz; intelnuci8, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
365953674737078gls254
382683843639264curve2251
386863873738783gls254prot
420124257243876ecfp256e
456224566045689k277taa
450574571947480ecfp256h
472654769748676ecfp256s
499875010450560kummer
498905073053036ecfp256q
523375241052493k298
673386802768524gls1271
700027004370105k277mon
125122125314125636curve25519
152779152909153125ed448goldilocks
180082181539183345sclaus1024
181384182192182844surf127eps
189324190283191396ecfp256i
210026212371228316hector
234115234270234454nistp256
491144493167494142surf2113
809515809781810175ed521gs
893970900483907453sclaus2048
936365936615936977nist521gs
105721810597651062762claus
Cycles to compute a shared secret
25%50%75%system
356543569335744gls254
384343848838534gls254prot
453694539845424k277taa
499995029050441kummer
520805215652259k298
699326997870007k277mon
134700135013135383curve25519
144688144778144911curve2251
171306172382174867gls1271
174701174870175099ecfp256e
176885177403177808surf127eps
179179182432184893sclaus1024
184762184881185062ecfp256i
187679187844188080ecfp256q
217365217524217730ecfp256h
237485237650237827ecfp256s
455501455739456087ed448goldilocks
489708490853491176surf2113
576705576870577053nistp256
711896716273717965hector
809003809229809453ed521gs
902837906505908277sclaus2048
936057936262936496nist521gs
106077310637641134531claus

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

amd64; CannonLake (60663); 2018 Intel Core i3-8121U; 2 x 2200MHz; cannon, supercop-20190910

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

Cycles to generate a key pair
25%50%75%system
363043660237038gls254
378983794237988gls254prot
385323874639612curve2251
387703951041468ecfp256e
400804087243620ecfp256h
452124525045290k277taa
450604549046538ecfp256s
449224586848072ecfp256q
485344857848632kummer
703687042670498k277mon
125900126116126852curve25519
152640152894153228ed448goldilocks
181752182454183112surf127eps
186870187890189106ecfp256i
226500229444236756sclaus1024
243492243700244164nistp256
476604478634480600surf2113
805254805598808206ed521gs
931368931734934632nist521gs
111383211236701134158sclaus2048
130070013170461330084claus
Cycles to compute a shared secret
25%50%75%system
350063504235092gls254
378063784437888gls254prot
451084514845182k277taa
484644850448556kummer
702467029670348k277mon
136770137024138494curve25519
146342146760146960curve2251
177024177248177568ecfp256e
178662178992179442surf127eps
182506182646182886ecfp256i
182416182654182896ecfp256q
216658216842217138ecfp256h
227540233304234520sclaus1024
237840238064238336ecfp256s
457942458238458576ed448goldilocks
466638475756476874surf2113
599714600066601474nistp256
806688806892807434ed521gs
931126931326932176nist521gs
111549211201641127016sclaus2048
130527613089001319036claus

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 7601; 64 x 2200MHz; unstable; genji262, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
383463911640392ecfp256e
399744015041646curve2251
409644127241888ecfp256h
456284573846024gls254
450784602450776ecfp256s
461564655247982ecfp256q
476964776247828gls254prot
586085904859202k277taa
657146589066242k298
865268668089298k277mon
100848100936101024kummer
144518144562144672curve25519
188518189288190278surf127eps
185658?196482?244332?ecfp256i
209858210320211090ed448goldilocks
232144234586238084sclaus1024
218350?242924?320628?hector
259380263384296582nistp256
464508491766561704surf2113
865018868890891594ed521gs
109018811057201119690nist521gs
119653612154561237544sclaus2048
139781414164261472900claus
Cycles to compute a shared secret
25%50%75%system
452984543045496gls254
475644758647630gls254prot
584765882859158k277taa
655826571466154k298
863948650486768k277mon
100870100892100980kummer
157190157432158972curve25519
159610160072160930curve2251
174218176330191488ecfp256e
183172183458183700ecfp256q
184536185174186054surf127eps
183194?191708?239888?ecfp256i
216744216876217206ecfp256h
231418232188234872sclaus1024
235994236170239954ecfp256s
461626530002567050surf2113
569294576004588720ed448goldilocks
651860665500734800nistp256
726242?770484?962060?hector
864556866580883762ed521gs
109071611017821110362nist521gs
120483012114301226852sclaus2048
140632814207381586090claus

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

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

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; CoffeeLake (906ea); 2017 Intel Core i7-8700; 6 x 3200MHz; bitvise, supercop-20190910

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

Cycles to generate a key pair
25%50%75%system
371533740137645gls254
383603849139378curve2251
389813904439114gls254prot
423484305244426ecfp256e
461194617446234k277taa
457094646548399ecfp256h
481664862149421ecfp256s
502405029650365kummer
502215071151226ecfp256q
534305353153682k298
688196963470313gls1271
718007187872323k277mon
125689126529126771curve25519
153301153507153724ed448goldilocks
181555183516185595sclaus1024
184439185202185698surf127eps
191121192594194025ecfp256i
211575221515231912hector
235120235337235716nistp256
492723494914495580surf2113
813442813704814659ed521gs
896567903866912294sclaus2048
942901943375944140nist521gs
106697810705271175293claus
Cycles to compute a shared secret
25%50%75%system
359223599936057gls254
387273878538850gls254prot
459054595346000k277taa
51032?51127?72676?kummer
531695334353486k298
716917176071934k277mon
135195135785136017curve25519
144303144380144466curve2251
175011175463176283gls1271
177255177418177535ecfp256e
181482181770182097surf127eps
183405185275187528sclaus1024
187149187338187506ecfp256q
185965188130188356ecfp256i
221642221820222118ecfp256h
240344240533240815ecfp256s
457410457626457955ed448goldilocks
485454488892492943surf2113
580003580178580382nistp256
720600723887728254hector
813059813307813726ed521gs
906995911594918712sclaus2048
942531942930943631nist521gs
106061410745131075755claus

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

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; intelnuci7, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
381003835038682gls254
400264007040132gls254prot
400024019441120curve2251
437104478846702ecfp256e
471944725047300k277taa
469924815450446ecfp256h
486264952051478ecfp256s
497105076253004ecfp256q
518285220652404kummer
542605435654444k298
723907246272512k277mon
739007463275648gls1271
129232129492129744curve25519
158214158468158870ed448goldilocks
186016187920190128sclaus1024
187648188192188852surf127eps
195728196846198414ecfp256i
220490230428241958hector
242246242452242742nistp256
508272510796511858surf2113
837486837844839470ed521gs
924934933362943282sclaus2048
968858969198970598nist521gs
109730011014021112962claus
Cycles to compute a shared secret
25%50%75%system
368823694037010gls254
397643982639898gls254prot
469204696647004k277taa
517105183852286kummer
540905418454288k298
723327238672462k277mon
139412139716140340curve25519
148634150622151426curve2251
180744180942181332ecfp256e
184038184466184790surf127eps
184742185602187266gls1271
188512190502192180sclaus1024
191238191418191686ecfp256i
191646191868192372ecfp256q
226382226586226844ecfp256h
249434249664250190ecfp256s
471436471814472190ed448goldilocks
505478507880508724surf2113
596554596748596946nistp256
741500745948751094hector
836864837174840452ed521gs
931474942158967546sclaus2048
968464968956971160nist521gs
110141611346501230486claus

amd64; Goldmont (506f1); 2017 Intel Atom C3955; 16 x 2100MHz; scw1b63b1, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
513325163452092ecfp256e
542825433054804curve2251
541485445854822ecfp256h
568265726257948ecfp256s
610686151862658ecfp256q
613906257863468gls254
781827821678266gls254prot
100094101078101904gls1271
109454109460109490k277taa
129198129228129300k298
160618160618160620k277mon
238976238976238978curve25519
268384270308272084ecfp256i
297594297670298070ed448goldilocks
306468311868322160hector
347324349434354680surf127eps
353728353732354480kummer
366894371866376218sclaus1024
480272480758481784nistp256
664410667284669660surf2113
169439016963421724596ed521gs
177601417955961815048sclaus2048
192147019222161953432nist521gs
222453422360382255476claus
Cycles to compute a shared secret
25%50%75%system
586685942260144gls254
780427805478056gls254prot
109198109200109204k277taa
128978129024129076k298
160576160576160578k277mon
207952208508208748curve2251
238948238950238952curve25519
252078254290255436gls1271
254910255846256490ecfp256e
268128269064270602ecfp256i
273720274782274888ecfp256q
314460316874317016ecfp256h
343730346216350150surf127eps
347882350190351302ecfp256s
352538352708352848kummer
367740371544377374sclaus1024
659978661792662972surf2113
987450987452988120ed448goldilocks
102948010386161053200hector
108184810822961096862nistp256
169408016946381723810ed521gs
177044617782541791178sclaus2048
192124219215001951408nist521gs
223171622419662263404claus

amd64; SL+512x2 (50654); 2017 Intel Xeon Gold 6148; 40 x 2400MHz; genji548, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
354143548235586gls254
380823825438678curve2251
376224061446858gls254prot
423124290043520ecfp256e
44652?44968?60762?k277taa
450944606452526ecfp256h
463404741653948ecfp256s
484264931250970ecfp256q
51068?51240?69844?k298
604406081260870k277mon
53226?62378?70358?kummer
178894180604183080sclaus1024
177240?188574?305414?ed448goldilocks
127428?192382?193260?curve25519
190782192440194130ecfp256i
187962?207522?235086?surf127eps
286716287164312070nistp256
482868?496736?1008528?surf2113
820194841732915530ed521gs
9811909989421012912claus
9462609991961056756nist521gs
940426?1029486?1597820?sclaus2048
Cycles to compute a shared secret
25%50%75%system
350683511035238gls254
374123746646558gls254prot
44540?44846?60588?k277taa
48688?48808?64338?kummer
50868?50950?69520?k298
594485947459532k277mon
143936144286144614curve2251
177412177618177924ecfp256e
180896182508205200surf127eps
180228182654189450sclaus1024
186840187020187286ecfp256q
185232187566187904ecfp256i
136216?206548?207872?curve25519
220702233830253000ecfp256h
239564241372282860ecfp256s
481172?500732?1008350?surf2113
486798?528026?886012?ed448goldilocks
582476583564636266nistp256
819748836328900272ed521gs
936400?956352?1563016?sclaus2048
9449209679761057026nist521gs
973382978276994170claus

amd64; SL+512x2 (50654); 2017 Intel Xeon Gold 6148; 20 x 2400MHz; pmnod003, supercop-20190910

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

Cycles to generate a key pair
25%50%75%system
363783688237348gls254
375683760237630gls254prot
381123852242730curve2251
427684368446054ecfp256e
448624490644974k277taa
454804769653782ecfp256h
487204876048818kummer
468304890256320ecfp256s
509705104451154k298
488645125057580ecfp256q
616146166461746k277mon
709587201272846gls1271
127018127136127296curve25519
176096176276176532ed448goldilocks
179538182724203010sclaus1024
186972187692188408surf127eps
191824192870194372ecfp256i
230480240290252308hector
283364283862285094nistp256
478894481090486078surf2113
816184817058829074ed521gs
901500916748966206sclaus2048
944540945252959902nist521gs
979488981474999218claus
Cycles to compute a shared secret
25%50%75%system
350383506235088gls254
374483747837504gls254prot
447744480644844k277taa
486464868448736kummer
508305087850932k298
595325956259600k277mon
135758135974136124curve25519
144372144452144546curve2251
177534177704177934ecfp256e
177578179894180754surf127eps
180782181508182814gls1271
181166185732195662sclaus1024
186762186940187220ecfp256q
187394187574187784ecfp256i
220376220554220836ecfp256h
241056241272241442ecfp256s
476378478784481868surf2113
485796486132486842ed448goldilocks
582242582546588742nistp256
789228795896804024hector
815794816210827234ed521gs
904520916628974902sclaus2048
944138944902957040nist521gs
970436972108983692claus

amd64; SL+512x2 (50654); 2017 Intel Xeon Gold 6130; 32 x 2100MHz; genji239, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
353163542635720gls254
375383762641660gls254prot
38038?38572?50202?curve2251
421064261043116ecfp256e
448444489044950k277taa
446644519645990ecfp256h
46278?47036?66832?ecfp256s
48172?49274?74032?ecfp256q
510185109851200k298
48794?53886?63226?kummer
608246091073778k277mon
126998127340140714curve25519
179470181634194804sclaus1024
192104192396192878ed448goldilocks
191844193038194742ecfp256i
187998?193564?333240?surf127eps
283562?299554?531694?nistp256
479452483578504404surf2113
818382840946869522ed521gs
907224922222954970sclaus2048
943826953554962450nist521gs
9805209977761024004claus
Cycles to compute a shared secret
25%50%75%system
348543505835138gls254
373783745037656gls254prot
447604480244844k277taa
486624871051706kummer
508025088050978k298
595105962472314k277mon
135156135910136140curve25519
142256?144654?178866?curve2251
177382177668178276ecfp256e
179216180780184728sclaus1024
180306?182536?326476?surf127eps
185386?187216?294592?ecfp256q
187450187680188086ecfp256i
220654221002236014ecfp256h
239582?241572?374742?ecfp256s
474630478108492692surf2113
486028486594504776ed448goldilocks
582444?601618?1162922?nistp256
816848839742871206ed521gs
918560926580944366sclaus2048
943572956140965296nist521gs
973352985692994292claus

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 Rockchip RK3399; 4 x 1400MHz; unstable; rockpi4, supercop-20190816

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

Cycles to generate a key pair
25%50%75%system
205261?209391?428694?kummer
327096328748332878surf127eps
485688486514509642nistp256
495187495600496426curve25519
499317?1058106?1075452?sclaus1024
1575595?3275090?3283350?ed521gs
379547038041433827684nist521gs
2462306?5204213?5326461?sclaus2048
2969883?6384980?6429171?claus
Cycles to compute a shared secret
25%50%75%system
206087?206500?427868?kummer
319662320488321314surf127eps
495187495600496013curve25519
486101?1051085?1056867?sclaus1024
163341516346541662325nistp256
1578073?3272612?3282111?ed521gs
379381838016653819837nist521gs
2461480?5192236?5307463?sclaus2048
2966579?6403565?6445278?claus

aarch64; A53+crypto (410fd034); 2016 Marvell ARMADA 3720; 2 x 1000MHz; unstable; supercoplxc, supercop-20190816

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

Cycles to generate a key pair
25%50%75%system
436880437040437440kummer
577200577440584800curve25519
577200578000580480nistp256
384048039013603971520ed521gs
450848045548804621200nist521gs
Cycles to compute a shared secret
25%50%75%system
436560436640436720kummer
585280585280586960curve25519
193456019385602004160nistp256
383608038967203992800ed521gs
446632045218404584320nist521gs

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

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

Cycles to generate a key pair
25%50%75%system
307360?345780?391884?kummer
373870374176455680curve25519
455744?537878?598164?surf127eps
754953835635930940sclaus1024
514492?847161?888668?nistp256
1065600?2037210?2841399?ed521gs
279505528853423450116nist521gs
2549074?3653742?5634293?sclaus2048
4875981?6975151?7881840?claus
Cycles to compute a shared secret
25%50%75%system
330412349622391884kummer
373870374176460130curve25519
427260?526185?598164?surf127eps
674271?801057?899028?sclaus1024
1028984?1584825?1613634?nistp256
1073925?2037210?2841399?ed521gs
2428144?2568377?3448195?nist521gs
2841399?3236885?5590110?sclaus2048
4864288?7792840?8417822?claus

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

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

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; A57+crypto (418fd071); 2015 NVIDIA Tegra X1; 4 x 1734MHz; jetsontx1, supercop-20191017

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

Cycles to generate a key pair
25%50%75%system
242797242964243737kummer
333526333779333877curve25519
362900363054363849nistp256
424573426120427790surf127eps
626342632272639812sclaus1024
196839319744052001660ed521gs
242555724344262451766nist521gs
316521531927883223622sclaus2048
378044837917983815365claus
Cycles to compute a shared secret
25%50%75%system
242645242707242867kummer
333424333433333804curve25519
417417420741421243surf127eps
635160640061647970sclaus1024
124902612495111262473nistp256
196821819695511988722ed521gs
242406724262422444617nist521gs
318383232057933223610sclaus2048
378299837902803808321claus

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
461004714548170
T:
jacfp127i
471184795049024
T:
kumjacfp127g
527965387654987
T:
prjfp127i
534175431655076
T:
hecfp127i
659126681470757
T:
curve2251
685816938970353
T:
jacfp128bk
734107627981106
T:
ecfp256e
777488055084637
T:
ecfp256s
773318100785287
T:
ecfp256h
803158117282533
T:
hecfp128bk
804778131882808
T:
prjfp128bk
810528196183041
T:
hecfp128fkt
822718318984176
T:
hecfp128i
839368741191487
T:
ecfp256q
933959489696161
T:
gls254
107655107697107769
T:
gls254prot
117437118648119690
T:
gls1271
142313142333142355
T:
k277taa
159355159479159894
T:
kumfp127g
171680171726171860
T:
k298
179331181606181794
T:
curve25519
202992203022203058
T:
kummer
217405217418217455
T:
k277mon
261277265787265843
T:
kumfp128g
351225352939355325
T:
ecfp256i
377585378871386642
T:
ed448goldilocks
386455388164389151
T:
surf127eps
438259442260446850
T:
sclaus1024
648972649222661276
T:
nistp256
690544692601699161
T:
surf2113
188160818834481886231
T:
ed521gs
215890621625392168021
T:
nist521gs
215122221690022187264
T:
sclaus2048
260084326067132612766
T:
claus
Cycles to compute a shared secret
25%50%75%system
885018892589105
T:
gls254
107508107510107512
T:
gls254prot
142212142213142216
T:
k277taa
164220164226164271
T:
kumfp127g
164428164509166351
T:
kumjacfp127g
171608171634171662
T:
k298
191527191555194217
T:
curve25519
202940202948202973
T:
kummer
203739203909203995
T:
jacfp128bk
217361217363217366
T:
k277mon
245590247564248423
T:
curve2251
253871254080254273
T:
prjfp128bk
258106258377258469
T:
hecfp128bk
270157270230270325
T:
hecfp128fkt
271437271593271769
T:
jacfp127i
272181272183272185
T:
kumfp128g
282278294536296993
T:
gls1271
329349329476329664
T:
ecfp256e
345418345668346042
T:
ecfp256q
347884348442348881
T:
ecfp256i
367227368474369120
T:
hecfp127i
368056368491368606
T:
prjfp127i
385722386157386608
T:
surf127eps
414861415146415410
T:
ecfp256h
434457434848435269
T:
ecfp256s
439591442945462186
T:
sclaus1024
576671?576917?1769522?
T:
hecfp128i
683963688627700029
T:
surf2113
118959111923941209133
T:
ed448goldilocks
128189012819141281943
T:
nistp256
187948718822051884042
T:
ed521gs
215146521554022156588
T:
nist521gs
215337821898162201946
T:
sclaus2048
261163326160882618200
T:
claus

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

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

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

amd64; SB+AES (206d7); 2012 Intel Core i7-3820; 4 x 3600MHz; unstable; gpu, supercop-20190816

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

Cycles to generate a key pair
25%50%75%system
9228393573100008curve2251
113835116463129093gls254
123342126930133623kummer
180480183168184005gls254prot
256116256593257385curve25519
274968278925287892k298
305532312795316368k277taa
386472387882426831ed448goldilocks
410292417105427893surf127eps
408231462789470145k277mon
516225585624594711sclaus1024
575472633741639831nistp256
221535022846772449932ed521gs
246860425247402890488sclaus2048
240753326454122710071nist521gs
309694231322943167280claus
Cycles to compute a shared secret
25%50%75%system
109782110388124680gls254
125034126579140850kummer
180204182940183705gls254prot
274326278529284001k298
278703281076285519curve25519
310722313077316512k277taa
344796355092357249curve2251
405654411042421056surf127eps
394773461526468435k277mon
514641593061606756sclaus1024
115261811715121196217ed448goldilocks
184210819024832155605nistp256
222036322687652364255ed521gs
250373125320362863134sclaus2048
2353842?2677383?3122322?nist521gs
307917331138653123960claus

x86; normally amd64; SB+AES (206d7); 2012 Intel Core i7-3820; 4 x 3600MHz; unstable; gpu, supercop-20190816

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

Cycles to generate a key pair
25%50%75%system
438015475413533625k277mon
114832811886781253322sclaus1024
1276083?1381257?1620291?nistp256
141564015560161564257kummer
157043716419391805136surf2113
176592619372921973526curve25519
198983720444162080428curve2251
1589310?2080371?2099817?ed448goldilocks
209287221792152201580surf127eps
609802262170446538605sclaus2048
664099867714776874044claus
Cycles to compute a shared secret
25%50%75%system
436872468885533517k277mon
122065212677941312755sclaus1024
142041915549781563405kummer
156864916486531798329surf2113
161908818340591937040curve25519
200368820606702092929curve2251
208974921387932156367surf127eps
458088647711554872306nistp256
623565362863416316977sclaus2048
655803067468836886509claus
691524969781777059450ed448goldilocks

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
148102414810281483276
T:
kummer
200234420023802006758
T:
curve25519
345260634649963497734
T:
nistp256
485505448703744959898
T:
surf127eps
897864490713649159136
T:
sclaus1024
446096204488060445178428
T:
sclaus2048
545385465464118254770606
T:
claus
Cycles to compute a shared secret
25%50%75%system
148065414806641481378
T:
kummer
200198420019842003406
T:
curve25519
483212848583644924432
T:
surf127eps
893150690145629203622
T:
sclaus1024
115928921162186011653454
T:
nistp256
449255804536723845798404
T:
sclaus2048
545125605458005854652386
T:
claus

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; Westmere+AES (206c2); 2010 Intel Xeon X5650; 6 x 2666MHz; unstable; devoptimis, supercop-20190910

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

Cycles to generate a key pair
25%50%75%system
9479197612102646ecfp256e
99462102369106008ecfp256h
105914110367115055ecfp256s
109600113432117228curve2251
113540116920121800ecfp256q
182542189262195044gls254
188942194788202440gls254prot
272367287380304388k277taa
385105398701413413k277mon
465009493948528098ecfp256i
497576507822529240surf127eps
531839539597562276curve25519
548473561052578528kummer
566862588131624344ed448goldilocks
667230674913704664nistp256
705243744435772812sclaus1024
139166814294541471104surf2113
258351727120892813132ed521gs
265863727331502815444nist521gs
326686133692383677061sclaus2048
398969741632224256810claus
Cycles to compute a shared secret
25%50%75%system
182190188041194361gls254
186739193710199864gls254prot
258333268290278673k277taa
392584409408438945k277mon
417849421935441008curve2251
444009456098477520ecfp256e
450033459646478020ecfp256i
450776464548480848ecfp256q
503541506462529588surf127eps
533398539256561519curve25519
535298561906609736ecfp256h
546696563873584788ecfp256s
556777592969652225kummer
748468769742791992sclaus1024
136965014042521456541surf2113
184309018803261945762ed448goldilocks
229312723452072418188nistp256
242963224834432562715ed521gs
290499729926963075441nist521gs
328275734192703891341sclaus2048
399265141500414281554claus

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

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

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.06.06 of the results-dh.html web page. This web page is in the public domain.