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 (800f12); 2017 AMD EPYC 7601; 64 x 2200MHz; genji262, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
333523410037290curve2251
350683680640018ecfp256e
387203883039072gls254prot
364543918245166ecfp256h
37972?39996?49346?gls254
39622?42878?50226?ecfp256s
410744367048488ecfp256q
480484831250886k277taa
537245398854472k298
553305645263624gls1271
702027079671566k277mon
899809002490090kummer
128282128304128326curve25519
158884160270175164ecfp256i
175912176088176396ed448goldilocks
174416182182203434surf127eps
188320190674192610sclaus1024
244376244706249348nistp256
968682977900991562sclaus2048
109384011002861111110claus
115847611652521178056ed521gs
144927214611961469688nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
340563586042548gls254
386763878638852gls254prot
48026?48092?61248?k277taa
537465383453878k298
702027029071566k277mon
899368998090090kummer
128128128348129580curve25519
130130130504131318curve2251
136224139480159632gls1271
153516153714169642ecfp256q
154396154506155518ecfp256e
156486156816184426ecfp256i
170456172062196196surf127eps
181676181786181918ecfp256h
191268193512195008sclaus1024
200244200354200508ecfp256s
472494474672477752ed448goldilocks
526944527912539748nistp256
967450981464989934sclaus2048
108620610915301104334claus
115889411658681175944ed521gs
145248414629561469490nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
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
32gls1271
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64gls254
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Zen (800f11); 2017 AMD Ryzen 7 1700; 8 x 2994MHz; ryzen, supercop-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
386703921041190curve2251
445504476045120gls254
460804629046350gls254prot
642306426064290k277taa
665106663066840k298
828308295082980k277mon
103350103410103470kummer
135510135510135540curve25519
203070205320207660surf127eps
213870214020214350ed448goldilocks
350430351060351420nistp256
138891013906201392090ed521gs
166353016657201669350nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
434404347043500gls254
460504611046230gls254prot
641706420064200k277taa
663606639066480k298
820208214082170k277mon
103320103380103440kummer
146910147480148890curve25519
150270150750151290curve2251
199290200820202980surf127eps
540660541860542520ed448goldilocks
623790624300624660nistp256
138741013896601391250ed521gs
166485016677301671570nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64gls254
64gls254prot
64nistp256
80k277mon
80k277taa
96k298
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32gls254
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs

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

Cycles to generate a key pair
quartilemedianquartilesystem
371773766338388gls254
387133877038941gls254prot
393734031341577curve2251
430624401444832ecfp256e
460884642247294k277taa
468064788149964ecfp256h
473464823049889ecfp256s
492144934749770kummer
491845041452105ecfp256q
698577019870847k277mon
128135129581156278curve25519
156400157750159926ed448goldilocks
182665183869185883surf127eps
182686185359187731sclaus1024
193617197177200897ecfp256i
238603244778256444hector
316535316855317469nistp256
519327525756533962surf2113
828770833482840649ed521gs
916198926167958917sclaus2048
98990510031941012893claus
100362310102731016222nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
360283626436734gls254
387583892439177gls254prot
461894668447369k277taa
485184877649000kummer
697967011170426k277mon
137538138754139750curve25519
145967147684149701curve2251
177211178710180806ecfp256e
179551180645182752surf127eps
182186185409187909sclaus1024
188208189771193030ecfp256q
189562191748193849ecfp256i
222845224329226310ecfp256h
243288245562251340ecfp256s
464266466422468683ed448goldilocks
515178522218530061surf2113
578301583839587959nistp256
798800812163828192hector
829615834176842613ed521gs
912906925648983435sclaus2048
9784059902781027685claus
100078310029151007599nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
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
60hector
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
60hector
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
951259595696943k277mon
429972432510435885curve25519
474812476815480022kummer
627028628982636018nistp256
116579811708791177280ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
957369634797147k277mon
428657430404433111curve25519
474105475982478035kummer
208361721029922120734nistp256
377779637889673796194ed448goldilocks
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; SL+512x2 (50654); 2017 Intel Xeon Gold 6150; 18 x 2700MHz; manny1024, supercop-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
358463646837368gls254
374963753237578gls254prot
382003881243474curve2251
447624485444912k277taa
446384561647390ecfp256e
464304784451736ecfp256h
481264893051172ecfp256s
509505100851126k298
513385279460152ecfp256q
567085677861264kummer
607986087460948k277mon
126252127094127352curve25519
178730180396182318sclaus1024
194250194592194988ed448goldilocks
196376197216197770surf127eps
198096199446200970ecfp256i
284370284852285362nistp256
904142917380970450sclaus2048
106469810702061079248claus
151190215197301523824ed521gs
183051218377661855930nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
348263504035084gls254
374303745637492gls254prot
447764481044858k277taa
507605085250928k298
566765674261220kummer
594945952659560k277mon
136180136650137372curve25519
145356145976146144curve2251
179620182742184014sclaus1024
186030186206186422ecfp256e
191674192000192444surf127eps
193114193376193694ecfp256q
195264195476195742ecfp256i
224348224534224890ecfp256h
249054249288249716ecfp256s
503062503288503620ed448goldilocks
579310580438583748nistp256
900404907680984444sclaus2048
106790410691481080216claus
150914015180061521566ed521gs
182387618342101839432nist521gs
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; SL+512x2 (50654); 2017 Intel Xeon Gold 6130; 32 x 2100MHz; genji239, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
358543642036810gls254
374763751837570gls254prot
381423888844272curve2251
448084484044884k277taa
440064518648418ecfp256e
464504934657038ecfp256h
484244971253260ecfp256s
512445130251404k298
505965250457102ecfp256q
566845674057126kummer
596385978859884k277mon
125786126850127058curve25519
178960180542182160sclaus1024
189260189642195088ed448goldilocks
196810197938208580surf127eps
197312198778200254ecfp256i
283280283488284052nistp256
909320936850968592sclaus2048
106758210802521102604claus
152034615255021578742ed521gs
182881218327721836130nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
349943502835066gls254
374003742837460gls254prot
447404477844810k277taa
510645118651272k298
566385669256766kummer
595265957059832k277mon
136166136394136518curve25519
143902146606151802curve2251
182314183348188508sclaus1024
183174185204187048ecfp256e
190000191024198248surf127eps
191056192580192926ecfp256q
193632195144195456ecfp256i
224030226220226562ecfp256h
246996247428249798ecfp256s
501650502352510688ed448goldilocks
581508581870586320nistp256
895494929078976544sclaus2048
107018810749181082448claus
151778815207761526740ed521gs
182831618313481834128nist521gs
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; 28 x 2400MHz; genji122, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
401244075244348curve2251
407884112841496gls254
427564282042864gls254prot
457444672049228ecfp256e
491205068855296ecfp256s
475645074457432ecfp256h
522565394858036ecfp256q
543125439654480k277taa
575805770457832k298
679846806468176kummer
775127756877668k277mon
143580143728145544curve25519
193172194860196884sclaus1024
196452196664197032ed448goldilocks
207928209060210560ecfp256i
210112210760211488surf127eps
299920300620302476nistp256
9582089698001026260sclaus2048
114438811475161150848claus
176197217646201769060ed521gs
206463220669722071184nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
397243978039864gls254
425884264842688gls254prot
541805426454360k277taa
572885739657516k298
678846794868036kummer
773567744477532k277mon
143612143760145644curve25519
152788152972153860curve2251
193056193140193288ecfp256e
195648196716198460sclaus1024
201512201616201732ecfp256q
203360205192205928surf127eps
205252205372205516ecfp256i
233468233580233756ecfp256h
257596257740257964ecfp256s
512364513380521928ed448goldilocks
630516632544633828nistp256
9666889735521034480sclaus2048
114327611458361148036claus
175795617608721764888ed521gs
206318020660082071792nist521gs
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; 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-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
376603784437956gls254
391403932841064curve2251
394003945639516gls254prot
419484259244220ecfp256e
444404510047160ecfp256h
460164675648972ecfp256s
480004864850372ecfp256q
509845106451180k277taa
607966086460904kummer
745367461675232k277mon
807248172082368gls1271
142332142456142604curve25519
155200155668157068ed448goldilocks
192272193888195444sclaus1024
196628197440198168surf127eps
198228199220200484ecfp256i
328220328560328796nistp256
581448583508584604surf2113
915052916860919408ed521gs
954824963028975432sclaus2048
992860993424994424claus
106363610647481066136nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
362443642036468gls254
393163934439380gls254prot
507205083250948k277taa
607006078060868kummer
744167451275104k277mon
142316142432142516curve25519
153616153716153820curve2251
184164184272184416ecfp256e
186868190436191540surf127eps
192724192840192984ecfp256q
195168195288195424ecfp256i
192528196992197600sclaus1024
200240200600202596gls1271
229824229948230100ecfp256h
247908248056248228ecfp256s
459556460020464824ed448goldilocks
577344581624582092surf2113
614924615500616528nistp256
914624915380915956ed521gs
953996961632975576sclaus2048
981012981612985088claus
106348010645041065880nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
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
32gls1271
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-20171020

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

Cycles to generate a key pair
quartilemedianquartilesystem
231882231889231901kummer
365386365386365401curve25519
383230383243383271nistp256
486566488239489933surf127eps
620830625505632409sclaus1024
187493118749611880218ed521gs
240894124091412414426nist521gs
309200431120343133330sclaus2048
375781337659763773376claus
Cycles to compute a shared secret
quartilemedianquartilesystem
234069234072234084kummer
365822365823365825curve25519
472277473396474889surf127eps
617908626040628777sclaus1024
134666013466791346805nistp256
187472718747281874795ed521gs
240764024076592407821nist521gs
307755030929603106562sclaus2048
373696637395823760067claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
232273232725232884kummer
358682358697358775curve25519
366886366925366992nistp256
444793448299450218surf127eps
628293635816641521sclaus1024
184964518504601860685ed521gs
232693523282312337400nist521gs
315806631829503203570sclaus2048
377857237875533799367claus
Cycles to compute a shared secret
quartilemedianquartilesystem
232186232436232850kummer
358608358611358611curve25519
439997443762445480surf127eps
636462637323642331sclaus1024
126020612602231260414nistp256
184930918493271858150ed521gs
232674823277652337042nist521gs
317129531929033215137sclaus2048
377576137836963787541claus
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

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; X-Gene (500f0000); 2014 APM 883208-X1; 8 x 1600MHz; gcc116, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
260480260480260512kummer
316960318368319360surf127eps
373344373440373728nistp256
400000400000400032curve25519
409184413664417792sclaus1024
200572820221762038528sclaus2048
245673624626562469472claus
509081650938885100704ed521gs
617484861794246184768nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
260448260448260448kummer
311872314048314784surf127eps
399968399968399968curve25519
408256421120424896sclaus1024
124595212460161246048nistp256
202915220400962051872sclaus2048
244073624508482458176claus
509059250959685097984ed521gs
617542461812806185696nist521gs
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

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; 24 x 2500MHz; genji202, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
422284294447388curve2251
480684936852648ecfp256e
487924941649864gls254
489925087256828ecfp256h
529365296453048gls254prot
524525428057932ecfp256s
557285705663420ecfp256q
681966828068592kummer
696406971669812k277taa
738367396474132k298
100292100452100692k277mon
144212144524144800curve25519
215228215404215744ed448goldilocks
220140222668224768sclaus1024
223520224444225192surf127eps
228960233052235292ecfp256i
328076329108329960nistp256
110159611112601126528sclaus2048
131051213143601319384claus
188723218917041952424ed521gs
223945622424882260700nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
435884516845692gls254
527685285252884gls254prot
680526815668536kummer
695286959269656k277taa
735247364073728k298
100632100668100748k277mon
155984156072156320curve25519
160320160696162476curve2251
211872212020212200ecfp256e
218240218336218500ecfp256q
219428219692219996surf127eps
220684221156222612sclaus1024
223748223884224056ecfp256i
252148252304252548ecfp256h
281388281544281800ecfp256s
585820586084590244ed448goldilocks
716408718496723348nistp256
110530811090601116576sclaus2048
131266013175001320856claus
188185618849921889236ed521gs
224310422479602262568nist521gs
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
32gls254prot
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64gls254
64nistp256
72ed521gs
72nist521gs
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-20170904

Cycles to generate a key pair
quartilemedianquartilesystem
515525230054164ecfp256e
537525480460128ecfp256h
567325799262308ecfp256s
584205955664652curve2251
607246166865388ecfp256q
777727883280680gls254
887688880488860kummer
112324112364112404gls254prot
145220?166308?220452?curve25519
177836178684198272k277taa
190592190916191532k298
243440243868263696ed448goldilocks
248272249068250676surf127eps
250368251908260640ecfp256i
260464260588261132k277mon
268556273280293936sclaus1024
341720344728345696nistp256
134532013611841449524sclaus2048
160752416157281624304claus
235880823749242809884nist521gs
2084136?2390228?2969900?ed521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
711487314874400gls254
887248875688800kummer
112212112260112296gls254prot
177748177764193800k277taa
157068?179740?238584?curve25519
190084190396190572k298
225744227404227772curve2251
233328233664233904ecfp256e
241964242100242420ecfp256q
243232243760245500surf127eps
246840246988247348ecfp256i
260464260704260724k277mon
273112278240300924sclaus1024
280184280336280700ecfp256h
308920309068309432ecfp256s
674736681508743400ed448goldilocks
763572774920788608nistp256
134334813490001359204sclaus2048
160051616069201616696claus
2032940?2073220?2892744?ed521gs
236388423820522454520nist521gs
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
40k277mon
40k277taa
48k298
48kummer
48surf127eps
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
427924430448316curve2251
440564477245736gls254
473204860450084ecfp256e
490525013651984ecfp256h
505645066050780gls254prot
498565107653400ecfp256s
528765402056560ecfp256q
610086131662188kummer
641646433264568k277taa
920249313694092gls1271
989489903699248k277mon
145136?146412?14562448?curve25519
174212174680176052ed448goldilocks
214752215672216520surf127eps
221060222496223888ecfp256i
220368222680224988sclaus1024
350100350880351724nistp256
574992577712581476surf2113
108396410873921090388ed521gs
109813211088721120980sclaus2048
125326412574801262872nist521gs
153481215394441556108claus
Cycles to compute a shared secret
quartilemedianquartilesystem
399764012440544gls254
504845058450920gls254prot
609406121663056kummer
640206425264516k277taa
988289888099028k277mon
156588156936157520curve25519
159864160248160792curve2251
204948205372205916ecfp256e
208348209080209952surf127eps
212928213408213888ecfp256q
218260219036220116ecfp256i
223428225148227376sclaus1024
224336225804238276gls1271
251256251836252560ecfp256h
272632273764275020ecfp256s
532280533680534728ed448goldilocks
575968577856579752surf2113
680852681776683304nistp256
960288961344974160claus
108426010866441089204ed521gs
108417611180201126444sclaus2048
125283212556041261568nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
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
32gls1271
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-20171020

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

Cycles to generate a key pair
quartilemedianquartilesystem
416684233246089jacfp127i
432554505346960kumjacfp127g
474774852651683prjfp127i
483494901652199hecfp127i
625246313764277jacfp128bk
626686384168035curve2251
642266750972061ecfp256e
694427200478642ecfp256s
724987335077905prjfp128bk
696097426778870ecfp256h
736657443280583hecfp128i
737017454778473hecfp128fkt
733547542079826hecfp128bk
735127830283696ecfp256q
843598576588820gls254
101998102026102054gls254prot
101325102292103513gls1271
142058142096143940k277taa
143847144000144107kumfp127g
153058153111153261k298
164692164753172340curve25519
187314187386187475kummer
196530196573196687k277mon
238039238534249542kumfp128g
301104315642341576hector
314568318389329848ecfp256i
342912343977354356surf127eps
366667367548384083ed448goldilocks
396643401794415213sclaus1024
644594647357650115surf2113
677188679458704410nistp256
176095717644891765884ed521gs
195486919720261991983sclaus2048
209226821041382106900nist521gs
236750923729502380596claus
Cycles to compute a shared secret
quartilemedianquartilesystem
783657892479354gls254
101708101708101841gls254prot
141914141932141951k277taa
147379148089154738kumfp127g
149560149687157164kumjacfp127g
152979153013153061k298
173646173670183024curve25519
183801183871184047jacfp128bk
186877186916186993kummer
196444196450206264k277mon
225017225086225863curve2251
229359229576229687prjfp128bk
233505233656234344hecfp128bk
244725244784245542hecfp128fkt
247515247936248126jacfp127i
247894248191248422kumfp128g
255272258643262670gls1271
294884295065297702ecfp256e
307683307882308130ecfp256q
311809311979312433ecfp256i
329650330653330933prjfp127i
332891?333279?950835?hecfp127i
340108341441356900surf127eps
375647375775376125ecfp256h
389831390250409068ecfp256s
395304398288407297sclaus1024
520580523410523586hecfp128i
639137646200647295surf2113
103927210418531052318hector
117089811753511175568ed448goldilocks
147945314795381480116nistp256
175818017640751764174ed521gs
195291819618931965646sclaus2048
209191020922302092294nist521gs
234950223543442357984claus
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; Piledriver (610f01); 2012 AMD A10-5800K; 2 x 3800MHz; hydra9, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
220958220981232005k277mon
693057693453727432curve25519
107022110717101102133kummer
108854110898611099913nistp256
153012015321241535039ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
220839220846231875k277mon
692528692903694454curve25519
106446610666361067229kummer
393707839438193952046nistp256
515998951680125172384ed448goldilocks
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; 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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; calvin, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
644106512768230curve2251
681557091875270ecfp256e
730577560280652ecfp256h
751067764982483ecfp256s
788358176586277ecfp256q
880658944390795gls254
105360105373105390gls254prot
138459138472138495k277taa
165457165513165628k298
175611176051176798curve25519
199382200870200919kummer
209829209852209883k277mon
338809340667342606ecfp256i
361296361940362562ed448goldilocks
372952374550375435surf127eps
426353430487434431sclaus1024
687873688811688924nistp256
691154694088695706surf2113
175546117584781760598ed521gs
211489821310292150420sclaus2048
215363721557762159221nist521gs
256013425736752586884claus
Cycles to compute a shared secret
quartilemedianquartilesystem
820478443984664gls254
105180105181105183gls254prot
138306138334138343k277taa
165180165245165339k298
186756186769186810curve25519
199122199144199179kummer
209771209788209790k277mon
242985243109243272curve2251
317922318107318359ecfp256e
334477334700334954ecfp256q
335952336317336947ecfp256i
370780371101373472surf127eps
401835402044402655ecfp256h
420649420928421319ecfp256s
427512436583439626sclaus1024
690905691375693108surf2113
115791011624961163000ed448goldilocks
123657612379441238670nistp256
175574317573581758004ed521gs
211603721343442167732sclaus2048
214946621551542156066nist521gs
254159225433902560967claus
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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; calvin, supercop-20171020

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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; hobbes, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
643226494568933curve2251
680137056875334ecfp256e
727687580180529ecfp256h
749807704182132ecfp256s
796598261886676ecfp256q
876268909690406gls254
105382105397105413gls254prot
138459138474138498k277taa
165401165469165567k298
175549175577175604curve25519
200839200929202472kummer
209836209852209881k277mon
339067340606342955ecfp256i
360914361532362155ed448goldilocks
373554374639375652surf127eps
428072433831458825sclaus1024
689052689173691029nistp256
691109694415696048surf2113
175533317571371760207ed521gs
211137721281692148364sclaus2048
215076821528792156009nist521gs
253601625488802559144claus
Cycles to compute a shared secret
quartilemedianquartilesystem
846258514985230gls254
105181105213105215gls254prot
138298138314138321k277taa
165189165237165273k298
186840186844186854curve25519
199036199212201528kummer
209771209771209789k277mon
240555242340243008curve2251
317655317798318103ecfp256e
333129333559333844ecfp256q
336286336654337045ecfp256i
371371371845373221surf127eps
401334401634402259ecfp256h
419831420009420545ecfp256s
432402438439469085sclaus1024
685074689054691187surf2113
115740211624531172700ed448goldilocks
123507812382381238557nistp256
175366117568331758542ed521gs
210629521368252153529sclaus2048
215046521520022153373nist521gs
253647525429292566696claus
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; Bulldozer (600f20); 2012 AMD FX-8350; 4 x 4000MHz; hobbes, supercop-20171020

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
734367433976386curve2251
867648926692458ecfp256e
913089260494175gls254
920799456698016ecfp256h
942819619499609ecfp256s
98496101253104871ecfp256q
108258108282108286gls254prot
142731142748142768k277taa
171225171338172366k298
186434187195187200curve25519
215502215516215524k277mon
254418254430254447kummer
372256374427376495ecfp256i
398504399976400666surf127eps
399968400772402018ed448goldilocks
449260452741458553sclaus1024
724887726336728366nistp256
911944916374917252surf2113
191586419173041922886ed521gs
219612622176082307196sclaus2048
229134122996732304511nist521gs
266719826748842683250claus
Cycles to compute a shared secret
quartilemedianquartilesystem
847208682689652gls254
107946107946108002gls254prot
142482142512142538k277taa
170858170959171811k298
193492193494193500curve25519
215314215314215314k277mon
255275255276255289kummer
266378267645273870curve2251
354403354511354668ecfp256e
370195370237370571ecfp256q
370590371010371340ecfp256i
389984396867397320surf127eps
440368440430440721ecfp256h
450324456534465188sclaus1024
465226465402465569ecfp256s
907516910354910746surf2113
127994012817761282304ed448goldilocks
135999613601341360216nistp256
192616819262881935133ed521gs
221722122289762328264sclaus2048
229593623082022309940nist521gs
267032227031092707203claus
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; Bulldozer (600f12); 2011 AMD FX-8120; 4 x 3100MHz; hydra6, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
262044262044262054k277mon
774636776376776692curve25519
105540510563401057353kummer
108950410913201098810nistp256
176613417677511769139ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
261834261834261836k277mon
773498774642774970curve25519
105336210537301053864kummer
379007037935493796209nistp256
589711559042575936731ed448goldilocks
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; Bobcat (500f20); 2011 AMD E-450; 2 x 1650MHz; h4e450, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
101360102923104595ecfp256e
110252112561115173ecfp256h
110385112841114746ecfp256s
115762117776121965ecfp256q
152347154005155567gls1271
365081365099365294curve25519
429471431656434663ecfp256i
497249498769504417curve2251
552957554150555541ed448goldilocks
655633661262668942sclaus1024
751446751469751735kummer
804916805362806075nistp256
226458122664202275721ed521gs
274740427548532760510nist521gs
325791132797753302537sclaus2048
374961237607893771067claus
Cycles to compute a shared secret
quartilemedianquartilesystem
349329357476358896gls1271
365023365037365075curve25519
406267406714407094ecfp256e
421990422075422721ecfp256q
428336428849429024ecfp256i
513091513142513409ecfp256h
518315518386518743ecfp256s
677687683140684656sclaus1024
751384751407751441kummer
147440914834781484023nistp256
154928815493641559163ed448goldilocks
206583220701832075830curve2251
226397822643772274837ed521gs
274645927485362756705nist521gs
331436533267003333920sclaus2048
378997338117903815210claus
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-20171020

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 (500f10); 2011 AMD G-T56N; 2 x 1650MHz; h8bobcat, supercop-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
102296103944105507ecfp256e
112565114413116061ecfp256s
112665114764116826ecfp256h
118532121091124041ecfp256q
363807363836365009curve25519
430359432735435680ecfp256i
484286486091487264surf127eps
499035501999511542curve2251
509580515161519370sclaus1024
548197549665550786ed448goldilocks
751365751379752296kummer
801791805192806061nistp256
172277217301641733195surf2113
226862422697592279905ed521gs
245348424732442491741sclaus2048
273906327468872749961nist521gs
305343830642533073758claus
Cycles to compute a shared secret
quartilemedianquartilesystem
363703363712365489curve25519
406643406880407669ecfp256e
422593422926423439ecfp256q
429130429286430041ecfp256i
477713478638484154surf127eps
513167513214513670ecfp256h
518230518316518643ecfp256s
501762520581520908sclaus1024
751303751303751345kummer
148540114854151486090nistp256
154925015511081558769ed448goldilocks
172326217281311728416surf2113
205967120622032068773curve2251
226801622688952278656ed521gs
249993025049602510328sclaus2048
273821827399472748141nist521gs
304807030506213057394claus
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-20171020

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

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

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; 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; 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-20170725

Cycles to generate a key pair
quartilemedianquartilesystem
69552?73878?305057?ecfp256e
72689?76379?319742?ecfp256s
74234?79127?327459?ecfp256h
76100?83385?335082?ecfp256q
195149195159195203curve25519
237604?240223?1095867?sclaus1024
259184?259924?562904?surf127eps
262963?265622?576626?ecfp256i
291309291585292051ed448goldilocks
343657?366221?608550?hector
392731392766392822kummer
456195?456225?675405?nistp256
702620705784735554surf2113
830042836407950211curve2251
113894211482281161775sclaus2048
130397113052511321985ed521gs
140148114054121412199claus
159077315910771595131nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
195131195132195133curve25519
237129237515245734sclaus1024
248031?248061?1147002?ecfp256e
255507256806259466ecfp256q
258098?258561?559779?surf127eps
262205262225262271ecfp256i
311568311664362153ecfp256s
320577320631364018ecfp256h
392662392665392700kummer
701352704255704439surf2113
786736786748786790ed448goldilocks
824657828542829775curve2251
842685842722842760nistp256
113470211520381157945sclaus2048
115362111572611158597hector
130361913043021304781ed521gs
139724314063121412041claus
159007215902001591549nist521gs
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; K10 45nm (100fa0); 2010 AMD Phenom II X6 1100T; 6 x 3300MHz; hydra3, supercop-20170725

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
424984367745360jacfp127i
440914523447214kumjacfp127g
493475051752308prjfp127i
501935120152920hecfp127i
752227629377976jacfp128bk
767527780579533ecfp256e
817208235984294ecfp256h
829898388985248ecfp256s
878678876789829prjfp128bk
888128961390891hecfp128i
890108997391548hecfp128fkt
893799050491908ecfp256q
894429104493213hecfp128bk
123930125451126747gls1271
132246133956136836curve2251
178461178722181296kumfp127g
309537313020326682hector
314073314262314469kumfp128g
317466318186322641curve25519
348651350550351585ed448goldilocks
383814385524387576ecfp256i
409392411507413919surf127eps
413541415098419661kummer
425358431973455940sclaus1024
509463510678522261nistp256
672687675000676737surf2113
164549716469641652481ed521gs
194181319444861952253nist521gs
210889821233522137023sclaus2048
253748725441922554164claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183240183402188910kumfp127g
187722187884188217kumjacfp127g
242982243117243216jacfp128bk
291717291960292239jacfp127i
299493299538299700prjfp128bk
307863308160308403hecfp128bk
315000316395318294gls1271
317250317484317754curve25519
318447318915319698hecfp128fkt
326628326709326835kumfp128g
362889363042363204ecfp256e
377991378306378567ecfp256q
380529380718381294prjfp127i
384300384507384597ecfp256i
389457389637389763hecfp127i
408501410346412362surf127eps
413244414270419256kummer
428058432360434763sclaus1024
453852454014454203ecfp256h
470097470223470412ecfp256s
547524550422553689curve2251
654687672129672642surf2113
692856693135693594hecfp128i
102254410236151025712ed448goldilocks
108927910995031111617hector
118174511829781188540nistp256
164446216456231648080ed521gs
193941019416781948491nist521gs
210647721177002133459sclaus2048
253734325462172551941claus
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-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
610371611172614043curve25519
939708946035952722kummer
120163512048301208871nistp256
168068716843411688265ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
612180613638613971curve25519
943209948789949077kummer
421636542274714233951nistp256
560800856164955628771ed448goldilocks
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-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
430744406445234jacfp127i
436234491046386kumjacfp127g
493025039151840prjfp127i
503285142652902hecfp127i
752317643778075jacfp128bk
770677813879623ecfp256e
821798338585122ecfp256h
828458369185203ecfp256s
879128891190018prjfp128bk
889119008191494hecfp128fkt
890829034291998hecfp128i
895329045991872ecfp256q
895329135093177hecfp128bk
124038125424126711gls1271
131616133137135819curve2251
178515178722178893kumfp127g
314361314658314874kumfp128g
317043317178319068curve25519
309762321363333864hector
349821350910351936ed448goldilocks
382554384066386442ecfp256i
409113411642414549surf127eps
417465420219420921kummer
424134428274431919sclaus1024
509202510039512109nistp256
671814674550677520surf2113
164507416474321651545ed521gs
194733919507771971333nist521gs
211579221342512157048sclaus2048
253810825489352595717claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183150183195183294kumfp127g
187686187884188307kumjacfp127g
242883243027243180jacfp128bk
291177291447291528jacfp127i
299691299772299862prjfp128bk
307710308052308223hecfp128bk
314316314919322587gls1271
318807318987319230hecfp128fkt
317745319059324864curve25519
325863326898327267kumfp128g
362916363033363168ecfp256e
378171378405378693ecfp256q
381087381276381528prjfp127i
383571383697383877ecfp256i
389781389934390393hecfp127i
407367409248410841surf127eps
415989419958420138kummer
420417424530433314sclaus1024
453978454077454230ecfp256h
470034470187470403ecfp256s
548595550260553950curve2251
658728670923672399surf2113
693279693423693792hecfp128i
101844010197811021788ed448goldilocks
109950311187721119798hector
118288811849221186596nistp256
164452516461091648395ed521gs
194508919474651962792nist521gs
213096621376802212794sclaus2048
253791925389902546676claus
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-20171020

Cycles to generate a key pair
quartilemedianquartilesystem
616023617067625581curve25519
935145946206955683kummer
120235512077191210500nistp256
167269516741171677132ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
614394614889621000curve25519
934947957564958986kummer
421259442247804238028nistp256
559818956079545616855ed448goldilocks
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.11.19 of the results-dh.html web page. This web page is in the public domain.