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

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

Cycles to generate a key pair
25%50%75%system
337343515539802
T:
curve2251
378263799538008
T:
gls254prot
372723827438659
T:
gls254
467504677046841
T:
k277taa
476974775247905
T:
kummer
527445287253245
T:
k298
540195499656224
T:
gls1271
736497369373773
T:
k277mon
102507102661102824
T:
curve25519
139792140126140514
T:
surf127eps
156767157050157379
T:
ed448goldilocks
200647202727204578
T:
sclaus1024
209722210036210198
T:
nistp256
367234369072370210
T:
surf2113
757107758860764001
T:
ed521gs
872057875803876158
T:
nist521gs
100644510150731020480
T:
sclaus2048
119862812011361204247
T:
claus
Cycles to compute a shared secret
25%50%75%system
353323536835374
T:
gls254
378513789837931
T:
gls254prot
467024674546836
T:
k277taa
478424789748070
T:
kummer
525905267552753
T:
k298
736187368873725
T:
k277mon
110876110972111112
T:
curve25519
126036129335132317
T:
gls1271
129803131087131198
T:
curve2251
135835136451136730
T:
surf127eps
202626205515206705
T:
sclaus1024
363140363460363827
T:
surf2113
517434518481518742
T:
ed448goldilocks
563375563907564446
T:
nistp256
758675758870760360
T:
ed521gs
872278873146874983
T:
nist521gs
101862610200251021087
T:
sclaus2048
119823611998721202629
T:
claus

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

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

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
248671248718248899
T:
kummer
349428350528350530
T:
curve25519
369706373763373894
T:
nistp256
421516423228424835
T:
surf127eps
596586601454607959
T:
sclaus1024
195658119578831967423
T:
ed521gs
239786524092292436610
T:
nist521gs
298578730084743033932
T:
sclaus2048
359854636082593626566
T:
claus
Cycles to compute a shared secret
25%50%75%system
248844248852249089
T:
kummer
350476351136351136
T:
curve25519
401757407720409762
T:
surf127eps
595686604209604345
T:
sclaus1024
129635213075201307797
T:
nistp256
195722819576121974231
T:
ed521gs
239671324073692430056
T:
nist521gs
295991329935833008120
T:
sclaus2048
360263136109603620952
T:
claus

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

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

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

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

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

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

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

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

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

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

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
968400969442976609
T:
claus
978281979937982372
T:
nist521gs
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
965273965981973616
T:
claus
978963980355982574
T:
nist521gs

amd64; IceLake (706e5); 2019 Intel Core i3-1035G1; 4 x 1000MHz; icelake2, supercop-20221005

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

Cycles to generate a key pair
25%50%75%system
294222962629829
T:
gls254
315353159731656
T:
gls254prot
356823592536460
T:
curve2251
383873849338628
T:
k277taa
419144215642522
T:
k298
496314972949925
T:
kummer
551485524155618
T:
k277mon
635416461665455
T:
gls1271
121235121421121705
T:
curve25519
145378145817146240
T:
ed448goldilocks
167451169019171086
T:
surf127eps
210381213080215609
T:
sclaus1024
229401230861233076
T:
nistp256
393994396192398488
T:
surf2113
794593796389798799
T:
ed521gs
960681964206967325
T:
nist521gs
107529210887261104624
T:
sclaus2048
126261112669811272519
T:
claus
Cycles to compute a shared secret
25%50%75%system
288282887928947
T:
gls254
314583151831670
T:
gls254prot
382633836838587
T:
k277taa
415914182342184
T:
k298
495244961549793
T:
kummer
550675515755384
T:
k277mon
130070130318130992
T:
curve25519
140066140553140999
T:
curve2251
158547160294161947
T:
gls1271
163805165182167813
T:
surf127eps
212667213688216268
T:
sclaus1024
391304393743396581
T:
surf2113
469404470206471471
T:
ed448goldilocks
596086598954603025
T:
nistp256
794467795618798066
T:
ed521gs
959187961357964090
T:
nist521gs
108706910915971115555
T:
sclaus2048
126428812689701273171
T:
claus

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
251475251550251550
T:
curve25519
319800319875319875
T:
kummer
359250360450361950
T:
surf127eps
417525421425424050
T:
sclaus1024
446475446550446700
T:
nistp256
155130015513001552725
T:
ed521gs
189360018936001893825
T:
nist521gs
201180020301002043075
T:
sclaus2048
247260024780752484300
T:
claus
Cycles to compute a shared secret
25%50%75%system
251475251475251475
T:
curve25519
319800319800319800
T:
kummer
351900355200356325
T:
surf127eps
413550422550428775
T:
sclaus1024
999150999150999150
T:
nistp256
155160015516001551600
T:
ed521gs
189330018933001893375
T:
nist521gs
203265020349002041575
T:
sclaus2048
247020024738002476500
T:
claus

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
442319444043449701
T:
kummer
492069495231503014
T:
curve25519
497812499676510295
T:
nistp256
636257639354649627
T:
surf127eps
103429510478031059053
T:
sclaus1024
327195832774763285880
T:
ed521gs
375476637615403767633
T:
nist521gs
512213351598675187106
T:
sclaus2048
566229356687375677147
T:
claus
Cycles to compute a shared secret
25%50%75%system
441908443565448570
T:
kummer
499040501398509526
T:
curve25519
634002638178646084
T:
surf127eps
102903210433811065578
T:
sclaus1024
167985616836421689166
T:
nistp256
326999932759643281048
T:
ed521gs
375283037589943765772
T:
nist521gs
512658751577365255378
T:
sclaus2048
563212956385815647012
T:
claus

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
222792384525952
T:
kumjacfp127g
246582603527740
T:
jacfp127i
262282767030368
T:
hecfp127i
275072912831119
T:
prjfp127i
332283456835972
T:
jacfp128bk
368623774638364
T:
gls254
388253887138923
T:
gls254prot
383513975641805
T:
hecfp128i
386893990941350
T:
prjfp128bk
393603999441565
T:
curve2251
402944151443495
T:
hecfp128fkt
407954241243980
T:
hecfp128bk
430884435646963
T:
ecfp256e
458424587945913
T:
k277taa
459184716649806
T:
ecfp256h
488264954850574
T:
ecfp256s
487674980552266
T:
ecfp256q
528465289752956
T:
kummer
545795490655427
T:
k298
689166966870399
T:
gls1271
712957133071389
T:
k277mon
790437916179279
T:
kumfp127g
110371110432110502
T:
kumfp128g
125190125589126077
T:
curve25519
153209153364153629
T:
ed448goldilocks
175757177435178930
T:
sclaus1024
182604183426184131
T:
surf127eps
190163191032192149
T:
ecfp256i
245386245631245917
T:
nistp256
507401509086510570
T:
surf2113
807730807994808337
T:
ed521gs
885610892232898760
T:
sclaus2048
935185935435935850
T:
nist521gs
966959967413968156
T:
claus
Cycles to compute a shared secret
25%50%75%system
357503578835839
T:
gls254
385913863038675
T:
gls254prot
456154564445667
T:
k277taa
533435339153455
T:
kummer
544085464055067
T:
k298
712127124471290
T:
k277mon
813878155882986
T:
kumfp127g
826008267782770
T:
kumjacfp127g
877908786687938
T:
jacfp128bk
108031108148108334
T:
prjfp128bk
112179112333112531
T:
hecfp128bk
115575115640116396
T:
kumfp128g
116342116477116766
T:
hecfp128fkt
123777123859123967
T:
jacfp127i
134847135269136471
T:
curve25519
144346144646144781
T:
curve2251
165137165314165521
T:
prjfp127i
167432167589167785
T:
hecfp127i
175567175735175886
T:
ecfp256e
173122175893178168
T:
gls1271
178601178786180000
T:
sclaus1024
179442179992180338
T:
surf127eps
185231185391185558
T:
ecfp256i
185291185467185655
T:
ecfp256q
220100220316220601
T:
ecfp256h
240029240211240408
T:
ecfp256s
247994248194248427
T:
hecfp128i
455229455604460737
T:
ed448goldilocks
511965512976513920
T:
surf2113
599229599397599590
T:
nistp256
807354807522807841
T:
ed521gs
872594888008888837
T:
sclaus2048
934852935033935316
T:
nist521gs
961474961980962829
T:
claus

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

amd64; KabyLake (806e9); 2017 Intel Core i3-7100; 2 x 2400MHz; whosthere, supercop-20221122

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

Cycles to generate a key pair
25%50%75%system
372803748937771
T:
gls254
392633931439369
T:
gls254prot
416444200442820
T:
curve2251
458134631946401
T:
k277taa
532185360754066
T:
k298
534845387155445
T:
kummer
711287127372399
T:
k277mon
112849114255115628
T:
gls1271
126059127356128223
T:
curve25519
154497155659156258
T:
ed448goldilocks
192916194391196007
T:
surf127eps
197126199570201477
T:
sclaus1024
300445301390302205
T:
nistp256
529936531945534974
T:
surf2113
893927897039900085
T:
ed521gs
100155410131181033949
T:
sclaus2048
104520210486431054813
T:
claus
104926010537761056028
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
360963615236305
T:
gls254
388643895439027
T:
gls254prot
460634610746164
T:
k277taa
527745292853262
T:
k298
534515377355644
T:
kummer
710657227072328
T:
k277mon
135972136643137230
T:
curve25519
144115144493145510
T:
curve2251
186994188482190065
T:
surf127eps
198564201605204874
T:
sclaus1024
273946277886282463
T:
gls1271
461335462594462918
T:
ed448goldilocks
527628529760532633
T:
surf2113
683477687360690652
T:
nistp256
897139900975904698
T:
ed521gs
100738610120281031660
T:
sclaus2048
103689410438611049575
T:
claus
105036910545421056565
T:
nist521gs

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

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

Cycles to generate a key pair
25%50%75%system
580378580648593158
T:
kummer
926209926618944145
T:
curve25519
125361512550501275609
T:
nistp256
345829334934423534864
T:
sclaus1024
158941151601684516135432
T:
sclaus2048
203993602048336920586323
T:
claus
Cycles to compute a shared secret
25%50%75%system
580098580217580863
T:
kummer
925948926188942821
T:
curve25519
351159836171343642686
T:
sclaus1024
430259843179484319165
T:
nistp256
159815361615849316287307
T:
sclaus2048
204876462057085420779373
T:
claus

amd64; Goldmont (506c9); 2016 Intel Celeron J3455; 4 x 1500MHz; wooden, supercop-20221122

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

Cycles to generate a key pair
25%50%75%system
623096361266842
T:
curve2251
713507265573570
T:
gls254
907149072090721
T:
gls254prot
125046125049125055
T:
k277taa
124311125540126661
T:
gls1271
136570136604137387
T:
k298
181186181191181195
T:
k277mon
278725278725278730
T:
curve25519
352397352642353306
T:
ed448goldilocks
382920384289384901
T:
surf127eps
386865390043393866
T:
sclaus1024
403520403525403538
T:
kummer
424150424188424284
T:
nistp256
728133731211732169
T:
surf2113
188000918952031906941
T:
sclaus2048
200417820048562005935
T:
ed521gs
231819723192372320026
T:
nist521gs
231940723241602328625
T:
claus
Cycles to compute a shared secret
25%50%75%system
675466835469455
T:
gls254
905429054390546
T:
gls254prot
124919124920124920
T:
k277taa
136350136370136400
T:
k298
181073181073181075
T:
k277mon
240901241987242025
T:
curve2251
278343278343278343
T:
curve25519
312200312677313657
T:
gls1271
377567379316380826
T:
surf127eps
389075390970395286
T:
sclaus1024
403287403434403434
T:
kummer
716229719140725661
T:
surf2113
115328811532961153518
T:
ed448goldilocks
146052114618781462100
T:
nistp256
190316119315141938329
T:
sclaus2048
200368620042302004678
T:
ed521gs
231786423186202319411
T:
nist521gs
231391223227882326946
T:
claus

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

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

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

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

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

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

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

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

Cycles to generate a key pair
25%50%75%system
211282173923303
T:
kumjacfp127g
225492435226418
T:
jacfp127i
256302708429950
T:
prjfp127i
261472795930407
T:
hecfp127i
308343229034796
T:
jacfp128bk
362263691438929
T:
hecfp128i
369003727637920
T:
gls254
367243842141583
T:
prjfp128bk
388283887738916
T:
gls254prot
385013936641663
T:
curve2251
383283975242657
T:
hecfp128bk
387024007543173
T:
hecfp128fkt
434604438046441
T:
ecfp256e
458154584845876
T:
k277taa
453464596348221
T:
ecfp256h
465254756849315
T:
ecfp256s
484744928151393
T:
ecfp256q
521215228655021
T:
k298
535255358053643
T:
kummer
689226973470342
T:
gls1271
712947133171369
T:
k277mon
789097903679151
T:
kumfp127g
110389110452110535
T:
kumfp128g
125270125532125826
T:
curve25519
153174153403153639
T:
ed448goldilocks
175874177366178984
T:
sclaus1024
182693183531183998
T:
surf127eps
190067191017192139
T:
ecfp256i
245451245722245989
T:
nistp256
504771506921508060
T:
surf2113
807892808193808727
T:
ed521gs
888364897943951031
T:
sclaus2048
935211935787939066
T:
nist521gs
967156967858969674
T:
claus
Cycles to compute a shared secret
25%50%75%system
357593579935841
T:
gls254
385953864538672
T:
gls254prot
456224564845672
T:
k277taa
519665208155228
T:
k298
528735292052967
T:
kummer
712097123871277
T:
k277mon
812138130881389
T:
kumfp127g
826198269382777
T:
kumjacfp127g
877848787987956
T:
jacfp128bk
108059108189108326
T:
prjfp128bk
111714111833111989
T:
hecfp128bk
115553115602115659
T:
kumfp128g
115920116041116239
T:
hecfp128fkt
123807123904123991
T:
jacfp127i
134962135329135643
T:
curve25519
144976145273145947
T:
curve2251
165178165330165499
T:
prjfp127i
167190167367170934
T:
hecfp127i
167863172535173876
T:
gls1271
175647175846176090
T:
ecfp256e
174974178767179988
T:
sclaus1024
178766179692180310
T:
surf127eps
185249185399185599
T:
ecfp256q
185303185441185688
T:
ecfp256i
220144220378220627
T:
ecfp256h
239924240093240353
T:
ecfp256s
247986248170248369
T:
hecfp128i
454935455180455479
T:
ed448goldilocks
501901503899505176
T:
surf2113
599209599430599740
T:
nistp256
807442807800808251
T:
ed521gs
889587912617957639
T:
sclaus2048
934874935250938283
T:
nist521gs
961543962604964181
T:
claus

amd64; Airmont (406c3); 2015 Intel Pentium N3700; 4 x 1600MHz; nucnuc, supercop-20221122

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

Cycles to generate a key pair
25%50%75%system
106155108923118479
T:
curve2251
139961142726145391
T:
gls254
187683189980192188
T:
gls1271
205800205967206582
T:
gls254prot
287770287916288262
T:
k277taa
306831310476312651
T:
k298
422193422329422516
T:
k277mon
448837448923452351
T:
curve25519
568220570122572886
T:
surf127eps
570918573128574388
T:
kummer
607179607718608732
T:
nistp256
762121763073765340
T:
ed448goldilocks
778960787588797657
T:
sclaus1024
113608611430041158181
T:
surf2113
366220436677453674968
T:
ed521gs
379752838252053853584
T:
sclaus2048
431653243234724329736
T:
nist521gs
465994046742664688083
T:
claus
Cycles to compute a shared secret
25%50%75%system
131475139715141919
T:
gls254
205397205569205774
T:
gls254prot
287546287714287874
T:
k277taa
305672307190309195
T:
k298
422001422105422183
T:
k277mon
421674425980426205
T:
curve2251
448784448846452296
T:
curve25519
450443453713456685
T:
gls1271
561374563154567529
T:
surf127eps
570773572870574114
T:
kummer
789598796421819453
T:
sclaus1024
113263811392031150075
T:
surf2113
209278020943382102610
T:
nistp256
263501926367902640510
T:
ed448goldilocks
365984836640813670051
T:
ed521gs
385776138688093871505
T:
sclaus2048
431325243162364323531
T:
nist521gs
466570746784224692484
T:
claus

amd64; BW+AES (306d4); 2015 Intel Core i3-5005U; 2 x 1900MHz; shoe, supercop-20221122

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

Cycles to generate a key pair
25%50%75%system
375533778338025
T:
gls254
394873957939684
T:
gls254prot
418484250844080
T:
curve2251
493284942849595
T:
k277taa
558495645857290
T:
k298
649046501965259
T:
kummer
768067689276990
T:
k277mon
764127738978104
T:
gls1271
143180143426144330
T:
curve25519
156158156544158143
T:
ed448goldilocks
187138188763190774
T:
sclaus1024
197093197717198700
T:
surf127eps
250370251641253135
T:
nistp256
521333523534525029
T:
surf2113
903351903916905148
T:
ed521gs
947083956825968944
T:
sclaus2048
9892779967981003931
T:
claus
103331110362541040012
T:
nist521gs
Cycles to compute a shared secret
25%50%75%system
363583662036884
T:
gls254
394063954439728
T:
gls254prot
492794937349501
T:
k277taa
551235543855885
T:
k298
648136491865190
T:
kummer
767317684077027
T:
k277mon
143055143162143309
T:
curve25519
149588154900155919
T:
curve2251
187530188309188995
T:
sclaus1024
187355189142194978
T:
gls1271
194621195182196155
T:
surf127eps
467598467748467981
T:
ed448goldilocks
515924516704517980
T:
surf2113
632149633734635337
T:
nistp256
904807907935910206
T:
ed521gs
9619089680581000528
T:
sclaus2048
9930249987501047885
T:
claus
103102610330851037031
T:
nist521gs

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

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

Cycles to generate a key pair
25%50%75%system
435854518350209
T:
curve2251
449164543146003
T:
gls254
490984916349230
T:
gls254prot
622336229062410
T:
k277taa
641526422365403
T:
kummer
700717022770647
T:
k298
906819176792943
T:
gls1271
951529519695260
T:
k277mon
144410144463144541
T:
curve25519
174728175100176701
T:
ed448goldilocks
213739214463215356
T:
surf127eps
217993220031222260
T:
sclaus1024
282490282672282825
T:
nistp256
535851538279539766
T:
surf2113
101181410122531013050
T:
ed521gs
109525411037191110336
T:
sclaus2048
119508811956121196382
T:
nist521gs
130281813064761389820
T:
claus
Cycles to compute a shared secret
25%50%75%system
394704023541466
T:
gls254
489764903749112
T:
gls254prot
620886215962280
T:
k277taa
640426412065315
T:
kummer
698716995570039
T:
k298
949969503795078
T:
k277mon
155981156034156090
T:
curve25519
157524158770160020
T:
curve2251
208001208551209190
T:
surf127eps
216296217819220140
T:
sclaus1024
217119219007220499
T:
gls1271
535820536194537302
T:
surf2113
540312540589544992
T:
ed448goldilocks
746021746320746943
T:
nistp256
101981110200851020447
T:
ed521gs
109805511006791102823
T:
sclaus2048
119438311947621195872
T:
nist521gs
129732613109081392981
T:
claus

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

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-A8 (413fc082); 2012 TI Sitara XAM3359AZCZ100; 1 x 1000MHz; bblack, supercop-20221005

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

Cycles to generate a key pair
25%50%75%system
304573304614304751
T:
kummer
483972489519504025
T:
curve25519
118781711907381221306
T:
nistp256
412536541568024198928
T:
sclaus1024
836896183779918415159
T:
claus
189187491904170819175582
T:
sclaus2048
Cycles to compute a shared secret
25%50%75%system
304374304409304509
T:
kummer
498483505390505423
T:
curve25519
396447539651383969014
T:
nistp256
415264542036434278938
T:
sclaus1024
831631783201088338797
T:
claus
191069151915868019341279
T:
sclaus2048

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Version

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