VAMPIRE

eBACS: ECRYPT Benchmarking of Cryptographic Systems


ECRYPT II
General information: Introduction eBASH eBASC eBAEAD eBATS SUPERCOP XBX Computers
How to submit new software: Hash functions Stream ciphers Auth ciphers DH functions Public-key encryption Public-key signatures
List of primitives measured: SHA-3 finalists All hash functions Stream ciphers Auth ciphers DH functions Public-key encryption Public-key signatures
Measurements indexed by machine: SHA-3 finalists All hash functions Stream ciphers Auth ciphers DH functions Public-key encryption Public-key signatures

Measurements of public-key Diffie–Hellman secret-sharing systems, indexed by machine

eBATS (ECRYPT Benchmarking of Asymmetric Systems) is a project in ECRYPT's VAMPIRE lab to measure the performance of public-key systems. This page presents the benchmark results collected in eBATS for public-key Diffie–Hellman secret-sharing systems.

There is a separate page with more information about each Diffie–Hellman system and each implementation. Designers and implementors interested in submitting new Diffie–Hellman systems and new implementations of existing systems should read the call for submissions.

What do the graphs and tables mean?

The rest of this page is organized into sections, one section for each computer. Each computer has one graph. There are five horizontal positions on each graph: Each graph is a superimposition of several curves, one curve for each secret-sharing system.

Each computer also has a series of tables, five tables for each computer. The first table shows the time, in cycles, to generate a key pair. Each row of the table lists

The second table shows the time to compute a shared secret. The third table shows the length of a secret key. The fourth table shows the length of a public key. The fifth table shows the length of a shared secret. Measurements with large variance are indicated in red with question marks.

The computer name is linked to additional information about the implementations and compilers selected for benchmarking.

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

Cycles to generate a key pair
quartilemedianquartilesystem
407764139642758ecfp256e
435224420846104ecfp256h
453964616847646ecfp256s
464744661246964curve2251
466924752049000ecfp256q
494224983250284gls254
570965717457226kummer
615286168061844gls254prot
134906135370135890curve25519
153228153484153800ed448goldilocks
189792190504191000surf127eps
189844190828192028ecfp256i
201074217770236586hector
232144234638236952sclaus1024
324484324632324764nistp256
578360580100582248surf2113
826290826574827986ed521gs
957302957520957756nist521gs
972662973160973818claus
110910411167561123122sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
367023677236986gls254
492404928849348kummer
532185339253580gls254prot
135744137068138846curve25519
145786145936146022curve2251
176128176302176570ecfp256e
178804179024179226surf127eps
186236186416186670ecfp256q
186776186982187154ecfp256i
220072220224220502ecfp256h
228648228806233582sclaus1024
240868241064241408ecfp256s
460472460930462320ed448goldilocks
571390571816572576surf2113
579230579468579656nistp256
682866683384684500hector
795112795252795490ed521gs
931892932086932350nist521gs
959360960198962106claus
112997811302861130696sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
105360107260110660ecfp256e
110060111940116060ecfp256h
116480119180122500ecfp256s
120060122040124560ecfp256q
120220122500138900curve2251
151100153340156280gls254
213620213700213860gls254prot
460320460420460720curve25519
511280515140519520ecfp256i
578060579660582180surf127eps
597280598520600800kummer
649060649180649520nistp256
776240778940789980ed448goldilocks
901140911440926880sclaus1024
120138012070001219360surf2113
349288035100803518620ed521gs
415854041742004183240nist521gs
432528043580404386140sclaus2048
542138054461005465160claus
Cycles to compute a shared secret
quartilemedianquartilesystem
136000136460137800gls254
201880202040202280gls254prot
425540425600425820curve2251
448640448740448920curve25519
480720482280484900ecfp256e
503320505360508260ecfp256q
509660510960514180ecfp256i
564400564880568140surf127eps
581880585080587720kummer
599520601000604080ecfp256h
631720634020637840ecfp256s
894040897040906500sclaus1024
119016011943201199320surf2113
218090021895402196000nistp256
241222024171402447360ed448goldilocks
344176034611603474980ed521gs
411432041310804136180nist521gs
438492044227804438240sclaus2048
538926054429405471400claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; HW+AES (306f2); 2014 Intel Xeon E5-2670 v3; 12 x 2300MHz; boost; tueisecgern, supercop-20160718

Cycles to generate a key pair
quartilemedianquartilesystem
470094820250576jacfp127i
519475239753354kumjacfp127g
525195287954669prjfp127i
543965556857196hecfp127i
585095966261702jacfp128bk
644926580867739ecfp256e
675036827071736hecfp128fkt
675996998473376prjfp128bk
699917052873115hecfp128bk
694087061672514ecfp256h
730487353374036hecfp128i
729357406979918curve2251
735057452075302gls254
838408395385177gls254prot
875388818588789ecfp256s
913869153493932kummer
912219191793070ecfp256q
175509177953179741gls1271
206276207153207580kumfp127g
237541238326238618curve25519
279045280922281032kumfp128g
338057342071344396ecfp256i
348778349774352642ed448goldilocks
615931621684626864sclaus1024
968226970717974026nistp256
190126019359191939820ed521gs
228012822976172429407nist521gs
305192830792003254092sclaus2048
356544835980983780069claus
Cycles to compute a shared secret
quartilemedianquartilesystem
626526379964001gls254
758117590976985gls254prot
835088361685551kummer
185484186294186628jacfp128bk
209009209453209714kumfp127g
213045213765215700kumjacfp127g
223137223333224753prjfp128bk
230491231083232640hecfp128bk
236094237167238160hecfp128fkt
243104243408244898curve2251
252178252396252602curve25519
284663286491286555kumfp128g
321411321862322384jacfp127i
325652328878331344ecfp256e
334306337585340624ecfp256i
348674349039354136ecfp256q
367448367779379218ecfp256h
392953393229393552prjfp127i
401755404944405619hecfp127i
405880406469410326gls1271
436074438236438824ecfp256s
503948504295506782hecfp128i
639406639590639878sclaus1024
110932611114491121075ed448goldilocks
186852619012511903612ed521gs
196861019740441978644nistp256
226008122683982411437nist521gs
310991331359253313383sclaus2048
355864935908583775809claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
306203142833080jacfp127i
316203236434252kumjacfp127g
339763473636136prjfp127i
338603498436036hecfp127i
374003828840060jacfp128bk
440044491246856prjfp128bk
447204564048088hecfp128i
460924709248536ecfp256e
466964757649816hecfp128bk
473724807250816ecfp256h
496085107654008ecfp256s
495725162454504hecfp128fkt
504805166055848curve2251
523605303253676gls254
528765388857548ecfp256q
686966878069076kummer
696966974869800gls254prot
958409708898096gls1271
110584110704110812kumfp127g
152188152264152536curve25519
156296156472156628kumfp128g
177276177468177732ed448goldilocks
220668221480222084surf127eps
220664222272225636ecfp256i
223788225420227556sclaus1024
215376232012250408hector
283920284132284320nistp256
476664478580480332surf2113
108845210900961091580ed521gs
110403611126001119532sclaus2048
123124812326201233968nist521gs
133644813424121438680claus
Cycles to compute a shared secret
quartilemedianquartilesystem
395323958039628gls254
616766171261752gls254prot
603766417269796kummer
112460112616113344kumjacfp127g
112544112880113660kumfp127g
113540113636113724jacfp128bk
139940140296146864prjfp128bk
144656144784144924hecfp128bk
149680149852150004hecfp128fkt
156048156092156172curve25519
159280159332159376curve2251
162552162628162856kumfp128g
186316186536186804jacfp127i
203376203584204064ecfp256e
207552208056208464surf127eps
211960212088212232ecfp256q
213504213688217172gls1271
217532217692217876ecfp256i
220844221020221148sclaus1024
226424226696227028prjfp127i
229184229400229664hecfp127i
247880248004248220ecfp256h
271140271264271436ecfp256s
327440327668327932hecfp128i
471004471424471552surf2113
531904532212534832ed448goldilocks
705112705580706100nistp256
750460750912751356hector
105819610586561061748ed521gs
112621211264961126916sclaus2048
120466012069241211152nist521gs
130946413151441392836claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
367028367087368050kummer
578844578976580850curve25519
761306769225779604ed448goldilocks
143776014482471492590nistp256
689019784863416326901969494999040069182852167630848claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355908356039357242kummer
567531567703568615curve25519
222119122236012261160ed448goldilocks
450031245187104546546nistp256
686854219403100166881258303704268868996111284568064claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
458684686948515jacfp127i
472174803951765kumjacfp127g
527315365654878prjfp127i
528725380355317hecfp127i
684456917870457jacfp128bk
699817249877080ecfp256e
755387825582373ecfp256h
770767913283675ecfp256s
794698034682028prjfp128bk
801098086182138hecfp128fkt
802908095982064hecfp128bk
804318098584786hecfp128i
810778373388544ecfp256q
839218451388025curve2251
113477114258115612gls254
132513134258135634gls1271
139489139559139757gls254prot
159431159494159561kumfp127g
197840197964198842curve25519
226042226064226138kummer
262047262065262097kumfp128g
347365349465351627ecfp256i
349220376506407860hector
406908407750408323ed448goldilocks
417968419421420337surf127eps
445995449383454273sclaus1024
734600736792740574surf2113
104576710459991046145nistp256
217692421911092205803sclaus2048
230497823053662309388ed521gs
266238026716512680718claus
267938726806532686602nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
923719245193145gls254
121759121775121791gls254prot
165142165211165412kumjacfp127g
165845165948165949kumfp127g
191651191656191934curve25519
203175203293203367jacfp128bk
208024208132208404kummer
248299248347248471curve2251
252063252173252369prjfp128bk
259201259299259589hecfp128bk
269388269798270048hecfp128fkt
271004271402271579jacfp127i
273350273404273404kumfp128g
287386290511291163gls1271
325768325873326201ecfp256e
340022340235341045ecfp256q
343998344228344383ecfp256i
367146367317372327hecfp127i
367326367478367725prjfp127i
398647398792399023surf127eps
409217409473409862ecfp256h
426688427032427346ecfp256s
437112438347439362sclaus1024
576625576807576929hecfp128i
720864721118721641surf2113
114033811416271143566hector
127981112830261285760ed448goldilocks
177629317763451776398nistp256
221404122163842220520sclaus2048
223447922345122234652ed521gs
260643526078072622693claus
262412026243202624542nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
303123130433692kumjacfp127g
310283241634228jacfp127i
327443329236260prjfp127i
402844108843428jacfp128bk
397484160445040hecfp127i
492924995251644ecfp256e
494645022053100hecfp128bk
498405125652860prjfp128bk
519965268055220ecfp256h
521445306456044hecfp128fkt
541445502858272ecfp256s
549285648859164hecfp128i
574365835661352ecfp256q
665086683670616curve2251
813688229683928gls254
979489798498016kummer
103844105168106156gls1271
113976114204114560kumfp127g
120512120572120636gls254prot
154976157572157692curve25519
163672163864163988kumfp128g
211072211300211708ed448goldilocks
241056242372244044ecfp256i
246152247076247544surf127eps
237732255476275612hector
274940277996280148sclaus1024
323124324072325556nistp256
527360529340531244surf2113
115426011547001156236ed521gs
130756413083481309656nist521gs
134443213548881363172sclaus2048
164036416516761657928claus
Cycles to compute a shared secret
quartilemedianquartilesystem
679766802468084gls254
885008852088552kummer
111736111808112324gls254prot
116548116748117080kumfp127g
124148124248124352jacfp128bk
125656125728125808kumjacfp127g
157188157344157536prjfp128bk
157056157564160032curve25519
165268165408165560hecfp128bk
168932169024169116hecfp128fkt
170828171096171184kumfp128g
190652190704190892jacfp127i
223584223804224056ecfp256e
225128225508225680curve2251
233016233232233604surf127eps
232728233280238224gls1271
234092234284234504ecfp256q
238364238484238632ecfp256i
238372238676239004prjfp127i
245524245848246148hecfp127i
271604271724271880sclaus1024
275160275276275432ecfp256h
295388295496295636ecfp256s
366768366976367564hecfp128i
520872521064521348surf2113
627296627440627636ed448goldilocks
778340780208781616nistp256
816196816600817092hector
111610811165041117108ed521gs
127686412773641278268nist521gs
137009613708681371764sclaus2048
161222816292721629956claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
483454897550183jacfp127i
489294954153728kumjacfp127g
540185487456133prjfp127i
551395565357047hecfp127i
703647093772162jacfp128bk
830428361087743prjfp128bk
833178375287425hecfp128bk
835168414685587hecfp128i
835328425185926hecfp128fkt
848048525386977curve2251
897379199095365ecfp256e
9505797104100475ecfp256h
9650098642101671ecfp256s
100649102825106423ecfp256q
105416106433107645gls254
129470129484129552gls254prot
146506148191149693gls1271
164052164416164552kumfp127g
193654193750194522curve25519
265884265893265968kummer
273834273966274466kumfp128g
327696352974380642hector
373774377510385104ecfp256i
415343416742417526surf127eps
456849460575464924sclaus1024
667632668018668790nistp256
676108678712681096surf2113
207049220705962073088ed521gs
222934022513702327581sclaus2048
246371924656632473916nist521gs
272638827329772741394claus
Cycles to compute a shared secret
quartilemedianquartilesystem
889648920489208gls254
118296118300118310gls254prot
167716167754169270kumfp127g
175494176204176466kumjacfp127g
193502193514194794curve25519
211068211370211506jacfp128bk
255350255676255682kummer
262514262694262866prjfp128bk
266290266377266437curve2251
268402268596268644hecfp128bk
279270279310279352hecfp128fkt
280776281242281398jacfp127i
285030285030285030kumfp128g
323645324136324303gls1271
353772353938354134ecfp256e
369784369902370087ecfp256q
370850371043371236ecfp256i
375936376222376460prjfp127i
383177383224383304hecfp127i
402584402726403048surf127eps
441760441836442082ecfp256h
451886454000454851sclaus1024
466225466281466351ecfp256s
596544596676596770hecfp128i
667282667430667726surf2113
113285811335621137868hector
138444013859941386202nistp256
202595020259902026107ed521gs
226292322708822352838sclaus2048
241869024198602430102nist521gs
269697226979992703915claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
534195516657237jacfp127i
546535678659152kumjacfp127g
612946296664472prjfp127i
632466401564761hecfp127i
790067958680512jacfp128bk
889548959490540prjfp128bk
912679303895076hecfp128i
914529331995513hecfp128bk
913149341895665hecfp128fkt
104362106082107545ecfp256e
113896115843117487ecfp256s
113781115928117591ecfp256h
119928122246125148ecfp256q
163376165348167248gls1271
198170198175199053kumfp127g
315025315039315058kumfp128g
376903378180378181curve25519
432317434231437456ecfp256i
500071501239502141surf127eps
511841514401524766curve2251
518548521825528114sclaus1024
629056630301631963ed448goldilocks
733025760698791678hector
780563780724781128nistp256
797781797929798479kummer
164117716464881650938surf2113
247782825024102644329sclaus2048
257098525738302579364ed521gs
294033129439452952235nist521gs
309965131112553133912claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201998201999201999kumfp127g
207090207109207133kumjacfp127g
237068237448237728jacfp128bk
294604294680294814prjfp128bk
297915297939298034hecfp128bk
309396309686309913hecfp128fkt
325903325907325912kumfp128g
348783348906349277jacfp127i
358848359756369721gls1271
363351363352363394curve25519
404035404159404885ecfp256e
420632420732421339ecfp256q
427733427837428269prjfp127i
430312430417430810ecfp256i
436340436397436544hecfp127i
486286486552487478surf127eps
513323513389514055ecfp256h
515180515256516230sclaus1024
518862519517520025ecfp256s
660868661048662226hecfp128i
786676786695786776kummer
151561115156541517041nistp256
162935016294211638081ed448goldilocks
163386716345361642607surf2113
205940520613442069845curve2251
252231625223452530240ed521gs
252440225254562537312hector
251562925257512694276sclaus2048
290075929037372911622nist521gs
307170630724473079972claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
549395677860894ecfp256e
590386096564521ecfp256s
599416196265670ecfp256h
618556360967952ecfp256q
224802224819224829curve25519
259653260681262816ecfp256i
273835276112278855sclaus1024
293303294247294632surf127eps
305673305872306417ed448goldilocks
435014435019435511kummer
512226517937517981nistp256
769583772149774545surf2113
936956940492941303curve2251
126870712768951286105sclaus2048
155549715564941558085ed521gs
162189016250701629412claus
184978418498071849921nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
214935214939214940curve25519
244111244124244256ecfp256e
253056253077253193ecfp256q
258103258129258275ecfp256i
270282270450271194sclaus1024
282731282816282855surf127eps
314406314432314468ecfp256s
321712321804321831ecfp256h
424744425134425148kummer
762038762144762268surf2113
929274929411929469curve2251
932782932814932823ed448goldilocks
933106933114945183nistp256
129117012914321297156sclaus2048
151484215148481514997ed521gs
159438015945881594774claus
181750618175211817556nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
128870129451130893jacfp127i
131712132335138054kumjacfp127g
141204141743143248prjfp127i
144263144809145768hecfp127i
218407218890220157jacfp128bk
233261235725238420ecfp256e
244258245049248969prjfp128bk
245567245994247114hecfp128fkt
248577249620254926hecfp128i
248731249837251783hecfp128bk
255248258888261191ecfp256s
258300259021261898curve2251
262045264243268156ecfp256h
263823266791270557ecfp256q
332983336252339857gls1271
540414540421540484kumfp127g
707763738654774648hector
103147810314851031681kumfp128g
110908711090941109493curve25519
113931311435131147307surf127eps
114551511507861158493ecfp256i
132784413289501332023ed448goldilocks
156791615738031578332surf2113
176955817698521772435kummer
178952218034731821015sclaus1024
185927018596411878513nistp256
664491166455276647655ed521gs
807756680780568080345nist521gs
862166986798258736315sclaus2048
108228541084352510864980claus
Cycles to compute a shared secret
quartilemedianquartilesystem
548415548415548429kumfp127g
552083552090552104kumjacfp127g
725459725508725669jacfp128bk
760228760417760774gls1271
860293860307860720prjfp128bk
886613886662889371hecfp128bk
919926919968922404hecfp128fkt
928767928788929278jacfp127i
100975710098691010324curve2251
105730810573151057420kumfp128g
108172410818571083285ecfp256e
109559810956051095647curve25519
110001511001551100911prjfp127i
112347911236191125516ecfp256q
112634911264681130612surf127eps
113532311353791135687hecfp127i
115101011511291152270ecfp256i
134347513436431344497ecfp256s
143524514353291436351ecfp256h
155578515559461557647surf2113
175602717560481756244kummer
178618317871071791370sclaus1024
195255219530631967896hecfp128i
248218624860782500561hector
360243836056443620778nistp256
443328944464074446708ed448goldilocks
659490365958136596233ed521gs
803686180371908038800nist521gs
881100588112088812993sclaus2048
108330041084393110846710claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
584346585096586316curve25519
959727959810959890kummer
141402014141131414904nistp256
166914516704421677424ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
568772569485570021curve25519
944419944448944479kummer
475396047575804765837nistp256
514637751790185192529ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

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

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

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

amd64; Nehalem (206e6); 2010 Intel Xeon X7560; 32 x 2266MHz; threads; boost; bigmem, supercop-20141124

Cycles to generate a key pair
quartilemedianquartilesystem
440844553547656hecfp127i
547945627058726ecfp256e
579365965364796ecfp256h
595316128565666ecfp256s
637396640873363ecfp256q
683236941471686hecfp128i
711287251474965hecfp128bk
711537263074593hecfp128fkt
103765105295106315gls1271
114685116521127310curve2251
141105142007142335kumfp127g
204496204581204606curve25519
231424231444231466kumfp128g
258938259757259899ed448goldilocks
277077278183280123ecfp256i
270824288728309669hector
308108308145308159kummer
333438334639335248surf127eps
343071347273351957sclaus1024
562397564613566568surf2113
633564634256634369nistp256
170841217205221730175sclaus2048
204850820522652057671claus
Cycles to compute a shared secret
quartilemedianquartilesystem
144211144273145154kumfp127g
193979193981193984curve25519
222383222388222451hecfp128bk
230664230704230801hecfp128fkt
234668234971235045gls1271
240349240363240394kumfp128g
258986259160259403ecfp256e
270703270830271090ecfp256q
275159275287275516ecfp256i
289088289230290907hecfp127i
297664297673298024kummer
321521321688321898ecfp256h
322303322536322753surf127eps
337963338136339147sclaus1024
344947345055345236ecfp256s
427624427737427856curve2251
504798504883504937hecfp128i
555404555535555693surf2113
784811784873784930ed448goldilocks
889599889930890403hector
174129317413661741523sclaus2048
202167420219942022408claus
204035720430292044089nistp256
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32kumfp127g
32kumfp128g
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

amd64; Nehalem (106e5); 2009 Intel Xeon L3426; 4 x 1862MHz; waldorf, supercop-20160715

Cycles to generate a key pair
quartilemedianquartilesystem
340343489435857kumjacfp127g
377723815338744prjfp127i
388673947441202hecfp127i
412724379844104jacfp127i
561375656357193jacfp128bk
577365838359702ecfp256e
620566267265175ecfp256h
638296507566928ecfp256s
655206585666531prjfp128bk
662236668567085hecfp128fkt
662626669367385hecfp128bk
663406681167447hecfp128i
681107101774006ecfp256q
107523109021114231gls1271
123724126563132708curve2251
145709145751155412kumfp127g
215561220130230098curve25519
240100240134252715kumfp128g
242046243051259215ed448goldilocks
300348302646318525ecfp256i
312791319592340091kummer
371353392101396235nistp256
140635314513891513826ed521gs
171834017486791828919nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
148997149013158919kumfp127g
152866152874163051kumjacfp127g
179892179934180088jacfp128bk
205425205691219119curve25519
223387223454223664prjfp128bk
225218225879240272jacfp127i
228909228962229045hecfp128bk
237717237829251329hecfp128fkt
249275249290249438kumfp128g
249253249600265868gls1271
283766283878302533ecfp256e
290914290993310367prjfp127i
293157293207312598ecfp256q
298054298175317879hecfp127i
300633300781320647ecfp256i
300897309078329681kummer
357378357504381165ecfp256h
369228369306393828ecfp256s
444119473674485544curve2251
521699521766522191hecfp128i
709167726640756513ed448goldilocks
930328931745991775nistp256
136641913944261463492ed521gs
168059717024201787602nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs

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

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

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

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

armeabi (v5l, ARM926EJ-S); 2008 Marvell Kirkwood 88F6281; 1 x 1200MHz; auxplug, supercop-20141124

Cycles to generate a key pair
quartilemedianquartilesystem
137992813800601380966kummer
221089222116362214084curve25519
252743425317422541102nistp256
353506235461803566022ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
136388413639861364262kummer
219457821949322196750curve25519
847408884879848491542nistp256
102565621027136410279398ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
591733591750591767curve25519
923944931436940869sclaus1024
106031410604111066513kummer
140595514071641407472nistp256
205622720564672062284ed448goldilocks
457074346064514629703sclaus2048
534208053588265371159claus
Cycles to compute a shared secret
quartilemedianquartilesystem
575959575962575968curve25519
977174979199981433sclaus1024
104558810456191045696kummer
473190347512634755686sclaus2048
495512749606204962878nistp256
538447953955855412901claus
651889365201196526186ed448goldilocks
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Version

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