VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information: Introduction eBASH eBASC eBATS SUPERCOP XBX Computers
How to submit new software: Hash functions Stream ciphers DH functions Public-key encryption Public-key signatures
List of primitives measured: SHA-3 finalists All hash functions Stream ciphers DH functions Public-key encryption Public-key signatures
Measurements indexed by machine: SHA-3 finalists All hash functions Stream 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; HW+AES (306c3); 2013 Intel Xeon E3-1275 V3; 4 x 3500MHz; titan0, supercop-20141124

Cycles to generate a key pair
quartilemedianquartilesystem
352083605237292hecfp127i
458844650048536ecfp256e
461004740048672hecfp128fkt
465044747249660hecfp128i
470324780051788ecfp256h
468924896052016hecfp128bk
490284944453652curve2251
491285006054020ecfp256s
520365263653256gls254
538165476458688ecfp256q
685566861668784kummer
697366982469996gls254prot
959929749698152gls1271
107796108000108416kumfp127g
155176155268155352kumfp128g
169804169920178156curve25519
177040177432182436ed448goldilocks
221388222812225380ecfp256i
221988222840223352surf127eps
223796226608235492sclaus1024
215624232432251288hector
283856284040284288nistp256
476736478292480032surf2113
111761611340161166388sclaus2048
133950813423641345408claus
Cycles to compute a shared secret
quartilemedianquartilesystem
395523959639628gls254
604446055668628kummer
616486171261888gls254prot
110400110740110920kumfp127g
144732144880145068hecfp128bk
150084150236150464hecfp128fkt
159560159716159796curve2251
161584161648161708curve25519
161332161836161888kumfp128g
204440204532204660ecfp256e
209136209408209712surf127eps
212396212484212612ecfp256q
216588216868217288gls1271
218252218360218496ecfp256i
221088221112230056sclaus1024
230072230400232456hecfp127i
247772247952248100ecfp256h
270412270672271072ecfp256s
327708328100328400hecfp128i
470736470968471232surf2113
531880532056532188ed448goldilocks
705604706068706484nistp256
753432753840754256hector
112878011475281189528sclaus2048
131804813182321318536claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
420180420596420828curve25519
699896700304700672kummer
870352871016872100nistp256
126781212683081268892ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
408920409628409848curve25519
686772687040688384kummer
307634030770883078904nistp256
420737642087524210552ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

armeabi; Cortex-A9+NEON (413fc090); 2012 VIA WonderMedia 8850; 1 x 1200MHz; h7green, supercop-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
367028367087368050kummer
578844578976580850curve25519
761306769225779604ed448goldilocks
143776014482471492590nistp256
689019784863416326901969494999040069182852167630848claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355908356039357242kummer
567531567703568615curve25519
222119122236012261160ed448goldilocks
450031245187104546546nistp256
686854219403100166881258303704268868996111284568064claus
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-A15 (410fc0f4); 2012 Samsung Exynos 5 Dual; 2 x 1700MHz; sachr, supercop-20140514

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
529945390457077hecfp127i
692797192676141ecfp256e
743617692581654ecfp256h
760317847082599ecfp256s
801998086182591hecfp128bk
802628089182392hecfp128i
804708106682264hecfp128fkt
795528194286454ecfp256q
838968454088260curve2251
113359114349115301gls254
123741125287126595gls1271
139653139731139782gls254prot
158539158572158600kumfp127g
226312226362226462kummer
260667260683260697kumfp128g
309500309750310501curve25519
344261346390348350ecfp256i
348583375384406327hector
406060407228408113surf127eps
405991407338413512ed448goldilocks
445884449719454655sclaus1024
522666528060529248nistp256
732922735308738794surf2113
216360221800932195145sclaus2048
266252426709432681330claus
Cycles to compute a shared secret
quartilemedianquartilesystem
924249249592564gls254
121793121838121972gls254prot
165255165255165255kumfp127g
208022208434208528kummer
247944248041248162curve2251
258583258650258937hecfp128bk
268671268685268753hecfp128fkt
271850271897271925kumfp128g
285333285670289248gls1271
297636297695297697curve25519
324512324627324947ecfp256e
340259340619341036ecfp256q
342348343010343357ecfp256i
366888367063367142hecfp127i
385092385184385404surf127eps
410117410411411158ecfp256h
427538427808428117ecfp256s
438238438603439286sclaus1024
575165575525576443hecfp128i
718588718756720109surf2113
114336511446361145141hector
127983212820101282128ed448goldilocks
183554618389321843582nistp256
220753922198572221658sclaus2048
260004826030332611845claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
782452783502786022curve25519
118487611864101187899nistp256
128223612826981283305kummer
164035216446551648509ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
761332766180766992curve25519
126142612615731262292kummer
418185241870314191750nistp256
518581151861025195127ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
516475751258897hecfp127i
687887136874253ecfp256e
731067502577879ecfp256h
752647689180097ecfp256s
786577930280290hecfp128bk
789767950181237hecfp128fkt
789387960680275hecfp128i
787258079984252ecfp256q
832958384786536curve2251
113281114075115458gls254
131409133314134478gls1271
139631139775139897gls254prot
158422158477158548kumfp127g
226288226416226546kummer
260650260686260702kumfp128g
317663317840318075curve25519
345302346936349218ecfp256i
348636375618406814hector
404576405694406792ed448goldilocks
406121407572408499surf127eps
445629449395454457sclaus1024
526024529567532435nistp256
732964735116738631surf2113
220308322358942277663sclaus2048
266625526783352692101claus
Cycles to compute a shared secret
quartilemedianquartilesystem
920149231692347gls254
121794121865122019gls254prot
165207165340165387kumfp127g
208024208075208439kummer
248248248297248436curve2251
258886258944259234hecfp128bk
268652268729268910hecfp128fkt
271802271853271907kumfp128g
286009287820289461gls1271
300120300322300602curve25519
324468324717325014ecfp256e
340333340469340786ecfp256q
342422342629342893ecfp256i
366649366809367011hecfp127i
385217385418385777surf127eps
410631410871411471ecfp256h
427523427839428204ecfp256s
439077440539440996sclaus1024
575383576101576456hecfp128i
718254718578719155surf2113
114471911457061148200hector
128538112928161298468ed448goldilocks
184208418443011849424nistp256
222844523131532320251sclaus2048
261589526236502631789claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
786097786543788588curve25519
118522011863521188551nistp256
128245112829931283803kummer
164106716436421647928ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
761759768022768082curve25519
126187812620461262665kummer
418063941869704190568nistp256
518652151953025196080ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
368923772439460hecfp127i
494605057252500ecfp256e
520565321256196ecfp256h
537005464456952ecfp256s
550165639259484hecfp128i
553245680458592hecfp128bk
554245684459260hecfp128fkt
568805786461120ecfp256q
691487377277172curve2251
892849034891384gls254
987129876098812kummer
102660104152105288gls1271
116272116472116656kumfp127g
124000124080124156gls254prot
164972165248165388kumfp128g
192376192516192744curve25519
233884234248234864ed448goldilocks
241400242512243904ecfp256i
252296253584254424surf127eps
274304276908279452sclaus1024
272796292048312872hector
321244321484321772nistp256
542448544372546360surf2113
135018013600561373012sclaus2048
163932016460361656900claus
Cycles to compute a shared secret
quartilemedianquartilesystem
761847625676360gls254
884408849288724kummer
113928113968114032gls254prot
118764118944119260kumfp127g
161724161812161928hecfp128bk
167204167328167476hecfp128fkt
171180171292171376kumfp128g
182424182544182664curve25519
224444224556224680ecfp256e
225416225652225928curve2251
233668233880234152ecfp256q
234748235016241136gls1271
237608237980238620surf127eps
238712238836239076ecfp256i
244848245124245448hecfp127i
270612270788278580sclaus1024
273564273744273968ecfp256h
296896297036297196ecfp256s
364676364864365104hecfp128i
534452534900535408surf2113
689004689312689680ed448goldilocks
871436873136876604hector
109835610986801099168nistp256
137330413752281379460sclaus2048
160899616127721625748claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
446084446644446912curve25519
814772815040815324kummer
931416932512934172nistp256
146413214677561471192ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
433496433560433872curve25519
800684801112801612kummer
327169232769803281792nistp256
454270445488244559920ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
542845485955870hecfp127i
822348285886600hecfp128bk
827528367284612hecfp128fkt
833828408885107hecfp128i
862058768591562ecfp256e
906239288596873ecfp256h
925939317395286curve2251
9489697317100234ecfp256s
9706699561103088ecfp256q
119360120221121529gls254
139169141010142167gls1271
164453164615165708kumfp127g
271710271738271996kummer
272958272964272968kumfp128g
326974329360332974curve25519
368984372040375673ecfp256i
378996408248441723hector
423784425314426300surf127eps
457210461194465730sclaus1024
792569795276798948surf2113
220618522229502238599sclaus2048
273176427434602781143claus
Cycles to compute a shared secret
quartilemedianquartilesystem
992009939899458gls254
171218171248173985kumfp127g
251504251524251596kummer
265946266026266086curve2251
268548268620268688hecfp128bk
275748275792275864hecfp128fkt
283812283818283860kumfp128g
308102317636324470curve25519
323726324006324107gls1271
351740351944359132ecfp256e
367298367407367532ecfp256q
367466368506368808ecfp256i
385101385230385420hecfp127i
403110403528404108surf127eps
436850436956437040ecfp256h
451223451349455690sclaus1024
460682460894462404ecfp256s
597384597450597498hecfp128i
776786777282779451surf2113
126285012631871263466hector
223841322416242244965sclaus2048
267593426939562702881claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
797456797920798590curve25519
202097820230712026647kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
773752774598775274curve25519
200361720052402007277kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
621066278163495hecfp127i
891069054992904hecfp128fkt
900729078691482hecfp128bk
894999107193114hecfp128i
99237100932102429ecfp256e
108885110754113520ecfp256h
109560111591113277ecfp256s
112497115914119226ecfp256q
162831165303166692gls1271
197754197796197946kumfp127g
314733314745314787kumfp128g
376476376521376800curve25519
428121430263433017ecfp256i
511440512550517551curve2251
567030567783568809ed448goldilocks
613095615303615525nistp256
697908703914710235sclaus1024
750966751002751098kummer
333920733620223383823sclaus2048
399844840125394029726claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201504201525201561kumfp127g
297912297963298059hecfp128bk
308085308130308274hecfp128fkt
325545325560325599kumfp128g
363846364911367023gls1271
365007365031365250curve25519
401229401292401664ecfp256e
418713418788419520ecfp256q
426822426858427032ecfp256i
435681435720436116hecfp127i
512727512787513216ecfp256h
513294513390513897ecfp256s
657399657507658500hecfp128i
716787717936719880sclaus1024
738024738057738090kummer
159081015909451599312ed448goldilocks
204244520460752052816nistp256
206244020629982074620curve2251
338494833977793405210sclaus2048
398028639876693993246claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
901857908634912162curve25519
146464514647831465758kummer
169591516976791709043nistp256
206761820701052076990ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
876960877164879021curve25519
143982914399401440153kummer
588081058853645893173nistp256
682174268256456827928ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
628116349264287hecfp127i
909729181894197hecfp128fkt
909519190894194hecfp128bk
911049265294212hecfp128i
100515102333103656ecfp256e
111216112404114795ecfp256h
111096113040114876ecfp256s
115410117279119943ecfp256q
165975168036169470gls1271
197775197808197910kumfp127g
314826314853314892kumfp128g
376554377319377766curve25519
429252433005437790ecfp256i
511980513774524322curve2251
521445526716532830sclaus1024
524472528231532077surf127eps
584205585516587385ed448goldilocks
615015617028618417nistp256
751728755712757485kummer
826284852522884343hector
181324218251311830876surf2113
248301325114652657613sclaus2048
310253431120803123555claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201552201579201594kumfp127g
297732297786297930hecfp128bk
308109308148308397hecfp128fkt
325752325758325791kumfp128g
360564361650362217gls1271
365655365745366051curve25519
401235401325401718ecfp256e
418827418869419742ecfp256q
426975426996427203ecfp256i
436332436380436656hecfp127i
512703512769513342ecfp256h
513261513375513882ecfp256s
509916514047516849surf127eps
516207517419519537sclaus1024
658176658230659040hecfp128i
742095742860744498kummer
170133317014831713051ed448goldilocks
180016218112591817709surf2113
205239020550182065764nistp256
206104220623352074140curve2251
253002027005132706708sclaus2048
280351828170152830614hector
307818930816183093903claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
904143906627911976curve25519
149988915045871514499kummer
171276617173891728228nistp256
206955921042182118939ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
876819880158883623curve25519
147253514783071486575kummer
594207059622545970510nistp256
682930569725706984615ed448goldilocks
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-20141014

Cycles to generate a key pair
quartilemedianquartilesystem
360393726539613hecfp127i
537875551059104ecfp256e
574695841761222hecfp128bk
574645857559777hecfp128i
587195912660264hecfp128fkt
584266048663916ecfp256s
589536104464345ecfp256h
606156259966100ecfp256q
966799795998904gls1271
118929118939118992kumfp127g
204989205014205050kumfp128g
225422225639251407curve25519
258886260029261678ecfp256i
305124307902310059sclaus1024
298632331742333054surf127eps
383230383424384085ed448goldilocks
411935433716458027hector
422156470849470853kummer
869731873390875323surf2113
100790210079071007916nistp256
105327110576091061468curve2251
143755114482291457268sclaus2048
181690018210071825646claus
Cycles to compute a shared secret
quartilemedianquartilesystem
122244122248122274kumfp127g
191860191882191941hecfp128bk
198737198763198769hecfp128fkt
211873211874211901kumfp128g
214492214687239454curve25519
225688225754226318gls1271
244403244433244513ecfp256e
250530250552250624ecfp256q
258071258137258142ecfp256i
263264263286263339hecfp127i
301464301486301627sclaus1024
309856309904310139ecfp256s
284809317798317875surf127eps
319691319731319798ecfp256h
427034427106427154hecfp128i
411262458642458669kummer
861668861739865128surf2113
103956410395721039580nistp256
104388710484961048943curve2251
105996710601031060112ed448goldilocks
135838713597991375284hector
146643414688141470177sclaus2048
178182817825451782860claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
146916148085151235hecfp127i
229495231805234178ecfp256e
247884248920250656hecfp128bk
247870248962251587hecfp128fkt
248227249410254205hecfp128i
250789254709256809ecfp256s
256648256949258986curve2251
257838259693263319ecfp256h
258657261352265489ecfp256q
317681320285324401gls1271
539931539945540078kumfp127g
834813862400903693hector
103070110307781031338kumfp128g
111425311159751117522curve25519
114468211530051163232ecfp256i
115029611594311166620surf127eps
131383013176731331351ed448goldilocks
145680514589541460991nistp256
173699417392901742776kummer
173885617573641775452surf2113
177020217885351806364sclaus1024
867926587436798795920sclaus2048
106361221070274110742074claus
Cycles to compute a shared secret
quartilemedianquartilesystem
548058548072548121kumfp127g
751877752080752402gls1271
885654885710887859hecfp128bk
919996920024922299hecfp128fkt
101115010113391012284curve2251
105649610565101056790kumfp128g
107970810797921081570ecfp256e
110457911056291106994curve25519
112287711229891125110ecfp256q
113507111351411135372hecfp127i
113706611471181150191surf127eps
115016311502611151521ecfp256i
134227113423761344266ecfp256s
143465014347201436078ecfp256h
172552817278241731296kummer
172704017582951762495surf2113
176353817679481783327sclaus1024
195185219524401967105hecfp128i
280553028393472851688hector
449165545078254515882ed448goldilocks
478880548083214825828nistp256
887685488847438889328sclaus2048
106266301071319210731406claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
104456110822841130087hector
178428618026051818642sclaus1024
191081819216121928353kummer
191731419461471953833nistp256
236267523835772397101surf2113
250700825081002526489curve25519
268610327199482734326surf127eps
305982630788873138324ed448goldilocks
347112535073083528910curve2251
899888590472279103094sclaus2048
103241111035241910379502claus
Cycles to compute a shared secret
quartilemedianquartilesystem
188896418914141904994sclaus1024
190129119068771912764kummer
236350823687022386881surf2113
249365924946602511509curve25519
264443226841642709259surf127eps
342836234373783464510hector
349195735016943521714curve2251
664753666785396684468nistp256
932201293274379348486sclaus2048
951358895298359751616ed448goldilocks
104019931041784110441781claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
375163811638956hecfp127i
525645322854612ecfp256e
548205547256260hecfp128bk
549645566056284hecfp128i
553565593657904ecfp256h
569685782859384hecfp128fkt
574925810859192ecfp256s
610246174063364ecfp256q
716407198874784curve2251
922169307294036gls254
100980101048101148kummer
109896111256112216gls1271
119552119680119820kumfp127g
131012131564132344gls254prot
184320185312185604kumfp128g
205820205980206140curve25519
226012226260226556ed448goldilocks
261368262852264556ecfp256i
284644286356290276surf127eps
295540298140300880sclaus1024
294632315608338608hector
357460357784363508nistp256
591148593408596036surf2113
147036414817281491132sclaus2048
176554817699481774748claus
Cycles to compute a shared secret
quartilemedianquartilesystem
778367797678100gls254
888688891689184kummer
119484119904120372gls254prot
122576122716122836kumfp127g
183036183272187968hecfp128bk
190064190216190440hecfp128fkt
190716191804192076kumfp128g
193932194036194176curve25519
231520231704231908curve2251
246364246508246752ecfp256e
249044249356249872gls1271
255172255356255604ecfp256q
259564259696259880ecfp256i
266036266292266776hecfp127i
266692267884272104surf127eps
290892290960291084sclaus1024
300700300832301032ecfp256h
322220322440322700ecfp256s
413440413768414116hecfp128i
582368582680583192surf2113
666324666544666792ed448goldilocks
935672938240945748hector
122421212261961243096nistp256
149708014976281498328sclaus2048
173200017327601736816claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
449300450528458012curve25519
856208856728857496kummer
100825210096321020048nistp256
153323615373281561620ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
433768434384434660curve25519
841024841648843328kummer
360134436165083643084nistp256
480613648193604865276ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
904111904732905047kummer
188590318949501902111nistp256
285128328608152868543ed448goldilocks
158534141590426616003713claus
Cycles to compute a shared secret
quartilemedianquartilesystem
890988891352891712kummer
624639762584726307288nistp256
849183885292028572573ed448goldilocks
158184311586179715932322claus
Secret key
bytessystem
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
48kummer
64ed448goldilocks
64nistp256
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
414524343346062hecfp127i
625026312265807hecfp128fkt
638396523068166hecfp128bk
640706596769245hecfp128i
763147819381880ecfp256e
795738231785288ecfp256s
815948361787396ecfp256h
828488583389544ecfp256q
114703116350117596gls1271
129646129723129728kumfp127g
223391223416223441kumfp128g
229154229158229159curve25519
273278276835283193sclaus1024
293037295248297345ecfp256i
302684303792304186surf127eps
349434349531350196ed448goldilocks
407627426119448741hector
439667439691439740kummer
878526881321883930surf2113
935659935713935746nistp256
105852910629381064991curve2251
129041012993321307854sclaus2048
161648216224911668267claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132173132175132177kumfp127g
205649205660205734hecfp128bk
212878212908212977hecfp128fkt
219376219392219395curve25519
229921229926229939kumfp128g
260312261416262688gls1271
269643270032276734sclaus1024
277259277299277340ecfp256e
282063282121282144hecfp127i
285298285333285354ecfp256q
289829289907290047surf127eps
293136293174293227ecfp256i
346462346510346562ecfp256s
358665358710358739ecfp256h
428599428604428630kummer
453854453938454001hecfp128i
871250874444874550surf2113
965258965260965262nistp256
973809973820973934ed448goldilocks
105127510525211053774curve2251
131209013153851317695sclaus2048
135853313593041376823hector
158314415854541590903claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
584346585096586316curve25519
959727959810959890kummer
141402014141131414904nistp256
166914516704421677424ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
568772569485570021curve25519
944419944448944479kummer
475396047575804765837nistp256
514637751790185192529ed448goldilocks
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; boost; hydra1, supercop-20140529

Cycles to generate a key pair
quartilemedianquartilesystem
42010?45279?150376?hecfp127i
62950?64571?237045?hecfp128bk
63619?66608?163509?hecfp128i
63886?66904?236688?hecfp128fkt
76967?80769?294309?ecfp256e
809928298786619ecfp256h
80212?84058?308243?ecfp256s
83400?88187?320771?ecfp256q
113590115291116416gls1271
129721130127130258kumfp127g
223387223401223521kumfp128g
229157229160229170curve25519
293619295876300691ecfp256i
292774?296458?582428?sclaus1024
303015?303813?604255?surf127eps
407149428061468519hector
570901571004571013kummer
878093880593885472surf2113
105977410636551064850curve2251
129280813031881314374sclaus2048
173908517420821747478claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132155132816132820kumfp127g
205853?205902?823256?hecfp128bk
212867?212898?851339?hecfp128fkt
219392?219394?292509?curve25519
229910229927229936kumfp128g
260373?260453?521182?gls1271
277262277296277326ecfp256e
282064282101283502hecfp127i
285736285775285791ecfp256q
288206288223288269sclaus1024
289627289787290099surf127eps
293153293154293248ecfp256i
346464346488346520ecfp256s
358724358738358763ecfp256h
453921453935453972hecfp128i
559838559842559861kummer
871322874470874546surf2113
105236510532941053687curve2251
131630113218321322037sclaus2048
134220913590541366150hector
170684917071201707229claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
582658585845586202curve25519
144603514460621446110kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
570110570650570899curve25519
143064514306671430729kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
405654182844540hecfp127i
610816154062061hecfp128bk
611766154062416hecfp128fkt
626356381666011hecfp128i
750897696979709ecfp256e
779067975281861ecfp256s
793858132284306ecfp256h
812658372586707ecfp256q
114648116209117593gls1271
130779130878130951kumfp127g
223382223388223431kumfp128g
229724229732229740curve25519
272068274662276565sclaus1024
289070290697292534ecfp256i
302868303834304193surf127eps
365171365290366297ed448goldilocks
438384438391438408kummer
525208545457568361hector
935639935741935787nistp256
115572611607751163303surf2113
129140012999051307640sclaus2048
140686214126801413963curve2251
161447416184351622183claus
Cycles to compute a shared secret
quartilemedianquartilesystem
133458133464133836kumfp127g
206196206206206215hecfp128bk
212913212980213065hecfp128fkt
219952219975221216curve25519
229900229901229902kumfp128g
260382260548260938gls1271
268560268636268770sclaus1024
272939272956272991ecfp256e
281902281918281995ecfp256q
282119282190282370hecfp127i
289228289249289349ecfp256i
289869290021290107surf127eps
342577342601342620ecfp256s
352335352398352447ecfp256h
428587428589428609kummer
453810453979454185hecfp128i
965167965254965296nistp256
973818973825973850ed448goldilocks
115128311513371151602surf2113
131397613151241315664sclaus2048
140156714018811402243curve2251
158261015829791584053claus
177789217785691785886hector
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
584248584266585789curve25519
959480959487959517kummer
141944214209601422056nistp256
166716116687491672250ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
566652569886570622curve25519
944149944150944173kummer
472560747277444733512nistp256
514535451457835170278ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
145410145930147210hecfp127i
234180236580239020ecfp256e
246010246550250860hecfp128bk
246380246960251240hecfp128i
248760249890252320hecfp128fkt
255510258860260920ecfp256s
260240261500268940curve2251
261250263070266900ecfp256h
265060268020271510ecfp256q
318600322070325530gls1271
547370547380547460kumfp127g
103452010346001035410kumfp128g
112298011230201123660curve25519
116940011748201184970ecfp256i
131336013159001322060ed448goldilocks
142057014206301423220nistp256
171484017152401734890kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
555690555710555810kumfp127g
755930756090759300gls1271
887090887220890240hecfp128bk
920830920920923560hecfp128fkt
101043010107001011540curve2251
106041010604201060790kumfp128g
110414011041901106140ecfp256e
110935011093601109540curve25519
114112011412301141870hecfp127i
114571011457901148080ecfp256q
117513011752401176660ecfp256i
137910013792801381280ecfp256s
145629014564101458720ecfp256h
170121017013401721810kummer
195505019557101980390hecfp128i
454116045672704592300ed448goldilocks
470832047332904760910nistp256
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
185595018562501876540kummer
195731019583701986240nistp256
249868024989902525080curve25519
322203032439403262190ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
184271018428801863710kummer
248317024833002508960curve25519
671357067157306745110nistp256
100794101008927010115130ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
425524309945055hecfp127i
707127183175378hecfp128bk
762407823181956hecfp128fkt
771797932784420hecfp128i
99810103895108301ecfp256e
103368105960109546ecfp256h
102763107414110673ecfp256s
106632110735113613ecfp256q
121714123389124842gls1271
129761129798129867kumfp127g
223557223607223687kumfp128g
231209231211231219curve25519
277842280416282625sclaus1024
280644282296284059ecfp256i
307505308553309026surf127eps
353716353914354787ed448goldilocks
368166388650412386hector
435136435147435179kummer
763041766097769056surf2113
958157962167963266curve2251
115396311540271160837nistp256
128426012936021302243sclaus2048
162039616242981628516claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132053132053132054kumfp127g
206815206820206910hecfp128bk
215183215223215283hecfp128fkt
219686219688219707curve25519
230243230260230272kumfp128g
264667264671264683ecfp256e
267097267156267281gls1271
272425272515272651sclaus1024
273581273799273834ecfp256q
280834280843280863ecfp256i
281771281796281850hecfp127i
295938296087296341surf127eps
332618332695332703ecfp256s
338639338663338681ecfp256h
423641423648423674kummer
455058455082455946hecfp128i
755554755658755760surf2113
952177952345952544curve2251
105067110506851050791ed448goldilocks
120197812024701203828hector
120302612031461203201nistp256
130614613063211306544sclaus2048
158493515851751585743claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
591733591750591767curve25519
923944931436940869sclaus1024
106031410604111066513kummer
140595514071641407472nistp256
205622720564672062284ed448goldilocks
457074346064514629703sclaus2048
534208053588265371159claus
Cycles to compute a shared secret
quartilemedianquartilesystem
575959575962575968curve25519
977174979199981433sclaus1024
104558810456191045696kummer
473190347512634755686sclaus2048
495512749606204962878nistp256
538447953955855412901claus
651889365201196526186ed448goldilocks
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; C2 45nm (10676); 2008 Intel Pentium E5200; 2 x 2500MHz; floodyberry, supercop-20140505

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
531005545860336hecfp127i
708577187476185ecfp256e
759967765284816ecfp256h
776707969584708ecfp256s
845468640991611ecfp256q
922509319598586hecfp128bk
919629323194536hecfp128i
921789349298217hecfp128fkt
135756137358138780gls1271
138159138789141489curve2251
180675180684180684kumfp127g
313956314046314199kumfp128g
330552330696330966curve25519
350208370674397521hector
375111376839379314ecfp256i
425655427716429462surf127eps
433980436230437229kummer
461412465012470115sclaus1024
650322653022655623surf2113
137374213754161379115nistp256
213146121478682168127sclaus2048
257573725827212592774claus
Cycles to compute a shared secret
quartilemedianquartilesystem
185337185337185346kumfp127g
308142308304308502hecfp128bk
317439317466317511curve25519
319338319518319734hecfp128fkt
325314325602325953gls1271
326736326745326790kumfp128g
355896356013356049ecfp256e
368343368451368604ecfp256q
374985375147375327ecfp256i
389619389889390024hecfp127i
412740413748415017surf127eps
424557424629424818kummer
443439443484443574ecfp256h
455463455688456993sclaus1024
459315459396459504ecfp256s
513954513990514152curve2251
640674640935642078surf2113
696042696141696357hecfp128i
109608311027881114056hector
143181914334121436130nistp256
216565221680822193912sclaus2048
255076225515182562615claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
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
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
477234495900525330hector
621477623097624447curve25519
742941750708756324sclaus1024
939897944991947970kummer
102299410273411030878surf2113
141063314136301424124curve2251
147007814744161481472nistp256
153420315398821543698surf127eps
369266437154613741102sclaus2048
425156442644974280292claus
Cycles to compute a shared secret
quartilemedianquartilesystem
612738614475614718curve25519
790902793899797004sclaus1024
922563927369931122kummer
101480410161091020087surf2113
140084114028031413747curve2251
152175615226921524150surf127eps
152367315357511551474hector
386172038726823880188sclaus2048
427501842899674310559claus
506396750747765097501nistp256
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
50742?55242?73872?hecfp127i
75582?77742?112437?ecfp256e
80658?82107?121068?ecfp256h
82620?83889?122580?ecfp256s
88722?90576?131859?ecfp256q
89352?93438?132444?hecfp128bk
89721?93474?132552?hecfp128fkt
89694?93654?132480?hecfp128i
142290?145890?209862?gls1271
178614?178623?266355?kumfp127g
146538?216135?216972?curve2251
312012?313749?467010?kumfp128g
320544320850354069curve25519
382122?384408?563976?ecfp256i
433539?435285?648225?surf127eps
445014450342459414sclaus1024
563814564021572499kummer
438957?619560?655389?hector
865575868500894960surf2113
217079121820772199780sclaus2048
266472026713262681559claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182484183321183375kumfp127g
307620308025308178curve25519
308295?308511?462735?hecfp128bk
318249?318546?476649?hecfp128fkt
322344322893323253gls1271
323703323712323712kumfp128g
358128358308359496ecfp256e
371223371358371520ecfp256q
381321381402381519ecfp256i
388026?388845?581931?hecfp127i
417609418680419751surf127eps
439416439785440001sclaus1024
446139446364447084ecfp256h
463239463392463581ecfp256s
540270540432565272curve2251
551538551682551709kummer
694854694989695646hecfp128i
854865859590887778surf2113
1404783?1417833?2070927?hector
221119222116602213271sclaus2048
263238326334812633976claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
515529?551187?759438?hector
630891?633924?948879?curve25519
728343736191748170sclaus1024
117809111821141186650surf2113
153758715433201545507surf127eps
159658216025491604862curve2251
205263020539622055195kummer
364737636753393703077sclaus2048
416709041931094218408claus
Cycles to compute a shared secret
quartilemedianquartilesystem
612333613683628569curve25519
772407775548782505sclaus1024
116507711654911166103surf2113
152201715223501523925surf127eps
158681715874741590894curve2251
167009416741621715238hector
203446820393822041443kummer
378420338085303812949sclaus2048
416370641847394202334claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
128claus
128sclaus1024
256sclaus2048

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

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

Version

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