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 CAESAR candidates All auth ciphers DH functions Public-key encryption Public-key signatures
Measurements indexed by machine: SHA-3 finalists All hash functions Stream ciphers CAESAR candidates All auth ciphers DH functions Public-key encryption Public-key signatures

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

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

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

What do the graphs and tables mean?

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

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

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

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

amd64; KnLanding (50671); 2016 Intel Xeon Phi 7250; 68 x 1400MHz; unstable; pluton1mn, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
916869238693730gls254
907209277894892curve2251
960269606896096kummer
105980107142108640ecfp256e
117474118594122304ecfp256h
118566118608118678gls254prot
118286120078122514ecfp256s
125762129136132034ecfp256q
282674282758286748curve25519
523558525000541646nistp256
590534597660611618ecfp256i
675052684306693294surf127eps
805798817810824642ed448goldilocks
948892968702975870surf2113
170122417173521738450sclaus1024
398546439900984003986ed521gs
478665648026024917626nist521gs
699000469969207010626claus
835003484113968490902sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
776447772878078gls254
839308393084014kummer
106092106092106120gls254prot
254604254716255486curve2251
282114282128287812curve25519
551754554848574518ecfp256e
588686590002609742ecfp256i
578606590268604226ecfp256q
656026664384672140surf127eps
706034723534728826ecfp256h
711564729302734412ecfp256s
932330955514958734surf2113
169043016941541699600sclaus1024
181234218277561841126nistp256
282471028286302834846ed448goldilocks
393555439411263946740ed521gs
474762447597484848046nist521gs
695156069572306962508claus
851736285226548529094sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; KnLanding (50671); 2016 Intel Xeon Phi 7210; 64 x 1300MHz; unstable; genji154, supercop-20161220

Cycles to generate a key pair
quartilemedianquartilesystem
806268091281406gls254
954339549896915kummer
100256101543103337jacfp127i
99294102947118820curve2251
103766105235124176kumjacfp127g
104637105573118950prjfp127i
111072112788116051hecfp127i
115128116246118729ecfp256e
119002119444121368k298
127036127101130377gls254prot
127569129311131885ecfp256h
129519131872134433ecfp256s
134914136877140413ecfp256q
144469146172159822jacfp128bk
159614161304168337prjfp128bk
160199161876178893hecfp128bk
161330163631169858hecfp128fkt
161590163891179738hecfp128i
300131301639311506curve25519
338546339820360009kumfp127g
410267416728437710gls1271
561171570466583544nistp256
548977590525666783hector
582478595153604227kumfp128g
635882650988670722ecfp256i
712894727272741715surf127eps
728390739284758238ed448goldilocks
103608710466301063933surf2113
183063418493411871064sclaus1024
431059243251654411277ed521gs
515443551738055187585nist521gs
752902876332887768969claus
900667391059289271769sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
670416705467106gls254
834998366884695kummer
106249106431132392k298
113672113737114426gls254prot
271349273013335179curve2251
300768300885311896curve25519
342368343317361868kumfp127g
344955346242372333kumjacfp127g
453089454688480792jacfp128bk
522574523042551434prjfp128bk
527228544583565279hecfp128bk
545402552396571948hecfp128fkt
564122569725596141jacfp127i
592254594815619983ecfp256e
597870601250617409kumfp128g
620061624663645996ecfp256q
633529653237669994ecfp256i
659256683137701142prjfp127i
675792699023705471hecfp127i
699725712543725504surf127eps
758199780923785239ecfp256h
760838784251788450ecfp256s
875615890929911313gls1271
102559610332921047618surf2113
110279011068201127763hecfp128i
169423817265431762995hector
181889518312841841164sclaus1024
194238219558761966913nistp256
226648522765862298829ed448goldilocks
425568042741924358900ed521gs
511290051321665144607nist521gs
748543975640377753720claus
915246892150119388912sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
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
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
247185247191247432kummer
373439373444373482curve25519
409530409597409660nistp256
500025500486501260ed448goldilocks
193249919346601938473ed521gs
243838824449332445278nist521gs
506086650622285064475claus
Cycles to compute a shared secret
quartilemedianquartilesystem
237759237762237776kummer
364100364103364114curve25519
131699513170371322954nistp256
145827714583581464442ed448goldilocks
189733618982541903021ed521gs
241083224108782417472nist521gs
504262650446605046796claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
245555245587245806kummer
372415372418373175curve25519
393267393541393556nistp256
517636518620522321ed448goldilocks
192154319230841925078ed521gs
240138724026032403152nist521gs
979735798103359823942claus
Cycles to compute a shared secret
quartilemedianquartilesystem
237028237437237723kummer
364506364556364561curve25519
128608712860981286102nistp256
157104315718371571840ed448goldilocks
188839618884291889043ed521gs
237502523756932376697nist521gs
971857997319659745990claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus

aarch64; Cortex-A53 (410fd034); 2015 Amlogic S905; 4 x 2000MHz; par3, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
395035395154395493kummer
476584476763487775curve25519
528427532857558992nistp256
704493708255732286ed448goldilocks
773603776664811431surf127eps
106578210817531102929sclaus1024
279984928188872841272ed521gs
356460435801473620102nist521gs
525326853321995402789sclaus2048
643293965839896819946claus
Cycles to compute a shared secret
quartilemedianquartilesystem
386632386860387081kummer
474875475259488947curve25519
763481764475787022surf127eps
106096110617281085041sclaus1024
172306117426771815955nistp256
189844219018311942198ed448goldilocks
276654327871502796541ed521gs
353668935456953584824nist521gs
530281354129155434294sclaus2048
641847465527616642045claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A7 (410fc075); 2015 Broadcom BCM2836; 4 x 900MHz; pi2, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
591246591250592066kummer
937910937922938422curve25519
940986941799944272ed448goldilocks
172259217238561730400nistp256
163008411631197616332894claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579282579329579354kummer
925896925896925938curve25519
250700125077182519928ed448goldilocks
582514658384875840704nistp256
162526921625806216283031claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
102720107760119920ecfp256e
110240112800121980ecfp256h
111700117780130820ecfp256s
120960126940138840ecfp256q
122540127160144780curve2251
148060149920153200gls254
213600213660213980gls254prot
322780325060330140k298
459640459760460660curve25519
509300512740522720ecfp256i
578260580760598900surf127eps
585380585460588420kummer
645440648860663900nistp256
791400795240809240ed448goldilocks
897660907760925120sclaus1024
115090011562001176040surf2113
376346037677803790720ed521gs
428958043197204355820sclaus2048
447964044822404503260nist521gs
539990054147605438960claus
Cycles to compute a shared secret
quartilemedianquartilesystem
137560137660137780gls254
201880202060202620gls254prot
310600311260317060k298
425520425640427540curve2251
448160448200448480curve25519
484020485800490400ecfp256e
507620508040509740ecfp256i
506800508520513040ecfp256q
563200563700568240surf127eps
573820573840573900kummer
599860600500603780ecfp256h
627520628740638260ecfp256s
890920891620896140sclaus1024
113886011399201144440surf2113
205968020605002071540nistp256
268192026939602698080ed448goldilocks
370600037136603718060ed521gs
437042043729804377220sclaus2048
443758044396204446940nist521gs
538748053892805397500claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32k298
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48k298
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

aarch64; Cortex-A53 (410fd030); 2014 HiSilicon Hi6220V100; 8 x 1200MHz; unstable; a53, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
391230?423200?516000?kummer
688905690120697410curve25519
697410?700800?916110?nistp256
744795?747225?987200?ed448goldilocks
200353520256002058210sclaus1024
3245265?3257415?4269600?ed521gs
4258575?4269510?5615200?nist521gs
9373725?9400455?12337600?claus
935671594624209624800sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
382725?502400?503200?kummer
681615681615681615curve25519
1449495?1456785?1906400?nistp256
204727520569952067930sclaus1024
2145690?2157840?2831200?ed448goldilocks
3210030?3223395?4226400?ed521gs
3217320?4213620?5546400?nist521gs
937615593888009441765claus
9621585?9632520?12669600?sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

armeabi; Cortex-A5 (417fc051); 2014 Amlogic S805; 4 x 1536MHz; c1, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
654396677048725506kummer
103659610366211038361curve25519
107454411142831146558ed448goldilocks
223307724305882788157nistp256
252705525456172879182surf127eps
297565630828913218481sclaus1024
147622911524815616047749sclaus2048
178298291791505218597807claus
Cycles to compute a shared secret
quartilemedianquartilesystem
655869677581706188kummer
102472510247381024963curve25519
250912325193022669901surf127eps
294802229663223104106sclaus1024
293737829852813043311ed448goldilocks
834877188442459470045nistp256
152909211545866915664835sclaus2048
178807101856542418782118claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
247602247865248379kummer
342789343931344232curve25519
406925423046433492ed448goldilocks
942649943993953453nistp256
254495525667402587546sclaus1024
118155391189926711967232sclaus2048
123905621239351912398831claus
Cycles to compute a shared secret
quartilemedianquartilesystem
238315238363238823kummer
330971332168332342curve25519
111087511193291120231ed448goldilocks
260074226107292614044sclaus1024
317065631780193179661nistp256
120315971204340712093823sclaus2048
123688171237067012375094claus
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; HW+AES (40651); 2014 Intel Core i5-4210U; 2 x 1700MHz; slide, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
296323007630528jacfp127i
308403126431740kumjacfp127g
328923351634096prjfp127i
341843480435320hecfp127i
393044005240976jacfp128bk
451924571646304prjfp128bk
475924815248648hecfp128fkt
477764818048744hecfp128bk
479324844448828hecfp128i
472684872052596ecfp256h
481924909251304ecfp256e
499325057653832curve2251
502775232054912ecfp256s
563325759662388ecfp256q
696966976069868kummer
700967018070260gls254prot
935569493295600gls1271
110416110564110832kumfp127g
151760152044153880curve25519
156504156568156628kumfp128g
204516204856205952ed448goldilocks
220016221016222228ecfp256i
354044354132354240nistp256
110721211080921109708ed521gs
127171612723801273580nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
610726114461220kummer
616006166061724gls254prot
112488112620112912kumjacfp127g
113172113336113680kumfp127g
114632114788119324jacfp128bk
141624141812141964prjfp128bk
150416150572150728hecfp128bk
155800156076157832hecfp128fkt
156184156748156876curve25519
160404160440160492curve2251
162892162980163048kumfp128g
185180185676186916jacfp127i
210232210364210520ecfp256e
215328215524215748gls1271
217248217412217956ecfp256q
217456217608217808ecfp256i
224140224380224760prjfp127i
230024230224230520hecfp127i
220284247652247836ecfp256h
281660281868282168ecfp256s
334752335008335360hecfp128i
595832596052596584ed448goldilocks
866348866552866792nistp256
107382810743441075164ed521gs
124462812451561246036nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
gls254321
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
96ecfp256i
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
gls254641
72ed521gs
72nist521gs

amd64; HW+AES (40651); 2014 Intel Core i5-4210U; 2 x 1700MHz; unstable; sliver, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
758047972882998jacfp127i
8658089436102702prjfp127i
9166293966110796hecfp127i
105366107280110016gls254
106644108402111096curve2251
108060108654119142jacfp128bk
68892?113268?118338?hecfp128bk
110628115566123000hecfp128fkt
119982127344134772ecfp256h
118542129258132210ecfp256e
128754133644143286ecfp256s
137514143304148440kumjacfp127g
140286143736152802ecfp256q
139134147996155034hecfp128i
166056168234168666kummer
178842197862205692prjfp128bk
236316278286285048gls1271
349056349632353004kumfp127g
458334463794479904kumfp128g
602274616392636612ecfp256i
440904?631158?683382?hector
631668633678635682surf127eps
412254?716970?753786?curve25519
828372854532897972sclaus1024
144472814624821499334surf2113
171111618104521856604nistp256
345670241018584176834sclaus2048
497751650663705204844claus
Cycles to compute a shared secret
quartilemedianquartilesystem
829088441487078gls254
151386153696156666kummer
305688315024318420jacfp128bk
334278335916336954curve2251
352872353454357852kumfp127g
356970361764370578kumjacfp127g
226572?382980?387270?hecfp128bk
228558?388908?401436?hecfp128fkt
364104390918396306prjfp128bk
466560467604473172kumfp128g
481866524670535908jacfp127i
567552568818581982ecfp256e
572028582084599838ecfp256q
556752591582607926ecfp256i
608592609276610224surf127eps
339252?646800?660894?gls1271
652758654348666150prjfp127i
643722681834684432ecfp256h
683574687342690612hecfp127i
380544?720750?761850?curve25519
700884736836745584ecfp256s
780138833328860448hecfp128i
802494851352880536sclaus1024
143018414443441459056surf2113
1155456?2167962?2229030?hector
366610838073303857922nistp256
417243042474844310946sclaus2048
497578850553005165772claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
312443220833564jacfp127i
324403416037400kumjacfp127g
343643501636340hecfp127i
345443524836452prjfp127i
396484040842232jacfp128bk
453164616847600prjfp128bk
464604722448644hecfp128fkt
466964738848740hecfp128i
465204762450172ecfp256e
476164880052448ecfp256h
498405074456424curve2251
500645139253448hecfp128bk
523605303253676gls254
512085334858068ecfp256s
529525380857416ecfp256q
685566862468680kummer
696966974869800gls254prot
783287842878536k277taa
838248404884708k298
955889691297716gls1271
109896110364111736kumfp127g
113644113732113800k277mon
151492151576151724curve25519
155140155248155312kumfp128g
177276177468177732ed448goldilocks
219212220116221464ecfp256i
221272222200222788surf127eps
224472227516242244sclaus1024
215116231656250692hector
284164284424286700nistp256
476976478692480580surf2113
108845210900961091580ed521gs
110708411149001121676sclaus2048
123124812326201233968nist521gs
133745213427201361248claus
Cycles to compute a shared secret
quartilemedianquartilesystem
395323958039628gls254
603526046860624kummer
616766171261752gls254prot
655486562065928k277taa
756287572075868k298
101660101684101808k277mon
112396112780114196kumfp127g
113776113912117828jacfp128bk
120412120720121004kumjacfp127g
139744139944140152prjfp128bk
144756144880145060hecfp128bk
149924150060150184hecfp128fkt
156032156148157652curve25519
159096159140159188curve2251
161292161780161824kumfp128g
184516184708184888jacfp127i
203708203804203932ecfp256e
208276208544208836surf127eps
212076212208212360ecfp256q
216476216616216756ecfp256i
218832219108219652gls1271
221632221816239684sclaus1024
225428225660226044prjfp127i
229140229372229612hecfp127i
247652247752247960ecfp256h
270124270260270392ecfp256s
327384327640327968hecfp128i
471384471580471736surf2113
531904532212534832ed448goldilocks
705392706092706600nistp256
750524750856751132hector
105819610586561061748ed521gs
112793211284201130276sclaus2048
120466012069241211152nist521gs
130856013089401422336claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32k298
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
48k277mon
48k277taa
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
80k277mon
80k277taa
96ecfp256i
96k298
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
40k277mon
40k277taa
48k298
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
143800143916144068k277mon
420172420372420520curve25519
699548699764700048kummer
872544873208874320nistp256
126616012683681269324ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
124112124212124372k277mon
409280409796409908curve25519
686240686504686836kummer
307676430784243080936nistp256
420772042099404211748ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
48k277mon
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
80k277mon
Shared secret
bytessystem
32curve25519
40k277mon
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
231076231100231114kummer
322161322161322166curve25519
351974352117353774ed448goldilocks
790927790989792686nistp256
699618669989197000819claus
Cycles to compute a shared secret
quartilemedianquartilesystem
221723221723221723kummer
312731312731312731curve25519
105810210581461060069ed448goldilocks
274869727504112761573nistp256
698012369826366983427claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

armeabi; Cortex-A7 (417fc074); 2012 Allwinner A20; 2 x 960MHz; cubie2, supercop-20161026

Cycles to generate a key pair
quartilemedianquartilesystem
590824590884591923kummer
868069870870883205ed448goldilocks
937843937954945496curve25519
161432316157771631103nistp256
163131441632223416336403claus
Cycles to compute a shared secret
quartilemedianquartilesystem
579283579319580057kummer
925891926371936006curve25519
245487224687312469355ed448goldilocks
555847755586995566200nistp256
162702381627698816283875claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

armeabi; Cortex-A9+NEON (413fc090); 2012 Samsung Exynos 4412; 4 x 1704MHz; odroid, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
365587365595365617kummer
577024577032577066curve25519
682636683349685268ed448goldilocks
139430713970941400832nistp256
788722278981597907609claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355820355829355848kummer
567263567267567293curve25519
191888619190691919821ed448goldilocks
467381346860614689509nistp256
944039294451839449742claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
315909315993316683kummer
509237509560523482curve25519
208553820861892094047nistp256
293388429483732953091ed448goldilocks
462167346673804707244sclaus1024
189630621897120119010491claus
207468782088311720987039sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
305341305385305882kummer
498085498284512187curve25519
472018647367574743360sclaus1024
726090272620817282994nistp256
843007084389078452915ed448goldilocks
189299151893530018962765claus
211219922113765421176481sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
483454897550183jacfp127i
489294954153728kumjacfp127g
540185487456133prjfp127i
551395565357047hecfp127i
703647093772162jacfp128bk
830428361087743prjfp128bk
833178375287425hecfp128bk
835168414685587hecfp128i
835328425185926hecfp128fkt
848048525386977curve2251
897379199095365ecfp256e
9505797104100475ecfp256h
9650098642101671ecfp256s
100649102825106423ecfp256q
105467106522107852gls254
129470129484129552gls254prot
146506148191149693gls1271
164052164416164552kumfp127g
193654193750194522curve25519
265884265893265968kummer
273834273966274466kumfp128g
327380352343379945hector
373774377510385104ecfp256i
415614416996417784surf127eps
456849460575464924sclaus1024
666320671398677874nistp256
677367679660682724surf2113
207049220705962073088ed521gs
222934022513702327581sclaus2048
246127124690352503164nist521gs
274365027543782867692claus
Cycles to compute a shared secret
quartilemedianquartilesystem
890948924489260gls254
118296118300118310gls254prot
167716167754169270kumfp127g
175494176204176466kumjacfp127g
193502193514194794curve25519
211068211370211506jacfp128bk
255350255676255682kummer
262514262694262866prjfp128bk
266290266377266437curve2251
268402268596268644hecfp128bk
279270279310279352hecfp128fkt
280776281242281398jacfp127i
285030285030285030kumfp128g
323645324136324303gls1271
353772353938354134ecfp256e
369784369902370087ecfp256q
370850371043371236ecfp256i
375936376222376460prjfp127i
383177383224383304hecfp127i
402680402876402924surf127eps
441760441836442082ecfp256h
451886454000454851sclaus1024
466225466281466351ecfp256s
596544596676596770hecfp128i
667846667924668169surf2113
112872411289201129157hector
138435613862181386286nistp256
202595020259902026107ed521gs
226292322708822352838sclaus2048
241691224204002430496nist521gs
270172227025682704991claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32gls254
32gls254prot
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64gls254
64gls254prot
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
101422103436104880ecfp256e
109991112338114836ecfp256s
109982112494115829ecfp256h
115240118864122128ecfp256q
163486165671168116gls1271
376779376842376898curve25519
429134430991434026ecfp256i
510331512244518543curve2251
553598555151556657ed448goldilocks
662815669974675925sclaus1024
762712762736762869kummer
851471851884852426nistp256
233164723335992343061ed521gs
278522427869772796358nist521gs
328219333056863328434sclaus2048
379477538056813816734claus
Cycles to compute a shared secret
quartilemedianquartilesystem
355101355594357300gls1271
365180365195365213curve25519
405959406054406467ecfp256e
422427422617423111ecfp256q
427899427971428270ecfp256i
512990513062513608ecfp256h
518809518918519531ecfp256s
683791685809687007sclaus1024
751317751332751355kummer
152048415205981521782nistp256
154921715492741549758ed448goldilocks
205924420629972071612curve2251
228453622854952295575ed521gs
274646427504922756672nist521gs
334024333650243375621sclaus2048
378292837919023796176claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
551385577056530jacfp127i
561735697158045kumjacfp127g
608486145562728prjfp127i
633986418764928hecfp127i
783337886079658jacfp128bk
905169116791746prjfp128bk
913339189992673hecfp128bk
906779212194283hecfp128fkt
910199273994492hecfp128i
102538104642106124ecfp256e
112134114029116147ecfp256s
113967115492118171ecfp256h
118062120432123771ecfp256q
162493164996166416gls1271
197837197918197971kumfp127g
314925314935314963kumfp128g
375231375278377007curve25519
430972433428436145ecfp256i
499924501681503381surf127eps
511485514192524818curve2251
519655523013528945sclaus1024
608480610675612042ed448goldilocks
741062767975798632hector
769937769956771694kummer
780330780611781028nistp256
164150016484451651452surf2113
246794824864262498842sclaus2048
255187125561612563261ed521gs
294324729443252954476nist521gs
309363731010663108832claus
Cycles to compute a shared secret
quartilemedianquartilesystem
201619201637201656kumfp127g
207071207091207138kumjacfp127g
237063237281237581jacfp128bk
294709294880295027prjfp128bk
297682297721297943hecfp128bk
308693308826308902hecfp128fkt
325717325717325807kumfp128g
348332348451348650jacfp127i
356340357471359333gls1271
363356363366363603curve25519
403309403408404106ecfp256e
419397419473419810ecfp256q
427182427243427695prjfp127i
430217430322430574ecfp256i
435746435803435922hecfp127i
487550487659488171surf127eps
509675509927510620ecfp256h
515465515717516562ecfp256s
515759516234517066sclaus1024
657790657909658384hecfp128i
756808756875758338kummer
151561115156401517107nistp256
162971116297771637738ed448goldilocks
163380516345891637994surf2113
205967620613532068397curve2251
249526624966332506465ed521gs
251659725180752525689sclaus2048
256753225699832581820hector
289637429068532907760nist521gs
306723230685143076627claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
530045366454860ecfp256e
553165603657676ecfp256h
580045874060392ecfp256s
618366254064516ecfp256q
707167097273172curve2251
100072100104100140kummer
126768126876126992gls254prot
126952127032127160gls254
158432161660162392curve25519
214680214872215132ed448goldilocks
262932263996265748ecfp256i
278988279992280640surf127eps
294292296888299396sclaus1024
424148424352424540nistp256
714216717720722712surf2113
127348412744881276440ed521gs
146461214755881483960sclaus2048
147853614794321480904nist521gs
175958017662081925808claus
Cycles to compute a shared secret
quartilemedianquartilesystem
888448887689136kummer
115808115880116000gls254prot
115948116060116172gls254
159128159472168100curve25519
230768231048231632curve2251
247532247700247892ecfp256e
256300256500256748ecfp256q
260112260260260452ecfp256i
265516265780266192surf127eps
290432290604290736sclaus1024
303100303244303420ecfp256h
324276324408324676ecfp256s
649808649996650156ed448goldilocks
704872705616712480surf2113
829840830068830296nistp256
122881212293641229960ed521gs
144200814430721444920nist521gs
149182814923561493168sclaus2048
172704817280001762836claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls254
32gls254prot
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64gls254
64gls254prot
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64gls254
64gls254prot
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

amd64; Sandy Bridge (206a7); 2011 Intel Core i3-2130; 2 x 3400MHz; river, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
304803374436660jacfp127i
33916?35316?46036?kumjacfp127g
373963816841800hecfp127i
352483818440488prjfp127i
46876?49008?59504?jacfp128bk
538925483658132ecfp256e
559285686064824ecfp256h
542765709263388hecfp128i
555045737665292hecfp128fkt
578365868464588ecfp256s
567966020467220prjfp128bk
578966085268376hecfp128bk
624566392472876ecfp256q
763607776881380curve2251
110876112524113864gls1271
123348123664136712kumfp127g
184528185672188504kumfp128g
257828260096266904ecfp256i
292856294292297576surf127eps
308872313848334040curve25519
321660321900322632kummer
347292352036371844sclaus1024
398272421612465824hector
672064674220696152nistp256
832296837272859812surf2113
177376817998921850048sclaus2048
206080820905362213172claus
Cycles to compute a shared secret
quartilemedianquartilesystem
126544126712131424kumfp127g
132492136172141344kumjacfp127g
144880145792150020jacfp128bk
186144186580187412prjfp128bk
186792187460188712hecfp128bk
184776187764188436hecfp128fkt
192528194356197180kumfp128g
200216200724203716jacfp127i
235876236684242768ecfp256e
245676246680250976ecfp256q
252196253672259936gls1271
253928259132264084ecfp256i
260524260776261072curve2251
259456264548265772prjfp127i
265112267260267876hecfp127i
277888278404279144surf127eps
282736286284294568ecfp256h
293304300164318204curve25519
309008312364319152ecfp256s
312980314672321852kummer
343724344536366700sclaus1024
414828415976423964hecfp128i
822540823372838800surf2113
127193612953161428532nistp256
134512413623761613132hector
179121218068401905016sclaus2048
203952020888722333760claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
234736237592239744ecfp256e
255448259232261488ecfp256s
260280261112263480curve2251
262648264760267856ecfp256h
265584268816271776ecfp256q
112364011239521126592curve25519
115254411539921167856surf127eps
117032811767441194032ecfp256i
129001612921601310432ed448goldilocks
172464017323761747904surf2113
173875217391361757336kummer
179717618154561831368sclaus1024
194742419517121973600nistp256
676966467726486790952ed521gs
813161681497848152400nist521gs
868716087487528808016sclaus2048
108456161086593610901392claus
Cycles to compute a shared secret
quartilemedianquartilesystem
101448810146801015760curve2251
110544011057601107864ecfp256e
110997611099841110136curve25519
113604011362161140536surf127eps
114640811476481171312ecfp256q
117584011760161176992ecfp256i
138067213813041406976ecfp256s
145863214591361484424ecfp256h
171391217153121735392surf2113
172504817251041743024kummer
179237617957121815344sclaus1024
366007236784163684424nistp256
446432044647044464920ed448goldilocks
672168867238006742472ed521gs
809370481117448114616nist521gs
887785688841928896448sclaus2048
108624081087873610882400claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

armeabi; Armada (562f1311); 2010 Marvell Armada 310; 1 x 1200MHz; tonido, supercop-20160910

Cycles to generate a key pair
quartilemedianquartilesystem
197401819746301977192kummer
272101227217742725932curve25519
329936433050643343038ed448goldilocks
372754837309203766188nistp256
336005703360414633611544claus
Cycles to compute a shared secret
quartilemedianquartilesystem
195079819512901953426kummer
269767826984042700480curve25519
811157481484928155332ed448goldilocks
120954301209613212099264nistp256
335027163350469633509784claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

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

Cycles to generate a key pair
quartilemedianquartilesystem
940425941787941924kummer
976271983249992926sclaus1024
149397614962311496796curve25519
169037516955011708447nistp256
219795422077732214581surf127eps
260352926066622618224ed448goldilocks
472461147557324809991sclaus2048
583247358499795892963claus
Cycles to compute a shared secret
quartilemedianquartilesystem
924684925005925988kummer
975422975856977470sclaus1024
148113914818091482198curve25519
218528221867152192810surf127eps
482786848385284844721sclaus2048
580533058178205829754nistp256
582260558316405841274claus
728499972883307337002ed448goldilocks
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
69354?74104?305915?ecfp256e
72367?77114?319250?ecfp256s
73913?78324?326147?ecfp256h
75729?80094?334567?ecfp256q
203969203970204001curve25519
242715?246090?1120375?sclaus1024
262401?264942?554949?ecfp256i
267529?268562?395470?surf127eps
291232291960294088ed448goldilocks
401552401558401559kummer
455371459643459731nistp256
709434712698722885surf2113
840330?845110?1211275?curve2251
115042011587241176584sclaus2048
133662313368191343471ed521gs
143569114393691444702claus
162002916205431621625nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
195130195131195150curve25519
239390239425239607sclaus1024
247805?247845?1146836?ecfp256e
255397255531255567ecfp256q
257219?257301?380612?surf127eps
263123263391263436ecfp256i
311486?311517?1360372?ecfp256s
320267320324320973ecfp256h
392687392699392720kummer
704162704430704519surf2113
784068786785786794ed448goldilocks
830340835450835540curve2251
842680842683848546nistp256
117072211728721173252sclaus2048
129979612999211300464ed521gs
141064614116441411978claus
159087615913921592256nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
765727809581389ecfp256e
802168243685124ecfp256s
811138318987237ecfp256h
829928591589245ecfp256q
228679228688228694curve25519
271322273589275800sclaus1024
293536295067297096ecfp256i
299335300434301045surf127eps
326517326781327336ed448goldilocks
450180450253450296kummer
508256514848521645nistp256
795214798544800863surf2113
939550942907948120curve2251
128708112976041305523sclaus2048
149820814987231500731ed521gs
160925616121161616922claus
181610918164481816582nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
218776218777218798curve25519
268278268619268746sclaus1024
277928277958277989ecfp256e
286304286315286411ecfp256q
288392288418288517surf127eps
295272295620295674ecfp256i
348780348884349085ecfp256s
359074359124359125ecfp256h
440298440320440325kummer
788800788876789341surf2113
877648879459880317ed448goldilocks
930833936610936794curve2251
944822946448946471nistp256
131026713131481316939sclaus2048
145811814589971459006ed521gs
158044015807331583416claus
178364517837161784856nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
752657693579223ecfp256e
780088016782251ecfp256s
792888107883989ecfp256h
810398361986233ecfp256q
228684228684228686curve25519
271398273624276605sclaus1024
289592291367293391ecfp256i
299690300710301321surf127eps
349021350283357481ed448goldilocks
450242450272450315kummer
510971515369521492nistp256
109648511012061103945surf2113
128496212943531302911sclaus2048
131098213164391317869curve2251
153487215351991537883ed521gs
160931216129641616836claus
183594718385801839779nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
218770218771218793curve25519
268172268187268260sclaus1024
274997275031275084ecfp256e
283259283281283395ecfp256q
288580288640288760surf127eps
291316291355291391ecfp256i
345274345406345429ecfp256s
352746352758352763ecfp256h
440271440290440320kummer
910876911766914447ed448goldilocks
944782944792944794nistp256
109157210919321092653surf2113
130478313056441306047curve2251
130995213105021312469sclaus2048
149392514945591495298ed521gs
158094915835451584660claus
180492218057401808313nist521gs
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
48surf127eps
48surf2113
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

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

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

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

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

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

amd64; Westmere (20652); 2010 Intel Core i5-650; 2 x 3200MHz; glyme, supercop-20170105

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
235480238530241380ecfp256e
256040259860261580ecfp256s
260170261860268140curve2251
263350265760269270ecfp256h
266270270150272870ecfp256q
112266011227001123460curve25519
117044011764901186740ecfp256i
127514012771001286220ed448goldilocks
173840017386901759830kummer
194719019478801979720nistp256
212013021402102170290sclaus1024
674326067472506769070ed521gs
813571081603908173930nist521gs
109599101102225011104090sclaus2048
123833001242011012454690claus
Cycles to compute a shared secret
quartilemedianquartilesystem
100944010094801010450curve2251
110549011056001107490ecfp256e
110929011093201109510curve25519
114620011463501148170ecfp256q
117588011760601177100ecfp256i
138053013807901383920ecfp256s
145920014596901489690ecfp256h
172506017253101745970kummer
217193021736402202930sclaus1024
365380036807303692690nistp256
436502043917504406290ed448goldilocks
668196066857906707620ed521gs
809636081206308125170nist521gs
111401901116833011172810sclaus2048
124258401245467012458310claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32kummer
32nistp256
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
48kummer
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
103384110345351047071kummer
193452119463461946704curve25519
194756819605751964828nistp256
256511825813142584446ed448goldilocks
247919522480282224816901claus
Cycles to compute a shared secret
quartilemedianquartilesystem
102203310225761035006kummer
192275019239031934912curve25519
679766668022666805008nistp256
733113773320707340908ed448goldilocks
247498002476149824775716claus
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
128claus
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256
128claus

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; unstable; waldorf, supercop-20160715

Cycles to generate a key pair
quartilemedianquartilesystem
615086195262732jacfp127i
633046373664292kumjacfp127g
690126961670284hecfp127i
764687747677920prjfp127i
94784100616101704jacfp128bk
103968105176109732prjfp128bk
103464108392110736hecfp128fkt
108356109332116312hecfp128bk
105844110788113040hecfp128i
110488111704112660ecfp256e
112040118020119640ecfp256h
114144118564121824ecfp256s
129624131488133800ecfp256q
199972202544205316gls1271
256632272216279016curve2251
287628288132291004kumfp127g
425372451200462528kumfp128g
459848472240473616curve25519
543816546396553812ed448goldilocks
548044566392576372ecfp256i
594692644008658320kummer
759076794964814720nistp256
306954032086043228672ed521gs
3610484?3786148?11118464?nist521gs
Cycles to compute a shared secret
quartilemedianquartilesystem
291548292500294648kumfp127g
297064297616300660kumjacfp127g
294908310256317636jacfp128bk
372232380328381356prjfp128bk
363484383532392220hecfp128bk
375936403736405656hecfp128fkt
435820436448473608kumfp128g
437948440000440660jacfp127i
438092457784458776curve25519
468756469284469868gls1271
525016526220529948prjfp127i
506204531436545212ecfp256e
539404539932545112hecfp127i
521012546560560380ecfp256q
534012562096575448ecfp256i
580704631400641808kummer
657600676288676912ecfp256h
652676699636701968ecfp256s
807100859184872380hecfp128i
101546010515041115824curve2251
157321615878361600868ed448goldilocks
186676419721162015532nistp256
307032031523683163784ed521gs
347178837311364240244nist521gs
Secret key
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
104nist521gs
130ed521gs
144ed448goldilocks
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
56ed448goldilocks
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
144ed521gs
144nist521gs
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs

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

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

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

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

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
413404185243966hecfp127i
382524298046139jacfp127i
420544355444837prjfp127i
393504385246142kumjacfp127g
623546472968198jacfp128bk
705457145673951hecfp128bk
711867215473467hecfp128fkt
712937223174310hecfp128i
721777360378001prjfp128bk
100936103598106617ecfp256s
100370104846108724ecfp256e
105121107740112864ecfp256h
106745110326113856ecfp256q
121669123540125111gls1271
129755129791129848kumfp127g
223570223596223632kumfp128g
231142231143231157curve25519
275285278159280665sclaus1024
281070282574284135ecfp256i
307376308686309193surf127eps
357935359127360453ed448goldilocks
364496383104404076hector
435105435109435117kummer
618887618904619660nistp256
765617767335770418surf2113
958150961890963146curve2251
129161013018361314952sclaus2048
163186616409161648519claus
Cycles to compute a shared secret
quartilemedianquartilesystem
132029132038132044kumfp127g
134376134376134431kumjacfp127g
162887163034163124jacfp128bk
200767201091201185prjfp128bk
206494206544206617hecfp128bk
212341212405212568jacfp127i
213583213658214401hecfp128fkt
219685219686219688curve25519
230205230226230258kumfp128g
264775265275269455gls1271
265252265392265532ecfp256e
270178270232270278sclaus1024
273598273695273801ecfp256q
275010275115275170prjfp127i
280554280645280665ecfp256i
282094282144282749hecfp127i
295956295977296068surf127eps
332844332861332908ecfp256s
338727338809338819ecfp256h
423600423600423603kummer
455075455119457699hecfp128i
756844756857756910surf2113
951969952139952279curve2251
105551610555341055570ed448goldilocks
120058712007001201384hector
122930212293121229335nistp256
131135113269061327939sclaus2048
159116916074841607611claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
592324592325592337curve25519
105662710566431056694kummer
140882314142991414413nistp256
Cycles to compute a shared secret
quartilemedianquartilesystem
576087576088576090curve25519
104129210412941041331kummer
495901449848924986959nistp256
Secret key
bytessystem
32curve25519
32kummer
32nistp256
Public key
bytessystem
32curve25519
48kummer
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64nistp256

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; unstable; gcc14, supercop-20170105

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
455256478494506745hector
620991621657621756curve25519
743535750456757296sclaus1024
940941943992944352kummer
102183310253701027998surf2113
140222714075461409508curve2251
148879814899231491759nistp256
153262815388471541358surf127eps
368952337136703734181sclaus2048
433390544192524441167claus
Cycles to compute a shared secret
quartilemedianquartilesystem
608886609156611091curve25519
792153795195799020sclaus1024
925353930303930933kummer
101333710137151014336surf2113
139617013968361398150curve2251
146589314670631468818hector
152137815216661523016surf127eps
377410537789833789378sclaus2048
428530543146904443417claus
511079451198485128137nistp256
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048

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

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

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

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

amd64; C2 65nm (6fb); 2007 Intel 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-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
628566407166366jacfp127i
646206580869768kumjacfp127g
726037394477571prjfp127i
733687465578984hecfp127i
110898112050114165jacfp128bk
114426115389116937ecfp256e
122751123876125460ecfp256h
125847127071128115ecfp256s
131706132696134982prjfp128bk
131607132741134901hecfp128bk
131580133020137556hecfp128i
132822133812135738hecfp128fkt
134181135504137421ecfp256q
201294203634206100gls1271
213867214461216891curve2251
266796267516271503kumfp127g
470529471618472095kumfp128g
532179535590536562curve25519
536301567477602235hector
567666568746570753ed448goldilocks
593973596700601011ecfp256i
659421661239663345kummer
669285671778673209surf127eps
737406743589749925sclaus1024
897813901476904896nistp256
104220010461601050318surf2113
253664125405562546865ed521gs
296640029695862978667nist521gs
317587531959453218364sclaus2048
386968538794323888396claus
Cycles to compute a shared secret
quartilemedianquartilesystem
273789273798273978kumfp127g
282267282591282708kumjacfp127g
364419364590364923jacfp128bk
437184437616437922jacfp127i
449487449694449919prjfp128bk
460764460845461160hecfp128bk
464976465957477648gls1271
478899479142479529hecfp128fkt
490869491229491256kumfp128g
513585518247519390curve25519
549477549657549828ecfp256e
571212571428571761prjfp127i
572031572211572499ecfp256q
585216585387585603hecfp127i
592137592695593415ecfp256i
642204642366644562kummer
651762652167653130surf127eps
687042687276687510ecfp256h
708561708777708993ecfp256s
763011763578764505sclaus1024
814158821241821610curve2251
102828610286371029060surf2113
104171410420201042776hecfp128i
170590517147881722465ed448goldilocks
174967217500501751004hector
199506619978202001537nistp256
246782724723632477880ed521gs
290367029112392915145nist521gs
323435732354643244527sclaus2048
382952738310033841515claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
420484311044397jacfp127i
428854391145153kumjacfp127g
487804982450859prjfp127i
496355045451768hecfp127i
743137521376194jacfp128bk
765727733778633ecfp256e
819368286384510ecfp256h
829088379085014ecfp256s
877958859689874prjfp128bk
882818910990360hecfp128fkt
883628915490270hecfp128bk
883088931690360hecfp128i
895329060391674ecfp256q
134136135972137241gls1271
142686143163144531curve2251
177759177777177885kumfp127g
313587314397314640kumfp128g
329580329607330453curve25519
321156341046364284hector
348084348318348993ed448goldilocks
383598385551388026ecfp256i
421227423387425367surf127eps
425718425763430587kummer
431271436050440721sclaus1024
522828523440524016nistp256
680940683955686250surf2113
168936316920361696239ed521gs
197419519748251980900nist521gs
211636821307862145069sclaus2048
258004825854212591577claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182448182448182457kumfp127g
188217188217188226kumjacfp127g
243000243036243081jacfp128bk
291699291933292167jacfp127i
299646299718299790prjfp128bk
307620307746307953hecfp128bk
309420309753310347gls1271
318168318195318222curve25519
318141318312318726hecfp128fkt
327141327141327429kumfp128g
362691362817362979ecfp256e
377928378081378306ecfp256q
380916380943381060prjfp127i
383643383742383850ecfp256i
389412389511389619hecfp127i
409014410562411885surf127eps
419328420696420723kummer
426906427122430902sclaus1024
454167454266454437ecfp256h
469674469800469935ecfp256s
546552546588548352curve2251
671535671742672102surf2113
692766693063693648hecfp128i
102353410297261032840ed448goldilocks
110025011003311100457hector
118471511866141187478nistp256
164295916470541648656ed521gs
193618819377271941867nist521gs
215649921577862162853sclaus2048
255255325530932559024claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
625581627975628182curve25519
957204962928963180kummer
121354212193651222884nistp256
167683516805161685232ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
614196614538618561curve25519
945306947313952182kummer
421523142233854234491nistp256
561226556264495902704ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

Cycles to generate a key pair
quartilemedianquartilesystem
422464320044523jacfp127i
430474408245207kumjacfp127g
487534978850823prjfp127i
496175109353424hecfp127i
747907596977238jacfp128bk
765277739178795ecfp256e
816758233283529ecfp256h
831158382685104ecfp256s
871748819189379prjfp128bk
881108896590018hecfp128fkt
883808922690324hecfp128bk
884348943390423hecfp128i
892899036991206ecfp256q
134658136296137817gls1271
142452142677144279curve2251
177786177795177903kumfp127g
313569314289314523kumfp128g
329427329796329922curve25519
320139341046364212hector
348921349146349560ed448goldilocks
382851384498386730ecfp256i
422541424494426042surf127eps
424872425727428166kummer
431559434727438840sclaus1024
524241547956552789nistp256
681795685053687483surf2113
167975116869961698102ed521gs
197371819743481981494nist521gs
212047221362762149335sclaus2048
257780725840802590218claus
Cycles to compute a shared secret
quartilemedianquartilesystem
182475182475182484kumfp127g
187956188334188334kumjacfp127g
242946243072243216jacfp128bk
291960292023292221jacfp127i
299592299637299745prjfp128bk
307737307872308034hecfp128bk
309231309429309870gls1271
318285318303318672curve25519
318861319032319221hecfp128fkt
327141327141327150kumfp128g
362718362826363024ecfp256e
377640377811378036ecfp256q
380934381015381114prjfp127i
383661383742383859ecfp256i
389079389232389286hecfp127i
411372412209413127surf127eps
412290413397415116kummer
426933427059427275sclaus1024
454140454257454419ecfp256h
469854469962470079ecfp256s
546795550404550467curve2251
671625672030672390surf2113
693198693333693513hecfp128i
101724310190251029330ed448goldilocks
109994411005741101015hector
118475111847691185606nistp256
164322016453441650456ed521gs
193489219355671937277nist521gs
215997321615572167749sclaus2048
255275125576112560914claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32hecfp127i
32hecfp128bk
32hecfp128fkt
32hecfp128i
32jacfp127i
32jacfp128bk
32kumfp127g
32kumfp128g
32kumjacfp127g
32kummer
32nistp256
32prjfp127i
32prjfp128bk
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kumfp127g
48kumfp128g
48kumjacfp127g
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64hecfp127i
64hecfp128bk
64hecfp128fkt
64hecfp128i
64jacfp127i
64jacfp128bk
64nistp256
64prjfp127i
64prjfp128bk
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

Cycles to generate a key pair
quartilemedianquartilesystem
623358623466623943curve25519
936900965016970578kummer
121682712207691226997nistp256
177972317825581786806ed448goldilocks
Cycles to compute a shared secret
quartilemedianquartilesystem
610731610875613116curve25519
922887932967942678kummer
420928242193444233852nistp256
550191655172975527521ed448goldilocks
Secret key
bytessystem
32curve25519
32kummer
32nistp256
144ed448goldilocks
Public key
bytessystem
32curve25519
48kummer
56ed448goldilocks
64nistp256
Shared secret
bytessystem
32curve25519
48kummer
64ed448goldilocks
64nistp256

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

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

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

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

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

Cycles to generate a key pair
quartilemedianquartilesystem
843128517686264ecfp256e
877448846489664ecfp256h
906729153692616ecfp256s
101784102848104000ecfp256q
132776134712136160gls1271
142984143272144440curve2251
306856308432309136curve25519
330008330680331232ed448goldilocks
354640375432400624hector
417088419104420608kummer
423360425088428360surf127eps
432336436368440480sclaus1024
449840452776458944ecfp256i
591848597336607328nistp256
754728757784760208surf2113
169275216957681700040ed521gs
202028020233042027960nist521gs
211868021332002146848sclaus2048
258924825980242779024claus
Cycles to compute a shared secret
quartilemedianquartilesystem
296416296816297440curve25519
310096310472310880gls1271
407472408400411328kummer
410296412120414536surf127eps
426664426744426800ecfp256e
426992427120427488sclaus1024
437024437072437168ecfp256q
449576449672449736ecfp256i
514256514360514560ecfp256h
543968544080544248ecfp256s
547896548048550936curve2251
745576745760746000surf2113
102597610286641032536ed448goldilocks
113548811362881136936hector
117015211737041173992nistp256
164623216530241657976ed521gs
198779219932081996376nist521gs
215836021628722164936sclaus2048
256034425656162610992claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
32kummer
32nistp256
32surf127eps
104nist521gs
130ed521gs
144ed448goldilocks
256claus
Public key
bytessystem
32curve2251
32curve25519
32gls1271
48kummer
48surf127eps
48surf2113
56ed448goldilocks
60hector
64ecfp256e
64ecfp256h
64ecfp256q
64ecfp256s
64nistp256
96ecfp256i
128claus
128sclaus1024
144ed521gs
144nist521gs
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
32ecfp256e
32ecfp256h
32ecfp256i
32ecfp256q
32ecfp256s
32gls1271
48kummer
48surf127eps
48surf2113
60hector
64ed448goldilocks
64nistp256
72ed521gs
72nist521gs
128claus
128sclaus1024
256sclaus2048

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

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

x86; P4 Willamette (f12); 2001 Intel Pentium 4; 1 x 2000MHz; leaf, supercop-20160731

Cycles to generate a key pair
quartilemedianquartilesystem
913520913644913876curve25519
154176015924801661140hector
325901632896083350216surf2113
349000435233643559640surf127eps
364025236481643655104kummer
380797638371603864212curve2251
491146049415084944296nistp256
731610873716247473884sclaus1024
168985081692531216948220claus
370622843733342837578436sclaus2048
Cycles to compute a shared secret
quartilemedianquartilesystem
904404912960921232curve25519
326952832795003303696surf2113
349240835311163559360surf127eps
364125236761723676500kummer
380528838150363843708curve2251
504762050654405083060hector
729010473046967365808sclaus1024
169029041692324016945332claus
170460721721593617503120nistp256
378626483788848437939428sclaus2048
Secret key
bytessystem
20sclaus1024
28sclaus2048
28surf2113
29hector
32curve2251
32curve25519
32kummer
32nistp256
32surf127eps
256claus
Public key
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve2251
32curve25519
48kummer
48surf127eps
48surf2113
60hector
64nistp256
128claus
128sclaus1024
256sclaus2048

x86; K7 (622); 2000 AMD Athlon; 1 x 900MHz; thoth, supercop-20160806

Cycles to generate a key pair
quartilemedianquartilesystem
607291607426607908curve25519
932775938778969402kummer
104423710445301076302nistp256
145122814558331488664ed448goldilocks
163454516414951665905surf127eps
171735517374911761365sclaus1024
806902581152138182971sclaus2048
103577341039968510634338claus
Cycles to compute a shared secret
quartilemedianquartilesystem
593848594201594830curve25519
922327922566956978kummer
162323516256461652125surf127eps
171483517303261746856sclaus1024
336838833725163373035nistp256
433298443341514338499ed448goldilocks
820289782193948234697sclaus2048
103737581037547210381379claus
Secret key
bytessystem
20sclaus1024
28sclaus2048
32curve25519
32kummer
32nistp256
32surf127eps
144ed448goldilocks
256claus
Public key
bytessystem
32curve25519
48kummer
48surf127eps
56ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048
Shared secret
bytessystem
32curve25519
48kummer
48surf127eps
64ed448goldilocks
64nistp256
128claus
128sclaus1024
256sclaus2048

Version

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