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

Cycles to generate a key pair
quartilemedianquartilesystem
346253655238485hecfp127i
428824431747832hecfp128bk
428254572047543ecfp256e
436924584051168ecfp256h
475764805048541gls254
468284900351968hecfp128fkt
452624911153420ecfp256s
472404940852708hecfp128i
467335022053879curve2251
490625304557164ecfp256q
616156168361737kummer
628066285162926gls254prot
860528739089248gls1271
986979898399266kumfp127g
138818138889138975kumfp128g
152222152398154206curve25519
172299172423172987ed448goldilocks
197111197924199411ecfp256i
198067198716199211surf127eps
203375218388235552hector
257350259036261710sclaus1024
454202455745457356surf2113
123604212464591272839sclaus2048
154277315465441550277claus
Cycles to compute a shared secret
quartilemedianquartilesystem
362393627536323gls254
543415438954454kummer
555275559555663gls254prot
100693100895101244kumfp127g
129908130036130200hecfp128bk
134555134686134850hecfp128fkt
143432143506143992curve2251
144346144379144436kumfp128g
144894145907147191curve25519
183451183543183620ecfp256e
188032188178188360surf127eps
189000190852191883gls1271
191088191204191362ecfp256q
194383194516194671ecfp256i
206473206729206976hecfp127i
222195222341222496ecfp256h
242531242677242811ecfp256s
255721255881256018sclaus1024
293553293747294033hecfp128i
448605448914449030surf2113
528917529066529766ed448goldilocks
700819701049701442hector
125634812570121292025sclaus2048
152892815293571529780claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
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
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
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
377238377634377833curve25519
637622638206638403kummer
113666611386941141066ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
367238367628367813curve25519
630027630676630840kummer
377633637770873778672ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks

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

amd64; HW+AES (306c3); 2013 Intel Core i5-4570S; 4 x 2900MHz; haswell, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
328403384036052hecfp127i
460964805249868hecfp128i
486444923650132ecfp256e
497685008053608curve2251
492645065654976ecfp256h
496765114853057hecfp128fkt
498285168453852hecfp128bk
518685294455140ecfp256s
555085697259568ecfp256q
566965713257732gls254
599766032460944ecfp256i
953089672097688gls1271
107860108120108436kumfp127g
157136157328157760kumfp128g
170596171372176060curve25519
224484227116231020surf127eps
228200245340265076hector
308608310956314616sclaus1024
522452526388582706surf2113
151015215259881555968sclaus2048
176961217860001891572claus
Cycles to compute a shared secret
quartilemedianquartilesystem
453764546845620gls254
110484110816111216kumfp127g
147752148256149016hecfp128bk
151448151780162552hecfp128fkt
160300160488161152curve2251
161764162460167416curve25519
163580163944165312kumfp128g
204312204516204984ecfp256e
211284213836217560surf127eps
214756215644217264ecfp256q
216672217548218816gls1271
218108218928219504ecfp256i
230500230900231252hecfp127i
250376250760251664ecfp256h
273372273656274176ecfp256s
306612306932307420sclaus1024
330232332192354248hecfp128i
514548517884598008surf2113
797592801236856764hector
153146815377361643276sclaus2048
175475217714201887736claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256i
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
367028367087368050kummer
578844578976580850curve25519
689019784863416326901969494999040069182852167630848claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355908356039357242kummer
567531567703568615curve25519
686854219403100166881258303704268868996111284568064claus
Secret key
bytessystem
32curve25519
32kummer
256claus
Public key
bytessystem
32curve25519
48kummer
128claus
Shared secret
bytessystem
32curve25519
48kummer
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
510332510601524510curve25519
236570823753272390110surf127eps
301000530719443111581sclaus1024
147705001485421414947993sclaus2048
179431651808492118378320claus
Cycles to compute a shared secret
quartilemedianquartilesystem
498063498349512061curve25519
235847323589242374296surf127eps
297951730604903074771sclaus1024
150554621507121615130262sclaus2048
179393271805801518365896claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32surf127eps
256claus
Public key
bytessystem
32curve25519
48surf127eps
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48surf127eps
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
529945390457077hecfp127i
692797192676141ecfp256e
743617692581654ecfp256h
760317847082599ecfp256s
801998086182591hecfp128bk
802628089182392hecfp128i
804708106682264hecfp128fkt
795528194286454ecfp256q
838968454088260curve2251
113359114349115301gls254
123741125287126595gls1271
158539158572158600kumfp127g
226312226362226462kummer
260667260683260697kumfp128g
309500309750310501curve25519
344261346390348350ecfp256i
354455381344412305hector
406000407327408149surf127eps
454216458434462410sclaus1024
731816734802738384surf2113
219616422167752281978sclaus2048
270555127137822722478claus
Cycles to compute a shared secret
quartilemedianquartilesystem
924249249592564gls254
165255165255165255kumfp127g
208022208434208528kummer
247944248041248162curve2251
258583258650258937hecfp128bk
268671268685268753hecfp128fkt
271850271897271925kumfp128g
285333285670289248gls1271
297636297695297697curve25519
324512324627324947ecfp256e
340259340619341036ecfp256q
342348343010343357ecfp256i
366888367063367142hecfp127i
385144385398385618surf127eps
410117410411411158ecfp256h
427538427808428117ecfp256s
445364445631447000sclaus1024
575165575525576443hecfp128i
718449718644718934surf2113
116936911704381183516hector
222827022330122311368sclaus2048
264109826591812662623claus
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; Piledriver (610f01); 2012 AMD A10-5800K; 2 x 3800MHz; hydra9, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
782452783502786022curve25519
180666218076491812281kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
761332766180766992curve25519
178406217846191785003kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
516475751258897hecfp127i
687887136874253ecfp256e
731067502577879ecfp256h
752647689180097ecfp256s
786577930280290hecfp128bk
789767950181237hecfp128fkt
789387960680275hecfp128i
787258079984252ecfp256q
832958384786536curve2251
113281114075115458gls254
131409133314134478gls1271
158422158477158548kumfp127g
226288226416226546kummer
260650260686260702kumfp128g
317663317840318075curve25519
345302346936349218ecfp256i
348453375465406800hector
406252407625408603surf127eps
454270458650462657sclaus1024
732944735536738960surf2113
219123022061372223439sclaus2048
267984526917202703454claus
Cycles to compute a shared secret
quartilemedianquartilesystem
920149231692347gls254
165207165340165387kumfp127g
208024208075208439kummer
248248248297248436curve2251
258886258944259234hecfp128bk
268652268729268910hecfp128fkt
271802271853271907kumfp128g
286009287820289461gls1271
300120300322300602curve25519
324468324717325014ecfp256e
340333340469340786ecfp256q
342422342629342893ecfp256i
366649366809367011hecfp127i
385345385510385816surf127eps
410631410871411471ecfp256h
427523427839428204ecfp256s
446409446775447119sclaus1024
575383576101576456hecfp128i
718452718833719737surf2113
114001211414231144870hector
223139322321722239971sclaus2048
263811926477392654010claus
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; Piledriver (610f01); 2012 AMD A10-4655M; 2 x 2000MHz; h9trinity, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
786097786543788588curve25519
180482818059901811748kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
761759768022768082curve25519
178397917848021784984kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
368923772439460hecfp127i
494605057252500ecfp256e
520565321256196ecfp256h
537005464456952ecfp256s
550165639259484hecfp128i
553245680458592hecfp128bk
554245684459260hecfp128fkt
568805786461120ecfp256q
691487377277172curve2251
892849034891384gls254
993569942099512kummer
102660104152105288gls1271
116272116472116656kumfp127g
124000124080124156gls254prot
164972165248165388kumfp128g
192376192516192744curve25519
232976233456233748ed448goldilocks
241400242512243904ecfp256i
249548250484251216surf127eps
273956292740314008hector
325804327952331536sclaus1024
541912543824545996surf2113
155314815634601572336sclaus2048
196137619683441991536claus
Cycles to compute a shared secret
quartilemedianquartilesystem
761847625676360gls254
909369095291008kummer
113928113968114032gls254prot
118764118944119260kumfp127g
161724161812161928hecfp128bk
167204167328167476hecfp128fkt
171180171292171376kumfp128g
182424182544182664curve25519
224444224556224680ecfp256e
225416225652225928curve2251
233668233880234152ecfp256q
234844234972235192surf127eps
234748235016241136gls1271
238712238836239076ecfp256i
244848245124245448hecfp127i
273564273744273968ecfp256h
296896297036297196ecfp256s
321668321880322040sclaus1024
364676364864365104hecfp128i
534204534516535036surf2113
688848689020689220ed448goldilocks
871732872516873816hector
158108815818641582568sclaus2048
192848019354801936656claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
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
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
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
446084446644446912curve25519
814772815040815324kummer
146243614636321465684ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
433496433560433872curve25519
800684801112801612kummer
453375645351724540736ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks

amd64; IB+AES (306a9); 2012 Intel Core i7-3770; 4 x 3392MHz; ares, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
333003522437796hecfp127i
478364892450712hecfp128fkt
483244893649988ecfp256e
495765074452068hecfp128i
508165141252536ecfp256h
508125265655060hecfp128bk
528925361254052ecfp256s
561765697257996ecfp256q
564845713658124ecfp256i
698286998470360curve2251
101524102880103784gls1271
117700117764117844kumfp127g
164720164892164980kumfp128g
190980191108191208curve25519
Cycles to compute a shared secret
quartilemedianquartilesystem
120280120372120468kumfp127g
161796161936162164hecfp128bk
165188166480167340hecfp128fkt
171368171548171708kumfp128g
182668182756182844curve25519
223972225004225260ecfp256e
233048234112235620gls1271
236012236352236640ecfp256q
239040240148240900ecfp256i
240080240316240612curve2251
245144245688247452hecfp127i
274032276048276512ecfp256h
296988299328299960ecfp256s
364824367124368016hecfp128i
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
64ecfp256e
64ecfp256h
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i

x86; normally amd64; IB+AES (306a9); 2012 Intel Core i7-3770; 4 x 3392MHz; ares, supercop-20130419

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
355843615237204hecfp127i
504845216453568ecfp256e
521165288054476hecfp128bk
515205297655820ecfp256h
523165324054892hecfp128i
528085354054852hecfp128fkt
538565518457244ecfp256s
569885823260168ecfp256q
685567191273848curve2251
892489017691252gls254
994049944499492kummer
102344103852104668gls1271
116360116520116672kumfp127g
123992124032124088gls254prot
164912165160165304kumfp128g
192472192576192756curve25519
233236233648234236ed448goldilocks
241564242732244068ecfp256i
249380250644251284surf127eps
272680292060313176hector
325864328340331328sclaus1024
541760543912545904surf2113
155388415637201573504sclaus2048
196029619868522006740claus
Cycles to compute a shared secret
quartilemedianquartilesystem
761247621276308gls254
907769111691224kummer
113964114036114096gls254prot
118904119032119232kumfp127g
161580161688161804hecfp128bk
167348167448167560hecfp128fkt
171220171292171360kumfp128g
182460182708182832curve25519
224328224532224700ecfp256e
224660225484280304curve2251
233808233940234248ecfp256q
235272235556235868surf127eps
236444238580247940gls1271
238716238880239100ecfp256i
244700245012245384hecfp127i
273532273644273812ecfp256h
296768296908297068ecfp256s
322016322132322304sclaus1024
364572364760365016hecfp128i
534176534632535104surf2113
689012689300689744ed448goldilocks
869712870508871596hector
158186415821881582916sclaus2048
193359219371481941796claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
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
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
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
445416446284449092curve25519
815744816012816248kummer
146189614637481466288ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
431864432120432612curve25519
801056801308801764kummer
453428045366124540640ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks

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

Cycles to generate a key pair
quartilemedianquartilesystem
331187331199331239kummer
424223424245424295curve25519
223221922405122245637surf127eps
254586325647992600275sclaus1024
130514901311484613200000sclaus2048
154302301545784215496271claus
Cycles to compute a shared secret
quartilemedianquartilesystem
318690318699318718kummer
410106410120410138curve25519
221590322164732222088surf127eps
254330125466322551832sclaus1024
133282991333208613338323sclaus2048
154722481549085115513162claus
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; 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-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
621066278163495hecfp127i
891069054992904hecfp128fkt
900729078691482hecfp128bk
894999107193114hecfp128i
99237100932102429ecfp256e
108885110754113520ecfp256h
109560111591113277ecfp256s
112497115914119226ecfp256q
162831165303166692gls1271
197754197796197946kumfp127g
314733314745314787kumfp128g
376476376521376800curve25519
428121430263433017ecfp256i
511440512550517551curve2251
697908703914710235sclaus1024
969690969747969969kummer
333920733620223383823sclaus2048
399844840125394029726claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201504201525201561kumfp127g
297912297963298059hecfp128bk
308085308130308274hecfp128fkt
325545325560325599kumfp128g
363846364911367023gls1271
365007365031365250curve25519
401229401292401664ecfp256e
418713418788419520ecfp256q
426822426858427032ecfp256i
435681435720436116hecfp127i
512727512787513216ecfp256h
513294513390513897ecfp256s
657399657507658500hecfp128i
716787717936719880sclaus1024
956574956622956748kummer
206244020629982074620curve2251
338494833977793405210sclaus2048
398028639876693993246claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
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
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
901857908634912162curve25519
223454422419932248782kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
876960877164879021curve25519
220955422101992219211kummer
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; h5e450, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
614346192662604hecfp127i
896619082593000hecfp128fkt
898599127292307hecfp128bk
902859130894326hecfp128i
98952100632101979ecfp256e
108102110472112827ecfp256h
108810110766113073ecfp256s
112779115095119460ecfp256q
116853119355121095ecfp256i
164571166794168189gls1271
197784197847197913kumfp127g
314730314757314796kumfp128g
365478365574367266curve25519
511416513297517986curve2251
520776522993524370surf127eps
529533532971540534sclaus1024
817713842505885171hector
178789217950771799565surf2113
261011426298932650704sclaus2048
316209031692633179592claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201489201516201582kumfp127g
297975298044298188hecfp128bk
308010308031308124hecfp128fkt
325584325599325626kumfp128g
354078354096354300curve25519
360273361128368478gls1271
401175401268402036ecfp256e
418929419499420102ecfp256q
427185427332427932ecfp256i
435642435690435978hecfp127i
504978506322507354surf127eps
512694512742513297ecfp256h
513114513735516456ecfp256s
525567525708526194sclaus1024
657480657540658029hecfp128i
177312317741521783311surf2113
206017220619992072217curve2251
266017226612582671458sclaus2048
279417328057682813535hector
313695331464303560874claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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; Bobcat (500f20); 2011 AMD E-450; 2 x 1650MHz; h5e450, supercop-20130419

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
622596294063600hecfp127i
893138964990603hecfp128bk
900729096691647hecfp128i
896019171693585hecfp128fkt
99204100815102354ecfp256e
108387110694113529ecfp256h
109122111408113385ecfp256s
113238115674119781ecfp256q
163032165363166797gls1271
197733197745197772kumfp127g
314736314763318777kumfp128g
376470376509376821curve25519
428022429996433089ecfp256i
511161512979519393curve2251
695637702360708564sclaus1024
968076968115968361kummer
334921533671823386208sclaus2048
342502534340073438072claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201582201600201666kumfp127g
297885297927298008hecfp128bk
308124308148308373hecfp128fkt
325548325599329352kumfp128g
363810364086364950gls1271
365007365034365313curve25519
401088401172401553ecfp256e
418818418899419610ecfp256q
426843426873427071ecfp256i
435723435984438723hecfp127i
512646512742513339ecfp256h
513300513348513864ecfp256s
657222657324657825hecfp128i
716799717096718191sclaus1024
956559956619956721kummer
206020520614802073072curve2251
339139534008633405147sclaus2048
339994234091943412311claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
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
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
901305901332901464curve25519
223453522349192243475kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
876828876846876882curve25519
220970122101212218653kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
628116349264287hecfp127i
909729181894197hecfp128fkt
909519190894194hecfp128bk
911049265294212hecfp128i
100515102333103656ecfp256e
111216112404114795ecfp256h
111096113040114876ecfp256s
115410117279119943ecfp256q
165975168036169470gls1271
197775197808197910kumfp127g
314826314853314892kumfp128g
376554377319377766curve25519
429252433005437790ecfp256i
511980513774524322curve2251
512511516291522300sclaus1024
523308525345526689surf127eps
822474849573880125hector
975153975759977907kummer
180451818125341817865surf2113
257412925925312609427sclaus2048
306314430731793479952claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201552201579201594kumfp127g
297732297786297930hecfp128bk
308109308148308397hecfp128fkt
325752325758325791kumfp128g
360564361650362217gls1271
365655365745366051curve25519
401235401325401718ecfp256e
418827418869419742ecfp256q
426975426996427203ecfp256i
436332436380436656hecfp127i
507879508056508224sclaus1024
510009510291510942surf127eps
512703512769513342ecfp256h
513261513375513882ecfp256s
658176658230659040hecfp128i
961302962418964449kummer
179787917990701809276surf2113
206104220623352074140curve2251
262262426247782635884sclaus2048
277311927774212788686hector
302657430367443102168claus
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; Bobcat (500f10); 2011 AMD G-T56N; 2 x 1650MHz; h8bobcat, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
904143906627911976curve25519
224676923134052324040kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
876819880158883623curve25519
227952922920542303163kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
360393726539613hecfp127i
537875551059104ecfp256e
574695841761222hecfp128bk
574645857559777hecfp128i
587195912660264hecfp128fkt
584266048663916ecfp256s
589536104464345ecfp256h
606156259966100ecfp256q
966799795998904gls1271
118929118939118992kumfp127g
204989205014205050kumfp128g
225422225639251407curve25519
258886260029261678ecfp256i
286246288801290928sclaus1024
297573298589298947surf127eps
370896389623412320hector
547882611084611089kummer
778262781293783810surf2113
943770947757948733curve2251
127391812825931291072sclaus2048
170404417079081711351claus
Cycles to compute a shared secret
quartilemedianquartilesystem
122244122248122274kumfp127g
191860191882191941hecfp128bk
198737198763198769hecfp128fkt
211873211874211901kumfp128g
214492214687239454curve25519
225688225754226318gls1271
244403244433244513ecfp256e
250530250552250624ecfp256q
258071258137258142ecfp256i
263264263286263339hecfp127i
282949283024283103sclaus1024
285039285071285098surf127eps
309856309904310139ecfp256s
319691319731319798ecfp256h
427034427106427154hecfp128i
536934598860598865kummer
772335772490772729surf2113
936961937049937134curve2251
121729512184831239350hector
129772813001821301662sclaus2048
167333316734911673677claus
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 32nm (300f10); 2011 AMD A8-3850; 4 x 2900MHz; hydra5, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
562668627549627650curve25519
140986014099621572448kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
548418611178611674curve25519
139431413944251555183kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
356963651238485hecfp127i
532815530658398ecfp256e
569675782959206hecfp128fkt
569555789159245hecfp128bk
582235857059623hecfp128i
582856005263200ecfp256s
586406025163773ecfp256h
603766192465469ecfp256q
971109841399551gls1271
118923118931118985kumfp127g
204980205011205054kumfp128g
225397225404225650curve25519
258866260255261920ecfp256i
288213290784293078sclaus1024
297593298611298931surf127eps
371296388889412811hector
547853547861547876kummer
778323781482783959surf2113
944249948355951842curve2251
127404512828501291715sclaus2048
170610517120071721219claus
Cycles to compute a shared secret
quartilemedianquartilesystem
122242122242122269kumfp127g
191974192013192017hecfp128bk
198650198674198689hecfp128fkt
211864211887211895kumfp128g
214481214687214688curve25519
224266225026228564gls1271
244460244499244542ecfp256e
250551250595250688ecfp256q
258234258293258305ecfp256i
263273263282263305hecfp127i
284181284474284673sclaus1024
284965285086285203surf127eps
309886310074310089ecfp256s
319726319796319870ecfp256h
427171427218427288hecfp128i
536909536909536917kummer
772458772559772937surf2113
936047940988941125curve2251
121683212190661220446hector
130231113025381302756sclaus2048
167347816737941679929claus
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 32nm (300f10); 2011 AMD A6-3650; 4 x 2600MHz; hydra4, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
511598537315569111hector
563047563176563184curve25519
870149878307885604sclaus1024
115296111579681161034surf127eps
118016011853971187729surf2113
140988114098931410053kummer
147046014768211480639curve2251
435070343830774415186sclaus2048
504119150570525068814claus
Cycles to compute a shared secret
quartilemedianquartilesystem
547622547763547830curve25519
907698909671912873sclaus1024
111850111188281120267surf127eps
116821811684751173128surf2113
139433613943441394383kummer
145943914597551463986curve2251
168826716949521705092hector
450120045192654531827sclaus2048
504283750560455072238claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
146916148085151235hecfp127i
229495231805234178ecfp256e
247884248920250656hecfp128bk
247870248962251587hecfp128fkt
248227249410254205hecfp128i
250789254709256809ecfp256s
256648256949258986curve2251
257838259693263319ecfp256h
258657261352265489ecfp256q
317681320285324401gls1271
539931539945540078kumfp127g
822311854483890288hector
103070110307781031338kumfp128g
111425311159751117522curve25519
114660711510031155021surf127eps
114468211530051163232ecfp256i
173499217418801746409surf2113
176129117796241798041sclaus1024
235986823627522380329kummer
860421186537578705900sclaus2048
106680211068670410714774claus
Cycles to compute a shared secret
quartilemedianquartilesystem
548058548072548121kumfp127g
751877752080752402gls1271
885654885710887859hecfp128bk
919996920024922299hecfp128fkt
101115010113391012284curve2251
105649610565101056790kumfp128g
107970810797921081570ecfp256e
110457911056291106994curve25519
112287711229891125110ecfp256q
113352411335941137605surf127eps
113507111351411135372hecfp127i
115016311502611151521ecfp256i
134227113423761344266ecfp256s
143465014347201436078ecfp256h
172599017262631729560surf2113
176208917623271766450sclaus1024
195185219524401967105hecfp128i
234934023523572364579kummer
279589827980192819635hector
878145887822778793358sclaus2048
106828051068531110695454claus
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; Atom (30661); 2011 Intel Atom D2500; 2 x 1866MHz; h8atom, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
102435210612421101772hector
178428618026051818642sclaus1024
231663623266672339911surf2113
250700825081002526489curve25519
265260126615612674672surf127eps
270460427172112728187kummer
341349434284043440493curve2251
899888590472279103094sclaus2048
103241111035241910379502claus
Cycles to compute a shared secret
quartilemedianquartilesystem
188896418914141904994sclaus1024
230624123087892327108surf2113
249365924946602511509curve25519
264004326420382658740surf127eps
268267327012932710435kummer
335344833589923385459hector
341373234144463427074curve2251
932201293274379348486sclaus2048
104019931041784110441781claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
389483988041596hecfp127i
523285301255520ecfp256e
552925590457680ecfp256h
558885678457808hecfp128fkt
561365686058028hecfp128i
573685806859740ecfp256s
583925966861724hecfp128bk
613646210064520ecfp256q
720407228875748curve2251
922009318894104gls254
103392103464103500kummer
109944111352112460gls1271
120652120852122128kumfp127g
184104185028185332kumfp128g
205904206084206312curve25519
261320262740264188ecfp256i
287600288940289920surf127eps
295276315356338764hector
335540338048340860sclaus1024
590884593252595784surf2113
159301216034681613504sclaus2048
200798820128362017592claus
Cycles to compute a shared secret
quartilemedianquartilesystem
779527802078112gls254
912769132491612kummer
123632123788123948kumfp127g
182768182948183124hecfp128bk
189816190188192848hecfp128fkt
191288191488191544kumfp128g
193800193984195876curve25519
231032231200231348curve2251
246296246444246648ecfp256e
249040249440250024gls1271
254916255096255400ecfp256q
259572259732259904ecfp256i
265972266256266684hecfp127i
271872272380273032surf127eps
300716300880301092ecfp256h
322568322764323012ecfp256s
331136331400332540sclaus1024
412712413100413512hecfp128i
581964582292582688surf2113
938900939440940024hector
162066416210641621776sclaus2048
197655219770641977852claus
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; SB+AES (206a7); 2011 Intel Xeon E3-1225; 4 x 3100MHz; hydra7, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
448564448956450100curve25519
126198012628081263736kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
434652436612437356curve25519
124617612469481248004kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

amd64; SB+AES (206a7); 2011 Intel Core i7-2600K; 4 x 3400MHz; threads; sandy0, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
417084310845260hecfp127i
525085312855020ecfp256e
552805600458544ecfp256h
556725669658008hecfp128bk
576125830460976ecfp256s
569085878061408hecfp128i
587805982462476hecfp128fkt
613046212864260ecfp256q
619526381668196ecfp256i
698167010873592curve2251
935409467295456gls254
112048113612114400gls1271
122732122868123444kumfp127g
184420185284185552kumfp128g
203636203888212672curve25519
365364369384372108sclaus1024
182101218339201846616sclaus2048
208641620928922100728claus
Cycles to compute a shared secret
quartilemedianquartilesystem
792807934879436gls254
125820125960126580kumfp127g
183004183180183376hecfp128bk
189460189644189836hecfp128fkt
190576190844200768kumfp128g
194152194412204696curve25519
231532231724231876curve2251
246380246720247500ecfp256e
246560247824248744gls1271
255404255776256740ecfp256q
259616259868260420ecfp256i
266076266616269776hecfp127i
300696300964301604ecfp256h
322512323500324384ecfp256s
375356376364377232sclaus1024
413428414040415008hecfp128i
184995618518321858708sclaus2048
206302820649682073004claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
64ecfp256e
64ecfp256h
64ecfp256i
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
381163977642176hecfp127i
524045301655028ecfp256e
551005596857096hecfp128bk
552685597257564hecfp128fkt
555885622058584ecfp256h
577165857661196ecfp256s
574605905261296hecfp128i
610686189664092ecfp256q
621726403267752ecfp256i
703607160874396curve2251
915129244493516gls254
109564110984112060gls1271
120136120252120480kumfp127g
182924183096184128kumfp128g
204580204864217540curve25519
285384286748288972surf127eps
287900307808330960hector
342236345784348740sclaus1024
579952583104586896surf2113
167964016883521701268sclaus2048
204819620569402228708claus
Cycles to compute a shared secret
quartilemedianquartilesystem
785927874878956gls254
123016123180123328kumfp127g
183204183428183876hecfp128bk
189648189908190360hecfp128fkt
191956192796193000kumfp128g
194060195084202668curve25519
232304232764233300curve2251
245092246024247560gls1271
246816247132248692ecfp256e
255280255836256972ecfp256q
259808260300262908ecfp256i
266720267520269592hecfp127i
270112272260273180surf127eps
301476301876302960ecfp256h
323652324436326300ecfp256s
337832338388339792sclaus1024
414040417204422844hecfp128i
569704570776575068surf2113
931984934192941400hector
170508817085321712496sclaus2048
202102020252682050012claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256i
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48surf127eps
48surf2113
60hector
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
375163811638956hecfp127i
525645322854612ecfp256e
548205547256260hecfp128bk
549645566056284hecfp128i
553565593657904ecfp256h
569685782859384hecfp128fkt
574925810859192ecfp256s
610246174063364ecfp256q
716407198874784curve2251
922169307294036gls254
103356103392103460kummer
109896111256112216gls1271
119552119680119820kumfp127g
131012131564132344gls254prot
184320185312185604kumfp128g
205820205980206140curve25519
252988253332253960ed448goldilocks
261368262852264556ecfp256i
283044284080285064surf127eps
294844315340338556hector
335796338272341360sclaus1024
590880593320595828surf2113
159263616036241612032sclaus2048
200862420132402018120claus
Cycles to compute a shared secret
quartilemedianquartilesystem
778367797678100gls254
912849132091372kummer
119484119904120372gls254prot
122576122716122836kumfp127g
183036183272187968hecfp128bk
190064190216190440hecfp128fkt
190716191804192076kumfp128g
193932194036194176curve25519
231520231704231908curve2251
246364246508246752ecfp256e
249044249356249872gls1271
255172255356255604ecfp256q
259564259696259880ecfp256i
265428265804266360surf127eps
266036266292266776hecfp127i
300700300832301032ecfp256h
322220322440322700ecfp256s
330996331120331344sclaus1024
413440413768414116hecfp128i
582072582508583048surf2113
757440757676757872ed448goldilocks
934496938316939360hector
162058816211041622156sclaus2048
197710819805482006808claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
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
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
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
449300450528458012curve25519
856208856728857496kummer
153136815329521535624ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
433768434384434660curve25519
841024841648843328kummer
478670047904844793224ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks

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

x86; Atom (30661); 2011 Intel Atom N2800; 2 x 1862MHz; patrick, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
406278641868684380586hector
613851062001526287876sclaus1024
697998070394807086086curve25519
893298089934889054290surf127eps
106687561073032810791914surf2113
108285241091728411022998curve2251
314963043174836031904180sclaus2048
354416583674133436925574claus
Cycles to compute a shared secret
quartilemedianquartilesystem
645787865141866599922sclaus1024
692333669791547028140curve25519
886349889214168975036surf127eps
106165781068824410726142surf2113
108199141088222810967488curve2251
136332281393324814016772hector
326181383269695832786936sclaus2048
355415483700709637118480claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
150157615020501502739kummer
158534141590426616003713claus
Cycles to compute a shared secret
quartilemedianquartilesystem
148992814902641490903kummer
158184311586179715932322claus
Secret key
bytessystem
32kummer
256claus
Public key
bytessystem
48kummer
128claus
Shared secret
bytessystem
48kummer
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
383664169445739hecfp127i
564635737062845hecfp128fkt
567636025563083hecfp128bk
610556407469163hecfp128i
694557377377659ecfp256e
723727617278986ecfp256s
741187677380804ecfp256h
740717727386047ecfp256q
102224103945113948gls1271
116660116690130835kumfp127g
199242199285223412kumfp128g
203573203579228246curve25519
261329263315266538ecfp256i
261855268247295723sclaus1024
278381279190313069surf127eps
362883399960427462hector
511584511951523771kummer
789746795544839262surf2113
9478199526511045434curve2251
116075211794721269635sclaus2048
155625216248691726169claus
Cycles to compute a shared secret
quartilemedianquartilesystem
119047119069133473kumfp127g
183896183968206238hecfp128bk
190334190351213429hecfp128fkt
196026196044219781curve25519
205072205078230051kumfp128g
232889234196260924gls1271
247004247043277616ecfp256e
251602251636282122hecfp127i
254899254925274301ecfp256q
261065261070261094ecfp256i
266172266456298716surf127eps
257593288651290253sclaus1024
309015309057346465ecfp256s
320027320082346226ecfp256h
404865440672455484hecfp128i
501645501664509317kummer
784280787086859568surf2113
9389389587401054994curve2251
117307711807271270466sclaus2048
121226212498851332708hector
152351415653881676324claus
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 1100T; 6 x 3300MHz; boost; hydra3, supercop-20140525

Cycles to generate a key pair
quartilemedianquartilesystem
520906521235584739curve25519
128974412898151307722kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
507421508965571126curve25519
127604712761491288823kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
405654182844540hecfp127i
610816154062061hecfp128bk
611766154062416hecfp128fkt
626356381666011hecfp128i
750897696979709ecfp256e
779067975281861ecfp256s
793858132284306ecfp256h
812658372586707ecfp256q
114648116209117593gls1271
130779130878130951kumfp127g
223382223388223431kumfp128g
229724229732229740curve25519
289070290697292534ecfp256i
291798294430296728sclaus1024
302742303749304057surf127eps
525752546910570595hector
570933570947570976kummer
115597911605661163264surf2113
128825512975491305692sclaus2048
140684514126361414081curve2251
173500317391731743036claus
Cycles to compute a shared secret
quartilemedianquartilesystem
133458133464133836kumfp127g
206196206206206215hecfp128bk
212913212980213065hecfp128fkt
219952219975221216curve25519
229900229901229902kumfp128g
260382260548260938gls1271
272939272956272991ecfp256e
281902281918281995ecfp256q
282119282190282370hecfp127i
288228288252288273sclaus1024
289228289249289349ecfp256i
289712289797290103surf127eps
342577342601342620ecfp256s
352335352398352447ecfp256h
453810453979454185hecfp128i
559861559882559951kummer
115125811513031151653surf2113
131486413156821317373sclaus2048
140194614020071402466curve2251
170272217052051707816claus
177840817791471786115hector
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 (100f63); 2010 AMD Athlon II Neo K125; 1 x 1700MHz; h3neo, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
584248584266585789curve25519
144653714466151450450kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
566652569886570622curve25519
143086414309091430979kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
464804760049704hecfp127i
660246687668192ecfp256e
714207243275232ecfp256h
733967434476816ecfp256s
764607701278308hecfp128fkt
763407702078388hecfp128bk
774567858081424ecfp256q
788167939281300curve2251
789488000881804hecfp128i
106732107824108728gls254
117948119332120324gls1271
166364166372166412kumfp127g
239340240828240944curve25519
273036273056273176kumfp128g
306448328644354400hector
345764347656349684ecfp256i
393852395284395936surf127eps
406524406568410120kummer
422440425432429316sclaus1024
693144696016698432surf2113
206146420761642087528sclaus2048
253078425377402543552claus
Cycles to compute a shared secret
quartilemedianquartilesystem
955169558895672gls254
170112170124170168kumfp127g
227444227468227480curve25519
261496261540261632hecfp128bk
267124267224267328curve2251
271780271840271936hecfp128fkt
270196276032276220gls1271
283452283812283820kumfp128g
326528326600326684ecfp256e
337336337408337508ecfp256q
339520339620339720hecfp127i
346228346332346476ecfp256i
380496380908381212surf127eps
393764394388397436kummer
406080406168406268ecfp256h
417192417544418064sclaus1024
425844425932426072ecfp256s
593384593440593696hecfp128i
683928684204684452surf2113
105689210574201058644hector
209992821003682101304sclaus2048
250096025018482507072claus
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; Westmere+AES (206c2); 2010 Intel Xeon E5620; 4 x 2400MHz; hydra2, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
580776580788580880curve25519
142338814239681425072kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
562784562796562872curve25519
140404414055761407208kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
249868024989902525080curve25519
268398026845502711740kummer
Cycles to compute a shared secret
quartilemedianquartilesystem
248317024833002508960curve25519
266896026691902694060kummer
Secret key
bytessystem
32curve25519
32kummer
Public key
bytessystem
32curve25519
48kummer
Shared secret
bytessystem
32curve25519
48kummer

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

Cycles to generate a key pair
quartilemedianquartilesystem
412614336045673hecfp127i
626196310663966hecfp128fkt
633736504267536hecfp128bk
638246571867818hecfp128i
755047748381443ecfp256e
774637981182362ecfp256s
795908122184904ecfp256h
818278464287883ecfp256q
121071122774123887gls1271
129456129491129493kumfp127g
223605223610223696kumfp128g
230643230658230686curve25519
279742281170282939ecfp256i
291467294149296305sclaus1024
305382306514306978surf127eps
352962371853391995hector
578960578976579024kummer
748924751955754675surf2113
940333943958944653curve2251
129911713074001317211sclaus2048
173348017367471741112claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132186132188132190kumfp127g
206649206760206979hecfp128bk
213453213482213557hecfp128fkt
219200219203219203curve25519
230309230320230325kumfp128g
263512263539263573ecfp256e
266108266195266239gls1271
272878272904272939ecfp256q
280155280165280274ecfp256i
282016282048282092hecfp127i
287784287816288002sclaus1024
294059294083294170surf127eps
332189332304332315ecfp256s
338279338316338402ecfp256h
455123455198455360hecfp128i
567413567415567488kummer
741760741795742038surf2113
934898935085935146curve2251
116886111700651171307hector
132173813256961339283sclaus2048
170301617034831703701claus
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; Nehalem (106a5); 2009 Intel Xeon E5504; 8 x 2000MHz; dragon, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
451644633247932hecfp127i
647846534466508ecfp256e
677446936074380ecfp256h
699887167675852ecfp256s
765127711679608hecfp128bk
753087713681340ecfp256q
764367748880376ecfp256i
766127798081104hecfp128fkt
783367961281864hecfp128i
123372125080126476gls1271
135356136488140288curve2251
166292166560167304kumfp127g
239660239896241808curve25519
272664272804273640kumfp128g
324256345228369868hector
391608393084394308surf127eps
427812432108435624sclaus1024
665284667352669780surf2113
207398020891922108788sclaus2048
256222825678602575572claus
Cycles to compute a shared secret
quartilemedianquartilesystem
170000170156170756kumfp127g
228324229012230412curve25519
261880262220262728hecfp128bk
271916272360273496hecfp128fkt
274936275116275856gls1271
283136283320283952kumfp128g
303956304228304636ecfp256e
318308318548319084ecfp256q
323332323548324064ecfp256i
341580342408344644hecfp127i
377324377796379020surf127eps
377684377840378300ecfp256h
406780407460408688ecfp256s
422196422660425388sclaus1024
504320504524508460curve2251
594188596400600712hecfp128i
654576654876658036surf2113
108372010879601089608hector
210932821102642136468sclaus2048
253296025345322536636claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
626856363064385hecfp127i
100325100940101745hecfp128i
101385102740104565hecfp128bk
102045103240105185hecfp128fkt
118805120775123975ecfp256h
174510177020179295gls1271
222830223870229740curve2251
230310230315230355kumfp127g
354740354760354785curve25519
361700361710361745kumfp128g
384120393650398550ecfp256e
308343031015753103100claus
Cycles to compute a shared secret
quartilemedianquartilesystem
234165234165234240kumfp127g
340045340120340915hecfp128bk
340570340575340580curve25519
353550353645354115hecfp128fkt
376990376990376995kumfp128g
389320389805390080ecfp256e
402050402350402875gls1271
453540453640453825ecfp256h
479975480075480300hecfp127i
750395750445751015hecfp128i
877875878065878445curve2251
306547530815253082770claus
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
64ecfp256e
64ecfp256h
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32gls1271
48kumfp127g
48kumfp128g
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
128claus

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
425524309945055hecfp127i
707127183175378hecfp128bk
762407823181956hecfp128fkt
771797932784420hecfp128i
99810103895108301ecfp256e
103368105960109546ecfp256h
102763107414110673ecfp256s
106632110735113613ecfp256q
121714123389124842gls1271
129761129798129867kumfp127g
223557223607223687kumfp128g
231209231209231217curve25519
280644282296284059ecfp256i
299206301596304231sclaus1024
307662308728309321surf127eps
364920383401404266hector
577109577132577147kummer
763175766057768976surf2113
957901962005962922curve2251
129284613034621318389sclaus2048
174033617448261750029claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132053132053132054kumfp127g
206815206820206910hecfp128bk
215183215223215283hecfp128fkt
219688219690219694curve25519
230243230260230272kumfp128g
264667264671264683ecfp256e
267097267156267281gls1271
273581273799273834ecfp256q
280834280843280863ecfp256i
281771281796281850hecfp127i
292379292416295714sclaus1024
296213296384296465surf127eps
332618332695332703ecfp256s
338639338663338681ecfp256h
455058455082455946hecfp128i
566229566229566252kummer
755779755837756077surf2113
952203952385952443curve2251
120271112029261206123hector
131616713164611331236sclaus2048
170654617078331710412claus
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 65nm (100f23); 2008 AMD Opteron 8354; 8 x 2194MHz; gcc16, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
591270591329591330curve25519
923944931436940869sclaus1024
189756618976071897847kummer
457074346064514629703sclaus2048
534208053588265371159claus
Cycles to compute a shared secret
quartilemedianquartilesystem
575325575326575326curve25519
977174979199981433sclaus1024
188257618826111882750kummer
473190347512634755686sclaus2048
538447953955855412901claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
256claus
Public key
bytessystem
32curve25519
48kummer
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
128claus
128sclaus1024
256sclaus2048

amd64; C2 45nm (10677); 2008 Intel Core 2 Quad Q9550; 4 x 2833MHz; berlekamp, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
505495245456874hecfp127i
700917097573117ecfp256e
751577601577639ecfp256h
766107744479144ecfp256s
829948385385765ecfp256q
840908510288289ecfp256i
888169013492888hecfp128fkt
895909061893024hecfp128bk
891149091694172hecfp128i
136739139051141542gls1271
140233140530143778curve2251
178517178627178738kumfp127g
314483314653314831kumfp128g
323502324462325457curve25519
432013434104436509surf127eps
430576446063472761hector
457810462196466769sclaus1024
860583863821867017surf2113
220167022215092248769sclaus2048
274764227532012760129claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183150183251183362kumfp127g
307130307419308389hecfp128bk
308201312860314398curve25519
316600317798320169gls1271
318129318359319447hecfp128fkt
326944327012327284kumfp128g
353566353761354076ecfp256e
367727368093368433ecfp256q
378284378564378905ecfp256i
389589390150390549hecfp127i
419568420674422059surf127eps
441958442400443445ecfp256h
452736453288454359sclaus1024
457810458218458915ecfp256s
512312513085517837curve2251
693481693923698717hecfp128i
851428852329857812surf2113
141967014388201446284hector
223417422360272285650sclaus2048
272348527241402724785claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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 (10677); 2008 Intel Core 2 Quad Q9550; 4 x 2833MHz; berlekamp, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
516613539231579615hector
630224632910635179curve25519
738727745518751587sclaus1024
116721211721761177318surf2113
153805815437871549949surf127eps
157859515870011591880curve2251
363134536574143678664sclaus2048
422155942421884305845claus
Cycles to compute a shared secret
quartilemedianquartilesystem
612366613266615391curve25519
788196791809797054sclaus1024
115345011550061159833surf2113
152031815250781526473surf127eps
156673715716501578204curve2251
165117616742371695172hector
375710237700393795148sclaus2048
422354042442124285998claus
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; 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-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
531005545860336hecfp127i
708577187476185ecfp256e
759967765284816ecfp256h
776707969584708ecfp256s
845468640991611ecfp256q
922509319598586hecfp128bk
919629323194536hecfp128i
921789349298217hecfp128fkt
135756137358138780gls1271
138159138789141489curve2251
180675180684180684kumfp127g
313956314046314199kumfp128g
330552330696330966curve25519
329436349875374058hector
375111376839379314ecfp256i
426339428238429687surf127eps
447291449910454563sclaus1024
570870571077574434kummer
649080651546654156surf2113
218353521979622215665sclaus2048
269166627020522719674claus
Cycles to compute a shared secret
quartilemedianquartilesystem
185337185337185346kumfp127g
308142308304308502hecfp128bk
317439317466317511curve25519
319338319518319734hecfp128fkt
325314325602325953gls1271
326736326745326790kumfp128g
355896356013356049ecfp256e
368343368451368604ecfp256q
374985375147375327ecfp256i
389619389889390024hecfp127i
413217414216415026surf127eps
441981442233442962sclaus1024
443439443484443574ecfp256h
459315459396459504ecfp256s
513954513990514152curve2251
558117559422560781kummer
639036639225640080surf2113
696042696141696357hecfp128i
104701510471501047501hector
222474622251872239308sclaus2048
266528726663762678481claus
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 45nm (10676); 2007 Intel Xeon X5450; 8 x 2992MHz; gcc14, supercop-20140622

Cycles to generate a key pair
quartilemedianquartilesystem
455445478908506151hector
621477623097624447curve25519
742941750708756324sclaus1024
102168910256851028277surf2113
140247914074651409715curve2251
153273615391531542834surf127eps
204024620417402044440kummer
369266437154613741102sclaus2048
425156442644974280292claus
Cycles to compute a shared secret
quartilemedianquartilesystem
612738614475614718curve25519
790902793899797004sclaus1024
101309410133551013787surf2113
139564813962061397952curve2251
146512814660821467882hector
152170215222691528290surf127eps
202182320272682031561kummer
386172038726823880188sclaus2048
427501842899674310559claus
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

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

Cycles to generate a key pair
quartilemedianquartilesystem
547655566557960hecfp127i
742807616280153ecfp256e
806188406787960ecfp256h
830408585290720ecfp256s
889739254397087ecfp256q
938109453097395hecfp128bk
9306895580100215hecfp128i
9141095730100808ecfp256i
9301596285100755hecfp128fkt
133260135472136965gls1271
138742139755145508curve2251
177488178643178860kumfp127g
314197314513314895curve25519
314768314932315255kumfp128g
333757353355376207hector
437077442980450788surf127eps
453180457507463207sclaus1024
671085674145677370surf2113
219228022065752221200sclaus2048
270332327144602741610claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183270183353183540kumfp127g
301215301545301777curve25519
307312307500308903hecfp128bk
307627308752321607gls1271
318382318675319770hecfp128fkt
327390327435327473kumfp128g
357135357323357683ecfp256e
371992372218372780ecfp256q
377580377775378278ecfp256i
390232390375390720hecfp127i
417945421028428693surf127eps
446738447225449543ecfp256h
450810451178452070sclaus1024
463740464047464985ecfp256s
515895517267522330curve2251
660480661395666690surf2113
694575695085700268hecfp128i
109238210998671105545hector
223269722342272235690sclaus2048
267383326800052711115claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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); 2007 Intel Xeon E5420; 4 x 2494MHz; jos, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
429457456870488768hector
630135630810635895curve25519
736522744735782775sclaus1024
979237984562988920surf2113
134144213489871367857curve2251
149130014973601503398surf127eps
368280037167083789863sclaus2048
420006042159974233368claus
Cycles to compute a shared secret
quartilemedianquartilesystem
612450613852617183curve25519
778560789517831345sclaus1024
965880968505973118surf2113
132594713333351351912curve2251
139230013994701401990hector
147594814804851482683surf127eps
382625338341503842130sclaus2048
419493842100654222110claus
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; 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

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

Cycles to generate a key pair
quartilemedianquartilesystem
509585202055134hecfp127i
753847672578651ecfp256e
803978094682116ecfp256h
812528210783340ecfp256s
883358923590531ecfp256q
889119011792250ecfp256i
892179022591899hecfp128fkt
893619049593429hecfp128i
897669131494428hecfp128bk
136647138438139878gls1271
144441145206148788curve2251
178470178614179109kumfp127g
313362314046314793kumfp128g
321732322236322992curve25519
432252434115435582surf127eps
421308442116466029hector
446049449325453933sclaus1024
866583870264877824surf2113
217593921926972209284sclaus2048
267517826816672689650claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183087183168183276kumfp127g
307917308124308331hecfp128bk
310329310518310734curve25519
319275319536319806hecfp128fkt
326106327060327663kumfp128g
327690328626335547gls1271
358020358137358281ecfp256e
370710370863371061ecfp256q
380367380601380907ecfp256i
389160389538389826hecfp127i
418302418986420057surf127eps
441135441342441675sclaus1024
445500445734445977ecfp256h
461916462078462222ecfp256s
546174548775679923curve2251
695160695349695583hecfp128i
856602857115871128surf2113
140376614044411406376hector
222031822210112221983sclaus2048
264821426490602651049claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2404MHz; margaux, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
631278632097634797curve25519
132968161332418513439781claus
Cycles to compute a shared secret
quartilemedianquartilesystem
611091612729624789curve25519
132763141330583413338126claus
Secret key
bytessystem
32curve25519
256claus
Public key
bytessystem
32curve25519
128claus
Shared secret
bytessystem
32curve25519
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
505085162454468hecfp127i
753757643777373ecfp256e
806588137882827ecfp256h
817658271983700ecfp256s
881918901090324ecfp256q
888939000091440ecfp256i
894699042391989hecfp128bk
894699054093159hecfp128i
895239087393159hecfp128fkt
136116137970139374gls1271
144666145026146754curve2251
178380178479178578kumfp127g
313371314091314820kumfp128g
319104319230319374curve25519
432135433845435132surf127eps
421785442431466551hector
446868450279454005sclaus1024
866502870588882225surf2113
219005122068002236995sclaus2048
268273826882192695311claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183069183150183231kumfp127g
307251307377307539curve25519
309393309690309987hecfp128bk
318483318789319041hecfp128fkt
326664327240327681kumfp128g
327762328581336132gls1271
358254358488358758ecfp256e
370908371295371565ecfp256q
380934381114381321ecfp256i
389502389889390114hecfp127i
418554419319420174surf127eps
441612441882442476sclaus1024
445455445617445860ecfp256h
461493461628461844ecfp256s
546471546633547875curve2251
695214695421695628hecfp128i
857520875349877464surf2113
140378414050801406646hector
222014722222532262168sclaus2048
265466726553422657043claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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 65nm (6fb); 2007 Intel Core 2 Quad Q6600; 4 x 2394MHz; latour, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
626004629352638361curve25519
132591691327661113343517claus
Cycles to compute a shared secret
quartilemedianquartilesystem
610002611640616860curve25519
132511321331685013383324claus
Secret key
bytessystem
32curve25519
256claus
Public key
bytessystem
32curve25519
128claus
Shared secret
bytessystem
32curve25519
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
402364178844390hecfp127i
632906400864944hecfp128fkt
643746519366093hecfp128bk
644256544066150hecfp128i
805818309585352ecfp256e
843178651888775ecfp256s
860738858691698ecfp256h
875208979393180ecfp256q
9496997953101232ecfp256i
125769127851129640gls1271
131364131385131423kumfp127g
223078223231224155curve25519
225656225677225822kumfp128g
298109301220304011sclaus1024
318189319283319705surf127eps
559806581866605827hector
120631112116141217037surf2113
142013314318861445618sclaus2048
146160614643191470125curve2251
176989817760371797585claus
Cycles to compute a shared secret
quartilemedianquartilesystem
134090134105134146kumfp127g
207803207917208463hecfp128bk
215493215504215517hecfp128fkt
215704215892215919curve25519
232746232769232807kumfp128g
283541283558283567hecfp127i
286229288319290100gls1271
290258290399290887ecfp256e
296532296593298802sclaus1024
300039300977302325ecfp256q
306328308713309302ecfp256i
308825309013309080surf127eps
361318361547362723ecfp256s
379179379887380952ecfp256h
458661458743458751hecfp128i
119998112055891205922surf2113
144739814550261457558sclaus2048
145249514590411466083curve2251
174808117485511771510claus
188132718885621916694hector
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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; K8 (40fb2); 2006 AMD Athlon 64 X2; 2 x 2000MHz; mace, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
594296594352594409curve25519
690863720175756977hector
130109313054061310045surf127eps
137598213886121406691sclaus1024
158010515855451590357surf2113
226237222709172281278curve2251
694767569965167045751sclaus2048
831768683293788353604claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579495579818579831curve25519
128713512878531288576surf127eps
136993513768461377966sclaus1024
156843615723491573234surf2113
225263322595722283618curve2251
231300023185512349941hector
708965371046027136057sclaus2048
831638583203848359170claus
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; C2 65nm (6f6); 2006 Intel Core 2 Duo E6400; 2 x 2137MHz; katana, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
496885064052576hecfp127i
845608538486584ecfp256e
876968831289728ecfp256h
890488980891704hecfp128fkt
887768982492464hecfp128i
889769006493168hecfp128bk
918009276893672ecfp256s
99424100896103720ecfp256i
102488103672106640ecfp256q
135296137008138352gls1271
146160146872152424curve2251
178264178400178544kumfp127g
313984314144314336kumfp128g
319800320008320168curve25519
340096362216387320hector
432152433600434704surf127eps
448176451424455520sclaus1024
712368714824717688surf2113
218151221991442212584sclaus2048
268968026968002706832claus
Cycles to compute a shared secret
quartilemedianquartilesystem
183008183104183224kumfp127g
307424307568307736curve25519
308528308584308736hecfp128bk
315216315664324144gls1271
319152319352319592hecfp128fkt
326432326448326560kumfp128g
388544389168389400hecfp127i
418504419280420200surf127eps
428768428912429048ecfp256e
441024441240442440ecfp256q
443120443504443792sclaus1024
446760446824446920ecfp256i
515416515568515728ecfp256h
546360546976550152curve2251
548112548232548480ecfp256s
693984694096694232hecfp128i
702688703448708392surf2113
112192011223681123048hector
222132022223762229512sclaus2048
265957626611762666472claus
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
64ecfp256i
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
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 65nm (6f6); 2006 Intel Core 2 Duo E6400; 2 x 2137MHz; katana, supercop-20130419

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

x86; P4 Prescott (f41); 2004 Intel Pentium 4; 1 x 3791MHz; puffy, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
108874811030451155903hector
112352711262911130253curve25519
193833219551381971231sclaus1024
260628726170032639376surf2113
288055229070102931728curve2251
306240130736683082047surf127eps
104677371053905310614996sclaus2048
115344251156237411598161claus
Cycles to compute a shared secret
quartilemedianquartilesystem
111660111188621120639curve25519
194822219639831968761sclaus1024
260021626076652616861surf2113
287899429155402923521curve2251
304448430479613052379surf127eps
376230437814373798100hector
104593381073048710805148sclaus2048
115699651158386311617788claus
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; P4 NetBurst (f12); 2001 Intel Pentium 4; 1 x 1900MHz; fireball, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
917256927588928376curve25519
129329613492681428768hector
192498019459001975372sclaus1024
263845626501082660252surf2113
328684833045883331296surf127eps
332700033545123369800curve2251
961399696720129740636sclaus2048
116994681187042812008176claus
Cycles to compute a shared secret
quartilemedianquartilesystem
896940897980907132curve25519
191121219151001932136sclaus1024
262193626244802632428surf2113
325154032626803293192surf127eps
332394033443763362988curve2251
414749241943924218520hector
977738497957529816216sclaus2048
117313001180771611939684claus
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; K7 (622); 2000 AMD Athlon; 1 x 900MHz; thoth, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
607159607466607805curve25519
156309015691291595250surf127eps
168790417095841723365sclaus1024
842624484869468544738sclaus2048
102202861024134310264749claus
Cycles to compute a shared secret
quartilemedianquartilesystem
593837593870594100curve25519
154207815448801570830surf127eps
167967816862191704264sclaus1024
860057486109008623167sclaus2048
102406951024550110248363claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32surf127eps
256claus
Public key
bytessystem
32curve25519
48surf127eps
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48surf127eps
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

x86; P6 (652); 1998 Intel Pentium 2; 1 x 333MHz; boris, supercop-20130419

Cycles to generate a key pair
quartilemedianquartilesystem
859805879069879726curve25519
252189962529558825355422claus
Cycles to compute a shared secret
quartilemedianquartilesystem
840779859155859736curve25519
253052922533156425435908claus
Secret key
bytessystem
32curve25519
256claus
Public key
bytessystem
32curve25519
128claus
Shared secret
bytessystem
32curve25519
128claus

Version

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