# $Id$ # # Standard ellipic curves #----- Curves from SEC2 ----------------------------------------------------- curve secp112r1 prime p 0xdb7c2abf62e35e668076bead208b a 0xdb7c2abf62e35e668076bead2088 b 0x659ef8ba043916eede8911702b22 r 0xdb7c2abf62e35e7628dfac6561c5 h 1 gx 0x09487239995a5ee76b55f9c2f098 gy 0xa89ce5af8724c0a23e0e0ff77500 curve secp112r2 prime p 0xdb7c2abf62e35e668076bead208b a 0x6127c24c05f38a0aaaf65c0ef02c b 0x51def1815db5ed74fcc34c85d709 r 0x36df0aafd8b8d7597ca10520d04b h 4 gx 0x4ba30ab5e892b4e1649dd0928643 gy 0xadcd46f5882e3747def36e956e97 curve secp128r1 niceprime p 0xfffffffdffffffffffffffffffffffff a 0xfffffffdfffffffffffffffffffffffc b 0xe87579c11079f43dd824993c2cee5ed3 r 0xfffffffe0000000075a30d1b9038a115 h 1 gx 0x161ff7528b899b2d0c28607ca52c5b86 gy 0xcf5ac8395bafeb13c02da292dded7a83 curve secp128r2 niceprime p 0xfffffffdffffffffffffffffffffffff a 0xd6031998d1b3bbfebf59cc9bbff9aee1 b 0x5eeefca380d02919dc2c6558bb6d8a5d r 0x3fffffff7fffffffbe0024720613b5a3 h 4 gx 0x7b6aa5d85e572983e6fb32a7cdebc140 gy 0x27b6916a894d3aee7106fe805fc34b44 curve secp160k1 niceprime p 0xfffffffffffffffffffffffffffffffeffffac73 a 0 b 7 r 0x0100000000000000000001b8fa16dfab9aca16b6b3 h 1 gx 0x3b4c382ce37aa192a4019e763036f4f5dd4d7ebb gy 0x938cf935318fdced6bc28286531733c3f03c4fee curve secp160r1 niceprime p 0xffffffffffffffffffffffffffffffff7fffffff a 0xffffffffffffffffffffffffffffffff7ffffffc b 0x1c97befc54bd7a8b65acf89f81d4d4adc565fa45 r 0x0100000000000000000001f4c8f927aed3ca752257 h 1 gx 0x4a96b5688ef573284664698968c38bb913cbfc82 gy 0x23a628553168947d59dcc912042351377ac5fb32 curve secp160r2 niceprime p 0xfffffffffffffffffffffffffffffffeffffac73 a 0xfffffffffffffffffffffffffffffffeffffac70 b 0xb4e134d3fb59eb8bab57274904664d5af50388ba r 0x0100000000000000000000351ee786a818f3a1a16b h 1 gx 0x52dcb034293a117e1f4ff11b30f7199d3144ce6d gy 0xfeaffef2e331f296e071fa0df9982cfea7d43f2e curve secp192k1 niceprime p 0xfffffffffffffffffffffffffffffffffffffffeffffee37 a 0 b 3 r 0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d h 1 gx 0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d gy 0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d curve secp192r1 niceprime p 0xfffffffffffffffffffffffffffffffeffffffffffffffff a 0xfffffffffffffffffffffffffffffffefffffffffffffffc b 0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1 r 0xffffffffffffffffffffffff99def836146bc9b1b4d22831 h 1 gx 0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012 gy 0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811 curve secp224k1 niceprime p 0xfffffffffffffffffffffffffffffffffffffffffffffffeffffe56d a 0 b 5 r 0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7 h 1 gx 0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c gy 0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5 curve secp224r1 niceprime p 0xffffffffffffffffffffffffffffffff000000000000000000000001 a 0xfffffffffffffffffffffffffffffffefffffffffffffffffffffffe b 0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4 r 0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d h 1 gx 0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21 gy 0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34 curve secp256k1 niceprime p 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f a 0 b 7 r 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141 h 1 gx 0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798 gy 0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8 curve secp256r1 niceprime p 0xffffffff00000001000000000000000000000000ffffffffffffffffffffffff a 0xffffffff00000001000000000000000000000000fffffffffffffffffffffffc b 0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b r 0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551 h 1 gx 0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296 gy 0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5 curve secp384r1 niceprime p 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000ffffffff a 0xfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffff0000000000000000fffffffc b 0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef r 0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973 h 1 gx 0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7 gy 0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f curve secp521r1 niceprime p 0x01ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff a 0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc b 0x0051953eb9618e1c9a1f929a21a0b68540eea2da725b99b315f3b8b489918ef109e156193951ec7e937b1652c0bd3bb1bf073573df883d2c34f1ef451fd46b503f00 r 0x01fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa51868783bf2f966b7fcc0148f709a5d03bb5c9b8899c47aebb6fb71e91386409 h 1 gx 0x00c6858e06b70404e9cd9e3ecb662395b4429c648139053fb521f828af606b4d3dbaa14b5e77efe75928fe1dc127a2ffa8de3348b3c1856a429bf97e7e31c2e5bd66 gy 0x011839296a789a3bc0045c8a5fb42c7d1bd998f54449579b446817afbd17273e662c97ee72995ef42640c550b9013fad0761353c7086a272c24088be94769fd16650 curve sect113r1 binpoly p 0x20000000000000000000000000201 a 0x003088250ca6e7c7fe649ce85820f7 b 0x00e8bee4d3e2260744188be0e9c723 r 0x0100000000000000d9ccec8a39e56f h 2 gx 0x009d73616f35f4ab1407d73562c10f gy 0x00a52830277958ee84d1315ed31886 curve sect113r2 binpoly p 0x20000000000000000000000000201 a 0x00689918dbec7e5a0dd6dfc0aa55c7 b 0x0095e9a9ec9b297bd4bf36e059184f r 0x010000000000000108789b2496af93 h 2 gx 0x01a57a6a7b26ca5ef52fcdb8164797 gy 0x00b3adc94ed1fe674c06e695baba1d curve sect131r1 binpoly p 0x80000000000000000000000000000010d a 0x07a11b09a76b562144418ff3ff8c2570b8 b 0x0217c05610884b63b9c6c7291678f9d341 r 0x0400000000000000023123953a9464b54d h 2 gx 0x0081baf91fdf9833c40f9c181343638399 gy 0x078c6e7ea38c001f73c8134b1b4ef9e150 curve sect131r2 binpoly p 0x80000000000000000000000000000010d a 0x03e5a88919d7cafcbf415f07c2176573b2 b 0x04b8266a46c55657ac734ce38f018f2192 r 0x0400000000000000016954a233049ba98f h 2 gx 0x0356dcd8f2f95031ad652d23951bb366a8 gy 0x0648f06d867940a5366d9e265de9eb240f curve sect163k1 binpoly p 0x800000000000000000000000000000000000000c9 a 1 b 1 r 0x04000000000000000000020108a2e0cc0d99f8a5ef h 2 gx 0x02fe13c0537bbc11acaa07d793de4e6d5e5c94eee8 gy 0x0289070fb05d38ff58321f2e800536d538ccdaa3d9 curve sect163r1 binpoly p 0x800000000000000000000000000000000000000c9 a 0x07b6882caaefa84f9554ff8428bd88e246d2782ae2 b 0x0713612dcddcb40aab946bda29ca91f73af958afd9 r 0x03ffffffffffffffffffff48aab689c29ca710279b h 2 gx 0x0369979697ab43897789566789567f787a7876a654 gy 0x00435edb42efafb2989d51fefce3c80988f41ff883 curve sect163r2 binpoly p 0x800000000000000000000000000000000000000c9 a 1 b 0x020a601907b8c953ca1481eb10512f78744a3205fd r 0x040000000000000000000292fe77e70c12a4234c33 h 2 gx 0x03f0eba16286a2d57ea0991168d4994637e8343e36 gy 0x00d51fbc6c71a0094fa2cdd545b11c5c0c797324f1 curve sect193r1 binpoly p 0x2000000000000000000000000000000000000000000008001 a 0x0017858feb7a98975169e171f77b4087de098ac8a911df7b01 b 0x00fdfb49bfe6c3a89facadaa7a1e5bbc7cc1c2e5d831478814 r 0x01000000000000000000000000c7f34a778f443acc920eba49 h 2 gx 0x01f481bc5f0ff84a74ad6cdf6fdef4bf6179625372d8c0c5e1 gy 0x0025e399f2903712ccf3ea9e3a1ad17fb0b3201b6af7ce1b05 curve sect193r2 binpoly p 0x2000000000000000000000000000000000000000000008001 a 0x0163f35a5137c2ce3ea6ed8667190b0bc43ecd69977702709b b 0x00c9bb9e8927d4d64c377e2ab2856a5b16e3efb7f61d4316ae r 0x010000000000000000000000015aab561b005413ccd4ee99d5 h 2 gx 0x00d9b67d192e0367c803f39e1a7e82ca14a651350aae617e8f gy 0x01ce94335607c304ac29e7defbd9ca01f596f927224cdecf6c curve sect233k1 binpoly p 0x20000000000000000000000000000000000000004000000000000000001 a 0 b 1 r 0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf h 4 gx 0x017232ba853a7e731af129f22ff4149563a419c26bf50a4c9d6eefad6126 gy 0x01db537dece819b7f70f555a67c427a8cd9bf18aeb9b56e0c11056fae6a3 curve sect233r1 binpoly p 0x20000000000000000000000000000000000000004000000000000000001 a 1 b 0x0066647ede6c332c7f8c0923bb58213b333b20e9ce4281fe115f7d8f90ad r 0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7 h 2 gx 0x00fac9dfcbac8313bb2139f1bb755fef65bc391f8b36f8f8eb7371fd558b gy 0x01006a08a41903350678e58528bebf8a0beff867a7ca36716f7e01f81052 curve sect239k1 binpoly p 0x800000000000000000004000000000000000000000000000000000000001 a 0 b 1 r 0x2000000000000000000000000000005a79fec67cb6e91f1c1da800e478a5 h 4 gx 0x29a0b6a887a983e9730988a68727a8b2d126c44cc2cc7b2a6555193035dc gy 0x76310804f12e549bdb011c103089e73510acb275fc312a5dc6b76553f0ca curve sect283k1 binpoly p 0x800000000000000000000000000000000000000000000000000000000000000000010a1 a 0 b 1 r 0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61 h 4 gx 0x0503213f78ca44883f1a3b8162f188e553cd265f23c1567a16876913b0c2ac2458492836 gy 0x01ccda380f1c9e318d90f95d07e5426fe87e45c0e8184698e45962364e34116177dd2259 curve sect283r1 binpoly p 0x800000000000000000000000000000000000000000000000000000000000000000010a1 a 1 b 0x027b680ac8b8596da5a4af8a19a0303fca97fd7645309fa2a581485af6263e313b79a2f5 r 0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307 h 2 gx 0x05f939258db7dd90e1934f8c70b0dfec2eed25b8557eac9c80e2e198f8cdbecd86b12053 gy 0x03676854fe24141cb98fe6d4b20d02b4516ff702350eddb0826779c813f0df45be8112f4 curve sect409k1 binpoly p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001 a 0 b 1 r 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf h 4 gx 0x0060f05f658f49c1ad3ab1890f7184210efd0987e307c84c27accfb8f9f67cc2c460189eb5aaaa62ee222eb1b35540cfe9023746 gy 0x01e369050b7c4e42acba1dacbf04299c3460782f918ea427e6325165e9ea10e3da5f6c42e9c55215aa9ca27a5863ec48d8e0286b curve sect409r1 binpoly p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001 a 1 b 0x0021a5c2c8ee9feb5c4b9a753b7b476b7fd6422ef1f3dd674761fa99d6ac27c8a9a197b272822f6cd57a55aa4f50ae317b13545f r 0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173 h 2 gx 0x015d4860d088ddb3496b0c6064756260441cde4af1771d4db01ffe5b34e59703dc255a868a1180515603aeab60794e54bb7996a7 gy 0x0061b1cfab6be5f32bbfa78324ed106a7636b9c5a7bd198d0158aa4f5488d08f38514f1fdf4b4f40d2181b3681c364ba0273c706 curve sect571k1 binpoly p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425 a 0 b 1 r 0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001 h 4 gx 0x026eb7a859923fbc82189631f8103fe4ac9ca2970012d5d46024804801841ca44370958493b205e647da304db4ceb08cbbd1ba39494776fb988b47174dca88c7e2945283a01c8972 gy 0x0349dc807f4fbf374f4aeade3bca95314dd58cec9f307a54ffc61efc006d8a2c9d4979c0ac44aea74fbebbb9f772aedcb620b01a7ba7af1b320430c8591984f601cd4c143ef1c7a3 curve sect571r1 binpoly p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425 a 1 b 0x02f40e7e2221f295de297117b7f3d62f5c6a97ffcb8ceff1cd6ba8ce4a9a18ad84ffabbd8efa59332be7ad6756a66e294afd185a78ff12aa520e4de739baca0c7ffeff7f2955727a r 0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47 h 2 gx 0x0303001d34b856296c16c0d40d3cd7750a93d1d2955fa80aa5f40fc8db7b2abdbde53950f4c0d293cdd711a35b67fb1499ae60038614f1394abfa3b4c850d927e1e7769c8eec2d19 gy 0x037bf27342da639b6dccfffeb73d69d78c6c27a6009cbbca1980f8533921e8a684423e43bab08a576291af8f461bb2a8b3531d2f0485c19b16e2f1516e23dd3c1a4827af1b8ac15b #----- Curves from ANSI X9.62 ----------------------------------------------- # # The conversion factors for the normal basis representations were generated # because none were given in the document. curve ansi-c2pnb163v1 binpoly p 0x080000000000000000000000000000000000000107 a 0x072546b5435234a422e0789675f432c89435de5242 b 0x00c9517d06d5240d3cff38c74b20b6cd4d6f9dd4d9 r 0x0400000000000000000001e60fc8821cc74daeafc1 h 2 gx 0x07af69989546103d79329fcc3d74880f33bbe803cb gy 0x01ec23211b5966adea1d3f87f7ea5848aef0b7ca9f curve ansi-c2pnb163v2 binpoly p 0x080000000000000000000000000000000000000107 a 0x0108b39e77c4b108bed981ed0e890e117c511cf072 b 0x0667aceb38af4e488c407433ffae4f1c811638df20 r 0x03fffffffffffffffffffdf64de1151adbb78f10a7 h 2 gx 0x0024266e4eb5106d0a964d92c4860e2671db9b6cc5 gy 0x079f684ddf6684c5cd258b3890021b2386dfd19fc5 curve ansi-c2pnb163v3 binpoly p 0x080000000000000000000000000000000000000107 a 0x07a526c63d3e25a256a007699f5447e32ae456b50e b 0x03f7061798eb99e238fd6f1bf95b48feeb4854252b r 0x03fffffffffffffffffffe1aee140f110aff961309 h 2 gx 0x02f9f87b7c574d0bdecf8a22e6524775f98cdebdcb gy 0x05b935590c155e17ea48eb3ff3718b893df59a05d0 # ansi-c2pnb176w1 has an unacceptable cofactor; and 176 isn't prime anyway curve ansi-c2tnb191v1 binpoly p 0x800000000000000000000000000000000000000000000201 a 0x2866537b676752636a68f56554e12640276b649ef7526267 b 0x2e45ef571f00786f67b0081b9495a3d95462f5de0aa185ec r 0x40000000000000000000000004a20e90c39067c893bbb9a5 h 2 gx 0x36b3daf8a23206f9c4f299d7b21a9c369137f2c84ae1aa0d gy 0x765be73433b3f95e332932e70ea245ca2418ea0ef98018fb curve ansi-c2tnb191v2 binpoly p 0x800000000000000000000000000000000000000000000201 a 0x401028774d7777c7b7666d1366ea432071274f89ff01e718 b 0x0620048d28bcbd03b6249c99182b7c8cd19700c362c46a01 r 0x20000000000000000000000050508cb89f652824e06b8173 h 4 gx 0x3809b2b7cc1b28cc5a87926aad83fd28789e81e2c9e3bf10 gy 0x17434386626d14f3dbf01760d9213a3e1cf37aec437d668a # ansi-c2tnb191v3 and ansi-c2onb191v2 have unacceptable cofactor curve ansi-c2onb191v1 binnorm p 0x800000000000000000000000000000000000000000000201 beta 0x19c409a7f85383bf0ef72b097a5c7398013a2dba6269292d a 0x65903e04e1e4924253e26a3c9ac28c758bd8184a3fb680e8 b 0x54678621b190cfce282ade219d5b3a065e3f4b3ffdebb29b r 0x4000000000000000000000009cf2d6e3901dac4c32eec65d h 2 gx 0x5a2c69a32e8638e51ccefaad05350a978457cb5fb6df994a gy 0x0f32fe0fa0e902f19b17d363c269f4f5cfe8087618569954 # ansi-c2pnb208v1 has an unacceptable cofactor; and 208 isn't prime anyway curve ansi-c2tnb239v1 binpoly p 0x800000000000000000000000000000000000000000000000001000000001 a 0x32010857077c5431123a46b808906756f543423e8d27877578125778ac76 b 0x790408f2eedaf392b012edefb3392f30f4327c0ca3f31fc383c422aa8c16 r 0x2000000000000000000000000000000f4d42ffe1492a4993f1cad666e447 h 4 gx 0x57927098fa932e7c0a96d3fd5b706ef7e5f5c156e16b7e7c86038552e91d gy 0x61d8ee5077c33fecf6f1a16b268de469c3c7744ea9a971649fc7a9616305 # ansi-c2tnb239v{2,3} and ansi-c2onb239v2 have unacceptable cofactors curve ansi-c2onb239v1 binnorm p 0x800000000000000000000000000000000000000000000000001000000001 beta 0x3b5ce9846911b248f9347018a7ac8cce3662cee952ba45becd02d4b903ec a 0x182dd45f5d470239b8983fea47b8b292641c57f9bf84baecde8bb3adce30 b 0x147a9c1d4c2ce9be5d34ec02797f76667ebad5a3f93fa2a524bfde91ef28 r 0x200000000000000000000000000000474f7e69f42fe430931d0b455aae8b h 4 gx 0x4912ad657f1d1c6b32edb9942c95e226b06fb012cd40fdea0d72197c8104 gy 0x01f1fbc3d21168fd3f66c441c2b5c6cfdcd9ed3e13646b7a4db9a3b0c286 # ansi-c2pnb272w1 has an unacceptable cofactor; and 272 isn't prime anyway # ansi-c2pnb304w1 has an unacceptable cofactor; and 304 isn't prime anyway # ansi-c2tnb359v1 has an unacceptable cofactor # ansi-c2pnb368w1 has an unacceptable cofactor; and 368 isn't prime anyway # ansi-c2tnb431v1 has an unacceptable cofactor alias ansi-prime192v1 secp192r1 curve ansi-prime192v2 niceprime p 0xfffffffffffffffffffffffffffffffeffffffffffffffff a 0xfffffffffffffffffffffffffffffffefffffffffffffffc b 0xcc22d6dfb95c6b25e49c0d6364a4e5980c393aa21668d953 r 0xfffffffffffffffffffffffe5fb1a724dc80418648d8dd31 h 1 gx 0xeea2bae7e1497842f2de7769cfe9c989c072ad696f48034a gy 0x6574d11d69b6ec7a672bb82a083df2f2b0847de970b2de15 curve ansi-prime192v3 niceprime p 0xfffffffffffffffffffffffffffffffeffffffffffffffff a 0xfffffffffffffffffffffffffffffffefffffffffffffffc b 0x22123dc2395a05caa7423daeccc94760a7d462256bd56916 r 0xffffffffffffffffffffffff7a62d031c83f4294f640ec13 h 1 gx 0x7d29778100c65a1da1783716588dce2b8b4aee8e228f1896 gy 0x38a90f22637337334b49dcb66a6dc8f9978aca7648a943b0 curve ansi-prime239v1 niceprime p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc b 0x6b016c3bdcf18941d0d654921475ca71a9db2fb27d1d37796185c2942c0a r 0x7fffffffffffffffffffffff7fffff9e5e9a9f5d9071fbd1522688909d0b h 1 gx 0x0ffa963cdca8816ccc33b8642bedf905c3d358573d3f27fbbd3b3cb9aaaf gy 0x7debe8e4e90a5dae6e4054ca530ba04654b36818ce226b39fccb7b02f1ae curve ansi-prime239v2 niceprime p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc b 0x617fab6832576cbbfed50d99f0249c3fee58b94ba0038c7ae84c8c832f2c r 0x7fffffffffffffffffffffff800000cfa7e8594377d414c03821bc582063 h 1 gx 0x38af09d98727705120c921bb5e9e26296a3cdcf2f35757a0eafd87b830e7 gy 0x5b0125e4dbea0ec7206da0fc01d9b081329fb555de6ef460237dff8be4ba curve ansi-prime239v3 niceprime p 0x7fffffffffffffffffffffff7fffffffffff8000000000007fffffffffff a 0x7fffffffffffffffffffffff7fffffffffff8000000000007ffffffffffc b 0x255705fa2a306654b1f4cb03d6a750a30c250102d4988717d9ba15ab6d3e r 0x7fffffffffffffffffffffff7fffff975deb41b3a6057c3c432146526551 h 1 gx 0x6768ae8e18bb92cfcf005c949aa2c6d94853d0e660bbf854b1c9505fe95a gy 0x1607e6898f390c06bc1d552bad226f3b6fcfe48b6e818499af18e3ed6cf3 alias ansi-prime256v1 secp256r1 #----- Curves from ANSI X9.63 ----------------------------------------------- # # These are just duplicates of the SEC curves. alias ansit163k1 sect163k1 alias ansit163r1 sect163r1 alias ansit163r2 sect163r2 alias ansit193r1 sect193r1 alias ansit193r2 sect193r2 alias ansit233k1 sect233k1 alias ansit233r1 sect233r1 alias ansit239k1 sect239k1 alias ansit283k1 sect283k1 alias ansit283r1 sect283r1 alias ansit409k1 sect409k1 alias ansit409r1 sect409r1 alias ansit571k1 sect571k1 alias ansit571r1 sect571r1 alias ansip160k1 secp160k1 alias ansip160r1 secp160r1 alias ansip160r2 secp160r2 alias ansip192k1 secp192k1 alias ansip192r1 secp192r1 alias ansip224k1 secp224k1 alias ansip224r1 secp224r1 alias ansip256k1 secp256k1 alias ansip256r1 secp256r1 alias ansip384r1 secp384r1 alias ansip521r1 secp521r1 #----- Curves from RFC2414 (Oakley) ----------------------------------------- # # The Oakley curves are not good: # oakley155 has too large a cofactor # oakley185's field has composite degree # Hence, we include neither here. #----- NIST curves from FIPS186-2 ------------------------------------------- # # These are duplicates of SEC2 curves. However, the normal basis # representations aren't in SEC, so we give them here. (Conversion factors # from FIPS186-2. alias nist-p192 secp192r1 alias nist-p224 secp224r1 alias nist-p256 secp256r1 alias nist-p384 secp384r1 alias nist-p521 secp521r1 alias nist-k163 sect163k1 alias nist-k233 sect233k1 alias nist-k283 sect283k1 alias nist-k409 sect409k1 alias nist-k571 sect571k1 alias nist-b163 sect163r2 alias nist-b233 sect233r1 alias nist-b283 sect283r1 alias nist-b409 sect409r1 alias nist-b571 sect571r1 curve nist-k163n binnorm p 0x800000000000000000000000000000000000000c9 beta 0x715169c109c612e390d347c748342bcd3b02a0bef a 0x7ffffffffffffffffffffffffffffffffffffffff b 0x7ffffffffffffffffffffffffffffffffffffffff r 0x04000000000000000000020108a2e0cc0d99f8a5ef h 2 gx 0x05679b353caa46825fea2d3713ba450da0c2a4541 gy 0x235b7c6710050689906bac3d9dec76a835591edb2 curve nist-b163n binnorm p 0x800000000000000000000000000000000000000c9 beta 0x715169c109c612e390d347c748342bcd3b02a0bef a 0x7ffffffffffffffffffffffffffffffffffffffff b 0x6645f3cacf1638e139c6cd13ef61734fbc9e3d9fb r 0x040000000000000000000292fe77e70c12a4234c33 h 2 gx 0x0311103c17167564ace77ccb09c681f886ba54ee8 gy 0x333ac13c6447f2e67613bf7009daf98c87bb50c7f curve nist-k233n binnorm p 0x20000000000000000000000000000000000000004000000000000000001 beta 0x1499e398ac5d79e368559b35ca49bb7305da6c0390bcf9e2300253203c9 a 0 b 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff r 0x8000000000000000000000000000069d5bb915bcd46efb1ad5f173abdf h 4 gx 0x0fde76d9dcd26e643ac26f1aa901aa129784b71fc0722b2d05614d650b3 gy 0x0643e317633155c9e0447ba8020a3c43177450ee036d633501434cac978 curve nist-b233n binnorm p 0x20000000000000000000000000000000000000004000000000000000001 beta 0x1499e398ac5d79e368559b35ca49bb7305da6c0390bcf9e2300253203c9 a 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff b 0x1a003e0962d4f9a8e407c904a9538163adb825212600c7752ad52233279 r 0x01000000000000000000000000000013e974e72f8a6922031d2603cfe0d7 h 2 gx 0x18b863524b3cdfefb94f2784e0b116faac54404bc9162a363bab84a14c5 gy 0x04925df77bd8b8ff1a5ff519417822bfedf2bbd752644292c98c7af6e02 curve nist-k283n binnorm p 0x800000000000000000000000000000000000000000000000000000000000000000010a1 beta 0x31e0ed791c3282dc5624a720818049d053e8c7ab8663792bc1d792eba9867fc7b317a99 a 0 b 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff r 0x01ffffffffffffffffffffffffffffffffffe9ae2ed07577265dff7f94451e061e163c61 h 4 gx 0x3ab9593f8db09fc188f1d7c4ac9fcc3e57fcd3bdb15024b212c70229de5fcd92eb0ea60 gy 0x2118c4755e7345cd8f603ef93b98b106fe8854ffeb9a3b304634cc83a0e759f0c2686b1 curve nist-b283n binnorm p 0x800000000000000000000000000000000000000000000000000000000000000000010a1 beta 0x31e0ed791c3282dc5624a720818049d053e8c7ab8663792bc1d792eba9867fc7b317a99 a 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff b 0x157261b894739fb5a13503f55f0b3f10c5601166633102201138cc180c0206bdafbc951 r 0x03ffffffffffffffffffffffffffffffffffef90399660fc938a90165b042a7cefadb307 h 2 gx 0x749468e464ee468634b21f7f61cb700701817e6bc36a2364cb8906e940948eaa463c35d gy 0x62968bd3b489ac5c9b859da68475c315bafcdc4ccd0dc905b70f62446f49c052f49c08c curve nist-k409n binnorm p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001 beta 0x0dfa06be206aa97b7a41fffb9b0c55f8f048062fbe8381b4248adf92912ccc8e3f91a24e1cfb3950532b988971c23042e85708d a 0 b 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff r 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffe5f83b2d4ea20400ec4557d5ed3e3e7ca5b4b5c83b8e01e5fcf h 4 gx 0x1b559c7cba2422e3affe13343e808b55e012d726ca0b7e6a63aeafbc1e3a98e10ca0fcf98350c3b7f89a9754a8e1dc0713cec4a gy 0x16d8c42052f07e7713e7490eff318ba1abd6fef8a5433c894b24f5c817aeb79852496fbee803a47bc8a203878ebf1c499afd7d6 curve nist-b409n binnorm p 0x2000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000001 beta 0x0dfa06be206aa97b7a41fffb9b0c55f8f048062fbe8381b4248adf92912ccc8e3f91a24e1cfb3950532b988971c23042e85708d a 0x1ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff b 0x124d0651c3d3772f7f5a1fe6e715559e2129bdfa04d52f7b6ac7c532cf0ed06f610072d88ad2fdcc50c6fde72843670f8b3742a r 0x010000000000000000000000000000000000000000000000000001e2aad6a612f33307be5fa47c3c9e052f838164cd37d9a21173 h 2 gx 0x0ceacbc9f475767d8e69f3b5dfab39813685262bcacf22b84c7b6dd981899e7318c96f0761f77c602c016ced7c548de830d708f gy 0x199d64ba8f089c6db0e0b61e80bb95934afd0caf2e8be76d1c5e9affc7476df49142691ad30390288aa09bcc59c1573aa3c009a curve nist-k571n binnorm p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425 beta 0x452186bbf5840a0bcf8c9f02a54efa04e813b43c3d4149606c4d27b487bf107393c8907f79d9778beb35ee87467d3288274caebda6ce05aeb4ca5cf3c3044bd4372232f2c1a27c4 a 0 b 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff r 0x020000000000000000000000000000000000000000000000000000000000000000000000131850e1f19a63e4b391a8db917f4138b630d84be5d639381e91deb45cfe778f637c1001 h 4 gx 0x04bb2dba418d0db107adae003427e5d7cc139acb465e5934f0bea2ab2f3622bc29b3d5b9aa7a1fdfd5d8be66057c1008e71e484bcd98f22bf8476423767367429ef2ec5bc3ebcf7 gy 0x44cbb57de20788d2c952d7b56cf39bd3e89b18984bd124e751ceff4369dd8dac6a59e6e745df44d8220ce22aa2c852cfcbbef49ebaa98bd2483e33180e04286feaa253050caff60 curve nist-b571n binnorm p 0x80000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000425 beta 0x452186bbf5840a0bcf8c9f02a54efa04e813b43c3d4149606c4d27b487bf107393c8907f79d9778beb35ee87467d3288274caebda6ce05aeb4ca5cf3c3044bd4372232f2c1a27c4 a 0x7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff b 0x3762d0d47116006179da35688eeaccf591a5cdea75000118d9608c59132d43426101a1dfb3774115f586623f75f00001ce611983c1275fa31f5bc9f4be1a0f467f01ca885c74777 r 0x03ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe661ce18ff55987308059b186823851ec7dd9ca1161de93d5174d66e8382e9bb2fe84e47 h 2 gx 0x0735e035def5925cc33173eb2a8ce7767522b466d278b650a2916127dfea9d2d361089f0a7a0247a184e1c70d417866e0fe0feb0ff8f2f3f9176418f97d117e624e2015df1662a8 gy 0x04a36420572616cdf7e606fccadaecfc3b76dab0eb1248dd03fbdfc9cd3242c4726be579855e812de7ec5c500b4576a24628048b6a72d880062eed0dd34b1096d3acbb6b01a4a97 #----- That's all, folks-----------------------------------------------------