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

amd64; KnLanding (50671); 2016 Intel Xeon Phi 7210; 64 x 1300MHz; unstable; genji154, supercop-20161009

Cycles to generate a key pair
quartilemedianquartilesystem
9635698969109824curve2251
9860599684109694gls254
97994?100867?125125?jacfp127i
101595101816121914kummer
103090105326123552kumjacfp127g
104767106028127153prjfp127i
108199110565123955hecfp127i
115700117286127036ecfp256e
127257130546139997ecfp256h
127049130819151554gls254prot
130156132366161278ecfp256s
141817143728159965ecfp256q
144430146393165282jacfp128bk
160147162058183391prjfp128bk
160043162500174993hecfp128i
161460163722180570hecfp128fkt
165724168285187811hecfp128bk
300118300521317057curve25519
338546339846357045kumfp127g
410306415584433485gls1271
582621595530604903kumfp128g
592176604266611429nistp256
632125647153659828ecfp256i
713154726700773747surf127eps
853333866632870558ed448goldilocks
106242510690811075152surf2113
182254818389021857934sclaus1024
234120923906612459041hector
427716942818104290468ed521gs
514073351455565151094nist521gs
750644775193307896382claus
895122890215459084179sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
832138330483369gls254
904159058490948kummer
113672115882117000gls254prot
272636273468274872curve2251
300820300963303589curve25519
342355343564357643kumfp127g
344955345774360906kumjacfp127g
452595453271475696jacfp128bk
522613523185548080prjfp128bk
526578541788551603hecfp128bk
545194547066564317hecfp128fkt
564278585767597818jacfp127i
597870610909617747kumfp128g
591435612456618553ecfp256e
619853637052644384ecfp256q
629707646789652314ecfp256i
659100681278694603prjfp127i
675753696254703807hecfp127i
698776712699736749surf127eps
757523777101781638ecfp256h
763906784979791648ecfp256s
868231886184889902gls1271
105055610542481058226surf2113
109756411021791105481hecfp128i
181600918211961830608sclaus1024
191950219317221963442nistp256
255353825572042561273ed448goldilocks
422630042329694241796ed521gs
510000451043725110248nist521gs
746314474733757830407claus
794432679607197981532hector
914440891514549162946sclaus2048
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

aarch64; Cortex-A57 (418fd071); 2015 NVIDIA Tegra X1; 4 x 1734MHz; lionheart30, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
245555245587245806kummer
372415372418373175curve25519
393267393541393556nistp256
517636518620522321ed448goldilocks
192154319230841925078ed521gs
240138724026032403152nist521gs
979735798103359823942claus
Cycles to compute a shared secret
quartilemedianquartilesystem
237028237437237723kummer
364506364556364561curve25519
128608712860981286102nistp256
157104315718371571840ed448goldilocks
188839618884291889043ed521gs
237502523756932376697nist521gs
971857997319659745990claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
383959384656384681kummer
476090476186477880curve25519
503933504320505261nistp256
666382669081681813surf127eps
680058681152688786ed448goldilocks
106123010715981090570sclaus1024
282484728427222864371ed521gs
346962134933403539982nist521gs
519950952493705303957sclaus2048
641654164374366459536claus
Cycles to compute a shared secret
quartilemedianquartilesystem
375830375938376304kummer
474224474248474467curve25519
658470658882660259surf127eps
105867010597591061141sclaus1024
163603016366751636964nistp256
185131418521691853513ed448goldilocks
279114528062222820398ed521gs
344088834543273494575nist521gs
529234353102915355910sclaus2048
641873664297296441428claus
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-20160910

Cycles to generate a key pair
quartilemedianquartilesystem
413844197443348ecfp256e
436004440646088ecfp256h
458424597246540curve2251
461324685448690ecfp256s
469964782649770ecfp256q
494084987050318gls254
567565683457426kummer
617206185261988gls254prot
153186153440153752ed448goldilocks
163068163200163306curve25519
187866188602189326surf127eps
187840189626191264sclaus1024
188850190026191192ecfp256i
324738324856324996nistp256
595932598054600304surf2113
826016826304827788ed521gs
919234929774950694sclaus2048
956074956380956632nist521gs
97329610220561023128claus
Cycles to compute a shared secret
quartilemedianquartilesystem
367343683637008gls254
487184918649310kummer
533565354853730gls254prot
146628146702146768curve2251
165642165816166488curve25519
173728173856174000ecfp256e
176760177154177666surf127eps
185466185584185794ecfp256q
185396185798186106sclaus1024
185652185808185990ecfp256i
216000216194216416ecfp256h
239772239946240268ecfp256s
460278460582460938ed448goldilocks
580090580270580538nistp256
588774588944589138surf2113
794926795102795238ed521gs
930960931140931338nist521gs
933264934716954888sclaus2048
98609210335801034356claus
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-20160910

Cycles to generate a key pair
quartilemedianquartilesystem
102320108440120380ecfp256e
112200116540124580ecfp256s
112720119160130780ecfp256h
120100127080138500ecfp256q
122460129340147240curve2251
149960152120154440gls254
213640213800216080gls254prot
459780459900463460curve25519
510560514680522120ecfp256i
568200568320569280kummer
578440581100596540surf127eps
628560629140640780nistp256
731380733760745720ed448goldilocks
897980907060927720sclaus1024
115100011549601167120surf2113
348790034959403514300ed521gs
415624041578404173100nist521gs
428534043204404350700sclaus2048
540602054191605437360claus
Cycles to compute a shared secret
quartilemedianquartilesystem
136020136180136400gls254
201960202100202520gls254prot
425460425660429000curve2251
448160448200448320curve25519
473560474760483720ecfp256e
501780504640516640ecfp256q
507460508020510700ecfp256i
556560556640556860kummer
562980564100569580surf127eps
596660597580602060ecfp256h
626860628520647660ecfp256s
890580891160897940sclaus1024
113930011401401142600surf2113
198970019950602003680nistp256
226296022670002278360ed448goldilocks
343368034426203445500ed521gs
411390041157604119940nist521gs
436990043716604375780sclaus2048
539304053945805403080claus
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

armeabi; Cortex-A15 (413fc0f3); 2014 NVIDIA Tegra K1; 4 x 2065MHz; jetsontk1, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
247602247865248379kummer
342789343931344232curve25519
406925423046433492ed448goldilocks
942649943993953453nistp256
254495525667402587546sclaus1024
118155391189926711967232sclaus2048
123905621239351912398831claus
Cycles to compute a shared secret
quartilemedianquartilesystem
238315238363238823kummer
330971332168332342curve25519
111087511193291120231ed448goldilocks
260074226107292614044sclaus1024
317065631780193179661nistp256
120315971204340712093823sclaus2048
123688171237067012375094claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
296323007630528jacfp127i
308403126431740kumjacfp127g
328923351634096prjfp127i
341843480435320hecfp127i
393044005240976jacfp128bk
451924571646304prjfp128bk
475924815248648hecfp128fkt
477764818048744hecfp128bk
479324844448828hecfp128i
472684872052596ecfp256h
481924909251304ecfp256e
499325057653832curve2251
502775232054912ecfp256s
563325759662388ecfp256q
696966976069868kummer
700967018070260gls254prot
935569493295600gls1271
110416110564110832kumfp127g
151760152044153880curve25519
156504156568156628kumfp128g
204516204856205952ed448goldilocks
220016221016222228ecfp256i
354044354132354240nistp256
110721211080921109708ed521gs
127171612723801273580nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
610726114461220kummer
616006166061724gls254prot
112488112620112912kumjacfp127g
113172113336113680kumfp127g
114632114788119324jacfp128bk
141624141812141964prjfp128bk
150416150572150728hecfp128bk
155800156076157832hecfp128fkt
156184156748156876curve25519
160404160440160492curve2251
162892162980163048kumfp128g
185180185676186916jacfp127i
210232210364210520ecfp256e
215328215524215748gls1271
217248217412217956ecfp256q
217456217608217808ecfp256i
224140224380224760prjfp127i
230024230224230520hecfp127i
220284247652247836ecfp256h
281660281868282168ecfp256s
334752335008335360hecfp128i
595832596052596584ed448goldilocks
866348866552866792nistp256
107382810743441075164ed521gs
124462812451561246036nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
gls254321
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
96ecfp256i
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
72ed521gs
72nist521gs

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

Cycles to generate a key pair
quartilemedianquartilesystem
312443220833564jacfp127i
324403416037400kumjacfp127g
343643501636340hecfp127i
345443524836452prjfp127i
396484040842232jacfp128bk
453164616847600prjfp128bk
464604722448644hecfp128fkt
466964738848740hecfp128i
465204762450172ecfp256e
476164880052448ecfp256h
498405074456424curve2251
500645139253448hecfp128bk
523605303253676gls254
512085334858068ecfp256s
529525380857416ecfp256q
685566862468680kummer
696966974869800gls254prot
838248404884708k298
955889691297716gls1271
109896110364111736kumfp127g
151492151576151724curve25519
155140155248155312kumfp128g
177276177468177732ed448goldilocks
219212220116221464ecfp256i
221272222200222788surf127eps
224472227516242244sclaus1024
215116231656250692hector
284164284424286700nistp256
476976478692480580surf2113
108845210900961091580ed521gs
110708411149001121676sclaus2048
123124812326201233968nist521gs
133745213427201361248claus
Cycles to compute a shared secret
quartilemedianquartilesystem
395323958039628gls254
603526046860624kummer
616766171261752gls254prot
756287572075868k298
112396112780114196kumfp127g
113776113912117828jacfp128bk
120412120720121004kumjacfp127g
139744139944140152prjfp128bk
144756144880145060hecfp128bk
149924150060150184hecfp128fkt
156032156148157652curve25519
159096159140159188curve2251
161292161780161824kumfp128g
184516184708184888jacfp127i
203708203804203932ecfp256e
208276208544208836surf127eps
212076212208212360ecfp256q
216476216616216756ecfp256i
218832219108219652gls1271
221632221816239684sclaus1024
225428225660226044prjfp127i
229140229372229612hecfp127i
247652247752247960ecfp256h
270124270260270392ecfp256s
327384327640327968hecfp128i
471384471580471736surf2113
531904532212534832ed448goldilocks
705392706092706600nistp256
750524750856751132hector
105819610586561061748ed521gs
112793211284201130276sclaus2048
120466012069241211152nist521gs
130856013089401422336claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
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
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
420172420372420520curve25519
699548699764700048kummer
872544873208874320nistp256
126616012683681269324ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
409280409796409908curve25519
686240686504686836kummer
307676430784243080936nistp256
420772042099404211748ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
365587365595365617kummer
577024577032577066curve25519
682636683349685268ed448goldilocks
139430713970941400832nistp256
788722278981597907609claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355820355829355848kummer
567263567267567293curve25519
191888619190691919821ed448goldilocks
467381346860614689509nistp256
944039294451839449742claus
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; Sandy Bridge (206a7); 2011 Intel Core i3-2130; 2 x 3400MHz; river, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
304803374436660jacfp127i
33916?35316?46036?kumjacfp127g
373963816841800hecfp127i
352483818440488prjfp127i
46876?49008?59504?jacfp128bk
538925483658132ecfp256e
559285686064824ecfp256h
542765709263388hecfp128i
555045737665292hecfp128fkt
578365868464588ecfp256s
567966020467220prjfp128bk
578966085268376hecfp128bk
624566392472876ecfp256q
763607776881380curve2251
110876112524113864gls1271
123348123664136712kumfp127g
184528185672188504kumfp128g
257828260096266904ecfp256i
292856294292297576surf127eps
308872313848334040curve25519
321660321900322632kummer
347292352036371844sclaus1024
398272421612465824hector
672064674220696152nistp256
832296837272859812surf2113
177376817998921850048sclaus2048
206080820905362213172claus
Cycles to compute a shared secret
quartilemedianquartilesystem
126544126712131424kumfp127g
132492136172141344kumjacfp127g
144880145792150020jacfp128bk
186144186580187412prjfp128bk
186792187460188712hecfp128bk
184776187764188436hecfp128fkt
192528194356197180kumfp128g
200216200724203716jacfp127i
235876236684242768ecfp256e
245676246680250976ecfp256q
252196253672259936gls1271
253928259132264084ecfp256i
260524260776261072curve2251
259456264548265772prjfp127i
265112267260267876hecfp127i
277888278404279144surf127eps
282736286284294568ecfp256h
293304300164318204curve25519
309008312364319152ecfp256s
312980314672321852kummer
343724344536366700sclaus1024
414828415976423964hecfp128i
822540823372838800surf2113
127193612953161428532nistp256
134512413623761613132hector
179121218068401905016sclaus2048
203952020888722333760claus
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; Atom (106ca); 2011 Intel Atom N435; 1 x 1330MHz; h4atom, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
234736237592239744ecfp256e
255448259232261488ecfp256s
260280261112263480curve2251
262648264760267856ecfp256h
265584268816271776ecfp256q
112364011239521126592curve25519
115254411539921167856surf127eps
117032811767441194032ecfp256i
129001612921601310432ed448goldilocks
172464017323761747904surf2113
173875217391361757336kummer
179717618154561831368sclaus1024
194742419517121973600nistp256
676966467726486790952ed521gs
813161681497848152400nist521gs
868716087487528808016sclaus2048
108456161086593610901392claus
Cycles to compute a shared secret
quartilemedianquartilesystem
101448810146801015760curve2251
110544011057601107864ecfp256e
110997611099841110136curve25519
113604011362161140536surf127eps
114640811476481171312ecfp256q
117584011760161176992ecfp256i
138067213813041406976ecfp256s
145863214591361484424ecfp256h
171391217153121735392surf2113
172504817251041743024kummer
179237617957121815344sclaus1024
366007236784163684424nistp256
446432044647044464920ed448goldilocks
672168867238006742472ed521gs
809370481117448114616nist521gs
887785688841928896448sclaus2048
108624081087873610882400claus
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

armeabi; Armada (562f1311); 2010 Marvell Armada 310; 1 x 1200MHz; tonido, supercop-20160910

Cycles to generate a key pair
quartilemedianquartilesystem
197401819746301977192kummer
272101227217742725932curve25519
329936433050643343038ed448goldilocks
372754837309203766188nistp256
336005703360414633611544claus
Cycles to compute a shared secret
quartilemedianquartilesystem
195079819512901953426kummer
269767826984042700480curve25519
811157481484928155332ed448goldilocks
120954301209613212099264nistp256
335027163350469633509784claus
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-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.10.26 of the results-dh.html web page. This web page is in the public domain.