VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information: Introduction eBASH eBASC eBAEAD eBATS SUPERCOP XBX Computers
How to submit new software: Hash functions Stream ciphers Auth ciphers DH functions Public-key encryption Public-key signatures
List of primitives measured: SHA-3 finalists All hash functions Stream ciphers CAESAR candidates All auth ciphers DH functions Public-key encryption Public-key signatures
Measurements indexed by machine: SHA-3 finalists All hash functions Stream ciphers CAESAR candidates All auth ciphers DH functions Public-key encryption Public-key signatures

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

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a project in ECRYPT's VAMPIRE lab 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.

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.

What do the graphs and tables mean?

The rest of this page is organized into sections, one section for each computer. Each computer has one graph. There are five horizontal positions on each graph: Each graph is a superimposition of several curves, one curve for each secret-sharing system.

Each computer also has a series of tables, five tables for each computer. The first table shows the time, in cycles, to generate a key pair. Each row of the table lists

The second table shows the time to compute a shared secret. The third table shows the length of a secret key. The fourth table shows the length of a public key. The fifth table shows the length of a shared secret. Measurements with large variance are indicated in red with question marks.

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

amd64; KnLanding (50671); 2016 Intel Xeon Phi 7250; 68 x 1400MHz; unstable; pluton1mn, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
916869238693730gls254
907209277894892curve2251
960269606896096kummer
105980107142108640ecfp256e
117474118594122304ecfp256h
118566118608118678gls254prot
118286120078122514ecfp256s
125762129136132034ecfp256q
282674282758286748curve25519
523558525000541646nistp256
590534597660611618ecfp256i
675052684306693294surf127eps
805798817810824642ed448goldilocks
948892968702975870surf2113
170122417173521738450sclaus1024
398546439900984003986ed521gs
478665648026024917626nist521gs
699000469969207010626claus
835003484113968490902sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
776447772878078gls254
839308393084014kummer
106092106092106120gls254prot
254604254716255486curve2251
282114282128287812curve25519
551754554848574518ecfp256e
588686590002609742ecfp256i
578606590268604226ecfp256q
656026664384672140surf127eps
706034723534728826ecfp256h
711564729302734412ecfp256s
932330955514958734surf2113
169043016941541699600sclaus1024
181234218277561841126nistp256
282471028286302834846ed448goldilocks
393555439411263946740ed521gs
474762447597484848046nist521gs
695156069572306962508claus
851736285226548529094sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

aarch64; Cortex-A53 (410fd034); 2015 Amlogic S905; 4 x 2000MHz; par3, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
446726446997458986kummer
478239480743489956curve25519
528649531966560735nistp256
647030649070675988surf127eps
773334774906793154ed448goldilocks
106431810811751099192sclaus1024
295692029877313092235ed521gs
354038336720463816244nist521gs
528132153570985558505sclaus2048
645840865677206610685claus
Cycles to compute a shared secret
quartilemedianquartilesystem
438299438323445851kummer
476379476419484383curve25519
638214640223662518surf127eps
106003410606241085005sclaus1024
173255017335511779019nistp256
194991919503691994353ed448goldilocks
288767329605593088220ed521gs
348661835487343563418nist521gs
532351754290055447539sclaus2048
646212065710956587942claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A7 (410fc075); 2015 Broadcom BCM2836; 4 x 900MHz; pi2, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
591246591250592066kummer
937910937922938422curve25519
940986941799944272ed448goldilocks
172259217238561730400nistp256
163008411631197616332894claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579282579329579354kummer
925896925896925938curve25519
250700125077182519928ed448goldilocks
582514658384875840704nistp256
162526921625806216283031claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

amd64; Skylake (506e3); 2015 Intel Core i5-6600; 4 x 3310MHz; skylake, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
409384171643306ecfp256e
440204455046140ecfp256h
457384639848156ecfp256s
464724659446924curve2251
484504946651348ecfp256q
495105004450444gls254
570965715057212kummer
614386168062014gls254prot
134810135114135302curve25519
153124153434153888ed448goldilocks
190502191200191846surf127eps
190214191452193188ecfp256i
189560192440210022sclaus1024
324652324780324902nistp256
577184579638582026surf2113
825196825716826982ed521gs
916790922850928792sclaus2048
956914957112957404nist521gs
972232972556973356claus
Cycles to compute a shared secret
quartilemedianquartilesystem
371523721437380gls254
492124929249362kummer
530585332853668gls254prot
135256136358136760curve25519
146362146460146568curve2251
175604176058176672surf127eps
176130176338176546ecfp256e
186430186598186798ecfp256i
186272186636206672sclaus1024
189506189684189986ecfp256q
221258221454221768ecfp256h
244446244674244960ecfp256s
460640461094462214ed448goldilocks
570752571064572792surf2113
579362579536579738nistp256
794014794312794762ed521gs
931676931854932120nist521gs
933644934590935680sclaus2048
985354985732986498claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Airmont (406c3); 2015 Intel Celeron N3150; 4 x 1600MHz; par, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
105360107260110660ecfp256e
110060111940116060ecfp256h
116480119180122500ecfp256s
120060122040124560ecfp256q
120220122500138900curve2251
151100153340156280gls254
213620213700213860gls254prot
460320460420460720curve25519
511280515140519520ecfp256i
578060579660582180surf127eps
597280598520600800kummer
649060649180649520nistp256
776240778940789980ed448goldilocks
901140911440926880sclaus1024
120138012070001219360surf2113
349288035100803518620ed521gs
415854041742004183240nist521gs
432528043580404386140sclaus2048
542138054461005465160claus
Cycles to compute a shared secret
quartilemedianquartilesystem
136000136460137800gls254
201880202040202280gls254prot
425540425600425820curve2251
448640448740448920curve25519
480720482280484900ecfp256e
503320505360508260ecfp256q
509660510960514180ecfp256i
564400564880568140surf127eps
581880585080587720kummer
599520601000604080ecfp256h
631720634020637840ecfp256s
894040897040906500sclaus1024
119016011943201199320surf2113
218090021895402196000nistp256
241222024171402447360ed448goldilocks
344176034611603474980ed521gs
411432041310804136180nist521gs
438492044227804438240sclaus2048
538926054429405471400claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

aarch64; Cortex-A53 (410fd030); 2014 HiSilicon Hi6220V100; 8 x 1200MHz; unstable; a53, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
391230?423200?516000?kummer
688905690120697410curve25519
697410?700800?916110?nistp256
744795?747225?987200?ed448goldilocks
200353520256002058210sclaus1024
3245265?3257415?4269600?ed521gs
4258575?4269510?5615200?nist521gs
9373725?9400455?12337600?claus
935671594624209624800sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
382725?502400?503200?kummer
681615681615681615curve25519
1449495?1456785?1906400?nistp256
204727520569952067930sclaus1024
2145690?2157840?2831200?ed448goldilocks
3210030?3223395?4226400?ed521gs
3217320?4213620?5546400?nist521gs
937615593888009441765claus
9621585?9632520?12669600?sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; HW+AES (40651); 2014 Intel Core i5-4210U; 2 x 1700MHz; unstable; sliver, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
758047972882998jacfp127i
8658089436102702prjfp127i
9166293966110796hecfp127i
105366107280110016gls254
106644108402111096curve2251
108060108654119142jacfp128bk
68892?113268?118338?hecfp128bk
110628115566123000hecfp128fkt
119982127344134772ecfp256h
118542129258132210ecfp256e
128754133644143286ecfp256s
137514143304148440kumjacfp127g
140286143736152802ecfp256q
139134147996155034hecfp128i
166056168234168666kummer
178842197862205692prjfp128bk
236316278286285048gls1271
349056349632353004kumfp127g
458334463794479904kumfp128g
602274616392636612ecfp256i
440904?631158?683382?hector
631668633678635682surf127eps
412254?716970?753786?curve25519
828372854532897972sclaus1024
144472814624821499334surf2113
171111618104521856604nistp256
345670241018584176834sclaus2048
497751650663705204844claus
Cycles to compute a shared secret
quartilemedianquartilesystem
829088441487078gls254
151386153696156666kummer
305688315024318420jacfp128bk
334278335916336954curve2251
352872353454357852kumfp127g
356970361764370578kumjacfp127g
226572?382980?387270?hecfp128bk
228558?388908?401436?hecfp128fkt
364104390918396306prjfp128bk
466560467604473172kumfp128g
481866524670535908jacfp127i
567552568818581982ecfp256e
572028582084599838ecfp256q
556752591582607926ecfp256i
608592609276610224surf127eps
339252?646800?660894?gls1271
652758654348666150prjfp127i
643722681834684432ecfp256h
683574687342690612hecfp127i
380544?720750?761850?curve25519
700884736836745584ecfp256s
780138833328860448hecfp128i
802494851352880536sclaus1024
143018414443441459056surf2113
1155456?2167962?2229030?hector
366610838073303857922nistp256
417243042474844310946sclaus2048
497578850553005165772claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

amd64; HW+AES (306f2); 2014 Intel Xeon E5-2670 v3; 12 x 2300MHz; unstable; tueisecgern, supercop-20160724

Cycles to generate a key pair
quartilemedianquartilesystem
470094820250576jacfp127i
519475239753354kumjacfp127g
525195287954669prjfp127i
543965556857196hecfp127i
585095966261702jacfp128bk
644926580867739ecfp256e
675036827071736hecfp128fkt
675996998473376prjfp128bk
699917052873115hecfp128bk
694087061672514ecfp256h
730487353374036hecfp128i
729357406979918curve2251
735057452075302gls254
838408395385177gls254prot
875388818588789ecfp256s
913869153493932kummer
912219191793070ecfp256q
175509177953179741gls1271
206276207153207580kumfp127g
237541238326238618curve25519
279045280922281032kumfp128g
338057342071344396ecfp256i
348778349774352642ed448goldilocks
615931621684626864sclaus1024
968226970717974026nistp256
190126019359191939820ed521gs
228012822976172429407nist521gs
305192830792003254092sclaus2048
356544835980983780069claus
Cycles to compute a shared secret
quartilemedianquartilesystem
626526379964001gls254
758117590976985gls254prot
835088361685551kummer
185484186294186628jacfp128bk
209009209453209714kumfp127g
213045213765215700kumjacfp127g
223137223333224753prjfp128bk
230491231083232640hecfp128bk
236094237167238160hecfp128fkt
243104243408244898curve2251
252178252396252602curve25519
284663286491286555kumfp128g
321411321862322384jacfp127i
325652328878331344ecfp256e
334306337585340624ecfp256i
348674349039354136ecfp256q
367448367779379218ecfp256h
392953393229393552prjfp127i
401755404944405619hecfp127i
405880406469410326gls1271
436074438236438824ecfp256s
503948504295506782hecfp128i
639406639590639878sclaus1024
110932611114491121075ed448goldilocks
186852619012511903612ed521gs
196861019740441978644nistp256
226008122683982411437nist521gs
310991331359253313383sclaus2048
355864935908583775809claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
306203142833080jacfp127i
316203236434252kumjacfp127g
339763473636136prjfp127i
338603498436036hecfp127i
374003828840060jacfp128bk
440044491246856prjfp128bk
447204564048088hecfp128i
460924709248536ecfp256e
466964757649816hecfp128bk
473724807250816ecfp256h
496085107654008ecfp256s
495725162454504hecfp128fkt
504805166055848curve2251
523605303253676gls254
528765388857548ecfp256q
686966878069076kummer
696966974869800gls254prot
958409708898096gls1271
110584110704110812kumfp127g
152188152264152536curve25519
156296156472156628kumfp128g
177276177468177732ed448goldilocks
220668221480222084surf127eps
220664222272225636ecfp256i
223788225420227556sclaus1024
215376232012250408hector
283920284132284320nistp256
476664478580480332surf2113
108845210900961091580ed521gs
110403611126001119532sclaus2048
123124812326201233968nist521gs
133644813424121438680claus
Cycles to compute a shared secret
quartilemedianquartilesystem
395323958039628gls254
616766171261752gls254prot
603766417269796kummer
112460112616113344kumjacfp127g
112544112880113660kumfp127g
113540113636113724jacfp128bk
139940140296146864prjfp128bk
144656144784144924hecfp128bk
149680149852150004hecfp128fkt
156048156092156172curve25519
159280159332159376curve2251
162552162628162856kumfp128g
186316186536186804jacfp127i
203376203584204064ecfp256e
207552208056208464surf127eps
211960212088212232ecfp256q
213504213688217172gls1271
217532217692217876ecfp256i
220844221020221148sclaus1024
226424226696227028prjfp127i
229184229400229664hecfp127i
247880248004248220ecfp256h
271140271264271436ecfp256s
327440327668327932hecfp128i
471004471424471552surf2113
531904532212534832ed448goldilocks
705112705580706100nistp256
750460750912751356hector
105819610586561061748ed521gs
112621211264961126916sclaus2048
120466012069241211152nist521gs
130946413151441392836claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
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
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; HW+AES (306c3); 2013 Intel Core i7-4770; 4 x 3400MHz; wintermute, supercop-20140505

Cycles to generate a key pair
quartilemedianquartilesystem
528125326455108curve2251
638086469266004ecfp256h
651206601267272ecfp256e
687606954870896ecfp256s
743447510876900ecfp256q
825128257282660kummer
172500172620172768curve25519
267176269452271080ecfp256i
254596272560292904hector
294700297020299388sclaus1024
538140540308542292surf2113
138289213920601400620sclaus2048
173255617363081740184claus
Cycles to compute a shared secret
quartilemedianquartilesystem
720807212072164kummer
159316159396159492curve2251
163232163296163364curve25519
242636243068245500ecfp256e
245596245776246072ecfp256q
259016259184259440ecfp256i
275380275704276064ecfp256h
291168291308291512sclaus1024
324912325336326028ecfp256s
523040523140523320surf2113
835624836100838304hector
140805614089161410164sclaus2048
170525217065481707376claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A9+NEON (413fc090); 2012 Samsung Exynos 4412; 4 x 1704MHz; odroid, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
365219365232365258kummer
576871576881576940curve25519
687410688068689868ed448goldilocks
141203514195221423202nistp256
789801779074767917057claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355652355663355685kummer
567298567310567341curve25519
189549918956891900421ed448goldilocks
474952347645694766322nistp256
944063094448649448872claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

armeabi; Cortex-A8 (413fc082); 2012 TI Sitara XAM3359AZCZ100; 1 x 1000MHz; bblack, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
315909315993316683kummer
509237509560523482curve25519
208553820861892094047nistp256
293388429483732953091ed448goldilocks
462167346673804707244sclaus1024
189630621897120119010491claus
207468782088311720987039sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
305341305385305882kummer
498085498284512187curve25519
472018647367574743360sclaus1024
726090272620817282994nistp256
843007084389078452915ed448goldilocks
189299151893530018962765claus
211219922113765421176481sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A15 (410fc0f4); 2012 Samsung Exynos 5 Dual; 2 x 1700MHz; sachr, supercop-20140514

Cycles to generate a key pair
quartilemedianquartilesystem
326150326230326375curve25519
520556452533805305602sclaus1024
111120711112371711138554claus
245400552469807724858402sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
315247315284315329curve25519
526535552823615296052sclaus1024
110842091108811511107628claus
247906022480622324830060sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
256claus
Public key
bytessystem
32curve25519
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
128claus
128sclaus1024
256sclaus2048

amd64; Piledriver (610f01); 2012 AMD A10-5800K; 2 x 3800MHz; hydra9, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
458684686948515jacfp127i
472174803951765kumjacfp127g
527315365654878prjfp127i
528725380355317hecfp127i
684456917870457jacfp128bk
699817249877080ecfp256e
755387825582373ecfp256h
770767913283675ecfp256s
794698034682028prjfp128bk
801098086182138hecfp128fkt
802908095982064hecfp128bk
804318098584786hecfp128i
810778373388544ecfp256q
839218451388025curve2251
113477114258115612gls254
132513134258135634gls1271
139489139559139757gls254prot
159431159494159561kumfp127g
197840197964198842curve25519
226042226064226138kummer
262047262065262097kumfp128g
347365349465351627ecfp256i
349220376506407860hector
406908407750408323ed448goldilocks
417968419421420337surf127eps
445995449383454273sclaus1024
734600736792740574surf2113
104576710459991046145nistp256
217692421911092205803sclaus2048
230497823053662309388ed521gs
266238026716512680718claus
267938726806532686602nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
923719245193145gls254
121759121775121791gls254prot
165142165211165412kumjacfp127g
165845165948165949kumfp127g
191651191656191934curve25519
203175203293203367jacfp128bk
208024208132208404kummer
248299248347248471curve2251
252063252173252369prjfp128bk
259201259299259589hecfp128bk
269388269798270048hecfp128fkt
271004271402271579jacfp127i
273350273404273404kumfp128g
287386290511291163gls1271
325768325873326201ecfp256e
340022340235341045ecfp256q
343998344228344383ecfp256i
367146367317372327hecfp127i
367326367478367725prjfp127i
398647398792399023surf127eps
409217409473409862ecfp256h
426688427032427346ecfp256s
437112438347439362sclaus1024
576625576807576929hecfp128i
720864721118721641surf2113
114033811416271143566hector
127981112830261285760ed448goldilocks
177629317763451776398nistp256
221404122163842220520sclaus2048
223447922345122234652ed521gs
260643526078072622693claus
262412026243202624542nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
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
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
698307131175117ecfp256e
756727617178691curve2251
751657735281422ecfp256h
765257882681661ecfp256s
819478345087487ecfp256q
102479103388104456gls254
129181129210129346gls254prot
190137190359194145curve25519
211966212078212268kummer
349142351499354726ecfp256i
393082394634395979surf127eps
443455446631451407sclaus1024
716470716870719576nistp256
723991726137729449surf2113
196114819646421967489ed521gs
217566521911262206041sclaus2048
229717223012612447910nist521gs
265104326580152665162claus
Cycles to compute a shared secret
quartilemedianquartilesystem
898878998790029gls254
119517119526119535gls254prot
191841191846192988curve25519
202142202143202604kummer
248098248343248546curve2251
326907327199327529ecfp256e
342606343040343291ecfp256q
344957345309345692ecfp256i
380988381268381822surf127eps
410810411200411685ecfp256h
430376430604430900ecfp256s
440346441022453632sclaus1024
713297713734715643surf2113
126913712691841269412nistp256
192106019246611926156ed521gs
221987122213482226187sclaus2048
226570622762962483652nist521gs
263260926358462643160claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
303123130433692kumjacfp127g
310283241634228jacfp127i
327443329236260prjfp127i
402844108843428jacfp128bk
397484160445040hecfp127i
492924995251644ecfp256e
494645022053100hecfp128bk
498405125652860prjfp128bk
519965268055220ecfp256h
521445306456044hecfp128fkt
541445502858272ecfp256s
549285648859164hecfp128i
574365835661352ecfp256q
665086683670616curve2251
813688229683928gls254
979489798498016kummer
103844105168106156gls1271
113976114204114560kumfp127g
120512120572120636gls254prot
154976157572157692curve25519
163672163864163988kumfp128g
211072211300211708ed448goldilocks
241056242372244044ecfp256i
246152247076247544surf127eps
237732255476275612hector
274940277996280148sclaus1024
323124324072325556nistp256
527360529340531244surf2113
115426011547001156236ed521gs
130756413083481309656nist521gs
134443213548881363172sclaus2048
164036416516761657928claus
Cycles to compute a shared secret
quartilemedianquartilesystem
679766802468084gls254
885008852088552kummer
111736111808112324gls254prot
116548116748117080kumfp127g
124148124248124352jacfp128bk
125656125728125808kumjacfp127g
157188157344157536prjfp128bk
157056157564160032curve25519
165268165408165560hecfp128bk
168932169024169116hecfp128fkt
170828171096171184kumfp128g
190652190704190892jacfp127i
223584223804224056ecfp256e
225128225508225680curve2251
233016233232233604surf127eps
232728233280238224gls1271
234092234284234504ecfp256q
238364238484238632ecfp256i
238372238676239004prjfp127i
245524245848246148hecfp127i
271604271724271880sclaus1024
275160275276275432ecfp256h
295388295496295636ecfp256s
366768366976367564hecfp128i
520872521064521348surf2113
627296627440627636ed448goldilocks
778340780208781616nistp256
816196816600817092hector
111610811165041117108ed521gs
127686412773641278268nist521gs
137009613708681371764sclaus2048
161222816292721629956claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
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
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; IB+AES (306a9); 2012 Intel Core i5-3210M; 2 x 2500MHz; h9ivy, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
355843615237204hecfp127i
504845216453568ecfp256e
521165288054476hecfp128bk
515205297655820ecfp256h
523165324054892hecfp128i
528085354054852hecfp128fkt
538565518457244ecfp256s
569885823260168ecfp256q
685567191273848curve2251
892489017691252gls254
986929876098828kummer
102344103852104668gls1271
116360116520116672kumfp127g
123992124032124088gls254prot
164912165160165304kumfp128g
192472192576192756curve25519
233940234324234756ed448goldilocks
241564242732244068ecfp256i
249528250564251256surf127eps
273836276144278820sclaus1024
272956291776312936hector
321416321612321768nistp256
540228542320544212surf2113
134526813545321361848sclaus2048
163639616417761653008claus
Cycles to compute a shared secret
quartilemedianquartilesystem
761247621276308gls254
884248844888476kummer
113964114036114096gls254prot
118904119032119232kumfp127g
161580161688161804hecfp128bk
167348167448167560hecfp128fkt
171220171292171360kumfp128g
182460182708182832curve25519
224328224532224700ecfp256e
224660225484280304curve2251
233808233940234248ecfp256q
235016235248235848surf127eps
236444238580247940gls1271
238716238880239100ecfp256i
244700245012245384hecfp127i
270552270620270752sclaus1024
273532273644273812ecfp256h
296768296908297068ecfp256s
364572364760365016hecfp128i
532168532712533200surf2113
688916689076689240ed448goldilocks
869680870760872296hector
109831610988001099448nistp256
137068413713161372020sclaus2048
160688416087481609760claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; IB+AES (306a9); 2012 Intel Core i5-3210M; 2 x 2500MHz; h9ivy, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
445416446284449092curve25519
815744816012816248kummer
929276930132931316nistp256
146154414629121464740ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
431864432120432612curve25519
801056801308801764kummer
326776432754723279560nistp256
453414045367684540208ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

armeabi; Scorpion (510f02d2); 2011 Qualcomm Snapdragon S3 APQ8060; 2 x 1782MHz; h6dragon, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
331167331191331216kummer
424225424255424285curve25519
679149679519683974ed448goldilocks
136707313672201367543nistp256
552952255784795620284sclaus1024
167499491675086716753305claus
240728152423121324369150sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
318658318676318694kummer
410111410128410149curve25519
169838716984411699991ed448goldilocks
464752446479234665306nistp256
565232456538535687948sclaus1024
166971641669821416700344claus
245524942458255924589502sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A8 (413fc082); 2011 TI Sitara AM3359; 1 x 720MHz; flops, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
316737316760316781kummer
215834421739792196642sclaus1024
244475624533782458756surf127eps
244657624558372464196curve25519
105052451057859210652559sclaus2048
129527821297934613011983claus
Cycles to compute a shared secret
quartilemedianquartilesystem
305369305385305407kummer
215828621600162169510sclaus1024
243609824372972449549surf127eps
244249324442282454995curve25519
107375771074313810751279sclaus2048
130014051300831513019175claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A8 (413fc082); 2011 TI Sitara AM3359; 1 x 720MHz; h7beagle, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
316722316744316770kummer
503320510938510974curve25519
188085941881655918841058claus
Cycles to compute a shared secret
quartilemedianquartilesystem
305380305395305413kummer
497352497389498142curve25519
187746511878074518787096claus
Secret key
bytessystem
32curve25519
32kummer
256claus
Public key
bytessystem
32curve25519
48kummer
128claus
Shared secret
bytessystem
32curve25519
48kummer
128claus

amd64; Bulldozer (600f12); 2011 AMD FX-8120; 4 x 3100MHz; hydra6, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
483454897550183jacfp127i
489294954153728kumjacfp127g
540185487456133prjfp127i
551395565357047hecfp127i
703647093772162jacfp128bk
830428361087743prjfp128bk
833178375287425hecfp128bk
835168414685587hecfp128i
835328425185926hecfp128fkt
848048525386977curve2251
897379199095365ecfp256e
9505797104100475ecfp256h
9650098642101671ecfp256s
100649102825106423ecfp256q
105467106522107852gls254
129470129484129552gls254prot
146506148191149693gls1271
164052164416164552kumfp127g
193654193750194522curve25519
265884265893265968kummer
273834273966274466kumfp128g
327380352343379945hector
373774377510385104ecfp256i
415614416996417784surf127eps
456849460575464924sclaus1024
666320671398677874nistp256
677367679660682724surf2113
207049220705962073088ed521gs
222934022513702327581sclaus2048
246127124690352503164nist521gs
274365027543782867692claus
Cycles to compute a shared secret
quartilemedianquartilesystem
890948924489260gls254
118296118300118310gls254prot
167716167754169270kumfp127g
175494176204176466kumjacfp127g
193502193514194794curve25519
211068211370211506jacfp128bk
255350255676255682kummer
262514262694262866prjfp128bk
266290266377266437curve2251
268402268596268644hecfp128bk
279270279310279352hecfp128fkt
280776281242281398jacfp127i
285030285030285030kumfp128g
323645324136324303gls1271
353772353938354134ecfp256e
369784369902370087ecfp256q
370850371043371236ecfp256i
375936376222376460prjfp127i
383177383224383304hecfp127i
402680402876402924surf127eps
441760441836442082ecfp256h
451886454000454851sclaus1024
466225466281466351ecfp256s
596544596676596770hecfp128i
667846667924668169surf2113
112872411289201129157hector
138435613862181386286nistp256
202595020259902026107ed521gs
226292322708822352838sclaus2048
241691224204002430496nist521gs
270172227025682704991claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
103593105142106998ecfp256e
111886114470117572ecfp256h
112413114888116698ecfp256s
118109120470124844ecfp256q
166355168587169774gls1271
376523376547376613curve25519
432858435010437983ecfp256i
507761509566515275curve2251
552834553437554572ed448goldilocks
662877669427675574sclaus1024
784491784538784738kummer
839895852268852635nistp256
233149023328012343089ed521gs
278522427868202796396nist521gs
326665532904163310095sclaus2048
380124038152713827631claus
Cycles to compute a shared secret
quartilemedianquartilesystem
361399363033363973gls1271
365161365180365209curve25519
406956407056407735ecfp256e
423173423453423971ecfp256q
430132430255430526ecfp256i
512031512169512596ecfp256h
520324520695521398ecfp256s
684679685458688574sclaus1024
773100773120773238kummer
152061815207311521667nistp256
154921315493081557976ed448goldilocks
205989920618562068616curve2251
228442722853822295428ed521gs
274907727513522759446nist521gs
333978233482463352436sclaus2048
378417337948133797857claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Bobcat (500f20); 2011 AMD E-350; 2 x 1600MHz; h4e350, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
622596294063600hecfp127i
893138964990603hecfp128bk
900729096691647hecfp128i
896019171693585hecfp128fkt
99204100815102354ecfp256e
108387110694113529ecfp256h
109122111408113385ecfp256s
113238115674119781ecfp256q
163032165363166797gls1271
197733197745197772kumfp127g
314736314763318777kumfp128g
376470376509376821curve25519
428022429996433089ecfp256i
511161512979519393curve2251
566178566772569004ed448goldilocks
614496616647618114nistp256
696348703518709026sclaus1024
751209751242751404kummer
334921533671823386208sclaus2048
342502534340073438072claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201582201600201666kumfp127g
297885297927298008hecfp128bk
308124308148308373hecfp128fkt
325548325599329352kumfp128g
363810364086364950gls1271
365007365034365313curve25519
401088401172401553ecfp256e
418818418899419610ecfp256q
426843426873427071ecfp256i
435723435984438723hecfp127i
512646512742513339ecfp256h
513300513348513864ecfp256s
657222657324657825hecfp128i
719253719847725034sclaus1024
738099738207738684kummer
159083715927241599255ed448goldilocks
204351620442212053404nistp256
206020520614802073072curve2251
339139534008633405147sclaus2048
339994234091943412311claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; Bobcat (500f20); 2011 AMD E-350; 2 x 1600MHz; h4e350, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
901305901332901464curve25519
146526614657041469025kummer
169500616969621706769nistp256
206802020700842078148ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
876828876846876882curve25519
144040214405341440816kummer
589198858939775896074nistp256
682164068221266823710ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

amd64; Bobcat (500f10); 2011 AMD G-T56N; 2 x 1650MHz; h8bobcat, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
534195516657237jacfp127i
546535678659152kumjacfp127g
612946296664472prjfp127i
632466401564761hecfp127i
790067958680512jacfp128bk
889548959490540prjfp128bk
912679303895076hecfp128i
914529331995513hecfp128bk
913149341895665hecfp128fkt
104362106082107545ecfp256e
113896115843117487ecfp256s
113781115928117591ecfp256h
119928122246125148ecfp256q
163376165348167248gls1271
198170198175199053kumfp127g
315025315039315058kumfp128g
377392377425377468curve25519
432317434231437456ecfp256i
499348501058502056surf127eps
509694511813517878curve2251
518548521825528114sclaus1024
629803631266632633ed448goldilocks
732763760703791583hector
779959780197780619nistp256
797781797929798479kummer
164091216468211650720surf2113
246821424853242498861sclaus2048
257098525738302579364ed521gs
294926529585762961682nist521gs
309965131112553133912claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201998201999201999kumfp127g
207090207109207133kumjacfp127g
237068237448237728jacfp128bk
294604294680294814prjfp128bk
297915297939298034hecfp128bk
309396309686309913hecfp128fkt
325903325907325912kumfp128g
348783348906349277jacfp127i
358848359756369721gls1271
365152365180365227curve25519
404035404159404885ecfp256e
420632420732421339ecfp256q
427733427837428269prjfp127i
430312430417430810ecfp256i
436340436397436544hecfp127i
486290486457486932surf127eps
513323513389514055ecfp256h
515180515256516230sclaus1024
518862519517520025ecfp256s
660868661048662226hecfp128i
786676786695786776kummer
151561515157441516409nistp256
162947416297441637663ed448goldilocks
163404716347071642322surf2113
205599020611912067347curve2251
251447525152772524330sclaus2048
252231625223452530240ed521gs
252337625318262537460hector
291079129175922928375nist521gs
307170630724473079972claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
549395677860894ecfp256e
590386096564521ecfp256s
599416196265670ecfp256h
618556360967952ecfp256q
224802224819224829curve25519
259653260681262816ecfp256i
273835276112278855sclaus1024
293303294247294632surf127eps
305673305872306417ed448goldilocks
435014435019435511kummer
512226517937517981nistp256
769583772149774545surf2113
936956940492941303curve2251
126870712768951286105sclaus2048
155549715564941558085ed521gs
162189016250701629412claus
184978418498071849921nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
214935214939214940curve25519
244111244124244256ecfp256e
253056253077253193ecfp256q
258103258129258275ecfp256i
270282270450271194sclaus1024
282731282816282855surf127eps
314406314432314468ecfp256s
321712321804321831ecfp256h
424744425134425148kummer
762038762144762268surf2113
929274929411929469curve2251
932782932814932823ed448goldilocks
933106933114945183nistp256
129117012914321297156sclaus2048
151484215148481514997ed521gs
159438015945881594774claus
181750618175211817556nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; K10 32nm (300f10); 2011 AMD A6-3650; 4 x 2600MHz; hydra4, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
356963651238485hecfp127i
532815530658398ecfp256e
569675782959206hecfp128fkt
569555789159245hecfp128bk
582235857059623hecfp128i
582856005263200ecfp256s
586406025163773ecfp256h
603766192465469ecfp256q
971109841399551gls1271
118923118931118985kumfp127g
204980205011205054kumfp128g
225397225404225650curve25519
258866260255261920ecfp256i
273745276019278148sclaus1024
297426298444298877surf127eps
343773343875344510ed448goldilocks
372255391388414367hector
422148422155422210kummer
778070780881783506surf2113
903630903646903697nistp256
944506948113949596curve2251
129061212995071308812sclaus2048
162929916325201636385claus
Cycles to compute a shared secret
quartilemedianquartilesystem
122242122242122269kumfp127g
191974192013192017hecfp128bk
198650198674198689hecfp128fkt
211864211887211895kumfp128g
214481214687214688curve25519
224266225026228564gls1271
244460244499244542ecfp256e
250551250595250688ecfp256q
258234258293258305ecfp256i
263273263282263305hecfp127i
270484270687270714sclaus1024
284895285019285168surf127eps
309886310074310089ecfp256s
319726319796319870ecfp256h
411219411227411232kummer
427171427218427288hecfp128i
771486772465772684surf2113
932022932026932042nistp256
936905936940937341curve2251
950309950364950387ed448goldilocks
121748212180051218739hector
131609413162851317432sclaus2048
159726515988331599683claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; K10 32nm (300f10); 2011 AMD A6-3650; 4 x 2600MHz; hydra4, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
509114537229568479hector
563047563176563184curve25519
870149878307885604sclaus1024
923715923785923832kummer
115481011592321164017surf127eps
117627511809631185100surf2113
139260013943351395194nistp256
147339614786621489094curve2251
164773516484711651381ed448goldilocks
435070343830774415186sclaus2048
504119150570525068814claus
Cycles to compute a shared secret
quartilemedianquartilesystem
547622547763547830curve25519
908571908594908638kummer
907698909671912873sclaus1024
111929211198461120564surf127eps
116668911669861167087surf2113
145957514615601473015curve2251
168126716818521692074hector
450120045192654531827sclaus2048
461831846220114628894nistp256
504283750560455072238claus
509803751050735107358ed448goldilocks
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
128870129451130893jacfp127i
131712132335138054kumjacfp127g
141204141743143248prjfp127i
144263144809145768hecfp127i
218407218890220157jacfp128bk
233261235725238420ecfp256e
244258245049248969prjfp128bk
245567245994247114hecfp128fkt
248577249620254926hecfp128i
248731249837251783hecfp128bk
255248258888261191ecfp256s
258300259021261898curve2251
262045264243268156ecfp256h
263823266791270557ecfp256q
332983336252339857gls1271
540414540421540484kumfp127g
711606743169777623hector
103147810314851031681kumfp128g
110943711094441109710curve25519
113931311435131147307surf127eps
114551511507861158493ecfp256i
132781613290481331904ed448goldilocks
156791615738031578332surf2113
176955817698521772435kummer
178952218034731821015sclaus1024
185917918596131877204nistp256
664359566444566646675ed521gs
807634180770138080310nist521gs
862166986798258736315sclaus2048
108228541084352510864980claus
Cycles to compute a shared secret
quartilemedianquartilesystem
548415548415548429kumfp127g
552083552090552104kumjacfp127g
725459725508725669jacfp128bk
760228760417760774gls1271
860293860307860720prjfp128bk
886613886662889371hecfp128bk
919926919968922404hecfp128fkt
928767928788929278jacfp127i
100975710098691010324curve2251
105730810573151057420kumfp128g
108172410818571083285ecfp256e
109594110959411095990curve25519
110001511001551100911prjfp127i
112347911236191125516ecfp256q
112634911264681130612surf127eps
113532311353791135687hecfp127i
115101011511291152270ecfp256i
134347513436431344497ecfp256s
143524514353291436351ecfp256h
155578515559461557647surf2113
175602717560481756244kummer
178618317871071791370sclaus1024
195255219530631967896hecfp128i
248613424887242506343hector
360248036176703619504nistp256
443322644450354445469ed448goldilocks
659344065941546594637ed521gs
803551780359308036819nist521gs
881100588112088812993sclaus2048
108330041084393110846710claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; SB+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
389483988041596hecfp127i
523285301255520ecfp256e
552925590457680ecfp256h
558885678457808hecfp128fkt
561365686058028hecfp128i
573685806859740ecfp256s
583925966861724hecfp128bk
613646210064520ecfp256q
720407228875748curve2251
922009318894104gls254
101236101536102008kummer
109944111352112460gls1271
120652120852122128kumfp127g
131028131160131352gls254prot
184104185028185332kumfp128g
205904206084206312curve25519
253732254516255824ed448goldilocks
261320262740264188ecfp256i
288152289452291524surf127eps
297788301412305016sclaus1024
296464314916340064hector
358136358792359796nistp256
591792593844596356surf2113
148924015075521526220sclaus2048
177720017822561788432claus
Cycles to compute a shared secret
quartilemedianquartilesystem
779527802078112gls254
892128959690092kummer
118904119052119228gls254prot
123632123788123948kumfp127g
182768182948183124hecfp128bk
189816190188192848hecfp128fkt
191288191488191544kumfp128g
193800193984195876curve25519
231032231200231348curve2251
246296246444246648ecfp256e
249040249440250024gls1271
254916255096255400ecfp256q
259572259732259904ecfp256i
265972266256266684hecfp127i
274404275064275912surf127eps
294576295580296992sclaus1024
300716300880301092ecfp256h
322568322764323012ecfp256s
412712413100413512hecfp128i
582176583816587672surf2113
757188758716761504ed448goldilocks
944452947240950480hector
122299212242121225820nistp256
150212015179961535012sclaus2048
173880417422761746904claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; SB+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
448564448956450100curve25519
858692860472862304kummer
100837210127241017108nistp256
153580015452681558076ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
434652436612437356curve25519
841396842424844276kummer
358840035961203611756nistp256
479576848159004843228ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

amd64; SB+AES (206a7); 2011 Intel Core i5-2400; 4 x 3100MHz; mangetsu, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
401804144044012hecfp127i
527445342455444ecfp256e
554925614057540ecfp256h
575525834460680ecfp256s
576845876860820hecfp128fkt
577365908461780hecfp128bk
584485991662808hecfp128i
613966230863972ecfp256q
707167174874060curve2251
873848870490084gls254
994729953299632kummer
108832110480111644gls1271
120372120576120920kumfp127g
126692126892127144gls254prot
185292185988194032kumfp128g
204360204592205372curve25519
224196224672226424ed448goldilocks
263720265988269680ecfp256i
356704357332363608nistp256
362736366136369184sclaus1024
181850818322041848304sclaus2048
209052820962962103060claus
Cycles to compute a shared secret
quartilemedianquartilesystem
721847228872660gls254
888728890888988kummer
115900116020116424gls254prot
123316123528123888kumfp127g
183272183816184940hecfp128bk
189492189904199296hecfp128fkt
191252192404194556kumfp128g
193748193888194076curve25519
231404231672232032curve2251
244428245192246608gls1271
247224247424247824ecfp256e
255668256488258128ecfp256q
259972260308261104ecfp256i
265108266148271120hecfp127i
301380301692302304ecfp256h
323808324668325968ecfp256s
373324373768374536sclaus1024
417148421028422120hecfp128i
657692658460660324ed448goldilocks
121205212157561221628nistp256
184616818561081870460sclaus2048
207672020850762090008claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
530045366454860ecfp256e
553165603657676ecfp256h
580045874060392ecfp256s
618366254064516ecfp256q
707167097273172curve2251
100072100104100140kummer
126768126876126992gls254prot
126952127032127160gls254
158432161660162392curve25519
214680214872215132ed448goldilocks
262932263996265748ecfp256i
278988279992280640surf127eps
294292296888299396sclaus1024
424148424352424540nistp256
714216717720722712surf2113
127348412744881276440ed521gs
146461214755881483960sclaus2048
147853614794321480904nist521gs
175958017662081925808claus
Cycles to compute a shared secret
quartilemedianquartilesystem
888448887689136kummer
115808115880116000gls254prot
115948116060116172gls254
159128159472168100curve25519
230768231048231632curve2251
247532247700247892ecfp256e
256300256500256748ecfp256q
260112260260260452ecfp256i
265516265780266192surf127eps
290432290604290736sclaus1024
303100303244303420ecfp256h
324276324408324676ecfp256s
649808649996650156ed448goldilocks
704872705616712480surf2113
829840830068830296nistp256
122881212293641229960ed521gs
144200814430721444920nist521gs
149182814923561493168sclaus2048
172704817280001762836claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Atom (106ca); 2011 Intel Atom N435; 1 x 1330MHz; h4atom, supercop-20140425

Cycles to generate a key pair
quartilemedianquartilesystem
146696147688154080hecfp127i
233568236104238664ecfp256e
244896245408251144hecfp128fkt
245184245760250520hecfp128bk
247576248544254160hecfp128i
255120258576260704ecfp256s
259920260440262776curve2251
260720262800266392ecfp256h
265192267976271176ecfp256q
318728323432326048gls1271
547784547832548232kumfp127g
826624862160931312hector
103485610350161035960kumfp128g
112332011236561124616curve25519
116107211655361177176surf127eps
117114411805521194776ecfp256i
173755217447681764016surf2113
177990417950161808376sclaus1024
863844087006008756880sclaus2048
107155201073811210771768claus
Cycles to compute a shared secret
quartilemedianquartilesystem
555888555944556096kumfp127g
756008756232759136gls1271
886248886448889128hecfp128bk
923456923608926904hecfp128fkt
101060010111761012040curve2251
106039210604801060760kumfp128g
110433611047041108688ecfp256e
110932011093681109704curve25519
114193611423201143576hecfp127i
114586411462241149488ecfp256q
114813611484321152440surf127eps
117524011754081177504ecfp256i
137920813802081405800ecfp256s
145663214570481481704ecfp256h
172633617290721751240surf2113
177124817715681794288sclaus1024
195562419560721978784hecfp128i
279818428269202832256hector
881440888334328834688sclaus2048
107364801073751210752448claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; Atom (106ca); 2011 Intel Atom N435; 1 x 1330MHz; h4atom, supercop-20140425

Cycles to generate a key pair
quartilemedianquartilesystem
249812025006162520152curve25519
Cycles to compute a shared secret
quartilemedianquartilesystem
248288024844322504528curve25519
Secret key
bytessystem
32curve25519
Public key
bytessystem
32curve25519
Shared secret
bytessystem
32curve25519

armeabi; Cortex-A9 (411fc090); 2010 NVIDIA Tegra 250; 2 x 1000MHz; h2tegra, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
940425941787941924kummer
976271983249992926sclaus1024
149397614962311496796curve25519
169037516955011708447nistp256
219795422077732214581surf127eps
260352926066622618224ed448goldilocks
472461147557324809991sclaus2048
583247358499795892963claus
Cycles to compute a shared secret
quartilemedianquartilesystem
924684925005925988kummer
975422975856977470sclaus1024
148113914818091482198curve25519
218528221867152192810surf127eps
482786848385284844721sclaus2048
580533058178205829754nistp256
582260558316405841274claus
728499972883307337002ed448goldilocks
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

amd64; K10 45nm (100fa0); 2010 AMD Phenom II X6 1100T; 6 x 3300MHz; hydra3, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
70206?74920?101287?ecfp256e
73309?78174?325091?ecfp256s
76408?81330?337263?ecfp256q
75003?81396?328622?ecfp256h
204213204221204231curve25519
243010?246846?1115133?sclaus1024
263360?265562?354580?ecfp256i
267905268842269356surf127eps
291232291960294088ed448goldilocks
406580?406606?1880368?kummer
455481459642465103nistp256
754101756979760592surf2113
891231894018965898curve2251
115042011587241176584sclaus2048
133628213366421338746ed521gs
143512014404931527789claus
162042416211291623657nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
195401195404195406curve25519
239222239301239487sclaus1024
247894?247941?366914?ecfp256e
256496?256617?1186721?ecfp256q
258156258263258443surf127eps
262571262586262617ecfp256i
311975311994329698ecfp256s
321669321704321736ecfp256h
397749397754397763kummer
746559746620746760surf2113
784068786785786794ed448goldilocks
842678842685842768nistp256
883271883677883882curve2251
117072211728721173252sclaus2048
129969512999541301446ed521gs
140948514102101411583claus
158995615910801592967nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; K10 45nm (100fa0); 2010 AMD Phenom II X6 1090T; 6 x 3200MHz; hydra1, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
769527895782451ecfp256e
803468290185723ecfp256s
814198346887392ecfp256h
836458643489837ecfp256q
228957228960228966curve25519
271240273511275621sclaus1024
294587295872298000ecfp256i
300083301213301611surf127eps
326680327424330256ed448goldilocks
455843455845455887kummer
508245521646521741nistp256
843856847213849699surf2113
99785910010551002323curve2251
128802512968941305640sclaus2048
149795014987281500430ed521gs
160782716112231615280claus
181677118176331817728nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
219072219083219085curve25519
268278268469268808sclaus1024
277895277939277996ecfp256e
287584287607287701ecfp256q
289533289726289872surf127eps
294299294349294416ecfp256i
349663349688349744ecfp256s
360678360704360737ecfp256h
445931445931445933kummer
837122837206837516surf2113
877647877710882144ed448goldilocks
944812944834945547nistp256
989840990709990925curve2251
131238813125261318812sclaus2048
145709014587731463301ed521gs
157980415799411580082claus
178259517826721784829nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; K10 45nm (100f63); 2010 AMD Athlon II Neo K125; 1 x 1700MHz; h3neo, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
761047784380514ecfp256e
791618111283248ecfp256s
801938209684914ecfp256h
821368478387657ecfp256q
228955228956228990curve25519
271366273783276309sclaus1024
290763292162294197ecfp256i
300483301456301954surf127eps
349460349532350742ed448goldilocks
455848455862455892kummer
510491510718510729nistp256
114376211485641151380surf2113
128831412978801306143sclaus2048
136447913692211370353curve2251
153479515352561538753ed521gs
160987516149811628253claus
183648118369001840126nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
219064219067219077curve25519
268248268275268791sclaus1024
274244274254274300ecfp256e
284078284114284252ecfp256q
289595289677289850surf127eps
290354290401290408ecfp256i
345783345797345830ecfp256s
354372354414354470ecfp256h
445927445929445932kummer
912667914418914440ed448goldilocks
944778944780944794nistp256
113797811382941138835surf2113
131220413155891318107sclaus2048
135774413586791359178curve2251
149429614952441495861ed521gs
158107115825481584135claus
180374018038461805344nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Nehalem (206e6); 2010 Intel Xeon X7560; 32 x 2266MHz; threads; unstable; bigmem, supercop-20141124

Cycles to generate a key pair
quartilemedianquartilesystem
440844553547656hecfp127i
547945627058726ecfp256e
579365965364796ecfp256h
595316128565666ecfp256s
637396640873363ecfp256q
683236941471686hecfp128i
711287251474965hecfp128bk
711537263074593hecfp128fkt
103765105295106315gls1271
114685116521127310curve2251
141105142007142335kumfp127g
204496204581204606curve25519
231424231444231466kumfp128g
258938259757259899ed448goldilocks
277077278183280123ecfp256i
270824288728309669hector
308108308145308159kummer
333438334639335248surf127eps
343071347273351957sclaus1024
562397564613566568surf2113
633564634256634369nistp256
170841217205221730175sclaus2048
204850820522652057671claus
Cycles to compute a shared secret
quartilemedianquartilesystem
144211144273145154kumfp127g
193979193981193984curve25519
222383222388222451hecfp128bk
230664230704230801hecfp128fkt
234668234971235045gls1271
240349240363240394kumfp128g
258986259160259403ecfp256e
270703270830271090ecfp256q
275159275287275516ecfp256i
289088289230290907hecfp127i
297664297673298024kummer
321521321688321898ecfp256h
322303322536322753surf127eps
337963338136339147sclaus1024
344947345055345236ecfp256s
427624427737427856curve2251
504798504883504937hecfp128i
555404555535555693surf2113
784811784873784930ed448goldilocks
889599889930890403hector
174129317413661741523sclaus2048
202167420219942022408claus
204035720430292044089nistp256
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

amd64; Westmere+AES (206c2); 2010 Intel Xeon X5680; 12 x 3325MHz; threads; unstable; cryptologic, supercop-20140517

Cycles to generate a key pair
quartilemedianquartilesystem
608916189464018ecfp256e
657396670668882ecfp256s
699857112572415hecfp128bk
718097325374950ecfp256q
721487417078706hecfp128i
736307738583064hecfp128fkt
903919264296275hecfp127i
116003117621118833gls1271
144217146000148067ecfp256h
252215252230252297kumfp128g
281708282416287025curve2251
301785323357344621hector
346175346259346508kumfp127g
498458498559499217curve25519
682283686267692416ecfp256i
807514814900824151sclaus1024
819733822500830067surf127eps
142324114301501438175surf2113
234635023665452375603claus
436610843979754443575sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
242839242979243839hecfp128bk
249785251473255018hecfp128fkt
261924261954262118kumfp128g
264763266618270997gls1271
284049284570285067ecfp256e
297194299373306970ecfp256q
354758354900355042kumfp127g
379200381988385457ecfp256s
473675473733474350curve25519
554160555800572124hecfp128i
681025684742688384ecfp256i
709925710566715900hecfp127i
791925793067799250surf127eps
794866796275805767ecfp256h
804521807172812114sclaus1024
100883710172521038479hector
104892510496751067692curve2251
140116714034001418191surf2113
231031823308462333967claus
441893444549084495183sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; Westmere+AES (206c2); 2010 Intel Xeon X5680; 12 x 3325MHz; threads; unstable; cryptologic, supercop-20140517

Cycles to generate a key pair
quartilemedianquartilesystem
532130532152542754curve25519
9062339386671013567hector
152038315351001553567sclaus1024
211154221227252133050surf2113
268215027125662721967curve2251
309843331098173117875surf127eps
711502876234667686958sclaus2048
870951687408168759617claus
Cycles to compute a shared secret
quartilemedianquartilesystem
521118521134532186curve25519
159780816114001623241sclaus1024
208855821053832108442surf2113
268281726908592696500curve2251
307350030789503081509surf127eps
307970830939173104150hector
725609373493007927491sclaus2048
3909044?8702325?8739258?claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048

amd64; Westmere+AES (206c2); 2010 Intel Xeon E5620; 4 x 2400MHz; hydra2, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
464804760049704hecfp127i
660246687668192ecfp256e
714207243275232ecfp256h
733967434476816ecfp256s
764607701278308hecfp128fkt
763407702078388hecfp128bk
774567858081424ecfp256q
788167939281300curve2251
789488000881804hecfp128i
106732107824108728gls254
117948119332120324gls1271
146900146980147108gls254prot
166364166372166412kumfp127g
239340240828240944curve25519
273036273056273176kumfp128g
287908288416288552ed448goldilocks
316704316780316796kummer
302248324120349556hector
345764347656349684ecfp256i
384344384444384616nistp256
394000395436396168surf127eps
403196406108410000sclaus1024
693020695980698812surf2113
201430420280602040736sclaus2048
241672824242962460668claus
Cycles to compute a shared secret
quartilemedianquartilesystem
955169558895672gls254
133988134172134420gls254prot
170112170124170168kumfp127g
227444227468227480curve25519
261496261540261632hecfp128bk
267124267224267328curve2251
271780271840271936hecfp128fkt
270196276032276220gls1271
283452283812283820kumfp128g
303060303076304532kummer
326528326600326684ecfp256e
337336337408337508ecfp256q
339520339620339720hecfp127i
346228346332346476ecfp256i
380732381068381592surf127eps
398316398456398516sclaus1024
406080406168406268ecfp256h
425844425932426072ecfp256s
593384593440593696hecfp128i
683832684160684596surf2113
806804806836807152ed448goldilocks
105311210540161056404hector
132282013241801324408nistp256
205189620528602058592sclaus2048
238339223885802390808claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; Westmere+AES (206c2); 2010 Intel Xeon E5620; 4 x 2400MHz; hydra2, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
580776580788580880curve25519
993660994696995640kummer
114544011459161146600nistp256
167351216743201677448ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
562784562796562872curve25519
975432975544976392kummer
403726840414724045336nistp256
515745251632045165800ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

amd64; Atom (106ca); 2010 Intel Atom N455; 1 x 1000MHz; h2atom, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
235560238230241240ecfp256e
256520259950262440ecfp256s
260520262340267540curve2251
263360265550268740ecfp256h
266430270270272850ecfp256q
112363011236601126630curve25519
116984011757701189470ecfp256i
128815012896301315560ed448goldilocks
173873017391701759440kummer
194704019476701976090nistp256
212107021460302164120sclaus1024
677360067831906802170ed521gs
813460081585808174850nist521gs
109565501101582011081440sclaus2048
123825501241747012452170claus
Cycles to compute a shared secret
quartilemedianquartilesystem
101458010147001015520curve2251
110539011055901108360ecfp256e
110997011099801110060curve25519
114609011462501148360ecfp256q
117595011760401177200ecfp256i
138051013806301382440ecfp256s
145863014587701460370ecfp256h
172504017251401745410kummer
217493021761602204250sclaus1024
365379036795303682320nistp256
444444044677704490840ed448goldilocks
672453067260706750590ed521gs
809550081190308124180nist521gs
111422101116851011173950sclaus2048
124373201246370012469630claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A8 (412fc085); 2009 Freescale i.MX515; 1 x 800MHz; h4mx515e, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
283629283660283707kummer
470361470408470427curve25519
346896383482644935005908claus
Cycles to compute a shared secret
quartilemedianquartilesystem
273337273349273387kummer
460197460200460214curve25519
346881193477888934928969claus
Secret key
bytessystem
32curve25519
32kummer
256claus
Public key
bytessystem
32curve25519
48kummer
128claus
Shared secret
bytessystem
32curve25519
48kummer
128claus

amd64; K10 45nm (100f42); 2009 AMD Phenom II X4 955; 4 x 3200MHz; morningstar, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
412614336045673hecfp127i
626196310663966hecfp128fkt
633736504267536hecfp128bk
638246571867818hecfp128i
755047748381443ecfp256e
774637981182362ecfp256s
795908122184904ecfp256h
818278464287883ecfp256q
121071122774123887gls1271
129456129491129493kumfp127g
223605223610223696kumfp128g
230643230658230686curve25519
271329274778281119sclaus1024
279742281170282939ecfp256i
305224306456306922surf127eps
346205346362347066ed448goldilocks
353022371699392603hector
437326437334437376kummer
748850751835754584surf2113
940285944020944800curve2251
114499211451971145264nistp256
129119713001811309624sclaus2048
161832016243821649667claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132186132188132190kumfp127g
206649206760206979hecfp128bk
213453213482213557hecfp128fkt
219200219203219203curve25519
230309230320230325kumfp128g
263512263539263573ecfp256e
266108266195266239gls1271
268714268826278656sclaus1024
272878272904272939ecfp256q
280155280165280274ecfp256i
282016282048282092hecfp127i
293939293974294259surf127eps
332189332304332315ecfp256s
338279338316338402ecfp256h
425824425824425828kummer
455123455198455360hecfp128i
741646741669741712surf2113
934766934829935304curve2251
103812410381601041239ed448goldilocks
116960811698051169992hector
119339211936891193763nistp256
131549013167861320451sclaus2048
158291015830831583496claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

amd64; Nehalem (106e5); 2009 Intel Xeon L3426; 4 x 1862MHz; unstable; waldorf, supercop-20160715

Cycles to generate a key pair
quartilemedianquartilesystem
615086195262732jacfp127i
633046373664292kumjacfp127g
690126961670284hecfp127i
764687747677920prjfp127i
94784100616101704jacfp128bk
103968105176109732prjfp128bk
103464108392110736hecfp128fkt
108356109332116312hecfp128bk
105844110788113040hecfp128i
110488111704112660ecfp256e
112040118020119640ecfp256h
114144118564121824ecfp256s
129624131488133800ecfp256q
199972202544205316gls1271
256632272216279016curve2251
287628288132291004kumfp127g
425372451200462528kumfp128g
459848472240473616curve25519
543816546396553812ed448goldilocks
548044566392576372ecfp256i
594692644008658320kummer
759076794964814720nistp256
306954032086043228672ed521gs
3610484?3786148?11118464?nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
291548292500294648kumfp127g
297064297616300660kumjacfp127g
294908310256317636jacfp128bk
372232380328381356prjfp128bk
363484383532392220hecfp128bk
375936403736405656hecfp128fkt
435820436448473608kumfp128g
437948440000440660jacfp127i
438092457784458776curve25519
468756469284469868gls1271
525016526220529948prjfp127i
506204531436545212ecfp256e
539404539932545112hecfp127i
521012546560560380ecfp256q
534012562096575448ecfp256i
580704631400641808kummer
657600676288676912ecfp256h
652676699636701968ecfp256s
807100859184872380hecfp128i
101546010515041115824curve2251
157321615878361600868ed448goldilocks
186676419721162015532nistp256
307032031523683163784ed521gs
347178837311364240244nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs

amd64; Nano (6f8); 2009 Via Nano U3500; 1 x 1000MHz; h5nano, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
626856363064385hecfp127i
100325100940101745hecfp128i
101385102740104565hecfp128bk
102045103240105185hecfp128fkt
118805120775123975ecfp256h
174510177020179295gls1271
222830223870229740curve2251
230310230315230355kumfp127g
354690354735354785curve25519
361700361710361745kumfp128g
384120393650398550ecfp256e
505635505655505780kummer
528835529220530810nistp256
935120936705944210ed448goldilocks
308343031015753103100claus
Cycles to compute a shared secret
quartilemedianquartilesystem
234165234165234240kumfp127g
340045340120340915hecfp128bk
340570340575340585curve25519
353550353645354115hecfp128fkt
376990376990376995kumfp128g
389320389805390080ecfp256e
402050402350402875gls1271
453540453640453825ecfp256h
479975480075480300hecfp127i
491490491505491555kummer
750395750445751015hecfp128i
877875878065878445curve2251
182963518297901839065nistp256
269370527029002704145ed448goldilocks
306547530815253082770claus
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32gls1271
48kumfp127g
48kumfp128g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus

x86; normally amd64; Nano (6f8); 2009 Via Nano U3500; 1 x 1000MHz; h5nano, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
964800964840972845curve25519
112311511231301133835kummer
132566513268451335885nistp256
204997520586302060050ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
946435948450948470curve25519
110672011067201116975kummer
473235047340654735880nistp256
630977063189056319495ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

armeabi (v5l, ARM926EJ-S); 2008 Marvell Kirkwood 88F6281; 1 x 1200MHz; auxplug, supercop-20141124

Cycles to generate a key pair
quartilemedianquartilesystem
137992813800601380966kummer
221089222116362214084curve25519
252743425317422541102nistp256
353506235461803566022ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
136388413639861364262kummer
219457821949322196750curve25519
847408884879848491542nistp256
102565621027136410279398ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

amd64; K10 65nm (100f23); 2008 AMD Opteron 8354; 8 x 2194MHz; gcc16, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
387154037644493jacfp127i
399674096049247kumjacfp127g
454374931552354prjfp127i
500455187956100hecfp127i
608856152863503jacfp128bk
711827213474808hecfp128fkt
763487872385532prjfp128bk
748767907082379hecfp128i
778078024487625hecfp128bk
100626105184108726ecfp256e
105121108799113063ecfp256h
105060109485113362ecfp256s
109706114385119013ecfp256q
127278128870130179gls1271
130297130317130415kumfp127g
223570223596223632kumfp128g
231330231342231343curve25519
274051276447278529sclaus1024
281747283319285697ecfp256i
312526313654314096surf127eps
385638385800386710ed448goldilocks
387841408727432743hector
462671462671462740kummer
777947777992783068nistp256
806165809394812299surf2113
101239710163331017332curve2251
129319913027441314479sclaus2048
162039716243971629579claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132220132220132224kumfp127g
135936135937135942kumjacfp127g
163070163235163328jacfp128bk
200649200660200662prjfp128bk
206911206916206947hecfp128bk
214208214260214314hecfp128fkt
215314215344215497jacfp127i
219802219802219803curve25519
230205230226230258kumfp128g
264663264704264733ecfp256e
270947271046271060sclaus1024
274045274091274117ecfp256q
277571277593277825prjfp127i
280877280897280930ecfp256i
281757281759281788hecfp127i
283397283679283874gls1271
299635299675299722surf127eps
333149333155333162ecfp256s
339569339636339709ecfp256h
451187451187451188kummer
455015455016455030hecfp128i
798923798938798988surf2113
100517710054441005468curve2251
107322810732471073367ed448goldilocks
126574512659811267925hector
131646313165931316831sclaus2048
132989113308061332340nistp256
158630815865711587147claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

amd64; C2 45nm (10676); 2008 Intel Pentium E5200; 2 x 2500MHz; floodyberry, supercop-20140505

Cycles to generate a key pair
quartilemedianquartilesystem
509885195054463hecfp127i
709637176373025ecfp256e
760757682577950ecfp256h
783507930080300ecfp256s
841628487586350ecfp256q
901509088893000hecfp128fkt
904509121292400hecfp128i
907129167593987hecfp128bk
133937135700137162gls1271
138712139363141062curve2251
179038179150179250kumfp127g
314762314875315025kumfp128g
321350321863322388curve25519
376762378362380775ecfp256i
419525421750423312surf127eps
418612439475464000hector
444400447388452237sclaus1024
870100873450876563surf2113
217047521833622203362sclaus2048
266650026754502684000claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183637183738183837kumfp127g
307188307387307650hecfp128bk
308087308463308888curve25519
311125311563312063gls1271
318400318637318938hecfp128fkt
327488327775328500kumfp128g
356875357000357275ecfp256e
372000372350372625ecfp256q
377225377425377662ecfp256i
389088389275389475hecfp127i
404812405825407175surf127eps
438800439738441375sclaus1024
447875448063448350ecfp256h
463063463325463750ecfp256s
514788515712516575curve2251
693775694175694425hecfp128i
861988862262862988surf2113
137687513907381409100hector
220522522063122211600sclaus2048
263492526374252648600claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; C2 45nm (10676); 2008 Intel Pentium E5200; 2 x 2500MHz; floodyberry, supercop-20140505

Cycles to generate a key pair
quartilemedianquartilesystem
536625563750597750hector
629737631238631838curve25519
717262728937767013sclaus1024
116873711738871178200surf2113
148236214872751494700surf127eps
168395017015371716137curve2251
363943836701633706087sclaus2048
410390041442374193100claus
Cycles to compute a shared secret
quartilemedianquartilesystem
613088613525614362curve25519
760963766675801038sclaus1024
115350011559881160763surf2113
146272514638251470500surf127eps
166770016873881703975curve2251
174443717568621786213hector
382298738446253886275sclaus2048
412341241647624201250claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048

x86; Atom (106c2); 2008 Intel Atom Z520; 1 x 1330MHz; h3atom, supercop-20140425

Cycles to generate a key pair
quartilemedianquartilesystem
104877010901301159060hector
182839018548501886240sclaus1024
234668023592902381560surf2113
251545025330302536940curve25519
272399027379802753480surf127eps
345322034703503487730curve2251
924232092978509361870sclaus2048
104731701050030010527140claus
Cycles to compute a shared secret
quartilemedianquartilesystem
192426019291001953120sclaus1024
233494023362802358400surf2113
250132025034802519590curve25519
270629027277302728820surf127eps
339941034100403420520hector
343962034585103470510curve2251
957134095906209596930sclaus2048
105653601057845010591090claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048

mipso32; 24K (24Kc); 2007? Atheros AR7161 rev 2; 1 x 720MHz; h1mips, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
519301451959665197668kummer
751232475126927521820curve25519
496241924963108049641984claus
Cycles to compute a shared secret
quartilemedianquartilesystem
517938451830685184046kummer
750321675037287504244curve25519
495171164953029649553056claus
Secret key
bytessystem
32curve25519
32kummer
256claus
Public key
bytessystem
32curve25519
48kummer
128claus
Shared secret
bytessystem
32curve25519
48kummer
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
456214674649833jacfp127i
459634868155485kumjacfp127g
509135341559634prjfp127i
527585540461461hecfp127i
708487231576446ecfp256e
764917790483412ecfp256h
773737960585014ecfp256s
774097972285176jacfp128bk
845378631092727ecfp256q
922869336697038hecfp128i
9122493438101205hecfp128bk
9036993492101979prjfp128bk
9200794527102285hecfp128fkt
137808138204141444curve2251
137430138762140436gls1271
178812178866178866kumfp127g
316017316134316287kumfp128g
330471331524331551curve25519
346653367200392301hector
373716375453377478ecfp256i
430803433404437895sclaus1024
437724439344440784surf127eps
459261459837461538kummer
685323688266690561surf2113
752850753597754785nistp256
213771621535022169117sclaus2048
257970625891202599281claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183429183429183438kumfp127g
187227188370188379kumjacfp127g
245160245214245313jacfp128bk
293274293337293391jacfp127i
304299304443304623prjfp128bk
307566307656307809hecfp128bk
317259317583317772gls1271
318447318474318843curve25519
318537319095319428hecfp128fkt
327582327582327582kumfp128g
356310356382356472ecfp256e
370143370215370368ecfp256q
373572373770373977ecfp256i
380736380790380880prjfp127i
389223389385389619hecfp127i
425241426222427266surf127eps
426474426537426627sclaus1024
443322443367443511ecfp256h
445779445788446634kummer
458622458640458685ecfp256s
511722513072513126curve2251
676539676809677259surf2113
695070695169695439hecfp128i
110368811038951104129hector
144001814418091445877nistp256
217814421789272191023sclaus2048
255547825562162569347claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

amd64; C2 45nm (10676); 2007 Intel Xeon E5420; 4 x 2494MHz; jos, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
547355555257428hecfp127i
739577597579838ecfp256e
801158331788987ecfp256h
828378569590323ecfp256s
876689016595543ecfp256q
933989424596053hecfp128i
935709444096120hecfp128fkt
9489097778102217hecfp128bk
133050134955136687gls1271
139778140573146895curve2251
178492178733178770kumfp127g
312803312968313335curve25519
314580314730314955kumfp128g
331320351510375638hector
367748368723371475ed448goldilocks
377588379822382613ecfp256i
429217430162431902kummer
431122436035440280sclaus1024
434348436522443677surf127eps
549255549892553732nistp256
671760674535680243surf2113
212906321452252162002sclaus2048
258614225918582599065claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183180183292183465kumfp127g
300682300855300998curve25519
306892307050308062hecfp128bk
307830309075312383gls1271
317288317550318825hecfp128fkt
327037327060327090kumfp128g
357000357142357592ecfp256e
371550371775372203ecfp256q
377002377197377632ecfp256i
389272389475389715hecfp127i
417945418822419565kummer
418950419693424867surf127eps
425820425970426345sclaus1024
447083447345448005ecfp256h
464122464310465697ecfp256s
513052514972518910curve2251
660210661178666577surf2113
693975694155698025hecfp128i
108017210872451088363hector
113148011344501139925ed448goldilocks
180403518060301808235nistp256
217065721717902174040sclaus2048
255525725567432752958claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; C2 45nm (10676); 2007 Intel Xeon E5420; 4 x 2494MHz; jos, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
432045459840495270hector
627607629753631328curve25519
739372746948759990sclaus1024
980752985508990180surf2113
133977813428151349632curve2251
133761813429801348147nistp256
149290514981181503907surf127eps
197562719890902006903ed448goldilocks
366616536908853712477sclaus2048
419702242109734232062claus
Cycles to compute a shared secret
quartilemedianquartilesystem
610455612720613117curve25519
779115783000788528sclaus1024
967950969720975270surf2113
132525013302531332360curve2251
139252514006181406033hector
147645014825471483732surf127eps
381055538171103866858sclaus2048
419123242054604238175claus
444075044493904479532nistp256
656667065946156653640ed448goldilocks
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
56ed448goldilocks
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

amd64; C2 65nm (6fb); 2007 Intel Xeon X3220; 4 x 2399MHz; enigma, supercop-20140529

Cycles to generate a key pair
quartilemedianquartilesystem
480334851950211hecfp127i
744217504275897ecfp256e
798218045181045ecfp256h
815678230582818ecfp256s
863198683288704hecfp128bk
866618735489154hecfp128i
866438749889064hecfp128fkt
877958831789271ecfp256q
140778142425143883gls1271
144117144351144630curve2251
177534177543178254kumfp127g
311175312219313632kumfp128g
320679321597321849curve25519
379926382347384480ecfp256i
417708428355459675hector
431514433125434412surf127eps
444222447309450513sclaus1024
555129555156563913kummer
862182865719869310surf2113
216015321763172192616sclaus2048
266500826706602678157claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182268182268182277kumfp127g
307809308079308322hecfp128bk
309249309267309330curve25519
315603318060319149hecfp128fkt
323676324549327969kumfp128g
324666325791327024gls1271
357543358425358929ecfp256e
371826372411372681ecfp256q
381609382554383481ecfp256i
389295389457392661hecfp127i
417240418383419535surf127eps
439200443295444231sclaus1024
446868447858448272ecfp256h
462708464634465957ecfp256s
537831538074538254curve2251
542934542934542934kummer
694053698553700434hecfp128i
855684855765856233surf2113
141016514287951432413hector
215252122069352220435sclaus2048
262063826277572632203claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

amd64; C2 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2405MHz; utrecht, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
628566407166366jacfp127i
646206580869768kumjacfp127g
726037394477571prjfp127i
733687465578984hecfp127i
110898112050114165jacfp128bk
114426115389116937ecfp256e
122751123876125460ecfp256h
125847127071128115ecfp256s
131706132696134982prjfp128bk
131607132741134901hecfp128bk
131580133020137556hecfp128i
132822133812135738hecfp128fkt
134181135504137421ecfp256q
201294203634206100gls1271
213867214461216891curve2251
266796267516271503kumfp127g
470529471618472095kumfp128g
532179535590536562curve25519
536301567477602235hector
567666568746570753ed448goldilocks
593973596700601011ecfp256i
659421661239663345kummer
669285671778673209surf127eps
737406743589749925sclaus1024
897813901476904896nistp256
104220010461601050318surf2113
253664125405562546865ed521gs
296640029695862978667nist521gs
317587531959453218364sclaus2048
386968538794323888396claus
Cycles to compute a shared secret
quartilemedianquartilesystem
273789273798273978kumfp127g
282267282591282708kumjacfp127g
364419364590364923jacfp128bk
437184437616437922jacfp127i
449487449694449919prjfp128bk
460764460845461160hecfp128bk
464976465957477648gls1271
478899479142479529hecfp128fkt
490869491229491256kumfp128g
513585518247519390curve25519
549477549657549828ecfp256e
571212571428571761prjfp127i
572031572211572499ecfp256q
585216585387585603hecfp127i
592137592695593415ecfp256i
642204642366644562kummer
651762652167653130surf127eps
687042687276687510ecfp256h
708561708777708993ecfp256s
763011763578764505sclaus1024
814158821241821610curve2251
102828610286371029060surf2113
104171410420201042776hecfp128i
170590517147881722465ed448goldilocks
174967217500501751004hector
199506619978202001537nistp256
246782724723632477880ed521gs
290367029112392915145nist521gs
323435732354643244527sclaus2048
382952738310033841515claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
425704369545468jacfp127i
435514440645729kumjacfp127g
490685014851561prjfp127i
499685089552020hecfp127i
748987595177544jacfp128bk
767437780579092ecfp256e
818918271984465ecfp256h
838808478086238ecfp256s
876698947892538prjfp128bk
889118972191035hecfp128fkt
885519006392223hecfp128bk
890019006391197ecfp256q
887499077493897hecfp128i
132894134973136791gls1271
142821143226146385curve2251
177831178137178533kumfp127g
314298314685330489kumfp128g
333612333612337851curve25519
325161345690368712hector
349533350172350892ed448goldilocks
387810390123395406ecfp256i
422964425394433314surf127eps
433431439011447678sclaus1024
441270447732457344kummer
524160532971552654nistp256
696789699858714294surf2113
168978616988671725588ed521gs
198060320127422024892nist521gs
213543921621512179017sclaus2048
258557425950602631105claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182943183366185733kumfp127g
187182187848188343kumjacfp127g
243018243198243585jacfp128bk
291087292005300726jacfp127i
299808300015309303prjfp128bk
308367308538308943hecfp128bk
312894314658326691gls1271
319455319779328392hecfp128fkt
321813321813326223curve25519
327249327258335592kumfp128g
366516366696366930ecfp256e
381168381321390537prjfp127i
381582381798383679ecfp256q
386793387054387486ecfp256i
389628390132390537hecfp127i
411750412884420165surf127eps
428391428886436950sclaus1024
431820433431445356kummer
457920458199458712ecfp256h
472482472617479763ecfp256s
542628542799554544curve2251
685359685917700677surf2113
694611703611711756hecfp128i
101965510293931034325ed448goldilocks
110376911241271137465hector
118603811991061209375nistp256
164349016502221682460ed521gs
193538719700191976940nist521gs
215865921763622210328sclaus2048
255528025610222603682claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; K8 (40fb2); 2006 AMD Athlon 64 X2; 2 x 2000MHz; mace, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
831778520587118ecfp256e
874348977092081ecfp256s
910019318596506ecfp256q
906949346195954ecfp256h
230783230783231076curve25519
286609288983291475sclaus1024
307498308691309323surf127eps
307928310218312636ecfp256i
366035366375367519ed448goldilocks
483036483049483057kummer
544518544619548141nistp256
118940211940161196909surf2113
132085213306061345507sclaus2048
143045214361381437665curve2251
165221016524761654927ed521gs
170595317129221724188claus
195074319518841971551nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
226288226288226306curve25519
285306285708287457sclaus1024
293253293324294472ecfp256e
297231297678297827surf127eps
302417303310303444ecfp256q
309206309963312103ecfp256i
361782361996363001ecfp256s
380992382236382708ecfp256h
476652476665476679kummer
951051951068951105ed448goldilocks
105504710550741055566nistp256
118449011849291185208surf2113
134581713458691346426sclaus2048
142604814262531426878curve2251
161162416138851614079ed521gs
167314116845021685502claus
191755519178521919622nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; C2 65nm (6f6); 2006 Intel Core 2 Duo E6400; 2 x 2137MHz; katana, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
850888584886920ecfp256e
877048827289568ecfp256h
909209186492936ecfp256s
102168103312104344ecfp256q
134984137088139568gls1271
142416142728144072curve2251
308032308080308704curve25519
328648330248333648ed448goldilocks
361208382424405648hector
423872425720428584surf127eps
427544428352430000kummer
431600434544438832sclaus1024
449864451896454648ecfp256i
590064607400607912nistp256
778552783072786848surf2113
169304016960241701624ed521gs
203572820388322043512nist521gs
211856821333522145792sclaus2048
258963225980162766624claus
Cycles to compute a shared secret
quartilemedianquartilesystem
295920295920297776curve25519
313752314520315840gls1271
411184412704414400surf127eps
416840416912418560kummer
426432426456426728sclaus1024
428144428240428680ecfp256e
443560443616443728ecfp256q
450616450688450752ecfp256i
515192515328515456ecfp256h
545000545120545264ecfp256s
546496546552546664curve2251
773144773248773464surf2113
102946410320161048192ed448goldilocks
116979211701441170576hector
117272811739441174008nistp256
164752816500561655144ed521gs
200260020039522007952nist521gs
216306421642562169880sclaus2048
256245625638482604816claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

x86; P4 Willamette (f12); 2001 Intel Pentium 4; 1 x 2000MHz; leaf, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
913520913644913876curve25519
154176015924801661140hector
325901632896083350216surf2113
349000435233643559640surf127eps
364025236481643655104kummer
380797638371603864212curve2251
491146049415084944296nistp256
731610873716247473884sclaus1024
168985081692531216948220claus
370622843733342837578436sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
904404912960921232curve25519
326952832795003303696surf2113
349240835311163559360surf127eps
364125236761723676500kummer
380528838150363843708curve2251
504762050654405083060hector
729010473046967365808sclaus1024
169029041692324016945332claus
170460721721593617503120nistp256
378626483788848437939428sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; K7 (622); 2000 AMD Athlon; 1 x 900MHz; thoth, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
607291607426607908curve25519
932775938778969402kummer
104423710445301076302nistp256
145122814558331488664ed448goldilocks
163454516414951665905surf127eps
171735517374911761365sclaus1024
806902581152138182971sclaus2048
103577341039968510634338claus
Cycles to compute a shared secret
quartilemedianquartilesystem
593848594201594830curve25519
922327922566956978kummer
162323516256461652125surf127eps
171483517303261746856sclaus1024
336838833725163373035nistp256
433298443341514338499ed448goldilocks
820289782193948234697sclaus2048
103737581037547210381379claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; P6 (672); 1999 Intel Pentium 3; 1 x 448MHz; orpheus, supercop-20140425

Cycles to generate a key pair
quartilemedianquartilesystem
865423875856878258curve25519
Cycles to compute a shared secret
quartilemedianquartilesystem
846027848275858692curve25519
Secret key
bytessystem
32curve25519
Public key
bytessystem
32curve25519
Shared secret
bytessystem
32curve25519

Version

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