7520b032a206cf56ef1e6213bde9e7f3c93796e9
[u/mdw/catacomb] / ectab.in
1 # $Id$
2 #
3 # Standard ellipic curves
4
5 #----- Curves from SEC2 -----------------------------------------------------
6
7 curve secp112r1 prime
8 p 0xdb7c2abf62e35e668076bead208b
9 a 0xdb7c2abf62e35e668076bead2088
10 b 0x659ef8ba043916eede8911702b22
11 r 0xdb7c2abf62e35e7628dfac6561c5
12 h 1
13 gx 0x09487239995a5ee76b55f9c2f098
14 gy 0xa89ce5af8724c0a23e0e0ff77500
15 curve secp112r2 prime
16 p 0xdb7c2abf62e35e668076bead208b
17 a 0x6127c24c05f38a0aaaf65c0ef02c
18 b 0x51def1815db5ed74fcc34c85d709
19 r 0x36df0aafd8b8d7597ca10520d04b
20 h 4
21 gx 0x4ba30ab5e892b4e1649dd0928643
22 gy 0xadcd46f5882e3747def36e956e97
23
24 curve secp128r1 niceprime
25 p 0xfffffffdffffffffffffffffffffffff
26 a 0xfffffffdfffffffffffffffffffffffc
27 b 0xe87579c11079f43dd824993c2cee5ed3
28 r 0xfffffffe0000000075a30d1b9038a115
29 h 1
30 gx 0x161ff7528b899b2d0c28607ca52c5b86
31 gy 0xcf5ac8395bafeb13c02da292dded7a83
32 curve secp128r2 niceprime
33 p 0xfffffffdffffffffffffffffffffffff
34 a 0xd6031998d1b3bbfebf59cc9bbff9aee1
35 b 0x5eeefca380d02919dc2c6558bb6d8a5d
36 r 0x3fffffff7fffffffbe0024720613b5a3
37 h 4
38 gx 0x7b6aa5d85e572983e6fb32a7cdebc140
39 gy 0x27b6916a894d3aee7106fe805fc34b44
40
41 curve secp160k1 niceprime
42 p 0xfffffffffffffffffffffffffffffffeffffac73
43 a 0
44 b 7
45 r 0x0100000000000000000001b8fa16dfab9aca16b6b3
46 h 1
47 gx 0x3b4c382ce37aa192a4019e763036f4f5dd4d7ebb
48 gy 0x938cf935318fdced6bc28286531733c3f03c4fee
49 curve secp160r1 niceprime
50 p 0xffffffffffffffffffffffffffffffff7fffffff
51 a 0xffffffffffffffffffffffffffffffff7ffffffc
52 b 0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45
53 r 0x0100000000000000000001f4c8f927aed3ca752257
54 h 1
55 gx 0x4a96b5688ef573284664698968c38bb913cbfc82
56 gy 0x23a628553168947d59dcc912042351377ac5fb32
57 curve secp160r2 niceprime
58 p 0xfffffffffffffffffffffffffffffffeffffac73
59 a 0xfffffffffffffffffffffffffffffffeffffac70
60 b 0xb4e134d3fb59eb8bab57274904664d5af50388ba
61 r 0x0100000000000000000000351ee786a818f3a1a16b
62 h 1
63 gx 0x52dcb034293a117e1f4ff11b30f7199d3144ce6d
64 gy 0xfeaffef2e331f296e071fa0df9982cfea7d43f2e
65
66 curve secp192k1 niceprime
67 p 0xfffffffffffffffffffffffffffffffffffffffeffffee37
68 a 0
69 b 3
70 r 0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d
71 h 1
72 gx 0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d
73 gy 0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d
74 curve secp192r1 niceprime
75 p 0xfffffffffffffffffffffffffffffffeffffffffffffffff
76 a 0xfffffffffffffffffffffffffffffffefffffffffffffffc
77 b 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1
78 r 0xffffffffffffffffffffffff99def836146bc9b1b4d22831
79 h 1
80 gx 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012
81 gy 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811
82
83 curve secp224k1 niceprime
84 p 0xfffffffffffffffffffffffffffffffffffffffffffffffeffffe56d
85 a 0
86 b 5
87 r 0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7
88 h 1
89 gx 0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c
90 gy 0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5
91 curve secp224r1 niceprime
92 p 0xffffffffffffffffffffffffffffffff000000000000000000000001
93 a 0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe
94 b 0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4
95 r 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d
96 h 1
97 gx 0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21
98 gy 0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34
99
100 curve secp256k1 niceprime
101 p 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f
102 a 0
103 b 7
104 r 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141
105 h 1
106 gx 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798
107 gy 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8
108 curve secp256r1 niceprime
109 p 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff
110 a 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc
111 b 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b
112 r 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551
113 h 1
114 gx 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296
115 gy 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5
116
117 curve secp384r1 niceprime
118 p 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff
119 a 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc
120 b 0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef
121 r 0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973
122 h 1
123 gx 0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7
124 gy 0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f
125
126 curve secp521r1 niceprime
127 p 0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
128 a 0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc
129 b 0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00
130 r 0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409
131 h 1
132 gx 0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66
133 gy 0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650
134
135 curve sect113r1 binpoly
136 p 0x20000000000000000000000000201
137 a 0x003088250ca6e7c7fe649ce85820f7
138 b 0x00e8bee4d3e2260744188be0e9c723
139 r 0x0100000000000000d9ccec8a39e56f
140 h 2
141 gx 0x009d73616f35f4ab1407d73562c10f
142 gy 0x00a52830277958ee84d1315ed31886
143 curve sect113r2 binpoly
144 p 0x20000000000000000000000000201
145 a 0x00689918dbec7e5a0dd6dfc0aa55c7
146 b 0x0095e9a9ec9b297bd4bf36e059184f
147 r 0x010000000000000108789b2496af93
148 h 2
149 gx 0x01a57a6a7b26ca5ef52fcdb8164797
150 gy 0x00b3adc94ed1fe674c06e695baba1d
151
152 curve sect131r1 binpoly
153 p 0x80000000000000000000000000000010d
154 a 0x07a11b09a76b562144418ff3ff8c2570b8
155 b 0x0217c05610884b63b9c6c7291678f9d341
156 r 0x0400000000000000023123953a9464b54d
157 h 2
158 gx 0x0081baf91fdf9833c40f9c181343638399
159 gy 0x078c6e7ea38c001f73c8134b1b4ef9e150
160 curve sect131r2 binpoly
161 p 0x80000000000000000000000000000010d
162 a 0x03e5a88919d7cafcbf415f07c2176573b2
163 b 0x04b8266a46c55657ac734ce38f018f2192
164 r 0x0400000000000000016954a233049ba98f
165 h 2
166 gx 0x0356dcd8f2f95031ad652d23951bb366a8
167 gy 0x0648f06d867940a5366d9e265de9eb240f
168
169 curve sect163k1 binpoly
170 p 0x800000000000000000000000000000000000000c9
171 a 1
172 b 1
173 r 0x04000000000000000000020108a2e0cc0d99f8a5ef
174 h 2
175 gx 0x02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8
176 gy 0x0289070fb05d38ff58321f2e800536d538ccdaa3d9
177 curve sect163r1 binpoly
178 p 0x800000000000000000000000000000000000000c9
179 a 0x07b6882caaefa84f9554ff8428bd88e246d2782ae2
180 b 0x0713612dcddcb40aab946bda29ca91f73af958afd9
181 r 0x03ffffffffffffffffffff48aab689c29ca710279b
182 h 2
183 gx 0x0369979697ab43897789566789567f787a7876a654
184 gy 0x00435edb42efafb2989d51fefce3c80988f41ff883
185 curve sect163r2 binpoly
186 p 0x800000000000000000000000000000000000000c9
187 a 1
188 b 0x020a601907b8c953ca1481eb10512f78744a3205fd
189 r 0x040000000000000000000292fe77e70c12a4234c33
190 h 2
191 gx 0x03f0eba16286a2d57ea0991168d4994637e8343e36
192 gy 0x00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1
193
194 curve sect193r1 binpoly
195 p 0x2000000000000000000000000000000000000000000008001
196 a 0x0017858feb7a98975169e171f77b4087de098ac8a911df7b01
197 b 0x00fdfb49bfe6c3a89facadaa7a1e5bbc7cc1c2e5d831478814
198 r 0x01000000000000000000000000c7f34a778f443acc920eba49
199 h 2
200 gx 0x01f481bc5f0ff84a74ad6cdf6fdef4bf6179625372d8c0c5e1
201 gy 0x0025e399f2903712ccf3ea9e3a1ad17fb0b3201b6af7ce1b05
202 curve sect193r2 binpoly
203 p 0x2000000000000000000000000000000000000000000008001
204 a 0x0163f35a5137c2ce3ea6ed8667190b0bc43ecd69977702709b
205 b 0x00c9bb9e8927d4d64c377e2ab2856a5b16e3efb7f61d4316ae
206 r 0x010000000000000000000000015aab561b005413ccd4ee99d5
207 h 2
208 gx 0x00d9b67d192e0367c803f39e1a7e82ca14a651350aae617e8f
209 gy 0x01ce94335607c304ac29e7defbd9ca01f596f927224cdecf6c
210
211 curve sect233k1 binpoly
212 p 0x20000000000000000000000000000000000000004000000000000000001
213 a 0
214 b 1
215 r 0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf
216 h 4
217 gx 0x017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126
218 gy 0x01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3
219 curve sect233r1 binpoly
220 p 0x20000000000000000000000000000000000000004000000000000000001
221 a 1
222 b 0x0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad
223 r 0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7
224 h 2
225 gx 0x00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b
226 gy 0x01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052
227
228 curve sect239k1 binpoly
229 p 0x800000000000000000004000000000000000000000000000000000000001
230 a 0
231 b 1
232 r 0x2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5
233 h 4
234 gx 0x29a0b6a887a983e9730988a68727a8b2d126c44cc2cc7b2a6555193035dc
235 gy 0x76310804f12e549bdb011c103089e73510acb275fc312a5dc6b76553f0ca
236
237 curve sect283k1 binpoly
238 p 0x800000000000000000000000000000000000000000000000000000000000000000010a1
239 a 0
240 b 1
241 r 0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61
242 h 4
243 gx 0x0503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836
244 gy 0x01ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259
245 curve sect283r1 binpoly
246 p 0x800000000000000000000000000000000000000000000000000000000000000000010a1
247 a 1
248 b 0x027b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5
249 r 0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307
250 h 2
251 gx 0x05f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053
252 gy 0x03676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4
253
254 curve sect409k1 binpoly
255 p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001
256 a 0
257 b 1
258 r 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf
259 h 4
260 gx 0x0060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746
261 gy 0x01e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b
262 curve sect409r1 binpoly
263 p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001
264 a 1
265 b 0x0021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f
266 r 0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173
267 h 2
268 gx 0x015d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7
269 gy 0x0061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706
270
271 curve sect571k1 binpoly
272 p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425
273 a 0
274 b 1
275 r 0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001
276 h 4
277 gx 0x026eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972
278 gy 0x0349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3
279 curve sect571r1 binpoly
280 p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425
281 a 1
282 b 0x02f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a
283 r 0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47
284 h 2
285 gx 0x0303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19
286 gy 0x037bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b
287
288 #----- Curves from ANSI X9.62 -----------------------------------------------
289 #
290 # The conversion factors for the normal basis representations were generated
291 # because none were given in the document.
292
293 curve ansi-c2pnb163v1 binpoly
294 p 0x080000000000000000000000000000000000000107
295 a 0x072546b5435234a422e0789675f432c89435de5242
296 b 0x00c9517d06d5240d3cff38c74b20b6cd4d6f9dd4d9
297 r 0x0400000000000000000001e60fc8821cc74daeafc1
298 h 2
299 gx 0x07af69989546103d79329fcc3d74880f33bbe803cb
300 gy 0x01ec23211b5966adea1d3f87f7ea5848aef0b7ca9f
301 curve ansi-c2pnb163v2 binpoly
302 p 0x080000000000000000000000000000000000000107
303 a 0x0108b39e77c4b108bed981ed0e890e117c511cf072
304 b 0x0667aceb38af4e488c407433ffae4f1c811638df20
305 r 0x03fffffffffffffffffffdf64de1151adbb78f10a7
306 h 2
307 gx 0x0024266e4eb5106d0a964d92c4860e2671db9b6cc5
308 gy 0x079f684ddf6684c5cd258b3890021b2386dfd19fc5
309 curve ansi-c2pnb163v3 binpoly
310 p 0x080000000000000000000000000000000000000107
311 a 0x07a526c63d3e25a256a007699f5447e32ae456b50e
312 b 0x03f7061798eb99e238fd6f1bf95b48feeb4854252b
313 r 0x03fffffffffffffffffffe1aee140f110aff961309
314 h 2
315 gx 0x02f9f87b7c574d0bdecf8a22e6524775f98cdebdcb
316 gy 0x05b935590c155e17ea48eb3ff3718b893df59a05d0
317
318 # ansi-c2pnb176w1 has an unacceptable cofactor; and 176 isn't prime anyway
319
320 curve ansi-c2tnb191v1 binpoly
321 p 0x800000000000000000000000000000000000000000000201
322 a 0x2866537b676752636a68f56554e12640276b649ef7526267
323 b 0x2e45ef571f00786f67b0081b9495a3d95462f5de0aa185ec
324 r 0x40000000000000000000000004a20e90c39067c893bbb9a5
325 h 2
326 gx 0x36b3daf8a23206f9c4f299d7b21a9c369137f2c84ae1aa0d
327 gy 0x765be73433b3f95e332932e70ea245ca2418ea0ef98018fb
328 curve ansi-c2tnb191v2 binpoly
329 p 0x800000000000000000000000000000000000000000000201
330 a 0x401028774d7777c7b7666d1366ea432071274f89ff01e718
331 b 0x0620048d28bcbd03b6249c99182b7c8cd19700c362c46a01
332 r 0x20000000000000000000000050508cb89f652824e06b8173
333 h 4
334 gx 0x3809b2b7cc1b28cc5a87926aad83fd28789e81e2c9e3bf10
335 gy 0x17434386626d14f3dbf01760d9213a3e1cf37aec437d668a
336 # ansi-c2tnb191v3 and ansi-c2onb191v2 have unacceptable cofactor
337 curve ansi-c2onb191v1 binnorm
338 p 0x800000000000000000000000000000000000000000000201
339 beta 0x19c409a7f85383bf0ef72b097a5c7398013a2dba6269292d
340 a 0x65903e04e1e4924253e26a3c9ac28c758bd8184a3fb680e8
341 b 0x54678621b190cfce282ade219d5b3a065e3f4b3ffdebb29b
342 r 0x4000000000000000000000009cf2d6e3901dac4c32eec65d
343 h 2
344 gx 0x5a2c69a32e8638e51ccefaad05350a978457cb5fb6df994a
345 gy 0x0f32fe0fa0e902f19b17d363c269f4f5cfe8087618569954
346
347 # ansi-c2pnb208v1 has an unacceptable cofactor; and 208 isn't prime anyway
348
349 curve ansi-c2tnb239v1 binpoly
350 p 0x800000000000000000000000000000000000000000000000001000000001
351 a 0x32010857077c5431123a46b808906756f543423e8d27877578125778ac76
352 b 0x790408f2eedaf392b012edefb3392f30f4327c0ca3f31fc383c422aa8c16
353 r 0x2000000000000000000000000000000f4d42ffe1492a4993f1cad666e447
354 h 4
355 gx 0x57927098fa932e7c0a96d3fd5b706ef7e5f5c156e16b7e7c86038552e91d
356 gy 0x61d8ee5077c33fecf6f1a16b268de469c3c7744ea9a971649fc7a9616305
357 # ansi-c2tnb239v{2,3} and ansi-c2onb239v2 have unacceptable cofactors
358 curve ansi-c2onb239v1 binnorm
359 p 0x800000000000000000000000000000000000000000000000001000000001
360 beta 0x3b5ce9846911b248f9347018a7ac8cce3662cee952ba45becd02d4b903ec
361 a 0x182dd45f5d470239b8983fea47b8b292641c57f9bf84baecde8bb3adce30
362 b 0x147a9c1d4c2ce9be5d34ec02797f76667ebad5a3f93fa2a524bfde91ef28
363 r 0x200000000000000000000000000000474f7e69f42fe430931d0b455aae8b
364 h 4
365 gx 0x4912ad657f1d1c6b32edb9942c95e226b06fb012cd40fdea0d72197c8104
366 gy 0x01f1fbc3d21168fd3f66c441c2b5c6cfdcd9ed3e13646b7a4db9a3b0c286
367
368 # ansi-c2pnb272w1 has an unacceptable cofactor; and 272 isn't prime anyway
369
370 # ansi-c2pnb304w1 has an unacceptable cofactor; and 304 isn't prime anyway
371
372 # ansi-c2tnb359v1 has an unacceptable cofactor
373
374 # ansi-c2pnb368w1 has an unacceptable cofactor; and 368 isn't prime anyway
375
376 # ansi-c2tnb431v1 has an unacceptable cofactor
377
378 alias ansi-prime192v1 secp192r1
379 curve ansi-prime192v2 niceprime
380 p 0xfffffffffffffffffffffffffffffffeffffffffffffffff
381 a 0xfffffffffffffffffffffffffffffffefffffffffffffffc
382 b 0xcc22d6dfb95c6b25e49c0d6364a4e5980c393aa21668d953
383 r 0xfffffffffffffffffffffffe5fb1a724dc80418648d8dd31
384 h 1
385 gx 0xeea2bae7e1497842f2de7769cfe9c989c072ad696f48034a
386 gy 0x6574d11d69b6ec7a672bb82a083df2f2b0847de970b2de15
387 curve ansi-prime192v3 niceprime
388 p 0xfffffffffffffffffffffffffffffffeffffffffffffffff
389 a 0xfffffffffffffffffffffffffffffffefffffffffffffffc
390 b 0x22123dc2395a05caa7423daeccc94760a7d462256bd56916
391 r 0xffffffffffffffffffffffff7a62d031c83f4294f640ec13
392 h 1
393 gx 0x7d29778100c65a1da1783716588dce2b8b4aee8e228f1896
394 gy 0x38a90f22637337334b49dcb66a6dc8f9978aca7648a943b0
395
396 curve ansi-prime239v1 niceprime
397 p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff
398 a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc
399 b 0x6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a
400 r 0x7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b
401 h 1
402 gx 0x0ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf
403 gy 0x7debe8e4e90a5dae6e4054ca530ba04654b36818ce226b39fccb7b02f1ae
404 curve ansi-prime239v2 niceprime
405 p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff
406 a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc
407 b 0x617fab6832576cbbfed50d99f0249c3fee58b94ba0038c7ae84c8c832f2c
408 r 0x7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063
409 h 1
410 gx 0x38af09d98727705120c921bb5e9e26296a3cdcf2f35757a0eafd87b830e7
411 gy 0x5b0125e4dbea0ec7206da0fc01d9b081329fb555de6ef460237dff8be4ba
412 curve ansi-prime239v3 niceprime
413 p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff
414 a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc
415 b 0x255705fa2a306654b1f4cb03d6a750a30c250102d4988717d9ba15ab6d3e
416 r 0x7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551
417 h 1
418 gx 0x6768ae8e18bb92cfcf005c949aa2c6d94853d0e660bbf854b1c9505fe95a
419 gy 0x1607e6898f390c06bc1d552bad226f3b6fcfe48b6e818499af18e3ed6cf3
420
421 alias ansi-prime256v1 secp256r1
422
423 #----- Curves from ANSI X9.63 -----------------------------------------------
424 #
425 # These are just duplicates of the SEC curves.
426
427 alias ansit163k1 sect163k1
428 alias ansit163r1 sect163r1
429 alias ansit163r2 sect163r2
430 alias ansit193r1 sect193r1
431 alias ansit193r2 sect193r2
432 alias ansit233k1 sect233k1
433 alias ansit233r1 sect233r1
434 alias ansit239k1 sect239k1
435 alias ansit283k1 sect283k1
436 alias ansit283r1 sect283r1
437 alias ansit409k1 sect409k1
438 alias ansit409r1 sect409r1
439 alias ansit571k1 sect571k1
440 alias ansit571r1 sect571r1
441
442 alias ansip160k1 secp160k1
443 alias ansip160r1 secp160r1
444 alias ansip160r2 secp160r2
445 alias ansip192k1 secp192k1
446 alias ansip192r1 secp192r1
447 alias ansip224k1 secp224k1
448 alias ansip224r1 secp224r1
449 alias ansip256k1 secp256k1
450 alias ansip256r1 secp256r1
451 alias ansip384r1 secp384r1
452 alias ansip521r1 secp521r1
453
454 #----- Curves from RFC2414 (Oakley) -----------------------------------------
455 #
456 # The Oakley curves are not good:
457 # oakley155 has too large a cofactor
458 # oakley185's field has composite degree
459 # Hence, we include neither here.
460
461 #----- NIST curves from FIPS186-2 -------------------------------------------
462 #
463 # These are duplicates of SEC2 curves. However, the normal basis
464 # representations aren't in SEC, so we give them here. (Conversion factors
465 # from FIPS186-2.
466
467 alias nist-p192 secp192r1
468 alias nist-p224 secp224r1
469 alias nist-p256 secp256r1
470 alias nist-p384 secp384r1
471 alias nist-p521 secp521r1
472
473 alias nist-k163 sect163k1
474 alias nist-k233 sect233k1
475 alias nist-k283 sect283k1
476 alias nist-k409 sect409k1
477 alias nist-k571 sect571k1
478
479 alias nist-b163 sect163r2
480 alias nist-b233 sect233r1
481 alias nist-b283 sect283r1
482 alias nist-b409 sect409r1
483 alias nist-b571 sect571r1
484
485 curve nist-k163n binnorm
486 p 0x800000000000000000000000000000000000000c9
487 beta 0x715169c109c612e390d347c748342bcd3b02a0bef
488 a 0x7ffffffffffffffffffffffffffffffffffffffff
489 b 0x7ffffffffffffffffffffffffffffffffffffffff
490 r 0x04000000000000000000020108a2e0cc0d99f8a5ef
491 h 2
492 gx 0x05679b353caa46825fea2d3713ba450da0c2a4541
493 gy 0x235b7c6710050689906bac3d9dec76a835591edb2
494 curve nist-b163n binnorm
495 p 0x800000000000000000000000000000000000000c9
496 beta 0x715169c109c612e390d347c748342bcd3b02a0bef
497 a 0x7ffffffffffffffffffffffffffffffffffffffff
498 b 0x6645f3cacf1638e139c6cd13ef61734fbc9e3d9fb
499 r 0x040000000000000000000292fe77e70c12a4234c33
500 h 2
501 gx 0x0311103c17167564ace77ccb09c681f886ba54ee8
502 gy 0x333ac13c6447f2e67613bf7009daf98c87bb50c7f
503
504 curve nist-k233n binnorm
505 p 0x20000000000000000000000000000000000000004000000000000000001
506 beta 0x1499e398ac5d79e368559b35ca49bb7305da6c0390bcf9e2300253203c9
507 a 0
508 b 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
509 r 0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf
510 h 4
511 gx 0x0fde76d9dcd26e643ac26f1aa901aa129784b71fc0722b2d05614d650b3
512 gy 0x0643e317633155c9e0447ba8020a3c43177450ee036d633501434cac978
513 curve nist-b233n binnorm
514 p 0x20000000000000000000000000000000000000004000000000000000001
515 beta 0x1499e398ac5d79e368559b35ca49bb7305da6c0390bcf9e2300253203c9
516 a 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
517 b 0x1a003e0962d4f9a8e407c904a9538163adb825212600c7752ad52233279
518 r 0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7
519 h 2
520 gx 0x18b863524b3cdfefb94f2784e0b116faac54404bc9162a363bab84a14c5
521 gy 0x04925df77bd8b8ff1a5ff519417822bfedf2bbd752644292c98c7af6e02
522
523 curve nist-k283n binnorm
524 p 0x800000000000000000000000000000000000000000000000000000000000000000010a1
525 beta 0x31e0ed791c3282dc5624a720818049d053e8c7ab8663792bc1d792eba9867fc7b317a99
526 a 0
527 b 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
528 r 0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61
529 h 4
530 gx 0x3ab9593f8db09fc188f1d7c4ac9fcc3e57fcd3bdb15024b212c70229de5fcd92eb0ea60
531 gy 0x2118c4755e7345cd8f603ef93b98b106fe8854ffeb9a3b304634cc83a0e759f0c2686b1
532 curve nist-b283n binnorm
533 p 0x800000000000000000000000000000000000000000000000000000000000000000010a1
534 beta 0x31e0ed791c3282dc5624a720818049d053e8c7ab8663792bc1d792eba9867fc7b317a99
535 a 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
536 b 0x157261b894739fb5a13503f55f0b3f10c5601166633102201138cc180c0206bdafbc951
537 r 0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307
538 h 2
539 gx 0x749468e464ee468634b21f7f61cb700701817e6bc36a2364cb8906e940948eaa463c35d
540 gy 0x62968bd3b489ac5c9b859da68475c315bafcdc4ccd0dc905b70f62446f49c052f49c08c
541
542 curve nist-k409n binnorm
543 p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001
544 beta 0x0dfa06be206aa97b7a41fffb9b0c55f8f048062fbe8381b4248adf92912ccc8e3f91a24e1cfb3950532b988971c23042e85708d
545 a 0
546 b 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
547 r 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf
548 h 4
549 gx 0x1b559c7cba2422e3affe13343e808b55e012d726ca0b7e6a63aeafbc1e3a98e10ca0fcf98350c3b7f89a9754a8e1dc0713cec4a
550 gy 0x16d8c42052f07e7713e7490eff318ba1abd6fef8a5433c894b24f5c817aeb79852496fbee803a47bc8a203878ebf1c499afd7d6
551 curve nist-b409n binnorm
552 p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001
553 beta 0x0dfa06be206aa97b7a41fffb9b0c55f8f048062fbe8381b4248adf92912ccc8e3f91a24e1cfb3950532b988971c23042e85708d
554 a 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
555 b 0x124d0651c3d3772f7f5a1fe6e715559e2129bdfa04d52f7b6ac7c532cf0ed06f610072d88ad2fdcc50c6fde72843670f8b3742a
556 r 0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173
557 h 2
558 gx 0x0ceacbc9f475767d8e69f3b5dfab39813685262bcacf22b84c7b6dd981899e7318c96f0761f77c602c016ced7c548de830d708f
559 gy 0x199d64ba8f089c6db0e0b61e80bb95934afd0caf2e8be76d1c5e9affc7476df49142691ad30390288aa09bcc59c1573aa3c009a
560
561 curve nist-k571n binnorm
562 p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425
563 beta 0x452186bbf5840a0bcf8c9f02a54efa04e813b43c3d4149606c4d27b487bf107393c8907f79d9778beb35ee87467d3288274caebda6ce05aeb4ca5cf3c3044bd4372232f2c1a27c4
564 a 0
565 b 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
566 r 0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001
567 h 4
568 gx 0x04bb2dba418d0db107adae003427e5d7cc139acb465e5934f0bea2ab2f3622bc29b3d5b9aa7a1fdfd5d8be66057c1008e71e484bcd98f22bf8476423767367429ef2ec5bc3ebcf7
569 gy 0x44cbb57de20788d2c952d7b56cf39bd3e89b18984bd124e751ceff4369dd8dac6a59e6e745df44d8220ce22aa2c852cfcbbef49ebaa98bd2483e33180e04286feaa253050caff60
570 curve nist-b571n binnorm
571 p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425
572 beta 0x452186bbf5840a0bcf8c9f02a54efa04e813b43c3d4149606c4d27b487bf107393c8907f79d9778beb35ee87467d3288274caebda6ce05aeb4ca5cf3c3044bd4372232f2c1a27c4
573 a 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
574 b 0x3762d0d47116006179da35688eeaccf591a5cdea75000118d9608c59132d43426101a1dfb3774115f586623f75f00001ce611983c1275fa31f5bc9f4be1a0f467f01ca885c74777
575 r 0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47
576 h 2
577 gx 0x0735e035def5925cc33173eb2a8ce7767522b466d278b650a2916127dfea9d2d361089f0a7a0247a184e1c70d417866e0fe0feb0ff8f2f3f9176418f97d117e624e2015df1662a8
578 gy 0x04a36420572616cdf7e606fccadaecfc3b76dab0eb1248dd03fbdfc9cd3242c4726be579855e812de7ec5c500b4576a24628048b6a72d880062eed0dd34b1096d3acbb6b01a4a97
579
580 #----- That's all, folks-----------------------------------------------------