VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information: Introduction eBASH eBASC eBAEAD eBATS SUPERCOP XBX Computers
How to submit new software: Tips Hash 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; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 x 2994MHz; ryzen, supercop-20170718

Cycles to generate a key pair
quartilemedianquartilesystem
386103921041400curve2251
390604014042210ecfp256e
413404332046740ecfp256h
435004524048810ecfp256s
452104539045630gls254
461404617046260gls254prot
456304752051210ecfp256q
638406387063900k277taa
678006789068040k298
823808241082500k277mon
103350103410103470kummer
135510135540135570curve25519
182100183030184290ecfp256i
203550206220209250surf127eps
217290217890218310ed448goldilocks
351150351930352320nistp256
138918013906801392630ed521gs
166824016692601672680nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
438904392043950gls254
460804608046110gls254prot
638106381063840k277taa
676806774067830k298
825608259082650k277mon
103290103350103410kummer
147180147480148950curve25519
149910150330150900curve2251
169200169350169440ecfp256e
176280176520176790ecfp256q
179370179700179820ecfp256i
202800205200207870surf127eps
209310209400209640ecfp256h
229410229500229770ecfp256s
541230541710542070ed448goldilocks
627720627870628170nistp256
138900013900801391850ed521gs
166494016676701669950nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs

amd64; SL+512x2 (50654); 2017 Intel Xeon Gold 6150; 18 x 2700MHz; manny1024, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
361363665837562gls254
373163751037570gls254prot
382283907044048curve2251
446704484644932k277taa
445704579249048ecfp256e
480484940455160ecfp256s
509265098451060k298
508225216856070ecfp256q
479605301859164ecfp256h
567045674856816kummer
607666084860906k277mon
126662135832143404curve25519
179752182676195448sclaus1024
194660195664203282ed448goldilocks
198082199660201398ecfp256i
198034206152216398surf127eps
284544284844286012nistp256
905896917460978238sclaus2048
106388810697861120698claus
152023415333581537744ed521gs
183202219099661967686nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
350663509835142gls254
372463744237480gls254prot
446244479244840k277taa
505205079650874k298
566665670256756kummer
594765950459528k277mon
136292136490143438curve25519
139990146754150574curve2251
182892185282196562sclaus1024
185398185614185996ecfp256e
193322193638200004ecfp256q
194320195740196162ecfp256i
191878199828208074surf127eps
226500235738239328ecfp256h
248766249064249484ecfp256s
503502518902526544ed448goldilocks
578904579944583644nistp256
910146923088982370sclaus2048
107069210757381116710claus
151615615178381525118ed521gs
183193019202821964682nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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; genji154, supercop-20170228

Cycles to generate a key pair
quartilemedianquartilesystem
800158018480548gls254
947969691597084kummer
987619880099281k277taa
96434100100102687curve2251
104533105742108771kumjacfp127g
106145107614109083jacfp127i
108940109928112255prjfp127i
109148110747114686hecfp127i
114283115362117065ecfp256e
119535119717120926k298
126971127023142155gls254prot
128206128206128622k277mon
129142130793133029ecfp256s
130572132236135590ecfp256h
136175138229142220ecfp256q
143338144560152750jacfp128bk
159978161265171665hecfp128bk
160771161876167492prjfp128bk
162058163592170313hecfp128fkt
163436164827169377hecfp128i
188032190736194909gls1271
300248300495318838curve25519
338546339833356005kumfp127g
537290556465590837hector
561938568334582738nistp256
582504586755599287kumfp128g
633113646568660621ecfp256i
709774721058728091surf127eps
730288740441766792ed448goldilocks
102859910393371046825surf2113
185890918861051927380sclaus1024
431181443210574338438ed521gs
518009752102835261685nist521gs
761666176750707772817claus
897271790262259091264sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
667426676866781gls254
801458015880509k277taa
835258356485852kummer
107237107367107523k298
109564109577109629k277mon
113633113646137124gls254prot
272857273455277745curve2251
300781301444320255curve25519
342368343629359866kumfp127g
344903345826362115kumjacfp127g
444080445952467766gls1271
452647453310476879jacfp128bk
522548523172548704prjfp128bk
526370527085548236hecfp128bk
545402551122571415hecfp128fkt
564382570947594698jacfp127i
591448595647616226ecfp256e
597831600184613392kumfp128g
620308637117646815ecfp256q
629967639860655382ecfp256i
658840680745689195prjfp127i
676195697541707759hecfp127i
695916706563712088surf127eps
762307780520790010ecfp256h
767169785564794378ecfp256s
102111110258561039402surf2113
110052811129431121549hecfp128i
167122816776891690533hector
184160618556331887392sclaus1024
193844319460481953380nistp256
226655022771582301273ed448goldilocks
426091942709554281446ed521gs
513792551652905193188nist521gs
755729075747367673575claus
913870191437199151662sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; BW+AES (406f1); 2016 Intel Xeon E5-2680 v4; 14 x 2400MHz; manny357, supercop-20170228

Cycles to generate a key pair
quartilemedianquartilesystem
308483153233524jacfp127i
318083299235904kumjacfp127g
362723750839752hecfp127i
38812?40412?56704?prjfp127i
394124057241712jacfp128bk
426724335645320ecfp256e
438004470447012hecfp128bk
438804501647656hecfp128fkt
446844623650852prjfp128bk
455004670052840ecfp256h
465844783652240ecfp256s
477724807250720curve2251
46288?48168?64588?hecfp128i
475564842048996gls254
484244925653108ecfp256q
644006444864520gls254prot
658166587665932k277taa
679646810868252k298
712327128871352kummer
841528426884416kumfp127g
836408508886172gls1271
861208620488828k277mon
130344130596130920kumfp128g
152672152792152948curve25519
183644183992184328ed448goldilocks
202200203084203908surf127eps
199736203604207808ecfp256i
310768311100311568nistp256
562588564152567308surf2113
932744936760944504ed521gs
9431329734161014612hector
104302810498281063196nist521gs
165326016666601725184claus
Cycles to compute a shared secret
quartilemedianquartilesystem
386883874438784gls254
530005304853100k277taa
558645591655972gls254prot
574165754057664k298
637966386863988kummer
733367340476000k277mon
863088647286912kumfp127g
886488941690520kumjacfp127g
108584108776109032jacfp128bk
128920129248138860prjfp128bk
131424131680132120hecfp128bk
135692136012136448hecfp128fkt
135828136344136560kumfp128g
144740144868144980curve25519
153312153368153448curve2251
162760162916163144jacfp127i
183308183468183676ecfp256e
186680187076196304gls1271
191176191852192752prjfp127i
191848191964192160ecfp256q
192416192684193244surf127eps
194644194940200344hecfp127i
195724195940205784ecfp256i
229308229492238220ecfp256h
247816247964248152ecfp256s
270308270548270868hecfp128i
529064529392537124ed448goldilocks
553888554048561240surf2113
611440613820619948nistp256
899596902528910444ed521gs
101629610169721024784nist521gs
164390016651281734604claus
301424430372603076844hector
Secret key
bytessystem
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
80k277mon
80k277taa
96ecfp256i
96k298
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
376683784037912gls254
393803947239548gls254prot
391843955241560curve2251
420084262043736ecfp256e
443204478846568ecfp256h
459244658848388ecfp256s
480404879651300ecfp256q
508925101251512k277taa
608406088460940kummer
744367451674576k277mon
142556142672142772curve25519
154660154928155196ed448goldilocks
191640193356195280sclaus1024
196752197440198184surf127eps
198180199152200540ecfp256i
327452327568327704nistp256
569676572204573424surf2113
914192915352917960ed521gs
958572966096974724sclaus2048
991960993156994380claus
106565610671201068900nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
362483641236456gls254
392043924439304gls254prot
508205094051320k277taa
607326082060884kummer
743927444474488k277mon
142476142580142672curve25519
153168153420155788curve2251
184328184432184564ecfp256e
190112191460192164surf127eps
192836192932193032ecfp256q
195156195252195356ecfp256i
195660197292201048sclaus1024
229824229920230088ecfp256h
247792247940248148ecfp256s
459388459720460060ed448goldilocks
563712568304571236surf2113
615008615292615884nistp256
915424916720917388ed521gs
959080967440975944sclaus2048
982076983628984304claus
106534410667641068272nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
40k277mon
40k277taa
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
104880105004105124k277mon
409076409280409492curve25519
496532496604496676kummer
637172637452637736nistp256
121675212171801217932ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
104692104804104936k277mon
410016410352410484curve25519
496412496544496772kummer
215127221546202158456nistp256
403576840398004042272ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

aarch64; Cortex-A72 (418fd080); 2015 Mediatek MT8173; 2 x 2100MHz; a72, supercop-20170718

Cycles to generate a key pair
quartilemedianquartilesystem
232272232276232280kummer
367006367012367029curve25519
566879566894566912nistp256
168610617052321719033sclaus1024
187507518750901879550ed521gs
240956424095722414134nist521gs
805696581154318168376sclaus2048
9962211998479610004441claus
Cycles to compute a shared secret
quartilemedianquartilesystem
231230231239231249kummer
366884366892366892curve25519
114194011419561141974nistp256
170327817100291732691sclaus1024
187524618752491875250ed521gs
240167824016872401746nist521gs
806163581433728189733sclaus2048
100308831004747810067815claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve25519
48kummer
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
353881353944363179kummer
474274474370477660curve25519
687323691883725109surf127eps
731870732535737376nistp256
107036510855381126878sclaus1024
280938728741203287701ed521gs
338758934071243453562nist521gs
518296852538515327011sclaus2048
635764964112796689543claus
Cycles to compute a shared secret
quartilemedianquartilesystem
353806354068363077kummer
480501480583481364curve25519
682708684747696909surf127eps
108194410933301110616sclaus1024
150074115009651504381nistp256
281508528520802986250ed521gs
337964033834323401140nist521gs
518398852176895456374sclaus2048
637039963938426653220claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
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 Xeon E3-1220 v5; 4 x 3000MHz; samba, supercop-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
367603697937462gls254
382663853538967curve2251
387313875738790gls254prot
410724167043095ecfp256e
430824367746099ecfp256h
460324606046093k277taa
454114611347929ecfp256s
475814838749885ecfp256q
484884853448582kummer
699356998270051k277mon
125851126438155189curve25519
152933153183153430ed448goldilocks
178151179804181294sclaus1024
180707181397181923surf127eps
188567189571190592ecfp256i
316121316341316730nistp256
509103511643512842surf2113
817532817883819090ed521gs
895960902686909323sclaus2048
966619967474969331claus
994870995292996173nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
358693589535940gls254
386173864338671gls254prot
459384596845994k277taa
490964920449254kummer
698536991469964k277mon
134635136020136244curve25519
145748145986146157curve2251
174411174568174786ecfp256e
177181177512177998surf127eps
180901183024183500sclaus1024
185356185528185726ecfp256i
185449185629185839ecfp256q
216794216957217147ecfp256h
240895241123241409ecfp256s
458869459207459778ed448goldilocks
509401509784510637surf2113
577155577427577859nistp256
816732817055817494ed521gs
905944915468928978sclaus2048
957117958284959746claus
994631995014995831nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
40k277mon
40k277taa
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
951199593296960k277mon
426250428869433764curve25519
475524478022480572kummer
627262628735631470nistp256
115682011618701168104ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
956739633797012k277mon
426460427790430770curve25519
473234475399478061kummer
207875220888482098494nistp256
378023437869053794934ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
412264192643306ecfp256e
448124502245224gls254
449264549047474ecfp256h
456344575646412curve2251
450884585047744ecfp256s
471124792849644ecfp256q
559785603056084kummer
616626185861966gls254prot
655606569465866k298
152904153204153528ed448goldilocks
163716163872164864curve25519
186688187384188006surf127eps
188230189436190950ecfp256i
188362190220192230sclaus1024
324624324848325072nistp256
595728597770599800surf2113
826010826344827836ed521gs
917336922348929924sclaus2048
956246956530956894nist521gs
973464973836974484claus
Cycles to compute a shared secret
quartilemedianquartilesystem
359763600836042gls254
490584910649160kummer
533165353453626gls254prot
570885716257260k298
146810146892147002curve2251
165848167386168434curve25519
173590173770173980ecfp256e
175904176130176464surf127eps
184776184928185096ecfp256i
185506185636185796ecfp256q
185574185976186490sclaus1024
222738222910223122ecfp256h
239630239802240004ecfp256s
459476459766461024ed448goldilocks
577860578114578386nistp256
590086590294590530surf2113
794900795092795318ed521gs
930978931272931534nist521gs
932938933880935164sclaus2048
985298985844987506claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
48k298
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
102720107760119920ecfp256e
110240112800121980ecfp256h
111700117780130820ecfp256s
120960126940138840ecfp256q
122540127160144780curve2251
148060149920153200gls254
213600213660213980gls254prot
322780325060330140k298
459640459760460660curve25519
509300512740522720ecfp256i
578260580760598900surf127eps
585380585460588420kummer
645440648860663900nistp256
791400795240809240ed448goldilocks
897660907760925120sclaus1024
115090011562001176040surf2113
376346037677803790720ed521gs
428958043197204355820sclaus2048
447964044822404503260nist521gs
539990054147605438960claus
Cycles to compute a shared secret
quartilemedianquartilesystem
137560137660137780gls254
201880202060202620gls254prot
310600311260317060k298
425520425640427540curve2251
448160448200448480curve25519
484020485800490400ecfp256e
507620508040509740ecfp256i
506800508520513040ecfp256q
563200563700568240surf127eps
573820573840573900kummer
599860600500603780ecfp256h
627520628740638260ecfp256s
890920891620896140sclaus1024
113886011399201144440surf2113
205968020605002071540nistp256
268192026939602698080ed448goldilocks
370600037136603718060ed521gs
437042043729804377220sclaus2048
443758044396204446940nist521gs
538748053892805397500claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48k298
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-A5 (417fc051); 2014 Amlogic S805; 4 x 1536MHz; c1, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
654396677048725506kummer
103659610366211038361curve25519
107454411142831146558ed448goldilocks
223307724305882788157nistp256
252705525456172879182surf127eps
297565630828913218481sclaus1024
147622911524815616047749sclaus2048
178298291791505218597807claus
Cycles to compute a shared secret
quartilemedianquartilesystem
655869677581706188kummer
102472510247381024963curve25519
250912325193022669901surf127eps
294802229663223104106sclaus1024
293737829852813043311ed448goldilocks
834877188442459470045nistp256
152909211545866915664835sclaus2048
178807101856542418782118claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
237543238076245799kummer
331080332278333124curve25519
701676712128736807nistp256
240342124926562598974sclaus1024
110868761124773111742819sclaus2048
123959121250973912526077claus
Cycles to compute a shared secret
quartilemedianquartilesystem
237105237471238438kummer
331249332187332589curve25519
239632024082662449960nistp256
242485125131492634413sclaus1024
110838011140009612128673sclaus2048
123705261238014912491138claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
256claus
Public key
bytessystem
32curve25519
48kummer
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
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-2680 v3; 12 x 2500MHz; robin204, supercop-20170228

Cycles to generate a key pair
quartilemedianquartilesystem
375403904040980kumjacfp127g
386004034042792jacfp127i
415084268445364hecfp127i
416964361246896prjfp127i
455724643248368ecfp256e
468804758849728ecfp256h
473964892451552jacfp128bk
491884985255016curve2251
492685006053832ecfp256s
516445339657624prjfp128bk
528805370857220ecfp256q
531645449256240hecfp128i
538045506457772hecfp128fkt
540805540459136hecfp128bk
700887015270244gls254prot
714247148071536kummer
817848190082032k277taa
835408391284272k298
109540109584109628k277mon
113104113432113736kumfp127g
152200152536154788curve25519
159440159756159888kumfp128g
177596179924182092gls1271
194048194392195724ed448goldilocks
219216220208220824surf127eps
220552221776222948ecfp256i
334620335004335552nistp256
566588569744621252surf2113
99731610276401071744hector
106665610685961070480ed521gs
120229212067201254404nist521gs
176736017690161770028claus
Cycles to compute a shared secret
quartilemedianquartilesystem
614846154861604gls254prot
639126395664008kummer
688846898869100k277taa
748607524875456k298
966729670896752k277mon
112304112432112572kumjacfp127g
115756115920116096kumfp127g
126860127168131128jacfp128bk
153156153432153804prjfp128bk
156012156092158876curve25519
156948157272160368hecfp128bk
159440159504159620curve2251
162100162312162552hecfp128fkt
165880166408166544kumfp128g
192656192852197108jacfp127i
204672204948205508ecfp256e
208964209396209828surf127eps
211288211464211744ecfp256q
217876218016218176ecfp256i
231484231728234912prjfp127i
237024237384237904hecfp127i
246912247068247336ecfp256h
271068271412273732ecfp256s
329988330192330876hecfp128i
340232341728343684gls1271
557600561412609584surf2113
616520616664619236ed448goldilocks
704228706784708476nistp256
103372810361641039024ed521gs
117369211781881216008nist521gs
175632017581441759832claus
323242032353123239436hector
Secret key
bytessystem
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
gls254321
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
80k277mon
80k277taa
96ecfp256i
96k298
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
72ed521gs
72nist521gs
128claus

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 (40651); 2013 Intel Core i7-4600U; 2 x 2100MHz; unstable; cryptothinkx, supercop-20170105

Cycles to generate a key pair
quartilemedianquartilesystem
385293947441232ecfp256e
39213?39906?49074?ecfp256h
424204359345153ecfp256s
454954638648165gls254
582965851260962curve2251
593886157664568ecfp256q
626436270362787gls254prot
661926626778886k277taa
686527114877073kummer
726217271175336k298
831548457686688gls1271
973659740797446k277mon
124416124521124743curve25519
152826152967153249ed448goldilocks
177498178722180240ecfp256i
281256283578286698sclaus1024
302385322392358032nistp256
106216810626541064223ed521gs
113809211386951139307nist521gs
142074314345911522380sclaus2048
153565215948441658855claus
Cycles to compute a shared secret
quartilemedianquartilesystem
354363601536234gls254
550865515855218gls254prot
558665591455977k277taa
650946514265205k298
692606936871910kummer
860168609786136k277mon
127722127761127791curve25519
164091169776170046ecfp256e
173457174396175062ecfp256i
180283188176196456curve2251
185358189801193299gls1271
194034200400204765ecfp256h
226272226968232218ecfp256s
227386236824239648ecfp256q
288114289149289977sclaus1024
462561462720462855ed448goldilocks
556926592494633840nistp256
862830892533902673claus
979737980403980943ed521gs
111633011169121117527nist521gs
144683714521771499049sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32k298
32kummer
32nistp256
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
48kummer
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

x86; normally amd64; HW+AES (40651); 2013 Intel Core i7-4600U; 2 x 2100MHz; unstable; cryptothinkx, supercop-20170105

Cycles to generate a key pair
quartilemedianquartilesystem
123333123444123579k277mon
356538380448407553curve25519
530691530862531144kummer
640914641358662451nistp256
871926873177964911ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
106170106236106314k277mon
335412356943381663curve25519
519798519954520200kummer
214242921867002213442nistp256
272689528205732919375ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

amd64; IB+AES (306e4); 2013 Intel Xeon E5-2697 v2; 12 x 2700MHz; manny613, supercop-20170228

Cycles to generate a key pair
quartilemedianquartilesystem
37916?39688?60596?jacfp127i
397364046843408prjfp127i
395284147244768kumjacfp127g
422204296844624hecfp127i
478804871650088jacfp128bk
488724945650852ecfp256e
519485287254820ecfp256h
543565532457732ecfp256s
553245607658620prjfp128bk
571965824463540ecfp256q
568085832861256hecfp128fkt
568005842860604hecfp128bk
57996?60292?79708?hecfp128i
667766758474656curve2251
984449850098556kummer
101388102700103744gls1271
117836117960118140kumfp127g
121464121524121640gls254prot
153540153656154440curve25519
166496166640166728kumfp128g
193620193632193668k277taa
199464199620201084k298
223284223628224000ed448goldilocks
242056244228251980ecfp256i
243720244684245724surf127eps
277632277664277936k277mon
356496356968357536nistp256
590660594312614852surf2113
108771611325241193920hector
112916411503041179136ed521gs
128104013066601359556nist521gs
205667220598162067980claus
Cycles to compute a shared secret
quartilemedianquartilesystem
885648859688636kummer
112036112056112076gls254prot
120212120344120572kumfp127g
126508126660127040kumjacfp127g
138876139256139676jacfp128bk
157504157580157696curve25519
170668171052171812prjfp128bk
173428173756174284hecfp128bk
173784173932174100kumfp128g
177756177780177812k277taa
179120179388179956hecfp128fkt
189988190124191660k298
197732198128198900jacfp127i
223480223640223960ecfp256e
225376225636225952curve2251
231000231400232060gls1271
231840232164232812surf127eps
233476233812242716ecfp256q
239436239696249988ecfp256i
244936245428247388prjfp127i
251584252036252600hecfp127i
262080262104266232k277mon
274604275192276336ecfp256h
297528297720298012ecfp256s
370504371136377412hecfp128i
580012581796606396surf2113
671152671504681612ed448goldilocks
755588758628763616nistp256
108839611073321150936ed521gs
125150812783801319580nist521gs
204282420461922063184claus
342032434504523568296hector
Secret key
bytessystem
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
gls254321
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
80k277mon
80k277taa
96ecfp256i
96k298
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
72ed521gs
72nist521gs
128claus

amd64; IB+AES (306e4); 2013 Intel Core i7-4820K; 4 x 3700MHz; unstable; gsm2, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
531565590459028jacfp127i
569325900060928kumjacfp127g
614566350868336prjfp127i
658366704070088jacfp128bk
651206724068744hecfp127i
737447599678068hecfp128bk
750327666479272prjfp128bk
772447909280748hecfp128i
798168208485360hecfp128fkt
785168305687568ecfp256h
819488408487128ecfp256e
867528900093956ecfp256s
910289357698276curve2251
97956100676104756ecfp256q
119628120100123188kummer
118688122184125208gls254
163752166308170976gls1271
185972186332194112gls254prot
216696217392239576kumfp127g
249548250652253556curve25519
279836280300301820k277taa
283468295320295620k298
292000302048312300kumfp128g
393288394428409076k277mon
397804414292418016ecfp256i
411664420788423508ed448goldilocks
595920596852614644nistp256
640116648172681560sclaus1024
210941222042842210240ed521gs
237564823850162459468nist521gs
316360431913963353052sclaus2048
363282038895803983156claus
Cycles to compute a shared secret
quartilemedianquartilesystem
108500113720119452gls254
119432119776122864kummer
185688186024194076gls254prot
203996205316206720jacfp128bk
218792219544241264kumfp127g
239152245940251564kumjacfp127g
248152248896257340hecfp128bk
251732253888255664prjfp128bk
261012265056270732hecfp128fkt
273224274368276644curve25519
279660280056301816k277taa
283264294968295220k298
298356308672308956kumfp128g
347884349300355788curve2251
351728355196372428jacfp127i
383688384408397592ecfp256q
393060394204408760k277mon
382456401408402916ecfp256e
401080404144409904gls1271
406372407424442848prjfp127i
406628408548431092ecfp256h
393992411952417380ecfp256i
422580438352446248hecfp127i
509240531284534212ecfp256s
549340550832567664hecfp128i
676388677952725584sclaus1024
125293612616601287824ed448goldilocks
205864420601242116504nistp256
210964822026922223980ed521gs
237516023823002458192nist521gs
319279632338243546092sclaus2048
365145238782963987596claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
48k277mon
48k277taa
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
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
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-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
320563276034544kumjacfp127g
318723334036948jacfp127i
369563857240608prjfp127i
385644012042068hecfp127i
395604032441668jacfp128bk
431444438047960curve2251
439324466845440gls254
464244714849148hecfp128bk
462924732049128prjfp128bk
467244761649224hecfp128fkt
471884838850836ecfp256e
477084866852484ecfp256h
509885106051108gls254prot
499205137653028hecfp128i
503725139654388ecfp256s
530325442058696ecfp256q
605486058860632kummer
658446594066088k277taa
761567646477104k298
894849034491316gls1271
101428101556102452k277mon
109808110084110292kumfp127g
144196144564147028curve25519
155068155292157248kumfp128g
176500176728176984ed448goldilocks
207116209872222948hector
213396214116214544surf127eps
217988220284222556sclaus1024
219944220856222308ecfp256i
273600273776274072nistp256
468424471208472084surf2113
105248410527801053376ed521gs
110556811178281161172sclaus2048
120413612059561207048nist521gs
129919213014601305052claus
Cycles to compute a shared secret
quartilemedianquartilesystem
379084048842048gls254
508485088050924gls254prot
60292?60360?81728?kummer
657846589265960k277taa
758367599276144k298
101304101368102648k277mon
112384112528112748kumfp127g
113832113932114016jacfp128bk
115400115620115820kumjacfp127g
140040142696144436prjfp128bk
144680144836145040hecfp128bk
149940150088150268hecfp128fkt
156024156124159704curve25519
158000158860159452curve2251
161580161756163120kumfp128g
185072185580185896jacfp127i
202968203088203196ecfp256e
207872208096208556surf127eps
212264212380212504ecfp256q
217300217412217576ecfp256i
219780221032221736sclaus1024
223416224632226284gls1271
226588226860227132prjfp127i
230004230192230988hecfp127i
247844247948248104ecfp256h
269952270116270264ecfp256s
327216327456327720hecfp128i
465220468176470996surf2113
531936532168532396ed448goldilocks
704864705372705972nistp256
745228763008768608hector
105220010523801052632ed521gs
110987611184641180204sclaus2048
120317212044721206072nist521gs
129866412994401307788claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
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-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
124732125244125728k277mon
410364410680411232curve25519
697604698452699456kummer
866188867532869552nistp256
126850812697321271548ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
124460125008125444k277mon
410768411320411588curve25519
697872698520699168kummer
308398030873523097552nistp256
421549642237324231028ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
414444278046072curve2251
438524453245232gls254
454724628048320ecfp256e
473804824850680ecfp256h
505325064450824gls254prot
499125086053204ecfp256s
521645296054848ecfp256q
61188?61328?85696?kummer
643286440464544k277taa
987809884098904k277mon
144188144288144584curve25519
174124174552175116ed448goldilocks
213444214368214932surf127eps
219260221784223876sclaus1024
220336221880224136ecfp256i
349952350324350864nistp256
575628577868578640surf2113
108076410818961083376ed521gs
110478411137001123716sclaus2048
124086812413481242164nist521gs
153627215382761541668claus
Cycles to compute a shared secret
quartilemedianquartilesystem
389643974041280gls254
504725054050628gls254prot
610846122469144kummer
641406421264536k277taa
986889874098816k277mon
155988156048156120curve25519
155904158788158880curve2251
203508203612203740ecfp256e
207540207792208168surf127eps
212580212752212928ecfp256q
217544217636217764ecfp256i
226044226188226296sclaus1024
248352248468248636ecfp256h
271440271560271684ecfp256s
531520531808552056ed448goldilocks
570840574220575960surf2113
680520680936681428nistp256
960356961428962872claus
108020810806801083024ed521gs
110273611060961112084sclaus2048
124059212410201241640nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254prot
40k277mon
40k277taa
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
122100122408123076k277mon
409980410412413136curve25519
585320586952597260kummer
720520720888722104nistp256
133555613381721340928ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
122060122260122564k277mon
410280410852411024curve25519
584680585464587268kummer
245437624609642469056nistp256
443159244377564450756ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

armeabi; Cortex-A15 (417fc0f4); 2012? Samsung Exynos 5250?; 2 x 1700MHz; a15, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
231076231100231114kummer
322161322161322166curve25519
351974352117353774ed448goldilocks
790927790989792686nistp256
699618669989197000819claus
Cycles to compute a shared secret
quartilemedianquartilesystem
221723221723221723kummer
312731312731312731curve25519
105810210581461060069ed448goldilocks
274869727504112761573nistp256
698012369826366983427claus
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-A7 (417fc074); 2012 Allwinner A20; 2 x 960MHz; cubie2, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
590824590884591923kummer
868069870870883205ed448goldilocks
937843937954945496curve25519
161432316157771631103nistp256
163131441632223416336403claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579283579319580057kummer
925891926371936006curve25519
245487224687312469355ed448goldilocks
555847755586995566200nistp256
162702381627698816283875claus
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+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

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

Cycles to generate a key pair
quartilemedianquartilesystem
693247165575250ecfp256e
736347566579014ecfp256h
756227619278869curve2251
754907714080423ecfp256s
806578240886270ecfp256q
100298101279102356gls254
134820134923134957gls254prot
156301156390156429k277taa
179156179220179428k298
189635189693191459curve25519
212553212577212613kummer
229562229581229618k277mon
348038350293353322ecfp256i
370341371186372032ed448goldilocks
392434394031395089surf127eps
444835450068455896sclaus1024
716700716784716925nistp256
724399726509729373surf2113
183736618396851845097ed521gs
217459821907342210974sclaus2048
223447722373772243248nist521gs
264698226587522739214claus
Cycles to compute a shared secret
quartilemedianquartilesystem
849658508185121gls254
118011118028118043gls254prot
141731141739141741k277taa
169374169426169562k298
191490192759193351curve25519
202466202828202863kummer
214721214721214740k277mon
248309248403248616curve2251
325860325984326687ecfp256e
342031342315343574ecfp256q
344153344367344812ecfp256i
380997381240381642surf127eps
410316410611411150ecfp256h
430237430706431650ecfp256s
439806440874446070sclaus1024
712841713189714568surf2113
119151512019401202044ed448goldilocks
126718512691551269277nistp256
180201218033641808403ed521gs
220495822078602211846nist521gs
221875122226982230525sclaus2048
262813426331212641534claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
40k277mon
40k277taa
48k298
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
278117278117278204k277mon
781643781898783744curve25519
950381954570959925kummer
102348610251311027796nistp256
120821512097011211679ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
247285247292247302k277mon
761975762851763989curve25519
931343932502937630kummer
356115035665293581480nistp256
375683537573023764066ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

amd64 (600f20); 2012 AMD FX-8350; 4 x 4000MHz; calvin, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
643666539468700curve2251
685367184876707ecfp256e
732237617580863ecfp256h
752357814583176ecfp256s
790788220387058ecfp256q
876498915990495gls254
105395105405105418gls254prot
138453138488138529k277taa
165444165503165622k298
175285176528180179curve25519
199482200905200986kummer
209832209861209986k277mon
337881339676341866ecfp256i
361065361880362555ed448goldilocks
372763374224375131surf127eps
429343434012449985sclaus1024
689654689844690022nistp256
688670692213694742surf2113
175752217599671763158ed521gs
212031321396332152801sclaus2048
215141321548552174892nist521gs
254589425538682563516claus
Cycles to compute a shared secret
quartilemedianquartilesystem
837328400786566gls254
105216105218105219gls254prot
138295138296138309k277taa
165252165354165401k298
186952187206189194curve25519
199153199196199249kummer
209771209771209771k277mon
244384245623245811curve2251
317818318032318364ecfp256e
334223334957335638ecfp256q
336320336506336663ecfp256i
366490368883370331surf127eps
400588401004401509ecfp256h
420543420701420888ecfp256s
431463440326440853sclaus1024
687741691070691288surf2113
116103911623651162791ed448goldilocks
123463812356371238266nistp256
175575517563901761768ed521gs
212019821257642136087sclaus2048
214795121535872155595nist521gs
254909025511942552183claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

x86; normally amd64 (600f20); 2012 AMD FX-8350; 4 x 4000MHz; calvin, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
241390241407241434k277mon
747328750059750261curve25519
908069909060910126kummer
974239975666987985nistp256
155032115512661552619ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
241269241281241290k277mon
743629743910747387curve25519
905238905757911788kummer
346423734779913523423nistp256
517830451897695197826ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

amd64 (600f20); 2012 AMD FX-8350; 4 x 4000MHz; hobbes, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
648946586469309curve2251
680517108975179ecfp256e
730767622479965ecfp256h
748327706081692ecfp256s
789708217786054ecfp256q
879948926890809gls254
105424105427105428gls254prot
138528138534138561k277taa
165542165597165676k298
175735175789176731curve25519
199336199582199643kummer
209965209967209988k277mon
339075340683343139ecfp256i
360782361244361764ed448goldilocks
373082374476375580surf127eps
412100418777439861hector
426520430009433537sclaus1024
689899692685693479nistp256
691440694085696177surf2113
175780317582791763055ed521gs
212223021449382210486sclaus2048
214994521521942155182nist521gs
255863926337532643673claus
Cycles to compute a shared secret
quartilemedianquartilesystem
832278437185112gls254
105216105219105221gls254prot
138248138296138299k277taa
165244165305165386k298
186875187613188449curve25519
199095199122199159kummer
209771209773209776k277mon
243009245954246776curve2251
317726317916318242ecfp256e
334539334704334955ecfp256q
336366336507336771ecfp256i
366298370718372086surf127eps
401517401828402158ecfp256h
421224421422421778ecfp256s
431250431416433301sclaus1024
688687689623692677surf2113
116233611628181174138ed448goldilocks
123600012364461239139nistp256
132563013470481357347hector
175442317558711756374ed521gs
214826921521312153852nist521gs
210151621605022223840sclaus2048
255176625558042560288claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

x86; normally amd64 (600f20); 2012 AMD FX-8350; 4 x 4000MHz; hobbes, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
241399241426241469k277mon
743491750023750292curve25519
905955906855912981kummer
977419979321982694nistp256
155028215511561553213ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
241269241270241287k277mon
742323745042745415curve25519
905744906580908068kummer
347331735035963513030nistp256
518623151948895200903ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
498245101252852ecfp256e
512685188854340ecfp256h
538205455657196ecfp256s
569125788860684curve2251
571325801260164ecfp256q
719687330874448gls254
886288872088828kummer
112876113036113208gls254prot
145556?145840?15137552?curve25519
172712172860173168k277taa
208804209148209632ed448goldilocks
235256236044237372surf127eps
240944241996243464ecfp256i
254168254348254496k277mon
268944271460274068sclaus1024
387280387564388420nistp256
618920621252622748surf2113
114482011485361157924ed521gs
129838813000321302708nist521gs
133617613456361356852sclaus2048
160528016114121618056claus
Cycles to compute a shared secret
quartilemedianquartilesystem
646566805670856gls254
884048844088540kummer
112788112832112968gls254prot
156760157052157404curve25519
172468172604172744k277taa
224360224584225048ecfp256e
224936225272225520curve2251
230552231400232168surf127eps
234684234996235472ecfp256q
238276238444238708ecfp256i
254120254128254136k277mon
274792274992275356ecfp256h
269400276580278000sclaus1024
296964297396298328ecfp256s
617700618916620340surf2113
628144628644629136ed448goldilocks
765752766932769700nistp256
114252411455801151252ed521gs
129675212978361300472nist521gs
130736813531561379092sclaus2048
160212816047841681616claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
40k277mon
40k277taa
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
279648280032280992k277mon
432304433232434116curve25519
613376614288615476kummer
757384758400760308nistp256
148110814855641488696ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
279268279676280396k277mon
432956433276433840curve25519
612664613520614436kummer
256404425658402571544nistp256
490675649146204930880ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

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

amd64; SB+AES (206d7); 2012 Intel Xeon E5-4650L; 8 x 2600MHz; robin281, supercop-20170228

Cycles to generate a key pair
quartilemedianquartilesystem
390363992044080jacfp127i
422564313644804kumjacfp127g
530445416859100ecfp256e
522245518059004hecfp127i
554365640462220ecfp256h
578405901666580ecfp256s
564765910864196jacfp128bk
52988?59876?116344?prjfp127i
616926306867560ecfp256q
650286786474020prjfp128bk
668607026874944hecfp128bk
691687096076004hecfp128fkt
707127322485160curve2251
711647406879104hecfp128i
100036100072100124kummer
108604110220111804gls1271
124368124460124680gls254prot
127532127664127792kumfp127g
157872157964158060curve25519
186652186744186880kumfp128g
196408196452196540k277taa
204908205092205776k298
262940264932269496ecfp256i
267384268272269588ed448goldilocks
280944280972281028k277mon
282364285420286768surf127eps
380228381176382008nistp256
677296680464688176surf2113
113196811637561207764hector
123876012423281246288ed521gs
142685614318721434212nist521gs
213064421317962132924claus
Cycles to compute a shared secret
quartilemedianquartilesystem
888408911689176kummer
113392113496113856gls254prot
128736128856128944kumjacfp127g
130472130532130612kumfp127g
158952159060159404curve25519
159116159556160120jacfp128bk
178844178848178856k277taa
192152192236192424k298
194808195028195252kumfp128g
196892197420198964prjfp128bk
199244199660200148hecfp128bk
206196206628207204hecfp128fkt
209896210172210640jacfp127i
231840237476243536curve2251
242756243180244596gls1271
247080247288247572ecfp256e
256228256444256764ecfp256q
260208260360260692ecfp256i
262864262884262888k277mon
266924269312270120surf127eps
269488270496285940prjfp127i
274444274960275384hecfp127i
303124303256303544ecfp256h
324220324408325412ecfp256s
423988424604425496hecfp128i
666496667564673464surf2113
706212706460710112ed448goldilocks
816536818376823432nistp256
119556812014521203436ed521gs
139128413959361398260nist521gs
211675221178482122464claus
369195237142643746160hector
Secret key
bytessystem
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
gls254321
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
80k277mon
80k277taa
96ecfp256i
96k298
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
72ed521gs
72nist521gs
128claus

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
101422103436104880ecfp256e
109991112338114836ecfp256s
109982112494115829ecfp256h
115240118864122128ecfp256q
163486165671168116gls1271
376779376842376898curve25519
429134430991434026ecfp256i
510331512244518543curve2251
553598555151556657ed448goldilocks
662815669974675925sclaus1024
762712762736762869kummer
851471851884852426nistp256
233164723335992343061ed521gs
278522427869772796358nist521gs
328219333056863328434sclaus2048
379477538056813816734claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355101355594357300gls1271
365180365195365213curve25519
405959406054406467ecfp256e
422427422617423111ecfp256q
427899427971428270ecfp256i
512990513062513608ecfp256h
518809518918519531ecfp256s
683791685809687007sclaus1024
751317751332751355kummer
152048415205981521782nistp256
154921715492741549758ed448goldilocks
205924420629972071612curve2251
228453622854952295575ed521gs
274646427504922756672nist521gs
334024333650243375621sclaus2048
378292837919023796176claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
898672898700898828curve25519
104020210427201044691kummer
117049511708041172362nistp256
134180913430101348572ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
878047878080878104curve25519
102195310219961022072kummer
391568239241553924745nistp256
414195241537664154065ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
101892103161105027ecfp256e
110058112779116056ecfp256h
111155113439115625ecfp256s
116532119439122854ecfp256q
365612365707366349curve25519
429576432355435328ecfp256i
485693487735493549surf127eps
501263505400513266curve2251
511860516829521654sclaus1024
547832549205553204ed448goldilocks
752343754438756247kummer
805477806869811865nistp256
172559417310051742727surf2113
227500322864322307312ed521gs
245875724824022501259sclaus2048
274730527652262787856nist521gs
305706230667433092350claus
Cycles to compute a shared secret
quartilemedianquartilesystem
365489365608366035curve25519
406348407436408111ecfp256e
422636423847424849ecfp256q
428008428611430221ecfp256i
483564484329487217surf127eps
513228513532515341ecfp256h
518800519484521288ecfp256s
518211522690524761sclaus1024
752220753877755881kummer
147403014781141489415nistp256
154924115495931559159ed448goldilocks
172661117337401738652surf2113
207212120872072097225curve2251
226428722817862304396ed521gs
243130224739192503791sclaus2048
275103427656362788255nist521gs
305901030664013084213claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
891204891432891808curve25519
121359712180471218200kummer
163512116416761645358nistp256
211292821169612124299ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
876793876812877074curve25519
119805011990951203293kummer
572508057256025732476nistp256
672143067222146723203ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
536865577260220ecfp256e
607436254666932ecfp256q
602296431467970ecfp256h
621576467769054ecfp256s
98912100432101641gls1271
214439215334239653curve25519
269706272842298881sclaus1024
281916282891283657surf127eps
260866287136289271ecfp256i
306758306908342074ed448goldilocks
420401420446468904kummer
503028508203560266nistp256
742454745773829063surf2113
903768909106912982curve2251
126198212731511286495sclaus2048
151533815157331520133ed521gs
158606415935691767317claus
179408317944511797588nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
214382214834239139curve25519
243442243565243605ecfp256e
251899251909252046ecfp256q
252935256813257282gls1271
271885273437303050sclaus1024
280330281225281274surf127eps
257100286701286742ecfp256i
320489320697357524ecfp256h
313010349239349296ecfp256s
420358420375468873kummer
727555743434822382surf2113
892451906762910439curve2251
9319509323751039954ed448goldilocks
9331149331321040738nistp256
127588112917331299567sclaus2048
151550715164061516760ed521gs
160237616134181764912claus
179384317939151794291nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
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
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
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
562668627549627650curve25519
103027210302821030316kummer
139333515541151554868nistp256
183687818378791841755ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
548418611178611674curve25519
101340110134501013525kummer
463463151496355156931nistp256
568619756872445698434ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
236034023616122388708kummer
337670433791103404988curve25519
474084647591524790670nistp256
186404041881114618995466sclaus1024
704966407088937671340768sclaus2048
112665306112907736113138874claus
Cycles to compute a shared secret
quartilemedianquartilesystem
235883423597762362614kummer
337567233775263403452curve25519
162303181624264816273548nistp256
187258381893518419154934sclaus1024
711194347222820472425622sclaus2048
113037096113176710113315652claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
256claus
Public key
bytessystem
32curve25519
48kummer
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
69354?74104?305915?ecfp256e
72367?77114?319250?ecfp256s
73913?78324?326147?ecfp256h
75729?80094?334567?ecfp256q
203969203970204001curve25519
242715?246090?1120375?sclaus1024
262401?264942?554949?ecfp256i
267529?268562?395470?surf127eps
291232291960294088ed448goldilocks
401552401558401559kummer
455371459643459731nistp256
709434712698722885surf2113
840330?845110?1211275?curve2251
115042011587241176584sclaus2048
133662313368191343471ed521gs
143569114393691444702claus
162002916205431621625nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
195130195131195150curve25519
239390239425239607sclaus1024
247805?247845?1146836?ecfp256e
255397255531255567ecfp256q
257219?257301?380612?surf127eps
263123263391263436ecfp256i
311486?311517?1360372?ecfp256s
320267320324320973ecfp256h
392687392699392720kummer
704162704430704519surf2113
784068786785786794ed448goldilocks
830340835450835540curve2251
842680842683848546nistp256
117072211728721173252sclaus2048
129979612999211300464ed521gs
141064614116441411978claus
159087615913921592256nist521gs
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
520631521372522052curve25519
676498676514677200kummer
734056?735471?1598810?nistp256
855829860801862541ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
507627508008509419curve25519
663995663997664678kummer
244453924476752458840nistp256
260176826019052618335ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
765727809581389ecfp256e
802168243685124ecfp256s
811138318987237ecfp256h
829928591589245ecfp256q
228679228688228694curve25519
271322273589275800sclaus1024
293536295067297096ecfp256i
299335300434301045surf127eps
326517326781327336ed448goldilocks
450180450253450296kummer
508256514848521645nistp256
795214798544800863surf2113
939550942907948120curve2251
128708112976041305523sclaus2048
149820814987231500731ed521gs
160925616121161616922claus
181610918164481816582nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
218776218777218798curve25519
268278268619268746sclaus1024
277928277958277989ecfp256e
286304286315286411ecfp256q
288392288418288517surf127eps
295272295620295674ecfp256i
348780348884349085ecfp256s
359074359124359125ecfp256h
440298440320440325kummer
788800788876789341surf2113
877648879459880317ed448goldilocks
930833936610936794curve2251
944822946448946471nistp256
131026713131481316939sclaus2048
145811814589971459006ed521gs
158044015807331583416claus
178364517837161784856nist521gs
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
585776586096587384curve25519
758832758936759613kummer
822968823816824794nistp256
959635961040966339ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
569255569269569983curve25519
744494745255745304kummer
273869327395122740954nistp256
291712029171282917614ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
752657693579223ecfp256e
780088016782251ecfp256s
792888107883989ecfp256h
810398361986233ecfp256q
228684228684228686curve25519
271398273624276605sclaus1024
289592291367293391ecfp256i
299690300710301321surf127eps
349021350283357481ed448goldilocks
450242450272450315kummer
510971515369521492nistp256
109648511012061103945surf2113
128496212943531302911sclaus2048
131098213164391317869curve2251
153487215351991537883ed521gs
160931216129641616836claus
183594718385801839779nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
218770218771218793curve25519
268172268187268260sclaus1024
274997275031275084ecfp256e
283259283281283395ecfp256q
288580288640288760surf127eps
291316291355291391ecfp256i
345274345406345429ecfp256s
352746352758352763ecfp256h
440271440290440320kummer
910876911766914447ed448goldilocks
944782944792944794nistp256
109157210919321092653surf2113
130478313056441306047curve2251
130995213105021312469sclaus2048
149392514945591495298ed521gs
158094915835451584660claus
180492218057401808313nist521gs
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
584393584751585222curve25519
758770758797758855kummer
824936826153826621nistp256
959458961027965808ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
569208569938571244curve25519
744512744517745277kummer
274122127433412745967nistp256
291715629173042922365ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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 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; Westmere (20652); 2010 Intel Core i5-650; 2 x 3200MHz; glyme, supercop-20170105

Cycles to generate a key pair
quartilemedianquartilesystem
676366953671420ecfp256e
711447340078408ecfp256h
731167516079960ecfp256s
785088104085364ecfp256q
819848409290084curve2251
101220102288103836gls254
235484236188237080k277taa
250532251136252472k298
324932325008326116kummer
344500347044349400ecfp256i
480128481032482720nistp256
152973615323601538796ed521gs
176237617642681770328nist521gs
291249229327842939088claus
Cycles to compute a shared secret
quartilemedianquartilesystem
881728820488236gls254
217572218244218912k277taa
239144239256240388k298
283812284020284964curve2251
312988312992314096kummer
324532325772327624ecfp256e
330936332276333452ecfp256q
338836340100341960ecfp256i
404600405744407992ecfp256h
417452417880420688ecfp256s
104556010488921050980nistp256
147820014817601487100ed521gs
172726417311001735940nist521gs
289424029110202915796claus
Secret key
bytessystem
32curve2251
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32k298
32kummer
32nistp256
48k277taa
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve2251
48kummer
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64nistp256
80k277taa
96ecfp256i
96k298
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
40k277taa
48k298
48kummer
64gls254
64nistp256
72ed521gs
72nist521gs
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
235480238530241380ecfp256e
256040259860261580ecfp256s
260170261860268140curve2251
263350265760269270ecfp256h
266270270150272870ecfp256q
112266011227001123460curve25519
117044011764901186740ecfp256i
127514012771001286220ed448goldilocks
173840017386901759830kummer
194719019478801979720nistp256
212013021402102170290sclaus1024
674326067472506769070ed521gs
813571081603908173930nist521gs
109599101102225011104090sclaus2048
123833001242011012454690claus
Cycles to compute a shared secret
quartilemedianquartilesystem
100944010094801010450curve2251
110549011056001107490ecfp256e
110929011093201109510curve25519
114620011463501148170ecfp256q
117588011760601177100ecfp256i
138053013807901383920ecfp256s
145920014596901489690ecfp256h
172506017253101745970kummer
217193021736402202930sclaus1024
365380036807303692690nistp256
436502043917504406290ed448goldilocks
668196066857906707620ed521gs
809636081206308125170nist521gs
111401901116833011172810sclaus2048
124258401245467012458310claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
188940018900201917090kummer
191097019118101938010nistp256
249693024975102524270curve25519
307061030779503103970ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
187581018759601899490kummer
248290024830802510010curve25519
664447066477806671660nistp256
953017095570909583490ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

armeabi; Armada (560f5815); 2009 Marvell Armada 510; 1 x 796MHz; cubox, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
103384110345351047071kummer
193452119463461946704curve25519
194756819605751964828nistp256
256511825813142584446ed448goldilocks
247919522480282224816901claus
Cycles to compute a shared secret
quartilemedianquartilesystem
102203310225761035006kummer
192275019239031934912curve25519
679766668022666805008nistp256
733113773320707340908ed448goldilocks
247498002476149824775716claus
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; K10 45nm (100f42); 2009 AMD Phenom II X4 955; 4 x 3200MHz; morningstar, supercop-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
760607792181069ecfp256e
797558202684805ecfp256s
814328358688376ecfp256h
826618539588603ecfp256q
218795218795218805curve25519
265091267097269377sclaus1024
289637290722291231surf127eps
293623294953296785ecfp256i
327072328972329737ed448goldilocks
440331440331440344kummer
498288500734504870nistp256
787769790926792104surf2113
928841933552937862curve2251
127644312885851299190sclaus2048
145799514593931461496ed521gs
157051815735521577298claus
178508017851741787457nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
218776218776218779curve25519
265959268376273781sclaus1024
278629278665278771ecfp256e
287197287203287279ecfp256q
288322288517288740surf127eps
294629294632294633ecfp256i
349244349328349365ecfp256s
359378359477359519ecfp256h
440293440294440298kummer
772672785672789509surf2113
877712879035882144ed448goldilocks
930880931085931708curve2251
944809944818946450nistp256
128001612932961303895sclaus2048
145835514583741461622ed521gs
157649015796691581824claus
178301917834221783467nist521gs
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 (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

mipso32; normally mips64; 2008 Loongson 2F; 1 x 800MHz; loongson, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
508666508796509232curve25519
790234791742796316ed448goldilocks
101368210155681018902nistp256
110267611093041110792kummer
308225430826663085666ed521gs
355117235519343552852nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
494156494210494602curve25519
109086010944841096086kummer
209395020961602098750nistp256
218911021944322194728ed448goldilocks
301418830147243014910ed521gs
349702434976283498346nist521gs
Secret key
bytessystem
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs

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

Cycles to generate a key pair
quartilemedianquartilesystem
368973797740469kumjacfp127g
396424246446695jacfp127i
457304824951747prjfp127i
477015041354080hecfp127i
594616349567287jacfp128bk
636006521266863prjfp128bk
659426655467739hecfp128i
648096673367941hecfp128fkt
655356680367970hecfp128bk
767707965484046ecfp256e
797708340187868ecfp256s
810818456791022ecfp256h
840928661891561ecfp256q
111834113151114464gls1271
129805129831129881kumfp127g
219805219833219852curve25519
223528223558223608kumfp128g
275619277925280708sclaus1024
280264281779283296ecfp256i
297378298824299483surf127eps
355738355777356763ed448goldilocks
356667361082375777hector
423661423665423674kummer
607704607722607768nistp256
755573758651759458surf2113
948629952317953480curve2251
127418512861771293971sclaus2048
157824515816401586244claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132058132059132066kumfp127g
134602134624134640kumjacfp127g
162965163004163066jacfp128bk
200810200839200890prjfp128bk
206630206646206680hecfp128bk
212520212541212586jacfp127i
213909213930213974hecfp128fkt
219777219778219788curve25519
230309230318230327kumfp128g
264368264377264442ecfp256e
268861270308273760gls1271
273355273432273525ecfp256q
274324274344274432prjfp127i
273673279285279506sclaus1024
280412280443280457ecfp256i
281934281951282422hecfp127i
295661295820296147surf127eps
333717333779333812ecfp256s
338759338784338795ecfp256h
423607423608423611kummer
455019455052455326hecfp128i
753932757032757965surf2113
948635949405951654curve2251
105068810507031050783ed448goldilocks
120247212079751217876hector
122924512292611229305nistp256
129232312931461305977sclaus2048
157561815788031585329claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
575230575234575262curve25519
104326410432771043393kummer
139081813910021394037nistp256
217152321727822177174ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
575512575514575523curve25519
104513710451391045159kummer
495115849580904960433nistp256
711708071174017118140ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
448024717852524jacfp127i
465214784451129kumjacfp127g
511835351458617prjfp127i
539015499958131hecfp127i
705697209975681ecfp256e
768157841783808ecfp256h
775537949784753ecfp256s
773557974984915jacfp128bk
843578662592376ecfp256q
9030692889100926prjfp128bk
9241293645100008hecfp128fkt
9150393780101538hecfp128bk
918909448298397hecfp128i
138141138600142128curve2251
137313138672140409gls1271
178092178101178128kumfp127g
313857314019314190kumfp128g
330390330390330480curve25519
330039350262375039hector
373914375417377541ecfp256i
426267428040429309surf127eps
430632433557438102sclaus1024
433755433773433809kummer
650214652716655317surf2113
721818722610724689nistp256
213771621536552168694sclaus2048
258019225869602596905claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182835182844182844kumfp127g
188226188433188433kumjacfp127g
245097245223245367jacfp128bk
292968293040293193jacfp127i
303039303246303444prjfp128bk
308052308169308421hecfp128bk
317016317340317790gls1271
318393318393318393curve25519
318447318699319014hecfp128fkt
326736326745326745kumfp128g
356526356544356634ecfp256e
368334368397368478ecfp256q
373977374112374211ecfp256i
380556380682380907prjfp127i
389583389682389781hecfp127i
412956413712414585surf127eps
422928424881425097kummer
426267426330426447sclaus1024
443430443457443601ecfp256h
459279459387459477ecfp256s
510543510930511020curve2251
639999640890641340surf2113
694575694665694818hecfp128i
104299210432621043541hector
141934514207581424565nistp256
217877421791522190915sclaus2048
255536125557212569203claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
455256478494506745hector
620991621657621756curve25519
743535750456757296sclaus1024
940941943992944352kummer
102183310253701027998surf2113
140222714075461409508curve2251
148879814899231491759nistp256
153262815388471541358surf127eps
368952337136703734181sclaus2048
433390544192524441167claus
Cycles to compute a shared secret
quartilemedianquartilesystem
608886609156611091curve25519
792153795195799020sclaus1024
925353930303930933kummer
101333710137151014336surf2113
139617013968361398150curve2251
146589314670631468818hector
152137815216661523016surf127eps
377410537789833789378sclaus2048
428530543146904443417claus
511079451198485128137nistp256
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

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 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 2404MHz; margaux, supercop-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
423004320944658jacfp127i
434614474846386kumjacfp127g
489695017551426prjfp127i
503915202054423hecfp127i
747097574477202jacfp128bk
763927718478885ecfp256e
816398230583844ecfp256h
832508415985653ecfp256s
888038970390981hecfp128i
889568985691080hecfp128bk
882999003692628prjfp128bk
893709037891620hecfp128fkt
894519047792214ecfp256q
125928128934133344gls1271
131301132075134325curve2251
177561178317178812kumfp127g
314406314721314991kumfp128g
309672321984335484hector
320283322056323307curve25519
347256349056353205ed448goldilocks
384111385884388854ecfp256i
409401411939415206surf127eps
414729416232418455kummer
423810429615434880sclaus1024
504144507609535707nistp256
671841674649678177surf2113
164571316475311651239ed521gs
194314519476631977210nist521gs
211099521315692158389sclaus2048
253557025429232549835claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182196182934183222kumfp127g
187677187821187983kumjacfp127g
244017244161244332jacfp128bk
291249291402291654jacfp127i
299538299655299907prjfp128bk
307926308043308196hecfp128bk
318132318303318924curve25519
318573318789319104hecfp128fkt
325872326799327321kumfp128g
310527331263344718gls1271
362934363051363186ecfp256e
378018378216378396ecfp256q
380835381078381366prjfp127i
384480384561384660ecfp256i
389475389691390294hecfp127i
408519410076412110surf127eps
414261416286418689kummer
427842429147434187sclaus1024
453915454050454239ecfp256h
470187470403470862ecfp256s
543573547551551772curve2251
665352671571673029surf2113
693135693351695493hecfp128i
101990710231651030653ed448goldilocks
109779311035711110888hector
118304111849041195290nistp256
164469616454791648971ed521gs
194027419451881967526nist521gs
213149721382922151117sclaus2048
253778425398902544642claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
612216613566614979curve25519
930879942597966870kummer
119953812082231213650nistp256
168400816870321690965ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
612522614034614079curve25519
938232943110961713kummer
423381642498634287924nistp256
561186056222645630337ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
425074364145144jacfp127i
436594492846719kumjacfp127g
488794996851498prjfp127i
500495097652488hecfp127i
747367587076950jacfp128bk
769687786879686ecfp256e
817838235084492ecfp256h
831338432185716ecfp256s
878948893890468prjfp128bk
884168937090756hecfp128i
894069036992052ecfp256q
892809054091575hecfp128fkt
892539072992925hecfp128bk
124578125784127215gls1271
131661132228134937curve2251
177831178443178695kumfp127g
314352314712315108kumfp128g
309465321237334053hector
319041322677322758curve25519
349281349758350667ed448goldilocks
384336387045389403ecfp256i
409302411408413676surf127eps
413919416286419697kummer
423513428841431847sclaus1024
510120534978536409nistp256
670770674370675846surf2113
164674816477921651689ed521gs
194089519468621966194nist521gs
211523421317042162952sclaus2048
253805425451732553165claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182529183114183447kumfp127g
187722187938188505kumjacfp127g
242856243045243243jacfp128bk
290547291483291798jacfp127i
299925300096300312prjfp128bk
307557307800308106hecfp128bk
315927317133319671gls1271
315567317934318528curve25519
318402318753319104hecfp128fkt
325953326925327348kumfp128g
362835362979363141ecfp256e
377946378351378666ecfp256q
380412380556380790prjfp127i
384417384606384750ecfp256i
389601389682390015hecfp127i
407259409302410697surf127eps
414963419238438732kummer
422748429066439938sclaus1024
453843453978454158ecfp256h
470043470214470502ecfp256s
546525549846552573curve2251
661347663525668943surf2113
692622692919693171hecfp128i
101997910235881028457ed448goldilocks
107865910915921097415hector
118182611831311190880nistp256
164484016460911648638ed521gs
193890619481491963548nist521gs
210571221103382133189sclaus2048
254380525501772559591claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
613062614880619983curve25519
935370941625950904kummer
120326412112741224882nistp256
167985916851421689021ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
614277614736628722curve25519
935856941040950967kummer
426018642924784328577nistp256
560686556117705622237ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
832088529687409ecfp256e
876609003192133ecfp256s
900729245595345ecfp256q
915029434996612ecfp256h
229840229888229898curve25519
286353288647291509sclaus1024
307702308759309418surf127eps
310518312460314677ecfp256i
366605367225368110ed448goldilocks
482900482915493779kummer
542177542264544546nistp256
543666564172589097hector
116274611670661169687surf2113
132487413333721342990sclaus2048
140236214063381409326curve2251
165230016525241654955ed521gs
170606417134611720865claus
195092019518161971829nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
219970219971220069curve25519
283420283428283449sclaus1024
291949293466294277ecfp256e
297168297346297923surf127eps
303131303233303402ecfp256q
312104314050314263ecfp256i
363120363349363582ecfp256s
382062382458383456ecfp256h
481804485315485352kummer
951059951071951104ed448goldilocks
105499710550051055012nistp256
115700211574041158290surf2113
134498313481351351019sclaus2048
139569213981021399471curve2251
161143616114421611711ed521gs
166972416703761685264claus
182053118223171824747hector
191752219188831919187nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
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
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
594347594410595353curve25519
806356811118814966kummer
872219873882937069nistp256
9858679874141032929ed448goldilocks
140487114171751433824sclaus1024
147673314818681487634surf127eps
158061615871961592226surf2113
194662119534921959871curve2251
702041470620977102682sclaus2048
850558585221918540586claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579602580194580635curve25519
792113794923799112kummer
139844513986111406298sclaus1024
147666914778741478630surf127eps
157046415731801574986surf2113
193956719447031956319curve2251
300453130046633027894ed448goldilocks
313922031412803160013nistp256
716231771625767176711sclaus2048
850873585163988516838claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
843128517686264ecfp256e
877448846489664ecfp256h
906729153692616ecfp256s
101784102848104000ecfp256q
132776134712136160gls1271
142984143272144440curve2251
306856308432309136curve25519
330008330680331232ed448goldilocks
354640375432400624hector
417088419104420608kummer
423360425088428360surf127eps
432336436368440480sclaus1024
449840452776458944ecfp256i
591848597336607328nistp256
754728757784760208surf2113
169275216957681700040ed521gs
202028020233042027960nist521gs
211868021332002146848sclaus2048
258924825980242779024claus
Cycles to compute a shared secret
quartilemedianquartilesystem
296416296816297440curve25519
310096310472310880gls1271
407472408400411328kummer
410296412120414536surf127eps
426664426744426800ecfp256e
426992427120427488sclaus1024
437024437072437168ecfp256q
449576449672449736ecfp256i
514256514360514560ecfp256h
543968544080544248ecfp256s
547896548048550936curve2251
745576745760746000surf2113
102597610286641032536ed448goldilocks
113548811362881136936hector
117015211737041173992nistp256
164623216530241657976ed521gs
198779219932081996376nist521gs
215836021628722164936sclaus2048
256034425656162610992claus
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; normally amd64; C2 65nm (6f6); 2006 Intel Core 2 Duo E6400; 2 x 2137MHz; katana, supercop-20170105

Cycles to generate a key pair
quartilemedianquartilesystem
625920627416628880curve25519
801448802544802688kummer
954048960040961728nistp256
109180010933921095200ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
613488613496613496curve25519
769488777448784536kummer
320100832092403218456nistp256
328240832914883299816ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Version

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