LCOV - code coverage report
Current view: top level - ec - ec_curve.c (source / functions) Hit Total Coverage
Test: lcov_coverage_final.info Lines: 62 88 70.5 %
Date: 2014-08-02 Functions: 3 5 60.0 %
Branches: 37 76 48.7 %

           Branch data     Line data    Source code
       1                 :            : /* crypto/ec/ec_curve.c */
       2                 :            : /*
       3                 :            :  * Written by Nils Larsch for the OpenSSL project.
       4                 :            :  */
       5                 :            : /* ====================================================================
       6                 :            :  * Copyright (c) 1998-2010 The OpenSSL Project.  All rights reserved.
       7                 :            :  *
       8                 :            :  * Redistribution and use in source and binary forms, with or without
       9                 :            :  * modification, are permitted provided that the following conditions
      10                 :            :  * are met:
      11                 :            :  *
      12                 :            :  * 1. Redistributions of source code must retain the above copyright
      13                 :            :  *    notice, this list of conditions and the following disclaimer. 
      14                 :            :  *
      15                 :            :  * 2. Redistributions in binary form must reproduce the above copyright
      16                 :            :  *    notice, this list of conditions and the following disclaimer in
      17                 :            :  *    the documentation and/or other materials provided with the
      18                 :            :  *    distribution.
      19                 :            :  *
      20                 :            :  * 3. All advertising materials mentioning features or use of this
      21                 :            :  *    software must display the following acknowledgment:
      22                 :            :  *    "This product includes software developed by the OpenSSL Project
      23                 :            :  *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
      24                 :            :  *
      25                 :            :  * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
      26                 :            :  *    endorse or promote products derived from this software without
      27                 :            :  *    prior written permission. For written permission, please contact
      28                 :            :  *    openssl-core@openssl.org.
      29                 :            :  *
      30                 :            :  * 5. Products derived from this software may not be called "OpenSSL"
      31                 :            :  *    nor may "OpenSSL" appear in their names without prior written
      32                 :            :  *    permission of the OpenSSL Project.
      33                 :            :  *
      34                 :            :  * 6. Redistributions of any form whatsoever must retain the following
      35                 :            :  *    acknowledgment:
      36                 :            :  *    "This product includes software developed by the OpenSSL Project
      37                 :            :  *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
      38                 :            :  *
      39                 :            :  * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
      40                 :            :  * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
      41                 :            :  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
      42                 :            :  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
      43                 :            :  * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
      44                 :            :  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
      45                 :            :  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
      46                 :            :  * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
      47                 :            :  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
      48                 :            :  * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
      49                 :            :  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
      50                 :            :  * OF THE POSSIBILITY OF SUCH DAMAGE.
      51                 :            :  * ====================================================================
      52                 :            :  *
      53                 :            :  * This product includes cryptographic software written by Eric Young
      54                 :            :  * (eay@cryptsoft.com).  This product includes software written by Tim
      55                 :            :  * Hudson (tjh@cryptsoft.com).
      56                 :            :  *
      57                 :            :  */
      58                 :            : /* ====================================================================
      59                 :            :  * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
      60                 :            :  *
      61                 :            :  * Portions of the attached software ("Contribution") are developed by 
      62                 :            :  * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project.
      63                 :            :  *
      64                 :            :  * The Contribution is licensed pursuant to the OpenSSL open source
      65                 :            :  * license provided above.
      66                 :            :  *
      67                 :            :  * The elliptic curve binary polynomial software is originally written by 
      68                 :            :  * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.
      69                 :            :  *
      70                 :            :  */
      71                 :            : 
      72                 :            : #define OPENSSL_FIPSAPI
      73                 :            : 
      74                 :            : #include <string.h>
      75                 :            : #include "ec_lcl.h"
      76                 :            : #include <openssl/err.h>
      77                 :            : #include <openssl/obj_mac.h>
      78                 :            : #include <openssl/opensslconf.h>
      79                 :            : 
      80                 :            : typedef struct {
      81                 :            :         int     field_type,     /* either NID_X9_62_prime_field or
      82                 :            :                                  * NID_X9_62_characteristic_two_field */
      83                 :            :                 seed_len,
      84                 :            :                 param_len;
      85                 :            :         unsigned int cofactor;  /* promoted to BN_ULONG */
      86                 :            : } EC_CURVE_DATA;
      87                 :            : 
      88                 :            : /* the nist prime curves */
      89                 :            : __fips_constseg
      90                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
      91                 :            :         _EC_NIST_PRIME_192 = {
      92                 :            :         { NID_X9_62_prime_field,20,24,1 },
      93                 :            :         { 0x30,0x45,0xAE,0x6F,0xC8,0x42,0x2F,0x64,0xED,0x57,    /* seed */
      94                 :            :           0x95,0x28,0xD3,0x81,0x20,0xEA,0xE1,0x21,0x96,0xD5,
      95                 :            : 
      96                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
      97                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
      98                 :            :           0xFF,0xFF,0xFF,0xFF,
      99                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     100                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     101                 :            :           0xFF,0xFF,0xFF,0xFC,
     102                 :            :           0x64,0x21,0x05,0x19,0xE5,0x9C,0x80,0xE7,0x0F,0xA7,    /* b */
     103                 :            :           0xE9,0xAB,0x72,0x24,0x30,0x49,0xFE,0xB8,0xDE,0xEC,
     104                 :            :           0xC1,0x46,0xB9,0xB1,
     105                 :            :           0x18,0x8D,0xA8,0x0E,0xB0,0x30,0x90,0xF6,0x7C,0xBF,    /* x */
     106                 :            :           0x20,0xEB,0x43,0xA1,0x88,0x00,0xF4,0xFF,0x0A,0xFD,
     107                 :            :           0x82,0xFF,0x10,0x12,
     108                 :            :           0x07,0x19,0x2b,0x95,0xff,0xc8,0xda,0x78,0x63,0x10,    /* y */
     109                 :            :           0x11,0xed,0x6b,0x24,0xcd,0xd5,0x73,0xf9,0x77,0xa1,
     110                 :            :           0x1e,0x79,0x48,0x11,
     111                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     112                 :            :           0xFF,0xFF,0x99,0xDE,0xF8,0x36,0x14,0x6B,0xC9,0xB1,
     113                 :            :           0xB4,0xD2,0x28,0x31 }
     114                 :            :         };
     115                 :            : 
     116                 :            : __fips_constseg
     117                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+28*6]; }
     118                 :            :         _EC_NIST_PRIME_224 = {
     119                 :            :         { NID_X9_62_prime_field,20,28,1 },
     120                 :            :         { 0xBD,0x71,0x34,0x47,0x99,0xD5,0xC7,0xFC,0xDC,0x45,    /* seed */
     121                 :            :           0xB5,0x9F,0xA3,0xB9,0xAB,0x8F,0x6A,0x94,0x8B,0xC5,
     122                 :            : 
     123                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     124                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
     125                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
     126                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     127                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     128                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
     129                 :            :           0xB4,0x05,0x0A,0x85,0x0C,0x04,0xB3,0xAB,0xF5,0x41,    /* b */
     130                 :            :           0x32,0x56,0x50,0x44,0xB0,0xB7,0xD7,0xBF,0xD8,0xBA,
     131                 :            :           0x27,0x0B,0x39,0x43,0x23,0x55,0xFF,0xB4,
     132                 :            :           0xB7,0x0E,0x0C,0xBD,0x6B,0xB4,0xBF,0x7F,0x32,0x13,    /* x */
     133                 :            :           0x90,0xB9,0x4A,0x03,0xC1,0xD3,0x56,0xC2,0x11,0x22,
     134                 :            :           0x34,0x32,0x80,0xD6,0x11,0x5C,0x1D,0x21,
     135                 :            :           0xbd,0x37,0x63,0x88,0xb5,0xf7,0x23,0xfb,0x4c,0x22,    /* y */
     136                 :            :           0xdf,0xe6,0xcd,0x43,0x75,0xa0,0x5a,0x07,0x47,0x64,
     137                 :            :           0x44,0xd5,0x81,0x99,0x85,0x00,0x7e,0x34,
     138                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     139                 :            :           0xFF,0xFF,0xFF,0xFF,0x16,0xA2,0xE0,0xB8,0xF0,0x3E,
     140                 :            :           0x13,0xDD,0x29,0x45,0x5C,0x5C,0x2A,0x3D }
     141                 :            :         };
     142                 :            : 
     143                 :            : __fips_constseg
     144                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+48*6]; }
     145                 :            :         _EC_NIST_PRIME_384 = {
     146                 :            :         { NID_X9_62_prime_field,20,48,1 },
     147                 :            :         { 0xA3,0x35,0x92,0x6A,0xA3,0x19,0xA2,0x7A,0x1D,0x00,    /* seed */
     148                 :            :           0x89,0x6A,0x67,0x73,0xA4,0x82,0x7A,0xCD,0xAC,0x73,
     149                 :            : 
     150                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     151                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     152                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     153                 :            :           0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
     154                 :            :           0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFF,
     155                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     156                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     157                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     158                 :            :           0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
     159                 :            :           0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xFC,
     160                 :            :           0xB3,0x31,0x2F,0xA7,0xE2,0x3E,0xE7,0xE4,0x98,0x8E,    /* b */
     161                 :            :           0x05,0x6B,0xE3,0xF8,0x2D,0x19,0x18,0x1D,0x9C,0x6E,
     162                 :            :           0xFE,0x81,0x41,0x12,0x03,0x14,0x08,0x8F,0x50,0x13,
     163                 :            :           0x87,0x5A,0xC6,0x56,0x39,0x8D,0x8A,0x2E,0xD1,0x9D,
     164                 :            :           0x2A,0x85,0xC8,0xED,0xD3,0xEC,0x2A,0xEF,
     165                 :            :           0xAA,0x87,0xCA,0x22,0xBE,0x8B,0x05,0x37,0x8E,0xB1,    /* x */
     166                 :            :           0xC7,0x1E,0xF3,0x20,0xAD,0x74,0x6E,0x1D,0x3B,0x62,
     167                 :            :           0x8B,0xA7,0x9B,0x98,0x59,0xF7,0x41,0xE0,0x82,0x54,
     168                 :            :           0x2A,0x38,0x55,0x02,0xF2,0x5D,0xBF,0x55,0x29,0x6C,
     169                 :            :           0x3A,0x54,0x5E,0x38,0x72,0x76,0x0A,0xB7,
     170                 :            :           0x36,0x17,0xde,0x4a,0x96,0x26,0x2c,0x6f,0x5d,0x9e,    /* y */
     171                 :            :           0x98,0xbf,0x92,0x92,0xdc,0x29,0xf8,0xf4,0x1d,0xbd,
     172                 :            :           0x28,0x9a,0x14,0x7c,0xe9,0xda,0x31,0x13,0xb5,0xf0,
     173                 :            :           0xb8,0xc0,0x0a,0x60,0xb1,0xce,0x1d,0x7e,0x81,0x9d,
     174                 :            :           0x7a,0x43,0x1d,0x7c,0x90,0xea,0x0e,0x5f,
     175                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     176                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     177                 :            :           0xFF,0xFF,0xFF,0xFF,0xC7,0x63,0x4D,0x81,0xF4,0x37,
     178                 :            :           0x2D,0xDF,0x58,0x1A,0x0D,0xB2,0x48,0xB0,0xA7,0x7A,
     179                 :            :           0xEC,0xEC,0x19,0x6A,0xCC,0xC5,0x29,0x73 }
     180                 :            :         };
     181                 :            : 
     182                 :            : __fips_constseg
     183                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+66*6]; }
     184                 :            :         _EC_NIST_PRIME_521 = {
     185                 :            :         { NID_X9_62_prime_field,20,66,1 },
     186                 :            :         { 0xD0,0x9E,0x88,0x00,0x29,0x1C,0xB8,0x53,0x96,0xCC,    /* seed */
     187                 :            :           0x67,0x17,0x39,0x32,0x84,0xAA,0xA0,0xDA,0x64,0xBA,
     188                 :            : 
     189                 :            :           0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     190                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     191                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     192                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     193                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     194                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     195                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     196                 :            :           0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     197                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     198                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     199                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     200                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     201                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     202                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
     203                 :            :           0x00,0x51,0x95,0x3E,0xB9,0x61,0x8E,0x1C,0x9A,0x1F,    /* b */
     204                 :            :           0x92,0x9A,0x21,0xA0,0xB6,0x85,0x40,0xEE,0xA2,0xDA,
     205                 :            :           0x72,0x5B,0x99,0xB3,0x15,0xF3,0xB8,0xB4,0x89,0x91,
     206                 :            :           0x8E,0xF1,0x09,0xE1,0x56,0x19,0x39,0x51,0xEC,0x7E,
     207                 :            :           0x93,0x7B,0x16,0x52,0xC0,0xBD,0x3B,0xB1,0xBF,0x07,
     208                 :            :           0x35,0x73,0xDF,0x88,0x3D,0x2C,0x34,0xF1,0xEF,0x45,
     209                 :            :           0x1F,0xD4,0x6B,0x50,0x3F,0x00,
     210                 :            :           0x00,0xC6,0x85,0x8E,0x06,0xB7,0x04,0x04,0xE9,0xCD,    /* x */
     211                 :            :           0x9E,0x3E,0xCB,0x66,0x23,0x95,0xB4,0x42,0x9C,0x64,
     212                 :            :           0x81,0x39,0x05,0x3F,0xB5,0x21,0xF8,0x28,0xAF,0x60,
     213                 :            :           0x6B,0x4D,0x3D,0xBA,0xA1,0x4B,0x5E,0x77,0xEF,0xE7,
     214                 :            :           0x59,0x28,0xFE,0x1D,0xC1,0x27,0xA2,0xFF,0xA8,0xDE,
     215                 :            :           0x33,0x48,0xB3,0xC1,0x85,0x6A,0x42,0x9B,0xF9,0x7E,
     216                 :            :           0x7E,0x31,0xC2,0xE5,0xBD,0x66,
     217                 :            :           0x01,0x18,0x39,0x29,0x6a,0x78,0x9a,0x3b,0xc0,0x04,    /* y */
     218                 :            :           0x5c,0x8a,0x5f,0xb4,0x2c,0x7d,0x1b,0xd9,0x98,0xf5,
     219                 :            :           0x44,0x49,0x57,0x9b,0x44,0x68,0x17,0xaf,0xbd,0x17,
     220                 :            :           0x27,0x3e,0x66,0x2c,0x97,0xee,0x72,0x99,0x5e,0xf4,
     221                 :            :           0x26,0x40,0xc5,0x50,0xb9,0x01,0x3f,0xad,0x07,0x61,
     222                 :            :           0x35,0x3c,0x70,0x86,0xa2,0x72,0xc2,0x40,0x88,0xbe,
     223                 :            :           0x94,0x76,0x9f,0xd1,0x66,0x50,
     224                 :            :           0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     225                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     226                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     227                 :            :           0xFF,0xFF,0xFF,0xFA,0x51,0x86,0x87,0x83,0xBF,0x2F,
     228                 :            :           0x96,0x6B,0x7F,0xCC,0x01,0x48,0xF7,0x09,0xA5,0xD0,
     229                 :            :           0x3B,0xB5,0xC9,0xB8,0x89,0x9C,0x47,0xAE,0xBB,0x6F,
     230                 :            :           0xB7,0x1E,0x91,0x38,0x64,0x09 }
     231                 :            :         };
     232                 :            : 
     233                 :            : /* the x9.62 prime curves (minus the nist prime curves) */
     234                 :            : __fips_constseg
     235                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
     236                 :            :         _EC_X9_62_PRIME_192V2 = {
     237                 :            :         { NID_X9_62_prime_field,20,24,1 },
     238                 :            :         { 0x31,0xA9,0x2E,0xE2,0x02,0x9F,0xD1,0x0D,0x90,0x1B,    /* seed */
     239                 :            :           0x11,0x3E,0x99,0x07,0x10,0xF0,0xD2,0x1A,0xC6,0xB6,
     240                 :            : 
     241                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     242                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     243                 :            :           0xFF,0xFF,0xFF,0xFF,
     244                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     245                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     246                 :            :           0xFF,0xFF,0xFF,0xFC,
     247                 :            :           0xCC,0x22,0xD6,0xDF,0xB9,0x5C,0x6B,0x25,0xE4,0x9C,    /* b */
     248                 :            :           0x0D,0x63,0x64,0xA4,0xE5,0x98,0x0C,0x39,0x3A,0xA2,
     249                 :            :           0x16,0x68,0xD9,0x53,
     250                 :            :           0xEE,0xA2,0xBA,0xE7,0xE1,0x49,0x78,0x42,0xF2,0xDE,    /* x */
     251                 :            :           0x77,0x69,0xCF,0xE9,0xC9,0x89,0xC0,0x72,0xAD,0x69,
     252                 :            :           0x6F,0x48,0x03,0x4A,
     253                 :            :           0x65,0x74,0xd1,0x1d,0x69,0xb6,0xec,0x7a,0x67,0x2b,    /* y */
     254                 :            :           0xb8,0x2a,0x08,0x3d,0xf2,0xf2,0xb0,0x84,0x7d,0xe9,
     255                 :            :           0x70,0xb2,0xde,0x15,
     256                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     257                 :            :           0xFF,0xFE,0x5F,0xB1,0xA7,0x24,0xDC,0x80,0x41,0x86,
     258                 :            :           0x48,0xD8,0xDD,0x31 }
     259                 :            :         };
     260                 :            : 
     261                 :            : __fips_constseg
     262                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
     263                 :            :         _EC_X9_62_PRIME_192V3 = {
     264                 :            :         { NID_X9_62_prime_field,20,24,1 },
     265                 :            :         { 0xC4,0x69,0x68,0x44,0x35,0xDE,0xB3,0x78,0xC4,0xB6,    /* seed */
     266                 :            :           0x5C,0xA9,0x59,0x1E,0x2A,0x57,0x63,0x05,0x9A,0x2E,
     267                 :            : 
     268                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     269                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     270                 :            :           0xFF,0xFF,0xFF,0xFF,
     271                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     272                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     273                 :            :           0xFF,0xFF,0xFF,0xFC,
     274                 :            :           0x22,0x12,0x3D,0xC2,0x39,0x5A,0x05,0xCA,0xA7,0x42,    /* b */
     275                 :            :           0x3D,0xAE,0xCC,0xC9,0x47,0x60,0xA7,0xD4,0x62,0x25,
     276                 :            :           0x6B,0xD5,0x69,0x16,
     277                 :            :           0x7D,0x29,0x77,0x81,0x00,0xC6,0x5A,0x1D,0xA1,0x78,    /* x */
     278                 :            :           0x37,0x16,0x58,0x8D,0xCE,0x2B,0x8B,0x4A,0xEE,0x8E,
     279                 :            :           0x22,0x8F,0x18,0x96,
     280                 :            :           0x38,0xa9,0x0f,0x22,0x63,0x73,0x37,0x33,0x4b,0x49,    /* y */
     281                 :            :           0xdc,0xb6,0x6a,0x6d,0xc8,0xf9,0x97,0x8a,0xca,0x76,
     282                 :            :           0x48,0xa9,0x43,0xb0,
     283                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     284                 :            :           0xFF,0xFF,0x7A,0x62,0xD0,0x31,0xC8,0x3F,0x42,0x94,
     285                 :            :           0xF6,0x40,0xEC,0x13 }
     286                 :            :         };
     287                 :            : 
     288                 :            : __fips_constseg
     289                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
     290                 :            :         _EC_X9_62_PRIME_239V1 = {
     291                 :            :         { NID_X9_62_prime_field,20,30,1 },
     292                 :            :         { 0xE4,0x3B,0xB4,0x60,0xF0,0xB8,0x0C,0xC0,0xC0,0xB0,    /* seed */
     293                 :            :           0x75,0x79,0x8E,0x94,0x80,0x60,0xF8,0x32,0x1B,0x7D,
     294                 :            : 
     295                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     296                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     297                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
     298                 :            : 
     299                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     300                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     301                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,
     302                 :            : 
     303                 :            :           0x6B,0x01,0x6C,0x3B,0xDC,0xF1,0x89,0x41,0xD0,0xD6,    /* b */
     304                 :            :           0x54,0x92,0x14,0x75,0xCA,0x71,0xA9,0xDB,0x2F,0xB2,
     305                 :            :           0x7D,0x1D,0x37,0x79,0x61,0x85,0xC2,0x94,0x2C,0x0A,
     306                 :            : 
     307                 :            :           0x0F,0xFA,0x96,0x3C,0xDC,0xA8,0x81,0x6C,0xCC,0x33,    /* x */
     308                 :            :           0xB8,0x64,0x2B,0xED,0xF9,0x05,0xC3,0xD3,0x58,0x57,
     309                 :            :           0x3D,0x3F,0x27,0xFB,0xBD,0x3B,0x3C,0xB9,0xAA,0xAF,
     310                 :            : 
     311                 :            :           0x7d,0xeb,0xe8,0xe4,0xe9,0x0a,0x5d,0xae,0x6e,0x40,    /* y */
     312                 :            :           0x54,0xca,0x53,0x0b,0xa0,0x46,0x54,0xb3,0x68,0x18,
     313                 :            :           0xce,0x22,0x6b,0x39,0xfc,0xcb,0x7b,0x02,0xf1,0xae,
     314                 :            : 
     315                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     316                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0x9E,0x5E,0x9A,0x9F,0x5D,
     317                 :            :           0x90,0x71,0xFB,0xD1,0x52,0x26,0x88,0x90,0x9D,0x0B }
     318                 :            :         };
     319                 :            : 
     320                 :            : __fips_constseg
     321                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
     322                 :            :         _EC_X9_62_PRIME_239V2 = {
     323                 :            :         { NID_X9_62_prime_field,20,30,1 },
     324                 :            :         { 0xE8,0xB4,0x01,0x16,0x04,0x09,0x53,0x03,0xCA,0x3B,    /* seed */
     325                 :            :           0x80,0x99,0x98,0x2B,0xE0,0x9F,0xCB,0x9A,0xE6,0x16,
     326                 :            : 
     327                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     328                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     329                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
     330                 :            : 
     331                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     332                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     333                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,
     334                 :            : 
     335                 :            :           0x61,0x7F,0xAB,0x68,0x32,0x57,0x6C,0xBB,0xFE,0xD5,    /* b */
     336                 :            :           0x0D,0x99,0xF0,0x24,0x9C,0x3F,0xEE,0x58,0xB9,0x4B,
     337                 :            :           0xA0,0x03,0x8C,0x7A,0xE8,0x4C,0x8C,0x83,0x2F,0x2C,
     338                 :            : 
     339                 :            :           0x38,0xAF,0x09,0xD9,0x87,0x27,0x70,0x51,0x20,0xC9,    /* x */
     340                 :            :           0x21,0xBB,0x5E,0x9E,0x26,0x29,0x6A,0x3C,0xDC,0xF2,
     341                 :            :           0xF3,0x57,0x57,0xA0,0xEA,0xFD,0x87,0xB8,0x30,0xE7,
     342                 :            : 
     343                 :            :           0x5b,0x01,0x25,0xe4,0xdb,0xea,0x0e,0xc7,0x20,0x6d,    /* y */
     344                 :            :           0xa0,0xfc,0x01,0xd9,0xb0,0x81,0x32,0x9f,0xb5,0x55,
     345                 :            :           0xde,0x6e,0xf4,0x60,0x23,0x7d,0xff,0x8b,0xe4,0xba,
     346                 :            : 
     347                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     348                 :            :           0xFF,0xFF,0x80,0x00,0x00,0xCF,0xA7,0xE8,0x59,0x43,
     349                 :            :           0x77,0xD4,0x14,0xC0,0x38,0x21,0xBC,0x58,0x20,0x63 }
     350                 :            :         };
     351                 :            : 
     352                 :            : __fips_constseg
     353                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
     354                 :            :         _EC_X9_62_PRIME_239V3 = {
     355                 :            :         { NID_X9_62_prime_field,20,30,1 },
     356                 :            :         { 0x7D,0x73,0x74,0x16,0x8F,0xFE,0x34,0x71,0xB6,0x0A,    /* seed */
     357                 :            :           0x85,0x76,0x86,0xA1,0x94,0x75,0xD3,0xBF,0xA2,0xFF,
     358                 :            : 
     359                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     360                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     361                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,
     362                 :            : 
     363                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     364                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0x00,
     365                 :            :           0x00,0x00,0x00,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFC,
     366                 :            : 
     367                 :            :           0x25,0x57,0x05,0xFA,0x2A,0x30,0x66,0x54,0xB1,0xF4,    /* b */
     368                 :            :           0xCB,0x03,0xD6,0xA7,0x50,0xA3,0x0C,0x25,0x01,0x02,
     369                 :            :           0xD4,0x98,0x87,0x17,0xD9,0xBA,0x15,0xAB,0x6D,0x3E,
     370                 :            : 
     371                 :            :           0x67,0x68,0xAE,0x8E,0x18,0xBB,0x92,0xCF,0xCF,0x00,    /* x */
     372                 :            :           0x5C,0x94,0x9A,0xA2,0xC6,0xD9,0x48,0x53,0xD0,0xE6,
     373                 :            :           0x60,0xBB,0xF8,0x54,0xB1,0xC9,0x50,0x5F,0xE9,0x5A,
     374                 :            : 
     375                 :            :           0x16,0x07,0xe6,0x89,0x8f,0x39,0x0c,0x06,0xbc,0x1d,    /* y */
     376                 :            :           0x55,0x2b,0xad,0x22,0x6f,0x3b,0x6f,0xcf,0xe4,0x8b,
     377                 :            :           0x6e,0x81,0x84,0x99,0xaf,0x18,0xe3,0xed,0x6c,0xf3,
     378                 :            : 
     379                 :            :           0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     380                 :            :           0xFF,0xFF,0x7F,0xFF,0xFF,0x97,0x5D,0xEB,0x41,0xB3,
     381                 :            :           0xA6,0x05,0x7C,0x3C,0x43,0x21,0x46,0x52,0x65,0x51 }
     382                 :            :         };
     383                 :            : 
     384                 :            : 
     385                 :            : __fips_constseg
     386                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+32*6]; }
     387                 :            :         _EC_X9_62_PRIME_256V1 = {
     388                 :            :         { NID_X9_62_prime_field,20,32,1 },
     389                 :            :         { 0xC4,0x9D,0x36,0x08,0x86,0xE7,0x04,0x93,0x6A,0x66,    /* seed */
     390                 :            :           0x78,0xE1,0x13,0x9D,0x26,0xB7,0x81,0x9F,0x7E,0x90,
     391                 :            : 
     392                 :            :           0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,    /* p */
     393                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     394                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     395                 :            :           0xFF,0xFF,
     396                 :            :           0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x01,0x00,0x00,    /* a */
     397                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     398                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     399                 :            :           0xFF,0xFC,
     400                 :            :           0x5A,0xC6,0x35,0xD8,0xAA,0x3A,0x93,0xE7,0xB3,0xEB,    /* b */
     401                 :            :           0xBD,0x55,0x76,0x98,0x86,0xBC,0x65,0x1D,0x06,0xB0,
     402                 :            :           0xCC,0x53,0xB0,0xF6,0x3B,0xCE,0x3C,0x3E,0x27,0xD2,
     403                 :            :           0x60,0x4B,
     404                 :            :           0x6B,0x17,0xD1,0xF2,0xE1,0x2C,0x42,0x47,0xF8,0xBC,    /* x */
     405                 :            :           0xE6,0xE5,0x63,0xA4,0x40,0xF2,0x77,0x03,0x7D,0x81,
     406                 :            :           0x2D,0xEB,0x33,0xA0,0xF4,0xA1,0x39,0x45,0xD8,0x98,
     407                 :            :           0xC2,0x96,
     408                 :            :           0x4f,0xe3,0x42,0xe2,0xfe,0x1a,0x7f,0x9b,0x8e,0xe7,    /* y */
     409                 :            :           0xeb,0x4a,0x7c,0x0f,0x9e,0x16,0x2b,0xce,0x33,0x57,
     410                 :            :           0x6b,0x31,0x5e,0xce,0xcb,0xb6,0x40,0x68,0x37,0xbf,
     411                 :            :           0x51,0xf5,
     412                 :            :           0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,    /* order */
     413                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xBC,0xE6,0xFA,0xAD,
     414                 :            :           0xA7,0x17,0x9E,0x84,0xF3,0xB9,0xCA,0xC2,0xFC,0x63,
     415                 :            :           0x25,0x51 }
     416                 :            :         };
     417                 :            : 
     418                 :            : /* the secg prime curves (minus the nist and x9.62 prime curves) */
     419                 :            : __fips_constseg
     420                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+14*6]; }
     421                 :            :         _EC_SECG_PRIME_112R1 = {
     422                 :            :         { NID_X9_62_prime_field,20,14,1 },
     423                 :            :         { 0x00,0xF5,0x0B,0x02,0x8E,0x4D,0x69,0x6E,0x67,0x68,    /* seed */
     424                 :            :           0x75,0x61,0x51,0x75,0x29,0x04,0x72,0x78,0x3F,0xB1,
     425                 :            : 
     426                 :            :           0xDB,0x7C,0x2A,0xBF,0x62,0xE3,0x5E,0x66,0x80,0x76,    /* p */
     427                 :            :           0xBE,0xAD,0x20,0x8B,
     428                 :            :           0xDB,0x7C,0x2A,0xBF,0x62,0xE3,0x5E,0x66,0x80,0x76,    /* a */
     429                 :            :           0xBE,0xAD,0x20,0x88,
     430                 :            :           0x65,0x9E,0xF8,0xBA,0x04,0x39,0x16,0xEE,0xDE,0x89,    /* b */
     431                 :            :           0x11,0x70,0x2B,0x22,
     432                 :            :           0x09,0x48,0x72,0x39,0x99,0x5A,0x5E,0xE7,0x6B,0x55,    /* x */
     433                 :            :           0xF9,0xC2,0xF0,0x98,
     434                 :            :           0xa8,0x9c,0xe5,0xaf,0x87,0x24,0xc0,0xa2,0x3e,0x0e,    /* y */
     435                 :            :           0x0f,0xf7,0x75,0x00,
     436                 :            :           0xDB,0x7C,0x2A,0xBF,0x62,0xE3,0x5E,0x76,0x28,0xDF,    /* order */
     437                 :            :           0xAC,0x65,0x61,0xC5 }
     438                 :            :         };
     439                 :            : 
     440                 :            : __fips_constseg
     441                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+14*6]; }
     442                 :            :         _EC_SECG_PRIME_112R2 = {
     443                 :            :         { NID_X9_62_prime_field,20,14,4 },
     444                 :            :         { 0x00,0x27,0x57,0xA1,0x11,0x4D,0x69,0x6E,0x67,0x68,    /* seed */
     445                 :            :           0x75,0x61,0x51,0x75,0x53,0x16,0xC0,0x5E,0x0B,0xD4,
     446                 :            : 
     447                 :            :           0xDB,0x7C,0x2A,0xBF,0x62,0xE3,0x5E,0x66,0x80,0x76,    /* p */
     448                 :            :           0xBE,0xAD,0x20,0x8B,
     449                 :            :           0x61,0x27,0xC2,0x4C,0x05,0xF3,0x8A,0x0A,0xAA,0xF6,    /* a */
     450                 :            :           0x5C,0x0E,0xF0,0x2C,
     451                 :            :           0x51,0xDE,0xF1,0x81,0x5D,0xB5,0xED,0x74,0xFC,0xC3,    /* b */
     452                 :            :           0x4C,0x85,0xD7,0x09,
     453                 :            :           0x4B,0xA3,0x0A,0xB5,0xE8,0x92,0xB4,0xE1,0x64,0x9D,    /* x */
     454                 :            :           0xD0,0x92,0x86,0x43,
     455                 :            :           0xad,0xcd,0x46,0xf5,0x88,0x2e,0x37,0x47,0xde,0xf3,    /* y */
     456                 :            :           0x6e,0x95,0x6e,0x97,
     457                 :            :           0x36,0xDF,0x0A,0xAF,0xD8,0xB8,0xD7,0x59,0x7C,0xA1,    /* order */
     458                 :            :           0x05,0x20,0xD0,0x4B }
     459                 :            :         };
     460                 :            : 
     461                 :            : __fips_constseg
     462                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+16*6]; }
     463                 :            :         _EC_SECG_PRIME_128R1 = {
     464                 :            :         { NID_X9_62_prime_field,20,16,1 },
     465                 :            :         { 0x00,0x0E,0x0D,0x4D,0x69,0x6E,0x67,0x68,0x75,0x61,    /* seed */
     466                 :            :           0x51,0x75,0x0C,0xC0,0x3A,0x44,0x73,0xD0,0x36,0x79,
     467                 :            : 
     468                 :            :           0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     469                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     470                 :            :           0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     471                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,
     472                 :            :           0xE8,0x75,0x79,0xC1,0x10,0x79,0xF4,0x3D,0xD8,0x24,    /* b */
     473                 :            :           0x99,0x3C,0x2C,0xEE,0x5E,0xD3,
     474                 :            :           0x16,0x1F,0xF7,0x52,0x8B,0x89,0x9B,0x2D,0x0C,0x28,    /* x */
     475                 :            :           0x60,0x7C,0xA5,0x2C,0x5B,0x86,
     476                 :            :           0xcf,0x5a,0xc8,0x39,0x5b,0xaf,0xeb,0x13,0xc0,0x2d,    /* y */
     477                 :            :           0xa2,0x92,0xdd,0xed,0x7a,0x83,
     478                 :            :           0xFF,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x75,0xA3,    /* order */
     479                 :            :           0x0D,0x1B,0x90,0x38,0xA1,0x15 }
     480                 :            :         };
     481                 :            : 
     482                 :            : __fips_constseg
     483                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+16*6]; }
     484                 :            :         _EC_SECG_PRIME_128R2 = {
     485                 :            :         { NID_X9_62_prime_field,20,16,4 },
     486                 :            :         { 0x00,0x4D,0x69,0x6E,0x67,0x68,0x75,0x61,0x51,0x75,    /* seed */
     487                 :            :           0x12,0xD8,0xF0,0x34,0x31,0xFC,0xE6,0x3B,0x88,0xF4,
     488                 :            : 
     489                 :            :           0xFF,0xFF,0xFF,0xFD,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     490                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     491                 :            :           0xD6,0x03,0x19,0x98,0xD1,0xB3,0xBB,0xFE,0xBF,0x59,    /* a */
     492                 :            :           0xCC,0x9B,0xBF,0xF9,0xAE,0xE1,
     493                 :            :           0x5E,0xEE,0xFC,0xA3,0x80,0xD0,0x29,0x19,0xDC,0x2C,    /* b */
     494                 :            :           0x65,0x58,0xBB,0x6D,0x8A,0x5D,
     495                 :            :           0x7B,0x6A,0xA5,0xD8,0x5E,0x57,0x29,0x83,0xE6,0xFB,    /* x */
     496                 :            :           0x32,0xA7,0xCD,0xEB,0xC1,0x40,
     497                 :            :           0x27,0xb6,0x91,0x6a,0x89,0x4d,0x3a,0xee,0x71,0x06,    /* y */
     498                 :            :           0xfe,0x80,0x5f,0xc3,0x4b,0x44,
     499                 :            :           0x3F,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,0xFF,0xBE,0x00,    /* order */
     500                 :            :           0x24,0x72,0x06,0x13,0xB5,0xA3 }
     501                 :            :         };
     502                 :            : 
     503                 :            : __fips_constseg
     504                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+21*6]; }
     505                 :            :         _EC_SECG_PRIME_160K1 = {
     506                 :            :         { NID_X9_62_prime_field,0,21,1 },
     507                 :            :         {                                                       /* no seed */
     508                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     509                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xAC,
     510                 :            :           0x73,
     511                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     512                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     513                 :            :           0x00,
     514                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     515                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     516                 :            :           0x07,
     517                 :            :           0x00,0x3B,0x4C,0x38,0x2C,0xE3,0x7A,0xA1,0x92,0xA4,    /* x */
     518                 :            :           0x01,0x9E,0x76,0x30,0x36,0xF4,0xF5,0xDD,0x4D,0x7E,
     519                 :            :           0xBB,
     520                 :            :           0x00,0x93,0x8c,0xf9,0x35,0x31,0x8f,0xdc,0xed,0x6b,    /* y */
     521                 :            :           0xc2,0x82,0x86,0x53,0x17,0x33,0xc3,0xf0,0x3c,0x4f,
     522                 :            :           0xee,
     523                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     524                 :            :           0x01,0xB8,0xFA,0x16,0xDF,0xAB,0x9A,0xCA,0x16,0xB6,
     525                 :            :           0xB3 }
     526                 :            :         };
     527                 :            : 
     528                 :            : __fips_constseg
     529                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+21*6]; }
     530                 :            :         _EC_SECG_PRIME_160R1 = {
     531                 :            :         { NID_X9_62_prime_field,20,21,1 },
     532                 :            :         { 0x10,0x53,0xCD,0xE4,0x2C,0x14,0xD6,0x96,0xE6,0x76,    /* seed */
     533                 :            :           0x87,0x56,0x15,0x17,0x53,0x3B,0xF3,0xF8,0x33,0x45,
     534                 :            : 
     535                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     536                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,
     537                 :            :           0xFF,
     538                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     539                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0xFF,0xFF,
     540                 :            :           0xFC,
     541                 :            :           0x00,0x1C,0x97,0xBE,0xFC,0x54,0xBD,0x7A,0x8B,0x65,    /* b */
     542                 :            :           0xAC,0xF8,0x9F,0x81,0xD4,0xD4,0xAD,0xC5,0x65,0xFA,
     543                 :            :           0x45,
     544                 :            :           0x00,0x4A,0x96,0xB5,0x68,0x8E,0xF5,0x73,0x28,0x46,    /* x */
     545                 :            :           0x64,0x69,0x89,0x68,0xC3,0x8B,0xB9,0x13,0xCB,0xFC,
     546                 :            :           0x82,
     547                 :            :           0x00,0x23,0xa6,0x28,0x55,0x31,0x68,0x94,0x7d,0x59,    /* y */
     548                 :            :           0xdc,0xc9,0x12,0x04,0x23,0x51,0x37,0x7a,0xc5,0xfb,
     549                 :            :           0x32,
     550                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     551                 :            :           0x01,0xF4,0xC8,0xF9,0x27,0xAE,0xD3,0xCA,0x75,0x22,
     552                 :            :           0x57 }
     553                 :            :         };
     554                 :            : 
     555                 :            : __fips_constseg
     556                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+21*6]; }
     557                 :            :         _EC_SECG_PRIME_160R2 = {
     558                 :            :         { NID_X9_62_prime_field,20,21,1 },
     559                 :            :         { 0xB9,0x9B,0x99,0xB0,0x99,0xB3,0x23,0xE0,0x27,0x09,    /* seed */
     560                 :            :           0xA4,0xD6,0x96,0xE6,0x76,0x87,0x56,0x15,0x17,0x51,
     561                 :            : 
     562                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     563                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xAC,
     564                 :            :           0x73,
     565                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     566                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xAC,
     567                 :            :           0x70,
     568                 :            :           0x00,0xB4,0xE1,0x34,0xD3,0xFB,0x59,0xEB,0x8B,0xAB,    /* b */
     569                 :            :           0x57,0x27,0x49,0x04,0x66,0x4D,0x5A,0xF5,0x03,0x88,
     570                 :            :           0xBA,
     571                 :            :           0x00,0x52,0xDC,0xB0,0x34,0x29,0x3A,0x11,0x7E,0x1F,    /* x */
     572                 :            :           0x4F,0xF1,0x1B,0x30,0xF7,0x19,0x9D,0x31,0x44,0xCE,
     573                 :            :           0x6D,
     574                 :            :           0x00,0xfe,0xaf,0xfe,0xf2,0xe3,0x31,0xf2,0x96,0xe0,    /* y */
     575                 :            :           0x71,0xfa,0x0d,0xf9,0x98,0x2c,0xfe,0xa7,0xd4,0x3f,
     576                 :            :           0x2e,
     577                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     578                 :            :           0x00,0x35,0x1E,0xE7,0x86,0xA8,0x18,0xF3,0xA1,0xA1,
     579                 :            :           0x6B }
     580                 :            :         };
     581                 :            : 
     582                 :            : __fips_constseg
     583                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+24*6]; }
     584                 :            :         _EC_SECG_PRIME_192K1 = {
     585                 :            :         { NID_X9_62_prime_field,0,24,1 },
     586                 :            :         {                                                       /* no seed */
     587                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     588                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
     589                 :            :           0xFF,0xFF,0xEE,0x37,
     590                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     591                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     592                 :            :           0x00,0x00,0x00,0x00,
     593                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     594                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     595                 :            :           0x00,0x00,0x00,0x03,
     596                 :            :           0xDB,0x4F,0xF1,0x0E,0xC0,0x57,0xE9,0xAE,0x26,0xB0,    /* x */
     597                 :            :           0x7D,0x02,0x80,0xB7,0xF4,0x34,0x1D,0xA5,0xD1,0xB1,
     598                 :            :           0xEA,0xE0,0x6C,0x7D,
     599                 :            :           0x9b,0x2f,0x2f,0x6d,0x9c,0x56,0x28,0xa7,0x84,0x41,    /* y */
     600                 :            :           0x63,0xd0,0x15,0xbe,0x86,0x34,0x40,0x82,0xaa,0x88,
     601                 :            :           0xd9,0x5e,0x2f,0x9d,
     602                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     603                 :            :           0xFF,0xFE,0x26,0xF2,0xFC,0x17,0x0F,0x69,0x46,0x6A,
     604                 :            :           0x74,0xDE,0xFD,0x8D }
     605                 :            :         };
     606                 :            : 
     607                 :            : __fips_constseg
     608                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+29*6]; }
     609                 :            :         _EC_SECG_PRIME_224K1 = {
     610                 :            :         { NID_X9_62_prime_field,0,29,1 },
     611                 :            :         {                                                       /* no seed */
     612                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     613                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     614                 :            :           0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xE5,0x6D,
     615                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     616                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     617                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     618                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     619                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     620                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x05,
     621                 :            :           0x00,0xA1,0x45,0x5B,0x33,0x4D,0xF0,0x99,0xDF,0x30,    /* x */
     622                 :            :           0xFC,0x28,0xA1,0x69,0xA4,0x67,0xE9,0xE4,0x70,0x75,
     623                 :            :           0xA9,0x0F,0x7E,0x65,0x0E,0xB6,0xB7,0xA4,0x5C,
     624                 :            :           0x00,0x7e,0x08,0x9f,0xed,0x7f,0xba,0x34,0x42,0x82,    /* y */
     625                 :            :           0xca,0xfb,0xd6,0xf7,0xe3,0x19,0xf7,0xc0,0xb0,0xbd,
     626                 :            :           0x59,0xe2,0xca,0x4b,0xdb,0x55,0x6d,0x61,0xa5,
     627                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     628                 :            :           0x00,0x00,0x00,0x00,0x01,0xDC,0xE8,0xD2,0xEC,0x61,
     629                 :            :           0x84,0xCA,0xF0,0xA9,0x71,0x76,0x9F,0xB1,0xF7 }
     630                 :            :         };
     631                 :            : 
     632                 :            : __fips_constseg
     633                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+32*6]; }
     634                 :            :         _EC_SECG_PRIME_256K1 = {
     635                 :            :         { NID_X9_62_prime_field,0,32,1 },
     636                 :            :         {                                                       /* no seed */
     637                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     638                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
     639                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,
     640                 :            :           0xFC,0x2F,
     641                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     642                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     643                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     644                 :            :           0x00,0x00,
     645                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     646                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     647                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     648                 :            :           0x00,0x07,
     649                 :            :           0x79,0xBE,0x66,0x7E,0xF9,0xDC,0xBB,0xAC,0x55,0xA0,    /* x */
     650                 :            :           0x62,0x95,0xCE,0x87,0x0B,0x07,0x02,0x9B,0xFC,0xDB,
     651                 :            :           0x2D,0xCE,0x28,0xD9,0x59,0xF2,0x81,0x5B,0x16,0xF8,
     652                 :            :           0x17,0x98,
     653                 :            :           0x48,0x3a,0xda,0x77,0x26,0xa3,0xc4,0x65,0x5d,0xa4,    /* y */
     654                 :            :           0xfb,0xfc,0x0e,0x11,0x08,0xa8,0xfd,0x17,0xb4,0x48,
     655                 :            :           0xa6,0x85,0x54,0x19,0x9c,0x47,0xd0,0x8f,0xfb,0x10,
     656                 :            :           0xd4,0xb8,
     657                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     658                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xBA,0xAE,0xDC,0xE6,
     659                 :            :           0xAF,0x48,0xA0,0x3B,0xBF,0xD2,0x5E,0x8C,0xD0,0x36,
     660                 :            :           0x41,0x41 }
     661                 :            :         };
     662                 :            : 
     663                 :            : /* some wap/wtls curves */
     664                 :            : __fips_constseg
     665                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+15*6]; }
     666                 :            :         _EC_WTLS_8 = {
     667                 :            :         { NID_X9_62_prime_field,0,15,1 },
     668                 :            :         {                                                       /* no seed */
     669                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     670                 :            :           0xFF,0xFF,0xFF,0xFD,0xE7,
     671                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     672                 :            :           0x00,0x00,0x00,0x00,0x00,
     673                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     674                 :            :           0x00,0x00,0x00,0x00,0x03,
     675                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* x */
     676                 :            :           0x00,0x00,0x00,0x00,0x01,
     677                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* y */
     678                 :            :           0x00,0x00,0x00,0x00,0x02,
     679                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xEC,0xEA,    /* order */
     680                 :            :           0x55,0x1A,0xD8,0x37,0xE9 }
     681                 :            :         };
     682                 :            : 
     683                 :            : __fips_constseg
     684                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+21*6]; }
     685                 :            :         _EC_WTLS_9 = {
     686                 :            :         { NID_X9_62_prime_field,0,21,1 },
     687                 :            :         {                                                       /* no seed */
     688                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     689                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFC,0x80,
     690                 :            :           0x8F,
     691                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     692                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     693                 :            :           0x00,
     694                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     695                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     696                 :            :           0x03,
     697                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* x */
     698                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     699                 :            :           0x01,
     700                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* y */
     701                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     702                 :            :           0x02,
     703                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     704                 :            :           0x01,0xCD,0xC9,0x8A,0xE0,0xE2,0xDE,0x57,0x4A,0xBF,
     705                 :            :           0x33 }
     706                 :            :         };
     707                 :            : 
     708                 :            : __fips_constseg
     709                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+28*6]; }
     710                 :            :         _EC_WTLS_12 = {
     711                 :            :         { NID_X9_62_prime_field,0,28,1 },
     712                 :            :         {                                                       /* no seed */
     713                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* p */
     714                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,
     715                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
     716                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* a */
     717                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0xFF,0xFF,0xFF,0xFF,
     718                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,
     719                 :            :           0xB4,0x05,0x0A,0x85,0x0C,0x04,0xB3,0xAB,0xF5,0x41,    /* b */
     720                 :            :           0x32,0x56,0x50,0x44,0xB0,0xB7,0xD7,0xBF,0xD8,0xBA,
     721                 :            :           0x27,0x0B,0x39,0x43,0x23,0x55,0xFF,0xB4,
     722                 :            :           0xB7,0x0E,0x0C,0xBD,0x6B,0xB4,0xBF,0x7F,0x32,0x13,    /* x */
     723                 :            :           0x90,0xB9,0x4A,0x03,0xC1,0xD3,0x56,0xC2,0x11,0x22,
     724                 :            :           0x34,0x32,0x80,0xD6,0x11,0x5C,0x1D,0x21,
     725                 :            :           0xbd,0x37,0x63,0x88,0xb5,0xf7,0x23,0xfb,0x4c,0x22,    /* y */
     726                 :            :           0xdf,0xe6,0xcd,0x43,0x75,0xa0,0x5a,0x07,0x47,0x64,
     727                 :            :           0x44,0xd5,0x81,0x99,0x85,0x00,0x7e,0x34,
     728                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     729                 :            :           0xFF,0xFF,0xFF,0xFF,0x16,0xA2,0xE0,0xB8,0xF0,0x3E,
     730                 :            :           0x13,0xDD,0x29,0x45,0x5C,0x5C,0x2A,0x3D }
     731                 :            :         };
     732                 :            : 
     733                 :            : #ifndef OPENSSL_NO_EC2M
     734                 :            : 
     735                 :            : /* characteristic two curves */
     736                 :            : __fips_constseg
     737                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+15*6]; }
     738                 :            :         _EC_SECG_CHAR2_113R1 = {
     739                 :            :         { NID_X9_62_characteristic_two_field,20,15,2 },
     740                 :            :         { 0x10,0xE7,0x23,0xAB,0x14,0xD6,0x96,0xE6,0x76,0x87,    /* seed */
     741                 :            :           0x56,0x15,0x17,0x56,0xFE,0xBF,0x8F,0xCB,0x49,0xA9,
     742                 :            : 
     743                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     744                 :            :           0x00,0x00,0x00,0x02,0x01,
     745                 :            :           0x00,0x30,0x88,0x25,0x0C,0xA6,0xE7,0xC7,0xFE,0x64,    /* a */
     746                 :            :           0x9C,0xE8,0x58,0x20,0xF7,
     747                 :            :           0x00,0xE8,0xBE,0xE4,0xD3,0xE2,0x26,0x07,0x44,0x18,    /* b */
     748                 :            :           0x8B,0xE0,0xE9,0xC7,0x23,
     749                 :            :           0x00,0x9D,0x73,0x61,0x6F,0x35,0xF4,0xAB,0x14,0x07,    /* x */
     750                 :            :           0xD7,0x35,0x62,0xC1,0x0F,
     751                 :            :           0x00,0xA5,0x28,0x30,0x27,0x79,0x58,0xEE,0x84,0xD1,    /* y */
     752                 :            :           0x31,0x5E,0xD3,0x18,0x86,
     753                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xD9,0xCC,    /* order */
     754                 :            :           0xEC,0x8A,0x39,0xE5,0x6F }
     755                 :            :         };
     756                 :            : 
     757                 :            : __fips_constseg
     758                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+15*6]; }
     759                 :            :         _EC_SECG_CHAR2_113R2 = {
     760                 :            :         { NID_X9_62_characteristic_two_field,20,15,2 },
     761                 :            :         { 0x10,0xC0,0xFB,0x15,0x76,0x08,0x60,0xDE,0xF1,0xEE,    /* seed */
     762                 :            :           0xF4,0xD6,0x96,0xE6,0x76,0x87,0x56,0x15,0x17,0x5D,
     763                 :            : 
     764                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     765                 :            :           0x00,0x00,0x00,0x02,0x01,
     766                 :            :           0x00,0x68,0x99,0x18,0xDB,0xEC,0x7E,0x5A,0x0D,0xD6,    /* a */
     767                 :            :           0xDF,0xC0,0xAA,0x55,0xC7,
     768                 :            :           0x00,0x95,0xE9,0xA9,0xEC,0x9B,0x29,0x7B,0xD4,0xBF,    /* b */
     769                 :            :           0x36,0xE0,0x59,0x18,0x4F,
     770                 :            :           0x01,0xA5,0x7A,0x6A,0x7B,0x26,0xCA,0x5E,0xF5,0x2F,    /* x */
     771                 :            :           0xCD,0xB8,0x16,0x47,0x97,
     772                 :            :           0x00,0xB3,0xAD,0xC9,0x4E,0xD1,0xFE,0x67,0x4C,0x06,    /* y */
     773                 :            :           0xE6,0x95,0xBA,0xBA,0x1D,
     774                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x08,0x78,    /* order */
     775                 :            :           0x9B,0x24,0x96,0xAF,0x93 }
     776                 :            :         };
     777                 :            : 
     778                 :            : __fips_constseg
     779                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+17*6]; }
     780                 :            :         _EC_SECG_CHAR2_131R1 = {
     781                 :            :         { NID_X9_62_characteristic_two_field,20,17,2 },
     782                 :            :         { 0x4D,0x69,0x6E,0x67,0x68,0x75,0x61,0x51,0x75,0x98,    /* seed */
     783                 :            :           0x5B,0xD3,0xAD,0xBA,0xDA,0x21,0xB4,0x3A,0x97,0xE2,
     784                 :            : 
     785                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     786                 :            :           0x00,0x00,0x00,0x00,0x00,0x01,0x0D,
     787                 :            :           0x07,0xA1,0x1B,0x09,0xA7,0x6B,0x56,0x21,0x44,0x41,    /* a */
     788                 :            :           0x8F,0xF3,0xFF,0x8C,0x25,0x70,0xB8,
     789                 :            :           0x02,0x17,0xC0,0x56,0x10,0x88,0x4B,0x63,0xB9,0xC6,    /* b */
     790                 :            :           0xC7,0x29,0x16,0x78,0xF9,0xD3,0x41,
     791                 :            :           0x00,0x81,0xBA,0xF9,0x1F,0xDF,0x98,0x33,0xC4,0x0F,    /* x */
     792                 :            :           0x9C,0x18,0x13,0x43,0x63,0x83,0x99,
     793                 :            :           0x07,0x8C,0x6E,0x7E,0xA3,0x8C,0x00,0x1F,0x73,0xC8,    /* y */
     794                 :            :           0x13,0x4B,0x1B,0x4E,0xF9,0xE1,0x50,
     795                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x31,    /* order */
     796                 :            :           0x23,0x95,0x3A,0x94,0x64,0xB5,0x4D }
     797                 :            :         };
     798                 :            : 
     799                 :            : __fips_constseg
     800                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+17*6]; }
     801                 :            :         _EC_SECG_CHAR2_131R2 = {
     802                 :            :         { NID_X9_62_characteristic_two_field,20,17,2 },
     803                 :            :         { 0x98,0x5B,0xD3,0xAD,0xBA,0xD4,0xD6,0x96,0xE6,0x76,    /* seed */
     804                 :            :           0x87,0x56,0x15,0x17,0x5A,0x21,0xB4,0x3A,0x97,0xE3,
     805                 :            : 
     806                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     807                 :            :           0x00,0x00,0x00,0x00,0x00,0x01,0x0D,
     808                 :            :           0x03,0xE5,0xA8,0x89,0x19,0xD7,0xCA,0xFC,0xBF,0x41,    /* a */
     809                 :            :           0x5F,0x07,0xC2,0x17,0x65,0x73,0xB2,
     810                 :            :           0x04,0xB8,0x26,0x6A,0x46,0xC5,0x56,0x57,0xAC,0x73,    /* b */
     811                 :            :           0x4C,0xE3,0x8F,0x01,0x8F,0x21,0x92,
     812                 :            :           0x03,0x56,0xDC,0xD8,0xF2,0xF9,0x50,0x31,0xAD,0x65,    /* x */
     813                 :            :           0x2D,0x23,0x95,0x1B,0xB3,0x66,0xA8,
     814                 :            :           0x06,0x48,0xF0,0x6D,0x86,0x79,0x40,0xA5,0x36,0x6D,    /* y */
     815                 :            :           0x9E,0x26,0x5D,0xE9,0xEB,0x24,0x0F,
     816                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x69,    /* order */
     817                 :            :           0x54,0xA2,0x33,0x04,0x9B,0xA9,0x8F }
     818                 :            :         };
     819                 :            : 
     820                 :            : __fips_constseg
     821                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+21*6]; }
     822                 :            :         _EC_NIST_CHAR2_163K = {
     823                 :            :         { NID_X9_62_characteristic_two_field,0,21,2 },
     824                 :            :         {                                                       /* no seed */
     825                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     826                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     827                 :            :           0xC9,
     828                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     829                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     830                 :            :           0x01,
     831                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     832                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     833                 :            :           0x01,
     834                 :            :           0x02,0xFE,0x13,0xC0,0x53,0x7B,0xBC,0x11,0xAC,0xAA,    /* x */
     835                 :            :           0x07,0xD7,0x93,0xDE,0x4E,0x6D,0x5E,0x5C,0x94,0xEE,
     836                 :            :           0xE8,
     837                 :            :           0x02,0x89,0x07,0x0F,0xB0,0x5D,0x38,0xFF,0x58,0x32,    /* y */
     838                 :            :           0x1F,0x2E,0x80,0x05,0x36,0xD5,0x38,0xCC,0xDA,0xA3,
     839                 :            :           0xD9,
     840                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     841                 :            :           0x02,0x01,0x08,0xA2,0xE0,0xCC,0x0D,0x99,0xF8,0xA5,
     842                 :            :           0xEF }
     843                 :            :         };
     844                 :            : 
     845                 :            : __fips_constseg
     846                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+21*6]; }
     847                 :            :         _EC_SECG_CHAR2_163R1 = {
     848                 :            :         { NID_X9_62_characteristic_two_field,0,21,2 },
     849                 :            :         {                                                       /* no seed */
     850                 :            : #if 0
     851                 :            : /* The algorithm used to derive the curve parameters from
     852                 :            :  * the seed used here is slightly different than the
     853                 :            :  * algorithm described in X9.62 . */
     854                 :            :           0x24,0xB7,0xB1,0x37,0xC8,0xA1,0x4D,0x69,0x6E,0x67,
     855                 :            :           0x68,0x75,0x61,0x51,0x75,0x6F,0xD0,0xDA,0x2E,0x5C,
     856                 :            : #endif
     857                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     858                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     859                 :            :           0xC9,
     860                 :            :           0x07,0xB6,0x88,0x2C,0xAA,0xEF,0xA8,0x4F,0x95,0x54,    /* a */
     861                 :            :           0xFF,0x84,0x28,0xBD,0x88,0xE2,0x46,0xD2,0x78,0x2A,
     862                 :            :           0xE2,
     863                 :            :           0x07,0x13,0x61,0x2D,0xCD,0xDC,0xB4,0x0A,0xAB,0x94,    /* b */
     864                 :            :           0x6B,0xDA,0x29,0xCA,0x91,0xF7,0x3A,0xF9,0x58,0xAF,
     865                 :            :           0xD9,
     866                 :            :           0x03,0x69,0x97,0x96,0x97,0xAB,0x43,0x89,0x77,0x89,    /* x */
     867                 :            :           0x56,0x67,0x89,0x56,0x7F,0x78,0x7A,0x78,0x76,0xA6,
     868                 :            :           0x54,
     869                 :            :           0x00,0x43,0x5E,0xDB,0x42,0xEF,0xAF,0xB2,0x98,0x9D,    /* y */
     870                 :            :           0x51,0xFE,0xFC,0xE3,0xC8,0x09,0x88,0xF4,0x1F,0xF8,
     871                 :            :           0x83,
     872                 :            :           0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
     873                 :            :           0xFF,0x48,0xAA,0xB6,0x89,0xC2,0x9C,0xA7,0x10,0x27,
     874                 :            :           0x9B }
     875                 :            :         };
     876                 :            : 
     877                 :            : __fips_constseg
     878                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+21*6]; }
     879                 :            :         _EC_NIST_CHAR2_163B = {
     880                 :            :         { NID_X9_62_characteristic_two_field,0,21,2 },
     881                 :            :         {                                                       /* no seed */
     882                 :            : #if 0
     883                 :            : /* The seed here was used to created the curve parameters in normal
     884                 :            :  * basis representation (and not the polynomial representation used here) */
     885                 :            :           0x85,0xE2,0x5B,0xFE,0x5C,0x86,0x22,0x6C,0xDB,0x12,
     886                 :            :           0x01,0x6F,0x75,0x53,0xF9,0xD0,0xE6,0x93,0xA2,0x68,
     887                 :            : #endif
     888                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     889                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     890                 :            :           0xC9,
     891                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     892                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     893                 :            :           0x01,
     894                 :            :           0x02,0x0A,0x60,0x19,0x07,0xB8,0xC9,0x53,0xCA,0x14,    /* b */
     895                 :            :           0x81,0xEB,0x10,0x51,0x2F,0x78,0x74,0x4A,0x32,0x05,
     896                 :            :           0xFD,
     897                 :            :           0x03,0xF0,0xEB,0xA1,0x62,0x86,0xA2,0xD5,0x7E,0xA0,    /* x */
     898                 :            :           0x99,0x11,0x68,0xD4,0x99,0x46,0x37,0xE8,0x34,0x3E,
     899                 :            :           0x36,
     900                 :            :           0x00,0xD5,0x1F,0xBC,0x6C,0x71,0xA0,0x09,0x4F,0xA2,    /* y */
     901                 :            :           0xCD,0xD5,0x45,0xB1,0x1C,0x5C,0x0C,0x79,0x73,0x24,
     902                 :            :           0xF1,
     903                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     904                 :            :           0x02,0x92,0xFE,0x77,0xE7,0x0C,0x12,0xA4,0x23,0x4C,
     905                 :            :           0x33 }
     906                 :            :         };
     907                 :            : 
     908                 :            : __fips_constseg
     909                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+25*6]; }
     910                 :            :         _EC_SECG_CHAR2_193R1 = {
     911                 :            :         { NID_X9_62_characteristic_two_field,20,25,2 },
     912                 :            :         { 0x10,0x3F,0xAE,0xC7,0x4D,0x69,0x6E,0x67,0x68,0x75,    /* seed */
     913                 :            :           0x61,0x51,0x75,0x77,0x7F,0xC5,0xB1,0x91,0xEF,0x30,
     914                 :            : 
     915                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     916                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     917                 :            :           0x00,0x00,0x00,0x80,0x01,
     918                 :            :           0x00,0x17,0x85,0x8F,0xEB,0x7A,0x98,0x97,0x51,0x69,    /* a */
     919                 :            :           0xE1,0x71,0xF7,0x7B,0x40,0x87,0xDE,0x09,0x8A,0xC8,
     920                 :            :           0xA9,0x11,0xDF,0x7B,0x01,
     921                 :            :           0x00,0xFD,0xFB,0x49,0xBF,0xE6,0xC3,0xA8,0x9F,0xAC,    /* b */
     922                 :            :           0xAD,0xAA,0x7A,0x1E,0x5B,0xBC,0x7C,0xC1,0xC2,0xE5,
     923                 :            :           0xD8,0x31,0x47,0x88,0x14,
     924                 :            :           0x01,0xF4,0x81,0xBC,0x5F,0x0F,0xF8,0x4A,0x74,0xAD,    /* x */
     925                 :            :           0x6C,0xDF,0x6F,0xDE,0xF4,0xBF,0x61,0x79,0x62,0x53,
     926                 :            :           0x72,0xD8,0xC0,0xC5,0xE1,
     927                 :            :           0x00,0x25,0xE3,0x99,0xF2,0x90,0x37,0x12,0xCC,0xF3,    /* y */
     928                 :            :           0xEA,0x9E,0x3A,0x1A,0xD1,0x7F,0xB0,0xB3,0x20,0x1B,
     929                 :            :           0x6A,0xF7,0xCE,0x1B,0x05,
     930                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     931                 :            :           0x00,0x00,0x00,0xC7,0xF3,0x4A,0x77,0x8F,0x44,0x3A,
     932                 :            :           0xCC,0x92,0x0E,0xBA,0x49 }
     933                 :            :         };
     934                 :            : 
     935                 :            : __fips_constseg
     936                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+25*6]; }
     937                 :            :         _EC_SECG_CHAR2_193R2 = {
     938                 :            :         { NID_X9_62_characteristic_two_field,20,25,2 },
     939                 :            :         { 0x10,0xB7,0xB4,0xD6,0x96,0xE6,0x76,0x87,0x56,0x15,    /* seed */
     940                 :            :           0x17,0x51,0x37,0xC8,0xA1,0x6F,0xD0,0xDA,0x22,0x11,
     941                 :            : 
     942                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
     943                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     944                 :            :           0x00,0x00,0x00,0x80,0x01,
     945                 :            :           0x01,0x63,0xF3,0x5A,0x51,0x37,0xC2,0xCE,0x3E,0xA6,    /* a */
     946                 :            :           0xED,0x86,0x67,0x19,0x0B,0x0B,0xC4,0x3E,0xCD,0x69,
     947                 :            :           0x97,0x77,0x02,0x70,0x9B,
     948                 :            :           0x00,0xC9,0xBB,0x9E,0x89,0x27,0xD4,0xD6,0x4C,0x37,    /* b */
     949                 :            :           0x7E,0x2A,0xB2,0x85,0x6A,0x5B,0x16,0xE3,0xEF,0xB7,
     950                 :            :           0xF6,0x1D,0x43,0x16,0xAE,
     951                 :            :           0x00,0xD9,0xB6,0x7D,0x19,0x2E,0x03,0x67,0xC8,0x03,    /* x */
     952                 :            :           0xF3,0x9E,0x1A,0x7E,0x82,0xCA,0x14,0xA6,0x51,0x35,
     953                 :            :           0x0A,0xAE,0x61,0x7E,0x8F,
     954                 :            :           0x01,0xCE,0x94,0x33,0x56,0x07,0xC3,0x04,0xAC,0x29,    /* y */
     955                 :            :           0xE7,0xDE,0xFB,0xD9,0xCA,0x01,0xF5,0x96,0xF9,0x27,
     956                 :            :           0x22,0x4C,0xDE,0xCF,0x6C,
     957                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     958                 :            :           0x00,0x00,0x01,0x5A,0xAB,0x56,0x1B,0x00,0x54,0x13,
     959                 :            :           0xCC,0xD4,0xEE,0x99,0xD5 }
     960                 :            :         };
     961                 :            : 
     962                 :            : __fips_constseg
     963                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+30*6]; }
     964                 :            :         _EC_NIST_CHAR2_233K = {
     965                 :            :         { NID_X9_62_characteristic_two_field,0,30,4 },
     966                 :            :         {                                                       /* no seed */
     967                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     968                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     969                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
     970                 :            : 
     971                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
     972                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     973                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     974                 :            : 
     975                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
     976                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
     977                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
     978                 :            : 
     979                 :            :           0x01,0x72,0x32,0xBA,0x85,0x3A,0x7E,0x73,0x1A,0xF1,    /* x */
     980                 :            :           0x29,0xF2,0x2F,0xF4,0x14,0x95,0x63,0xA4,0x19,0xC2,
     981                 :            :           0x6B,0xF5,0x0A,0x4C,0x9D,0x6E,0xEF,0xAD,0x61,0x26,
     982                 :            : 
     983                 :            :           0x01,0xDB,0x53,0x7D,0xEC,0xE8,0x19,0xB7,0xF7,0x0F,    /* y */
     984                 :            :           0x55,0x5A,0x67,0xC4,0x27,0xA8,0xCD,0x9B,0xF1,0x8A,
     985                 :            :           0xEB,0x9B,0x56,0xE0,0xC1,0x10,0x56,0xFA,0xE6,0xA3,
     986                 :            : 
     987                 :            :           0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
     988                 :            :           0x00,0x00,0x00,0x00,0x00,0x06,0x9D,0x5B,0xB9,0x15,
     989                 :            :           0xBC,0xD4,0x6E,0xFB,0x1A,0xD5,0xF1,0x73,0xAB,0xDF }
     990                 :            :         };
     991                 :            : 
     992                 :            : __fips_constseg
     993                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
     994                 :            :         _EC_NIST_CHAR2_233B = {
     995                 :            :         { NID_X9_62_characteristic_two_field,20,30,2 },
     996                 :            :         { 0x74,0xD5,0x9F,0xF0,0x7F,0x6B,0x41,0x3D,0x0E,0xA1,    /* seed */
     997                 :            :           0x4B,0x34,0x4B,0x20,0xA2,0xDB,0x04,0x9B,0x50,0xC3,
     998                 :            : 
     999                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1000                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1001                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1002                 :            : 
    1003                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1004                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1005                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1006                 :            : 
    1007                 :            :           0x00,0x66,0x64,0x7E,0xDE,0x6C,0x33,0x2C,0x7F,0x8C,    /* b */
    1008                 :            :           0x09,0x23,0xBB,0x58,0x21,0x3B,0x33,0x3B,0x20,0xE9,
    1009                 :            :           0xCE,0x42,0x81,0xFE,0x11,0x5F,0x7D,0x8F,0x90,0xAD,
    1010                 :            : 
    1011                 :            :           0x00,0xFA,0xC9,0xDF,0xCB,0xAC,0x83,0x13,0xBB,0x21,    /* x */
    1012                 :            :           0x39,0xF1,0xBB,0x75,0x5F,0xEF,0x65,0xBC,0x39,0x1F,
    1013                 :            :           0x8B,0x36,0xF8,0xF8,0xEB,0x73,0x71,0xFD,0x55,0x8B,
    1014                 :            : 
    1015                 :            :           0x01,0x00,0x6A,0x08,0xA4,0x19,0x03,0x35,0x06,0x78,    /* y */
    1016                 :            :           0xE5,0x85,0x28,0xBE,0xBF,0x8A,0x0B,0xEF,0xF8,0x67,
    1017                 :            :           0xA7,0xCA,0x36,0x71,0x6F,0x7E,0x01,0xF8,0x10,0x52,
    1018                 :            : 
    1019                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1020                 :            :           0x00,0x00,0x00,0x00,0x00,0x13,0xE9,0x74,0xE7,0x2F,
    1021                 :            :           0x8A,0x69,0x22,0x03,0x1D,0x26,0x03,0xCF,0xE0,0xD7 }
    1022                 :            :         };
    1023                 :            : 
    1024                 :            : __fips_constseg
    1025                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+30*6]; }
    1026                 :            :         _EC_SECG_CHAR2_239K1 = {
    1027                 :            :         { NID_X9_62_characteristic_two_field,0,30,4 },
    1028                 :            :         {                                                       /* no seed */
    1029                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1030                 :            :           0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1031                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1032                 :            : 
    1033                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1034                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1035                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1036                 :            : 
    1037                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1038                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1039                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1040                 :            : 
    1041                 :            :           0x29,0xA0,0xB6,0xA8,0x87,0xA9,0x83,0xE9,0x73,0x09,    /* x */
    1042                 :            :           0x88,0xA6,0x87,0x27,0xA8,0xB2,0xD1,0x26,0xC4,0x4C,
    1043                 :            :           0xC2,0xCC,0x7B,0x2A,0x65,0x55,0x19,0x30,0x35,0xDC,
    1044                 :            : 
    1045                 :            :           0x76,0x31,0x08,0x04,0xF1,0x2E,0x54,0x9B,0xDB,0x01,    /* y */
    1046                 :            :           0x1C,0x10,0x30,0x89,0xE7,0x35,0x10,0xAC,0xB2,0x75,
    1047                 :            :           0xFC,0x31,0x2A,0x5D,0xC6,0xB7,0x65,0x53,0xF0,0xCA,
    1048                 :            : 
    1049                 :            :           0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1050                 :            :           0x00,0x00,0x00,0x00,0x00,0x5A,0x79,0xFE,0xC6,0x7C,
    1051                 :            :           0xB6,0xE9,0x1F,0x1C,0x1D,0xA8,0x00,0xE4,0x78,0xA5 }
    1052                 :            :         };
    1053                 :            : 
    1054                 :            : __fips_constseg
    1055                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+36*6]; }
    1056                 :            :         _EC_NIST_CHAR2_283K = {
    1057                 :            :         { NID_X9_62_characteristic_two_field,0,36,4 },
    1058                 :            :         {                                                       /* no seed */
    1059                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1060                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1061                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1062                 :            :           0x00,0x00,0x00,0x00,0x10,0xA1,
    1063                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1064                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1065                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1066                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,
    1067                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1068                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1069                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1070                 :            :           0x00,0x00,0x00,0x00,0x00,0x01,
    1071                 :            :           0x05,0x03,0x21,0x3F,0x78,0xCA,0x44,0x88,0x3F,0x1A,    /* x */
    1072                 :            :           0x3B,0x81,0x62,0xF1,0x88,0xE5,0x53,0xCD,0x26,0x5F,
    1073                 :            :           0x23,0xC1,0x56,0x7A,0x16,0x87,0x69,0x13,0xB0,0xC2,
    1074                 :            :           0xAC,0x24,0x58,0x49,0x28,0x36,
    1075                 :            :           0x01,0xCC,0xDA,0x38,0x0F,0x1C,0x9E,0x31,0x8D,0x90,    /* y */
    1076                 :            :           0xF9,0x5D,0x07,0xE5,0x42,0x6F,0xE8,0x7E,0x45,0xC0,
    1077                 :            :           0xE8,0x18,0x46,0x98,0xE4,0x59,0x62,0x36,0x4E,0x34,
    1078                 :            :           0x11,0x61,0x77,0xDD,0x22,0x59,
    1079                 :            :           0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1080                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE9,0xAE,
    1081                 :            :           0x2E,0xD0,0x75,0x77,0x26,0x5D,0xFF,0x7F,0x94,0x45,
    1082                 :            :           0x1E,0x06,0x1E,0x16,0x3C,0x61 }
    1083                 :            :         };
    1084                 :            : 
    1085                 :            : __fips_constseg
    1086                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+36*6]; }
    1087                 :            :         _EC_NIST_CHAR2_283B = {
    1088                 :            :         { NID_X9_62_characteristic_two_field,20,36,2 },
    1089                 :            :         { 0x77,0xE2,0xB0,0x73,0x70,0xEB,0x0F,0x83,0x2A,0x6D,    /* no seed */
    1090                 :            :           0xD5,0xB6,0x2D,0xFC,0x88,0xCD,0x06,0xBB,0x84,0xBE,
    1091                 :            : 
    1092                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1093                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1094                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1095                 :            :           0x00,0x00,0x00,0x00,0x10,0xA1,
    1096                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1097                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1098                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1099                 :            :           0x00,0x00,0x00,0x00,0x00,0x01,
    1100                 :            :           0x02,0x7B,0x68,0x0A,0xC8,0xB8,0x59,0x6D,0xA5,0xA4,    /* b */
    1101                 :            :           0xAF,0x8A,0x19,0xA0,0x30,0x3F,0xCA,0x97,0xFD,0x76,
    1102                 :            :           0x45,0x30,0x9F,0xA2,0xA5,0x81,0x48,0x5A,0xF6,0x26,
    1103                 :            :           0x3E,0x31,0x3B,0x79,0xA2,0xF5,
    1104                 :            :           0x05,0xF9,0x39,0x25,0x8D,0xB7,0xDD,0x90,0xE1,0x93,    /* x */
    1105                 :            :           0x4F,0x8C,0x70,0xB0,0xDF,0xEC,0x2E,0xED,0x25,0xB8,
    1106                 :            :           0x55,0x7E,0xAC,0x9C,0x80,0xE2,0xE1,0x98,0xF8,0xCD,
    1107                 :            :           0xBE,0xCD,0x86,0xB1,0x20,0x53,
    1108                 :            :           0x03,0x67,0x68,0x54,0xFE,0x24,0x14,0x1C,0xB9,0x8F,    /* y */
    1109                 :            :           0xE6,0xD4,0xB2,0x0D,0x02,0xB4,0x51,0x6F,0xF7,0x02,
    1110                 :            :           0x35,0x0E,0xDD,0xB0,0x82,0x67,0x79,0xC8,0x13,0xF0,
    1111                 :            :           0xDF,0x45,0xBE,0x81,0x12,0xF4,
    1112                 :            :           0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1113                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0x90,
    1114                 :            :           0x39,0x96,0x60,0xFC,0x93,0x8A,0x90,0x16,0x5B,0x04,
    1115                 :            :           0x2A,0x7C,0xEF,0xAD,0xB3,0x07 }
    1116                 :            :         };
    1117                 :            : 
    1118                 :            : __fips_constseg
    1119                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+52*6]; }
    1120                 :            :         _EC_NIST_CHAR2_409K = {
    1121                 :            :         { NID_X9_62_characteristic_two_field,0,52,4 },
    1122                 :            :         {                                                       /* no seed */
    1123                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1124                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1125                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1126                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1127                 :            :           0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1128                 :            :           0x00,0x01,
    1129                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1130                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1131                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1132                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1133                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1134                 :            :           0x00,0x00,
    1135                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1136                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1137                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1138                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1139                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1140                 :            :           0x00,0x01,
    1141                 :            :           0x00,0x60,0xF0,0x5F,0x65,0x8F,0x49,0xC1,0xAD,0x3A,    /* x */
    1142                 :            :           0xB1,0x89,0x0F,0x71,0x84,0x21,0x0E,0xFD,0x09,0x87,
    1143                 :            :           0xE3,0x07,0xC8,0x4C,0x27,0xAC,0xCF,0xB8,0xF9,0xF6,
    1144                 :            :           0x7C,0xC2,0xC4,0x60,0x18,0x9E,0xB5,0xAA,0xAA,0x62,
    1145                 :            :           0xEE,0x22,0x2E,0xB1,0xB3,0x55,0x40,0xCF,0xE9,0x02,
    1146                 :            :           0x37,0x46,
    1147                 :            :           0x01,0xE3,0x69,0x05,0x0B,0x7C,0x4E,0x42,0xAC,0xBA,    /* y */
    1148                 :            :           0x1D,0xAC,0xBF,0x04,0x29,0x9C,0x34,0x60,0x78,0x2F,
    1149                 :            :           0x91,0x8E,0xA4,0x27,0xE6,0x32,0x51,0x65,0xE9,0xEA,
    1150                 :            :           0x10,0xE3,0xDA,0x5F,0x6C,0x42,0xE9,0xC5,0x52,0x15,
    1151                 :            :           0xAA,0x9C,0xA2,0x7A,0x58,0x63,0xEC,0x48,0xD8,0xE0,
    1152                 :            :           0x28,0x6B,
    1153                 :            :           0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1154                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    1155                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFE,0x5F,0x83,0xB2,
    1156                 :            :           0xD4,0xEA,0x20,0x40,0x0E,0xC4,0x55,0x7D,0x5E,0xD3,
    1157                 :            :           0xE3,0xE7,0xCA,0x5B,0x4B,0x5C,0x83,0xB8,0xE0,0x1E,
    1158                 :            :           0x5F,0xCF }
    1159                 :            :         };
    1160                 :            : 
    1161                 :            : __fips_constseg
    1162                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+52*6]; }
    1163                 :            :         _EC_NIST_CHAR2_409B = {
    1164                 :            :         { NID_X9_62_characteristic_two_field,20,52,2 },
    1165                 :            :         { 0x40,0x99,0xB5,0xA4,0x57,0xF9,0xD6,0x9F,0x79,0x21,    /* seed */
    1166                 :            :           0x3D,0x09,0x4C,0x4B,0xCD,0x4D,0x42,0x62,0x21,0x0B,
    1167                 :            : 
    1168                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1169                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1170                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1171                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1172                 :            :           0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1173                 :            :           0x00,0x01,
    1174                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1175                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1176                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1177                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1178                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1179                 :            :           0x00,0x01,
    1180                 :            :           0x00,0x21,0xA5,0xC2,0xC8,0xEE,0x9F,0xEB,0x5C,0x4B,    /* b */
    1181                 :            :           0x9A,0x75,0x3B,0x7B,0x47,0x6B,0x7F,0xD6,0x42,0x2E,
    1182                 :            :           0xF1,0xF3,0xDD,0x67,0x47,0x61,0xFA,0x99,0xD6,0xAC,
    1183                 :            :           0x27,0xC8,0xA9,0xA1,0x97,0xB2,0x72,0x82,0x2F,0x6C,
    1184                 :            :           0xD5,0x7A,0x55,0xAA,0x4F,0x50,0xAE,0x31,0x7B,0x13,
    1185                 :            :           0x54,0x5F,
    1186                 :            :           0x01,0x5D,0x48,0x60,0xD0,0x88,0xDD,0xB3,0x49,0x6B,    /* x */
    1187                 :            :           0x0C,0x60,0x64,0x75,0x62,0x60,0x44,0x1C,0xDE,0x4A,
    1188                 :            :           0xF1,0x77,0x1D,0x4D,0xB0,0x1F,0xFE,0x5B,0x34,0xE5,
    1189                 :            :           0x97,0x03,0xDC,0x25,0x5A,0x86,0x8A,0x11,0x80,0x51,
    1190                 :            :           0x56,0x03,0xAE,0xAB,0x60,0x79,0x4E,0x54,0xBB,0x79,
    1191                 :            :           0x96,0xA7,
    1192                 :            :           0x00,0x61,0xB1,0xCF,0xAB,0x6B,0xE5,0xF3,0x2B,0xBF,    /* y */
    1193                 :            :           0xA7,0x83,0x24,0xED,0x10,0x6A,0x76,0x36,0xB9,0xC5,
    1194                 :            :           0xA7,0xBD,0x19,0x8D,0x01,0x58,0xAA,0x4F,0x54,0x88,
    1195                 :            :           0xD0,0x8F,0x38,0x51,0x4F,0x1F,0xDF,0x4B,0x4F,0x40,
    1196                 :            :           0xD2,0x18,0x1B,0x36,0x81,0xC3,0x64,0xBA,0x02,0x73,
    1197                 :            :           0xC7,0x06,
    1198                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1199                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1200                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xE2,0xAA,0xD6,
    1201                 :            :           0xA6,0x12,0xF3,0x33,0x07,0xBE,0x5F,0xA4,0x7C,0x3C,
    1202                 :            :           0x9E,0x05,0x2F,0x83,0x81,0x64,0xCD,0x37,0xD9,0xA2,
    1203                 :            :           0x11,0x73 }
    1204                 :            :         };
    1205                 :            : 
    1206                 :            : __fips_constseg
    1207                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+72*6]; }
    1208                 :            :         _EC_NIST_CHAR2_571K = {
    1209                 :            :         { NID_X9_62_characteristic_two_field,0,72,4 },
    1210                 :            :         {                                                       /* no seed */
    1211                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1212                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1213                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1214                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1215                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1216                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1217                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1218                 :            :           0x04,0x25,
    1219                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1220                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1221                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1222                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1223                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1224                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1225                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1226                 :            :           0x00,0x00,
    1227                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1228                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1229                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1230                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1231                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1232                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1233                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1234                 :            :           0x00,0x01,
    1235                 :            :           0x02,0x6E,0xB7,0xA8,0x59,0x92,0x3F,0xBC,0x82,0x18,    /* x */
    1236                 :            :           0x96,0x31,0xF8,0x10,0x3F,0xE4,0xAC,0x9C,0xA2,0x97,
    1237                 :            :           0x00,0x12,0xD5,0xD4,0x60,0x24,0x80,0x48,0x01,0x84,
    1238                 :            :           0x1C,0xA4,0x43,0x70,0x95,0x84,0x93,0xB2,0x05,0xE6,
    1239                 :            :           0x47,0xDA,0x30,0x4D,0xB4,0xCE,0xB0,0x8C,0xBB,0xD1,
    1240                 :            :           0xBA,0x39,0x49,0x47,0x76,0xFB,0x98,0x8B,0x47,0x17,
    1241                 :            :           0x4D,0xCA,0x88,0xC7,0xE2,0x94,0x52,0x83,0xA0,0x1C,
    1242                 :            :           0x89,0x72,
    1243                 :            :           0x03,0x49,0xDC,0x80,0x7F,0x4F,0xBF,0x37,0x4F,0x4A,    /* y */
    1244                 :            :           0xEA,0xDE,0x3B,0xCA,0x95,0x31,0x4D,0xD5,0x8C,0xEC,
    1245                 :            :           0x9F,0x30,0x7A,0x54,0xFF,0xC6,0x1E,0xFC,0x00,0x6D,
    1246                 :            :           0x8A,0x2C,0x9D,0x49,0x79,0xC0,0xAC,0x44,0xAE,0xA7,
    1247                 :            :           0x4F,0xBE,0xBB,0xB9,0xF7,0x72,0xAE,0xDC,0xB6,0x20,
    1248                 :            :           0xB0,0x1A,0x7B,0xA7,0xAF,0x1B,0x32,0x04,0x30,0xC8,
    1249                 :            :           0x59,0x19,0x84,0xF6,0x01,0xCD,0x4C,0x14,0x3E,0xF1,
    1250                 :            :           0xC7,0xA3,
    1251                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1252                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1253                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1254                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x13,0x18,0x50,0xE1,
    1255                 :            :           0xF1,0x9A,0x63,0xE4,0xB3,0x91,0xA8,0xDB,0x91,0x7F,
    1256                 :            :           0x41,0x38,0xB6,0x30,0xD8,0x4B,0xE5,0xD6,0x39,0x38,
    1257                 :            :           0x1E,0x91,0xDE,0xB4,0x5C,0xFE,0x77,0x8F,0x63,0x7C,
    1258                 :            :           0x10,0x01 }
    1259                 :            :         };
    1260                 :            : 
    1261                 :            : __fips_constseg
    1262                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+72*6]; }
    1263                 :            :         _EC_NIST_CHAR2_571B = {
    1264                 :            :         { NID_X9_62_characteristic_two_field,20,72,2 },
    1265                 :            :         { 0x2A,0xA0,0x58,0xF7,0x3A,0x0E,0x33,0xAB,0x48,0x6B,    /* seed */
    1266                 :            :           0x0F,0x61,0x04,0x10,0xC5,0x3A,0x7F,0x13,0x23,0x10,
    1267                 :            : 
    1268                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1269                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1270                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1271                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1272                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1273                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1274                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1275                 :            :           0x04,0x25,
    1276                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1277                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1278                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1279                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1280                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1281                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1282                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1283                 :            :           0x00,0x01,
    1284                 :            :           0x02,0xF4,0x0E,0x7E,0x22,0x21,0xF2,0x95,0xDE,0x29,    /* b */
    1285                 :            :           0x71,0x17,0xB7,0xF3,0xD6,0x2F,0x5C,0x6A,0x97,0xFF,
    1286                 :            :           0xCB,0x8C,0xEF,0xF1,0xCD,0x6B,0xA8,0xCE,0x4A,0x9A,
    1287                 :            :           0x18,0xAD,0x84,0xFF,0xAB,0xBD,0x8E,0xFA,0x59,0x33,
    1288                 :            :           0x2B,0xE7,0xAD,0x67,0x56,0xA6,0x6E,0x29,0x4A,0xFD,
    1289                 :            :           0x18,0x5A,0x78,0xFF,0x12,0xAA,0x52,0x0E,0x4D,0xE7,
    1290                 :            :           0x39,0xBA,0xCA,0x0C,0x7F,0xFE,0xFF,0x7F,0x29,0x55,
    1291                 :            :           0x72,0x7A,
    1292                 :            :           0x03,0x03,0x00,0x1D,0x34,0xB8,0x56,0x29,0x6C,0x16,    /* x */
    1293                 :            :           0xC0,0xD4,0x0D,0x3C,0xD7,0x75,0x0A,0x93,0xD1,0xD2,
    1294                 :            :           0x95,0x5F,0xA8,0x0A,0xA5,0xF4,0x0F,0xC8,0xDB,0x7B,
    1295                 :            :           0x2A,0xBD,0xBD,0xE5,0x39,0x50,0xF4,0xC0,0xD2,0x93,
    1296                 :            :           0xCD,0xD7,0x11,0xA3,0x5B,0x67,0xFB,0x14,0x99,0xAE,
    1297                 :            :           0x60,0x03,0x86,0x14,0xF1,0x39,0x4A,0xBF,0xA3,0xB4,
    1298                 :            :           0xC8,0x50,0xD9,0x27,0xE1,0xE7,0x76,0x9C,0x8E,0xEC,
    1299                 :            :           0x2D,0x19,
    1300                 :            :           0x03,0x7B,0xF2,0x73,0x42,0xDA,0x63,0x9B,0x6D,0xCC,    /* y */
    1301                 :            :           0xFF,0xFE,0xB7,0x3D,0x69,0xD7,0x8C,0x6C,0x27,0xA6,
    1302                 :            :           0x00,0x9C,0xBB,0xCA,0x19,0x80,0xF8,0x53,0x39,0x21,
    1303                 :            :           0xE8,0xA6,0x84,0x42,0x3E,0x43,0xBA,0xB0,0x8A,0x57,
    1304                 :            :           0x62,0x91,0xAF,0x8F,0x46,0x1B,0xB2,0xA8,0xB3,0x53,
    1305                 :            :           0x1D,0x2F,0x04,0x85,0xC1,0x9B,0x16,0xE2,0xF1,0x51,
    1306                 :            :           0x6E,0x23,0xDD,0x3C,0x1A,0x48,0x27,0xAF,0x1B,0x8A,
    1307                 :            :           0xC1,0x5B,
    1308                 :            :           0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1309                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    1310                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
    1311                 :            :           0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE6,0x61,0xCE,0x18,
    1312                 :            :           0xFF,0x55,0x98,0x73,0x08,0x05,0x9B,0x18,0x68,0x23,
    1313                 :            :           0x85,0x1E,0xC7,0xDD,0x9C,0xA1,0x16,0x1D,0xE9,0x3D,
    1314                 :            :           0x51,0x74,0xD6,0x6E,0x83,0x82,0xE9,0xBB,0x2F,0xE8,
    1315                 :            :           0x4E,0x47 }
    1316                 :            :         };
    1317                 :            : 
    1318                 :            : __fips_constseg
    1319                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+21*6]; }
    1320                 :            :         _EC_X9_62_CHAR2_163V1 = {
    1321                 :            :         { NID_X9_62_characteristic_two_field,20,21,2 },
    1322                 :            :         { 0xD2,0xC0,0xFB,0x15,0x76,0x08,0x60,0xDE,0xF1,0xEE,
    1323                 :            :           0xF4,0xD6,0x96,0xE6,0x76,0x87,0x56,0x15,0x17,0x54,    /* seed */
    1324                 :            : 
    1325                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1326                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1327                 :            :           0x07,
    1328                 :            :           0x07,0x25,0x46,0xB5,0x43,0x52,0x34,0xA4,0x22,0xE0,    /* a */
    1329                 :            :           0x78,0x96,0x75,0xF4,0x32,0xC8,0x94,0x35,0xDE,0x52,
    1330                 :            :           0x42,
    1331                 :            :           0x00,0xC9,0x51,0x7D,0x06,0xD5,0x24,0x0D,0x3C,0xFF,    /* b */
    1332                 :            :           0x38,0xC7,0x4B,0x20,0xB6,0xCD,0x4D,0x6F,0x9D,0xD4,
    1333                 :            :           0xD9,
    1334                 :            :           0x07,0xAF,0x69,0x98,0x95,0x46,0x10,0x3D,0x79,0x32,    /* x */
    1335                 :            :           0x9F,0xCC,0x3D,0x74,0x88,0x0F,0x33,0xBB,0xE8,0x03,
    1336                 :            :           0xCB,
    1337                 :            :           0x01,0xEC,0x23,0x21,0x1B,0x59,0x66,0xAD,0xEA,0x1D,    /* y */
    1338                 :            :           0x3F,0x87,0xF7,0xEA,0x58,0x48,0xAE,0xF0,0xB7,0xCA,
    1339                 :            :           0x9F,
    1340                 :            :           0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1341                 :            :           0x01,0xE6,0x0F,0xC8,0x82,0x1C,0xC7,0x4D,0xAE,0xAF,
    1342                 :            :           0xC1 }
    1343                 :            :         };
    1344                 :            : 
    1345                 :            : __fips_constseg
    1346                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+21*6]; }
    1347                 :            :         _EC_X9_62_CHAR2_163V2 = {
    1348                 :            :         { NID_X9_62_characteristic_two_field,20,21,2 },
    1349                 :            :         { 0x53,0x81,0x4C,0x05,0x0D,0x44,0xD6,0x96,0xE6,0x76,    /* seed */
    1350                 :            :           0x87,0x56,0x15,0x17,0x58,0x0C,0xA4,0xE2,0x9F,0xFD,
    1351                 :            : 
    1352                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1353                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1354                 :            :           0x07,
    1355                 :            :           0x01,0x08,0xB3,0x9E,0x77,0xC4,0xB1,0x08,0xBE,0xD9,    /* a */
    1356                 :            :           0x81,0xED,0x0E,0x89,0x0E,0x11,0x7C,0x51,0x1C,0xF0,
    1357                 :            :           0x72,
    1358                 :            :           0x06,0x67,0xAC,0xEB,0x38,0xAF,0x4E,0x48,0x8C,0x40,    /* b */
    1359                 :            :           0x74,0x33,0xFF,0xAE,0x4F,0x1C,0x81,0x16,0x38,0xDF,
    1360                 :            :           0x20,
    1361                 :            :           0x00,0x24,0x26,0x6E,0x4E,0xB5,0x10,0x6D,0x0A,0x96,    /* x */
    1362                 :            :           0x4D,0x92,0xC4,0x86,0x0E,0x26,0x71,0xDB,0x9B,0x6C,
    1363                 :            :           0xC5,
    1364                 :            :           0x07,0x9F,0x68,0x4D,0xDF,0x66,0x84,0xC5,0xCD,0x25,    /* y */
    1365                 :            :           0x8B,0x38,0x90,0x02,0x1B,0x23,0x86,0xDF,0xD1,0x9F,
    1366                 :            :           0xC5,
    1367                 :            :           0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1368                 :            :           0xFD,0xF6,0x4D,0xE1,0x15,0x1A,0xDB,0xB7,0x8F,0x10,
    1369                 :            :           0xA7 }
    1370                 :            :         };
    1371                 :            : 
    1372                 :            : __fips_constseg
    1373                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+21*6]; }
    1374                 :            :         _EC_X9_62_CHAR2_163V3 = {
    1375                 :            :         { NID_X9_62_characteristic_two_field,20,21,2 },
    1376                 :            :         { 0x50,0xCB,0xF1,0xD9,0x5C,0xA9,0x4D,0x69,0x6E,0x67,    /* seed */
    1377                 :            :           0x68,0x75,0x61,0x51,0x75,0xF1,0x6A,0x36,0xA3,0xB8,
    1378                 :            : 
    1379                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1380                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1381                 :            :           0x07,
    1382                 :            :           0x07,0xA5,0x26,0xC6,0x3D,0x3E,0x25,0xA2,0x56,0xA0,    /* a */
    1383                 :            :           0x07,0x69,0x9F,0x54,0x47,0xE3,0x2A,0xE4,0x56,0xB5,
    1384                 :            :           0x0E,
    1385                 :            :           0x03,0xF7,0x06,0x17,0x98,0xEB,0x99,0xE2,0x38,0xFD,    /* b */
    1386                 :            :           0x6F,0x1B,0xF9,0x5B,0x48,0xFE,0xEB,0x48,0x54,0x25,
    1387                 :            :           0x2B,
    1388                 :            :           0x02,0xF9,0xF8,0x7B,0x7C,0x57,0x4D,0x0B,0xDE,0xCF,    /* x */
    1389                 :            :           0x8A,0x22,0xE6,0x52,0x47,0x75,0xF9,0x8C,0xDE,0xBD,
    1390                 :            :           0xCB,
    1391                 :            :           0x05,0xB9,0x35,0x59,0x0C,0x15,0x5E,0x17,0xEA,0x48,    /* y */
    1392                 :            :           0xEB,0x3F,0xF3,0x71,0x8B,0x89,0x3D,0xF5,0x9A,0x05,
    1393                 :            :           0xD0,
    1394                 :            :           0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1395                 :            :           0xFE,0x1A,0xEE,0x14,0x0F,0x11,0x0A,0xFF,0x96,0x13,
    1396                 :            :           0x09 }
    1397                 :            :         };
    1398                 :            : 
    1399                 :            : __fips_constseg
    1400                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+23*6]; }
    1401                 :            :         _EC_X9_62_CHAR2_176V1 = {
    1402                 :            :         { NID_X9_62_characteristic_two_field,0,23,0xFF6E },
    1403                 :            :         {                                                       /* no seed */
    1404                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1405                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,
    1406                 :            :           0x00,0x00,0x07,
    1407                 :            :           0x00,0xE4,0xE6,0xDB,0x29,0x95,0x06,0x5C,0x40,0x7D,    /* a */
    1408                 :            :           0x9D,0x39,0xB8,0xD0,0x96,0x7B,0x96,0x70,0x4B,0xA8,
    1409                 :            :           0xE9,0xC9,0x0B,
    1410                 :            :           0x00,0x5D,0xDA,0x47,0x0A,0xBE,0x64,0x14,0xDE,0x8E,    /* b */
    1411                 :            :           0xC1,0x33,0xAE,0x28,0xE9,0xBB,0xD7,0xFC,0xEC,0x0A,
    1412                 :            :           0xE0,0xFF,0xF2,
    1413                 :            :           0x00,0x8D,0x16,0xC2,0x86,0x67,0x98,0xB6,0x00,0xF9,    /* x */
    1414                 :            :           0xF0,0x8B,0xB4,0xA8,0xE8,0x60,0xF3,0x29,0x8C,0xE0,
    1415                 :            :           0x4A,0x57,0x98,
    1416                 :            :           0x00,0x6F,0xA4,0x53,0x9C,0x2D,0xAD,0xDD,0xD6,0xBA,    /* y */
    1417                 :            :           0xB5,0x16,0x7D,0x61,0xB4,0x36,0xE1,0xD9,0x2B,0xB1,
    1418                 :            :           0x6A,0x56,0x2C,
    1419                 :            :           0x00,0x00,0x01,0x00,0x92,0x53,0x73,0x97,0xEC,0xA4,    /* order */
    1420                 :            :           0xF6,0x14,0x57,0x99,0xD6,0x2B,0x0A,0x19,0xCE,0x06,
    1421                 :            :           0xFE,0x26,0xAD }
    1422                 :            :         };
    1423                 :            : 
    1424                 :            : __fips_constseg
    1425                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
    1426                 :            :         _EC_X9_62_CHAR2_191V1 = {
    1427                 :            :         { NID_X9_62_characteristic_two_field,20,24,2 },
    1428                 :            :         { 0x4E,0x13,0xCA,0x54,0x27,0x44,0xD6,0x96,0xE6,0x76,    /* seed */
    1429                 :            :           0x87,0x56,0x15,0x17,0x55,0x2F,0x27,0x9A,0x8C,0x84,
    1430                 :            : 
    1431                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1432                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1433                 :            :           0x00,0x00,0x02,0x01,
    1434                 :            :           0x28,0x66,0x53,0x7B,0x67,0x67,0x52,0x63,0x6A,0x68,    /* a */
    1435                 :            :           0xF5,0x65,0x54,0xE1,0x26,0x40,0x27,0x6B,0x64,0x9E,
    1436                 :            :           0xF7,0x52,0x62,0x67,
    1437                 :            :           0x2E,0x45,0xEF,0x57,0x1F,0x00,0x78,0x6F,0x67,0xB0,    /* b */
    1438                 :            :           0x08,0x1B,0x94,0x95,0xA3,0xD9,0x54,0x62,0xF5,0xDE,
    1439                 :            :           0x0A,0xA1,0x85,0xEC,
    1440                 :            :           0x36,0xB3,0xDA,0xF8,0xA2,0x32,0x06,0xF9,0xC4,0xF2,    /* x */
    1441                 :            :           0x99,0xD7,0xB2,0x1A,0x9C,0x36,0x91,0x37,0xF2,0xC8,
    1442                 :            :           0x4A,0xE1,0xAA,0x0D,
    1443                 :            :           0x76,0x5B,0xE7,0x34,0x33,0xB3,0xF9,0x5E,0x33,0x29,    /* y */
    1444                 :            :           0x32,0xE7,0x0E,0xA2,0x45,0xCA,0x24,0x18,0xEA,0x0E,
    1445                 :            :           0xF9,0x80,0x18,0xFB,
    1446                 :            :           0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1447                 :            :           0x00,0x00,0x04,0xA2,0x0E,0x90,0xC3,0x90,0x67,0xC8,
    1448                 :            :           0x93,0xBB,0xB9,0xA5 }
    1449                 :            :         };
    1450                 :            : 
    1451                 :            : __fips_constseg
    1452                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
    1453                 :            :         _EC_X9_62_CHAR2_191V2 = {
    1454                 :            :         { NID_X9_62_characteristic_two_field,20,24,4 },
    1455                 :            :         { 0x08,0x71,0xEF,0x2F,0xEF,0x24,0xD6,0x96,0xE6,0x76,    /* seed */
    1456                 :            :           0x87,0x56,0x15,0x17,0x58,0xBE,0xE0,0xD9,0x5C,0x15,
    1457                 :            : 
    1458                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1459                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1460                 :            :           0x00,0x00,0x02,0x01,
    1461                 :            :           0x40,0x10,0x28,0x77,0x4D,0x77,0x77,0xC7,0xB7,0x66,    /* a */
    1462                 :            :           0x6D,0x13,0x66,0xEA,0x43,0x20,0x71,0x27,0x4F,0x89,
    1463                 :            :           0xFF,0x01,0xE7,0x18,
    1464                 :            :           0x06,0x20,0x04,0x8D,0x28,0xBC,0xBD,0x03,0xB6,0x24,    /* b */
    1465                 :            :           0x9C,0x99,0x18,0x2B,0x7C,0x8C,0xD1,0x97,0x00,0xC3,
    1466                 :            :           0x62,0xC4,0x6A,0x01,
    1467                 :            :           0x38,0x09,0xB2,0xB7,0xCC,0x1B,0x28,0xCC,0x5A,0x87,    /* x */
    1468                 :            :           0x92,0x6A,0xAD,0x83,0xFD,0x28,0x78,0x9E,0x81,0xE2,
    1469                 :            :           0xC9,0xE3,0xBF,0x10,
    1470                 :            :           0x17,0x43,0x43,0x86,0x62,0x6D,0x14,0xF3,0xDB,0xF0,    /* y */
    1471                 :            :           0x17,0x60,0xD9,0x21,0x3A,0x3E,0x1C,0xF3,0x7A,0xEC,
    1472                 :            :           0x43,0x7D,0x66,0x8A,
    1473                 :            :           0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1474                 :            :           0x00,0x00,0x50,0x50,0x8C,0xB8,0x9F,0x65,0x28,0x24,
    1475                 :            :           0xE0,0x6B,0x81,0x73 }
    1476                 :            :         };
    1477                 :            : 
    1478                 :            : __fips_constseg
    1479                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+24*6]; }
    1480                 :            :         _EC_X9_62_CHAR2_191V3 = {
    1481                 :            :         { NID_X9_62_characteristic_two_field,20,24,6 },
    1482                 :            :         { 0xE0,0x53,0x51,0x2D,0xC6,0x84,0xD6,0x96,0xE6,0x76,    /* seed */
    1483                 :            :           0x87,0x56,0x15,0x17,0x50,0x67,0xAE,0x78,0x6D,0x1F,
    1484                 :            : 
    1485                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1486                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1487                 :            :           0x00,0x00,0x02,0x01,
    1488                 :            :           0x6C,0x01,0x07,0x47,0x56,0x09,0x91,0x22,0x22,0x10,    /* a */
    1489                 :            :           0x56,0x91,0x1C,0x77,0xD7,0x7E,0x77,0xA7,0x77,0xE7,
    1490                 :            :           0xE7,0xE7,0x7F,0xCB,
    1491                 :            :           0x71,0xFE,0x1A,0xF9,0x26,0xCF,0x84,0x79,0x89,0xEF,    /* b */
    1492                 :            :           0xEF,0x8D,0xB4,0x59,0xF6,0x63,0x94,0xD9,0x0F,0x32,
    1493                 :            :           0xAD,0x3F,0x15,0xE8,
    1494                 :            :           0x37,0x5D,0x4C,0xE2,0x4F,0xDE,0x43,0x44,0x89,0xDE,    /* x */
    1495                 :            :           0x87,0x46,0xE7,0x17,0x86,0x01,0x50,0x09,0xE6,0x6E,
    1496                 :            :           0x38,0xA9,0x26,0xDD,
    1497                 :            :           0x54,0x5A,0x39,0x17,0x61,0x96,0x57,0x5D,0x98,0x59,    /* y */
    1498                 :            :           0x99,0x36,0x6E,0x6A,0xD3,0x4C,0xE0,0xA7,0x7C,0xD7,
    1499                 :            :           0x12,0x7B,0x06,0xBE,
    1500                 :            :           0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,    /* order */
    1501                 :            :           0x55,0x55,0x61,0x0C,0x0B,0x19,0x68,0x12,0xBF,0xB6,
    1502                 :            :           0x28,0x8A,0x3E,0xA3 }
    1503                 :            :         };
    1504                 :            : 
    1505                 :            : __fips_constseg
    1506                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+27*6]; }
    1507                 :            :         _EC_X9_62_CHAR2_208W1 = {
    1508                 :            :         { NID_X9_62_characteristic_two_field,0,27,0xFE48 },
    1509                 :            :         {                                                       /* no seed */
    1510                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1511                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
    1512                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x07,
    1513                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1514                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1515                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1516                 :            :           0x00,0xC8,0x61,0x9E,0xD4,0x5A,0x62,0xE6,0x21,0x2E,    /* b */
    1517                 :            :           0x11,0x60,0x34,0x9E,0x2B,0xFA,0x84,0x44,0x39,0xFA,
    1518                 :            :           0xFC,0x2A,0x3F,0xD1,0x63,0x8F,0x9E,
    1519                 :            :           0x00,0x89,0xFD,0xFB,0xE4,0xAB,0xE1,0x93,0xDF,0x95,    /* x */
    1520                 :            :           0x59,0xEC,0xF0,0x7A,0xC0,0xCE,0x78,0x55,0x4E,0x27,
    1521                 :            :           0x84,0xEB,0x8C,0x1E,0xD1,0xA5,0x7A,
    1522                 :            :           0x00,0x0F,0x55,0xB5,0x1A,0x06,0xE7,0x8E,0x9A,0xC3,    /* y */
    1523                 :            :           0x8A,0x03,0x5F,0xF5,0x20,0xD8,0xB0,0x17,0x81,0xBE,
    1524                 :            :           0xB1,0xA6,0xBB,0x08,0x61,0x7D,0xE3,
    1525                 :            :           0x00,0x00,0x01,0x01,0xBA,0xF9,0x5C,0x97,0x23,0xC5,    /* order */
    1526                 :            :           0x7B,0x6C,0x21,0xDA,0x2E,0xFF,0x2D,0x5E,0xD5,0x88,
    1527                 :            :           0xBD,0xD5,0x71,0x7E,0x21,0x2F,0x9D }
    1528                 :            :         };
    1529                 :            : 
    1530                 :            : __fips_constseg
    1531                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
    1532                 :            :         _EC_X9_62_CHAR2_239V1 = {
    1533                 :            :         { NID_X9_62_characteristic_two_field,20,30,4 },
    1534                 :            :         { 0xD3,0x4B,0x9A,0x4D,0x69,0x6E,0x67,0x68,0x75,0x61,    /* seed */
    1535                 :            :           0x51,0x75,0xCA,0x71,0xB9,0x20,0xBF,0xEF,0xB0,0x5D,
    1536                 :            : 
    1537                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1538                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1539                 :            :           0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,
    1540                 :            : 
    1541                 :            :           0x32,0x01,0x08,0x57,0x07,0x7C,0x54,0x31,0x12,0x3A,    /* a */
    1542                 :            :           0x46,0xB8,0x08,0x90,0x67,0x56,0xF5,0x43,0x42,0x3E,
    1543                 :            :           0x8D,0x27,0x87,0x75,0x78,0x12,0x57,0x78,0xAC,0x76,
    1544                 :            : 
    1545                 :            :           0x79,0x04,0x08,0xF2,0xEE,0xDA,0xF3,0x92,0xB0,0x12,    /* b */
    1546                 :            :           0xED,0xEF,0xB3,0x39,0x2F,0x30,0xF4,0x32,0x7C,0x0C,
    1547                 :            :           0xA3,0xF3,0x1F,0xC3,0x83,0xC4,0x22,0xAA,0x8C,0x16,
    1548                 :            : 
    1549                 :            :           0x57,0x92,0x70,0x98,0xFA,0x93,0x2E,0x7C,0x0A,0x96,    /* x */
    1550                 :            :           0xD3,0xFD,0x5B,0x70,0x6E,0xF7,0xE5,0xF5,0xC1,0x56,
    1551                 :            :           0xE1,0x6B,0x7E,0x7C,0x86,0x03,0x85,0x52,0xE9,0x1D,
    1552                 :            : 
    1553                 :            :           0x61,0xD8,0xEE,0x50,0x77,0xC3,0x3F,0xEC,0xF6,0xF1,    /* y */
    1554                 :            :           0xA1,0x6B,0x26,0x8D,0xE4,0x69,0xC3,0xC7,0x74,0x4E,
    1555                 :            :           0xA9,0xA9,0x71,0x64,0x9F,0xC7,0xA9,0x61,0x63,0x05,
    1556                 :            : 
    1557                 :            :           0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* order */
    1558                 :            :           0x00,0x00,0x00,0x00,0x00,0x0F,0x4D,0x42,0xFF,0xE1,
    1559                 :            :           0x49,0x2A,0x49,0x93,0xF1,0xCA,0xD6,0x66,0xE4,0x47 }
    1560                 :            :         };
    1561                 :            : 
    1562                 :            : __fips_constseg
    1563                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
    1564                 :            :         _EC_X9_62_CHAR2_239V2 = {
    1565                 :            :         { NID_X9_62_characteristic_two_field,20,30,6 },
    1566                 :            :         { 0x2A,0xA6,0x98,0x2F,0xDF,0xA4,0xD6,0x96,0xE6,0x76,    /* seed */
    1567                 :            :           0x87,0x56,0x15,0x17,0x5D,0x26,0x67,0x27,0x27,0x7D,
    1568                 :            : 
    1569                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1570                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1571                 :            :           0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,
    1572                 :            : 
    1573                 :            :           0x42,0x30,0x01,0x77,0x57,0xA7,0x67,0xFA,0xE4,0x23,    /* a */
    1574                 :            :           0x98,0x56,0x9B,0x74,0x63,0x25,0xD4,0x53,0x13,0xAF,
    1575                 :            :           0x07,0x66,0x26,0x64,0x79,0xB7,0x56,0x54,0xE6,0x5F,
    1576                 :            : 
    1577                 :            :           0x50,0x37,0xEA,0x65,0x41,0x96,0xCF,0xF0,0xCD,0x82,    /* b */
    1578                 :            :           0xB2,0xC1,0x4A,0x2F,0xCF,0x2E,0x3F,0xF8,0x77,0x52,
    1579                 :            :           0x85,0xB5,0x45,0x72,0x2F,0x03,0xEA,0xCD,0xB7,0x4B,
    1580                 :            : 
    1581                 :            :           0x28,0xF9,0xD0,0x4E,0x90,0x00,0x69,0xC8,0xDC,0x47,    /* x */
    1582                 :            :           0xA0,0x85,0x34,0xFE,0x76,0xD2,0xB9,0x00,0xB7,0xD7,
    1583                 :            :           0xEF,0x31,0xF5,0x70,0x9F,0x20,0x0C,0x4C,0xA2,0x05,
    1584                 :            : 
    1585                 :            :           0x56,0x67,0x33,0x4C,0x45,0xAF,0xF3,0xB5,0xA0,0x3B,    /* y */
    1586                 :            :           0xAD,0x9D,0xD7,0x5E,0x2C,0x71,0xA9,0x93,0x62,0x56,
    1587                 :            :           0x7D,0x54,0x53,0xF7,0xFA,0x6E,0x22,0x7E,0xC8,0x33,
    1588                 :            : 
    1589                 :            :           0x15,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,    /* order */
    1590                 :            :           0x55,0x55,0x55,0x55,0x55,0x3C,0x6F,0x28,0x85,0x25,
    1591                 :            :           0x9C,0x31,0xE3,0xFC,0xDF,0x15,0x46,0x24,0x52,0x2D }
    1592                 :            :         };
    1593                 :            : 
    1594                 :            : __fips_constseg
    1595                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+30*6]; }
    1596                 :            :         _EC_X9_62_CHAR2_239V3 = {
    1597                 :            :         { NID_X9_62_characteristic_two_field,20,30,0xA },
    1598                 :            :         { 0x9E,0x07,0x6F,0x4D,0x69,0x6E,0x67,0x68,0x75,0x61,    /* seed */
    1599                 :            :           0x51,0x75,0xE1,0x1E,0x9F,0xDD,0x77,0xF9,0x20,0x41,
    1600                 :            : 
    1601                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1602                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1603                 :            :           0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,0x01,
    1604                 :            : 
    1605                 :            :           0x01,0x23,0x87,0x74,0x66,0x6A,0x67,0x76,0x6D,0x66,    /* a */
    1606                 :            :           0x76,0xF7,0x78,0xE6,0x76,0xB6,0x69,0x99,0x17,0x66,
    1607                 :            :           0x66,0xE6,0x87,0x66,0x6D,0x87,0x66,0xC6,0x6A,0x9F,
    1608                 :            : 
    1609                 :            :           0x6A,0x94,0x19,0x77,0xBA,0x9F,0x6A,0x43,0x51,0x99,    /* b */
    1610                 :            :           0xAC,0xFC,0x51,0x06,0x7E,0xD5,0x87,0xF5,0x19,0xC5,
    1611                 :            :           0xEC,0xB5,0x41,0xB8,0xE4,0x41,0x11,0xDE,0x1D,0x40,
    1612                 :            : 
    1613                 :            :           0x70,0xF6,0xE9,0xD0,0x4D,0x28,0x9C,0x4E,0x89,0x91,    /* x */
    1614                 :            :           0x3C,0xE3,0x53,0x0B,0xFD,0xE9,0x03,0x97,0x7D,0x42,
    1615                 :            :           0xB1,0x46,0xD5,0x39,0xBF,0x1B,0xDE,0x4E,0x9C,0x92,
    1616                 :            : 
    1617                 :            :           0x2E,0x5A,0x0E,0xAF,0x6E,0x5E,0x13,0x05,0xB9,0x00,    /* y */
    1618                 :            :           0x4D,0xCE,0x5C,0x0E,0xD7,0xFE,0x59,0xA3,0x56,0x08,
    1619                 :            :           0xF3,0x38,0x37,0xC8,0x16,0xD8,0x0B,0x79,0xF4,0x61,
    1620                 :            : 
    1621                 :            :           0x0C,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,0xCC,    /* order */
    1622                 :            :           0xCC,0xCC,0xCC,0xCC,0xCC,0xAC,0x49,0x12,0xD2,0xD9,
    1623                 :            :           0xDF,0x90,0x3E,0xF9,0x88,0x8B,0x8A,0x0E,0x4C,0xFF }
    1624                 :            :         };
    1625                 :            : 
    1626                 :            : __fips_constseg
    1627                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+35*6]; }
    1628                 :            :         _EC_X9_62_CHAR2_272W1 = {
    1629                 :            :         { NID_X9_62_characteristic_two_field,0,35,0xFF06 },
    1630                 :            :         {                                                       /* no seed */
    1631                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1632                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1633                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
    1634                 :            :           0x00,0x00,0x00,0x00,0x0B,
    1635                 :            :           0x00,0x91,0xA0,0x91,0xF0,0x3B,0x5F,0xBA,0x4A,0xB2,    /* a */
    1636                 :            :           0xCC,0xF4,0x9C,0x4E,0xDD,0x22,0x0F,0xB0,0x28,0x71,
    1637                 :            :           0x2D,0x42,0xBE,0x75,0x2B,0x2C,0x40,0x09,0x4D,0xBA,
    1638                 :            :           0xCD,0xB5,0x86,0xFB,0x20,
    1639                 :            :           0x00,0x71,0x67,0xEF,0xC9,0x2B,0xB2,0xE3,0xCE,0x7C,    /* b */
    1640                 :            :           0x8A,0xAA,0xFF,0x34,0xE1,0x2A,0x9C,0x55,0x70,0x03,
    1641                 :            :           0xD7,0xC7,0x3A,0x6F,0xAF,0x00,0x3F,0x99,0xF6,0xCC,
    1642                 :            :           0x84,0x82,0xE5,0x40,0xF7,
    1643                 :            :           0x00,0x61,0x08,0xBA,0xBB,0x2C,0xEE,0xBC,0xF7,0x87,    /* x */
    1644                 :            :           0x05,0x8A,0x05,0x6C,0xBE,0x0C,0xFE,0x62,0x2D,0x77,
    1645                 :            :           0x23,0xA2,0x89,0xE0,0x8A,0x07,0xAE,0x13,0xEF,0x0D,
    1646                 :            :           0x10,0xD1,0x71,0xDD,0x8D,
    1647                 :            :           0x00,0x10,0xC7,0x69,0x57,0x16,0x85,0x1E,0xEF,0x6B,    /* y */
    1648                 :            :           0xA7,0xF6,0x87,0x2E,0x61,0x42,0xFB,0xD2,0x41,0xB8,
    1649                 :            :           0x30,0xFF,0x5E,0xFC,0xAC,0xEC,0xCA,0xB0,0x5E,0x02,
    1650                 :            :           0x00,0x5D,0xDE,0x9D,0x23,
    1651                 :            :           0x00,0x00,0x01,0x00,0xFA,0xF5,0x13,0x54,0xE0,0xE3,    /* order */
    1652                 :            :           0x9E,0x48,0x92,0xDF,0x6E,0x31,0x9C,0x72,0xC8,0x16,
    1653                 :            :           0x16,0x03,0xFA,0x45,0xAA,0x7B,0x99,0x8A,0x16,0x7B,
    1654                 :            :           0x8F,0x1E,0x62,0x95,0x21 }
    1655                 :            :         };
    1656                 :            : 
    1657                 :            : __fips_constseg
    1658                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+39*6]; }
    1659                 :            :         _EC_X9_62_CHAR2_304W1 = {
    1660                 :            :         { NID_X9_62_characteristic_two_field,0,39,0xFE2E },
    1661                 :            :         {                                                       /* no seed */
    1662                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1663                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1664                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1665                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x07,
    1666                 :            :           0x00,0xFD,0x0D,0x69,0x31,0x49,0xA1,0x18,0xF6,0x51,    /* a */
    1667                 :            :           0xE6,0xDC,0xE6,0x80,0x20,0x85,0x37,0x7E,0x5F,0x88,
    1668                 :            :           0x2D,0x1B,0x51,0x0B,0x44,0x16,0x00,0x74,0xC1,0x28,
    1669                 :            :           0x80,0x78,0x36,0x5A,0x03,0x96,0xC8,0xE6,0x81,
    1670                 :            :           0x00,0xBD,0xDB,0x97,0xE5,0x55,0xA5,0x0A,0x90,0x8E,    /* b */
    1671                 :            :           0x43,0xB0,0x1C,0x79,0x8E,0xA5,0xDA,0xA6,0x78,0x8F,
    1672                 :            :           0x1E,0xA2,0x79,0x4E,0xFC,0xF5,0x71,0x66,0xB8,0xC1,
    1673                 :            :           0x40,0x39,0x60,0x1E,0x55,0x82,0x73,0x40,0xBE,
    1674                 :            :           0x00,0x19,0x7B,0x07,0x84,0x5E,0x9B,0xE2,0xD9,0x6A,    /* x */
    1675                 :            :           0xDB,0x0F,0x5F,0x3C,0x7F,0x2C,0xFF,0xBD,0x7A,0x3E,
    1676                 :            :           0xB8,0xB6,0xFE,0xC3,0x5C,0x7F,0xD6,0x7F,0x26,0xDD,
    1677                 :            :           0xF6,0x28,0x5A,0x64,0x4F,0x74,0x0A,0x26,0x14,
    1678                 :            :           0x00,0xE1,0x9F,0xBE,0xB7,0x6E,0x0D,0xA1,0x71,0x51,    /* y */
    1679                 :            :           0x7E,0xCF,0x40,0x1B,0x50,0x28,0x9B,0xF0,0x14,0x10,
    1680                 :            :           0x32,0x88,0x52,0x7A,0x9B,0x41,0x6A,0x10,0x5E,0x80,
    1681                 :            :           0x26,0x0B,0x54,0x9F,0xDC,0x1B,0x92,0xC0,0x3B,
    1682                 :            :           0x00,0x00,0x01,0x01,0xD5,0x56,0x57,0x2A,0xAB,0xAC,    /* order */
    1683                 :            :           0x80,0x01,0x01,0xD5,0x56,0x57,0x2A,0xAB,0xAC,0x80,
    1684                 :            :           0x01,0x02,0x2D,0x5C,0x91,0xDD,0x17,0x3F,0x8F,0xB5,
    1685                 :            :           0x61,0xDA,0x68,0x99,0x16,0x44,0x43,0x05,0x1D }
    1686                 :            :         };
    1687                 :            : 
    1688                 :            : __fips_constseg
    1689                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[20+45*6]; }
    1690                 :            :         _EC_X9_62_CHAR2_359V1 = {
    1691                 :            :         { NID_X9_62_characteristic_two_field,20,45,0x4C },
    1692                 :            :         { 0x2B,0x35,0x49,0x20,0xB7,0x24,0xD6,0x96,0xE6,0x76,    /* seed */
    1693                 :            :           0x87,0x56,0x15,0x17,0x58,0x5B,0xA1,0x33,0x2D,0xC6,
    1694                 :            : 
    1695                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1696                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1697                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1698                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00,0x00,
    1699                 :            :           0x00,0x00,0x00,0x00,0x01,
    1700                 :            :           0x56,0x67,0x67,0x6A,0x65,0x4B,0x20,0x75,0x4F,0x35,    /* a */
    1701                 :            :           0x6E,0xA9,0x20,0x17,0xD9,0x46,0x56,0x7C,0x46,0x67,
    1702                 :            :           0x55,0x56,0xF1,0x95,0x56,0xA0,0x46,0x16,0xB5,0x67,
    1703                 :            :           0xD2,0x23,0xA5,0xE0,0x56,0x56,0xFB,0x54,0x90,0x16,
    1704                 :            :           0xA9,0x66,0x56,0xA5,0x57,
    1705                 :            :           0x24,0x72,0xE2,0xD0,0x19,0x7C,0x49,0x36,0x3F,0x1F,    /* b */
    1706                 :            :           0xE7,0xF5,0xB6,0xDB,0x07,0x5D,0x52,0xB6,0x94,0x7D,
    1707                 :            :           0x13,0x5D,0x8C,0xA4,0x45,0x80,0x5D,0x39,0xBC,0x34,
    1708                 :            :           0x56,0x26,0x08,0x96,0x87,0x74,0x2B,0x63,0x29,0xE7,
    1709                 :            :           0x06,0x80,0x23,0x19,0x88,
    1710                 :            :           0x3C,0x25,0x8E,0xF3,0x04,0x77,0x67,0xE7,0xED,0xE0,    /* x */
    1711                 :            :           0xF1,0xFD,0xAA,0x79,0xDA,0xEE,0x38,0x41,0x36,0x6A,
    1712                 :            :           0x13,0x2E,0x16,0x3A,0xCE,0xD4,0xED,0x24,0x01,0xDF,
    1713                 :            :           0x9C,0x6B,0xDC,0xDE,0x98,0xE8,0xE7,0x07,0xC0,0x7A,
    1714                 :            :           0x22,0x39,0xB1,0xB0,0x97,
    1715                 :            :           0x53,0xD7,0xE0,0x85,0x29,0x54,0x70,0x48,0x12,0x1E,    /* y */
    1716                 :            :           0x9C,0x95,0xF3,0x79,0x1D,0xD8,0x04,0x96,0x39,0x48,
    1717                 :            :           0xF3,0x4F,0xAE,0x7B,0xF4,0x4E,0xA8,0x23,0x65,0xDC,
    1718                 :            :           0x78,0x68,0xFE,0x57,0xE4,0xAE,0x2D,0xE2,0x11,0x30,
    1719                 :            :           0x5A,0x40,0x71,0x04,0xBD,
    1720                 :            :           0x01,0xAF,0x28,0x6B,0xCA,0x1A,0xF2,0x86,0xBC,0xA1,    /* order */
    1721                 :            :           0xAF,0x28,0x6B,0xCA,0x1A,0xF2,0x86,0xBC,0xA1,0xAF,
    1722                 :            :           0x28,0x6B,0xC9,0xFB,0x8F,0x6B,0x85,0xC5,0x56,0x89,
    1723                 :            :           0x2C,0x20,0xA7,0xEB,0x96,0x4F,0xE7,0x71,0x9E,0x74,
    1724                 :            :           0xF4,0x90,0x75,0x8D,0x3B }
    1725                 :            :         };
    1726                 :            : 
    1727                 :            : __fips_constseg
    1728                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+47*6]; }
    1729                 :            :         _EC_X9_62_CHAR2_368W1 = {
    1730                 :            :         { NID_X9_62_characteristic_two_field,0,47,0xFF70 },
    1731                 :            :         {                                                       /* no seed */
    1732                 :            :           0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1733                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1734                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1735                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,
    1736                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x07,
    1737                 :            :           0x00,0xE0,0xD2,0xEE,0x25,0x09,0x52,0x06,0xF5,0xE2,    /* a */
    1738                 :            :           0xA4,0xF9,0xED,0x22,0x9F,0x1F,0x25,0x6E,0x79,0xA0,
    1739                 :            :           0xE2,0xB4,0x55,0x97,0x0D,0x8D,0x0D,0x86,0x5B,0xD9,
    1740                 :            :           0x47,0x78,0xC5,0x76,0xD6,0x2F,0x0A,0xB7,0x51,0x9C,
    1741                 :            :           0xCD,0x2A,0x1A,0x90,0x6A,0xE3,0x0D,
    1742                 :            :           0x00,0xFC,0x12,0x17,0xD4,0x32,0x0A,0x90,0x45,0x2C,    /* b */
    1743                 :            :           0x76,0x0A,0x58,0xED,0xCD,0x30,0xC8,0xDD,0x06,0x9B,
    1744                 :            :           0x3C,0x34,0x45,0x38,0x37,0xA3,0x4E,0xD5,0x0C,0xB5,
    1745                 :            :           0x49,0x17,0xE1,0xC2,0x11,0x2D,0x84,0xD1,0x64,0xF4,
    1746                 :            :           0x44,0xF8,0xF7,0x47,0x86,0x04,0x6A,
    1747                 :            :           0x00,0x10,0x85,0xE2,0x75,0x53,0x81,0xDC,0xCC,0xE3,    /* x */
    1748                 :            :           0xC1,0x55,0x7A,0xFA,0x10,0xC2,0xF0,0xC0,0xC2,0x82,
    1749                 :            :           0x56,0x46,0xC5,0xB3,0x4A,0x39,0x4C,0xBC,0xFA,0x8B,
    1750                 :            :           0xC1,0x6B,0x22,0xE7,0xE7,0x89,0xE9,0x27,0xBE,0x21,
    1751                 :            :           0x6F,0x02,0xE1,0xFB,0x13,0x6A,0x5F,
    1752                 :            :           0x00,0x7B,0x3E,0xB1,0xBD,0xDC,0xBA,0x62,0xD5,0xD8,    /* y */
    1753                 :            :           0xB2,0x05,0x9B,0x52,0x57,0x97,0xFC,0x73,0x82,0x2C,
    1754                 :            :           0x59,0x05,0x9C,0x62,0x3A,0x45,0xFF,0x38,0x43,0xCE,
    1755                 :            :           0xE8,0xF8,0x7C,0xD1,0x85,0x5A,0xDA,0xA8,0x1E,0x2A,
    1756                 :            :           0x07,0x50,0xB8,0x0F,0xDA,0x23,0x10,
    1757                 :            :           0x00,0x00,0x01,0x00,0x90,0x51,0x2D,0xA9,0xAF,0x72,    /* order */
    1758                 :            :           0xB0,0x83,0x49,0xD9,0x8A,0x5D,0xD4,0xC7,0xB0,0x53,
    1759                 :            :           0x2E,0xCA,0x51,0xCE,0x03,0xE2,0xD1,0x0F,0x3B,0x7A,
    1760                 :            :           0xC5,0x79,0xBD,0x87,0xE9,0x09,0xAE,0x40,0xA6,0xF1,
    1761                 :            :           0x31,0xE9,0xCF,0xCE,0x5B,0xD9,0x67 }
    1762                 :            :         };
    1763                 :            : 
    1764                 :            : __fips_constseg
    1765                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+54*6]; }
    1766                 :            :         _EC_X9_62_CHAR2_431R1 = {
    1767                 :            :         { NID_X9_62_characteristic_two_field,0,54,0x2760 },
    1768                 :            :         {                                                       /* no seed */
    1769                 :            :           0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1770                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1771                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1772                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,
    1773                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1774                 :            :           0x00,0x00,0x00,0x01,
    1775                 :            :           0x1A,0x82,0x7E,0xF0,0x0D,0xD6,0xFC,0x0E,0x23,0x4C,    /* a */
    1776                 :            :           0xAF,0x04,0x6C,0x6A,0x5D,0x8A,0x85,0x39,0x5B,0x23,
    1777                 :            :           0x6C,0xC4,0xAD,0x2C,0xF3,0x2A,0x0C,0xAD,0xBD,0xC9,
    1778                 :            :           0xDD,0xF6,0x20,0xB0,0xEB,0x99,0x06,0xD0,0x95,0x7F,
    1779                 :            :           0x6C,0x6F,0xEA,0xCD,0x61,0x54,0x68,0xDF,0x10,0x4D,
    1780                 :            :           0xE2,0x96,0xCD,0x8F,
    1781                 :            :           0x10,0xD9,0xB4,0xA3,0xD9,0x04,0x7D,0x8B,0x15,0x43,    /* b */
    1782                 :            :           0x59,0xAB,0xFB,0x1B,0x7F,0x54,0x85,0xB0,0x4C,0xEB,
    1783                 :            :           0x86,0x82,0x37,0xDD,0xC9,0xDE,0xDA,0x98,0x2A,0x67,
    1784                 :            :           0x9A,0x5A,0x91,0x9B,0x62,0x6D,0x4E,0x50,0xA8,0xDD,
    1785                 :            :           0x73,0x1B,0x10,0x7A,0x99,0x62,0x38,0x1F,0xB5,0xD8,
    1786                 :            :           0x07,0xBF,0x26,0x18,
    1787                 :            :           0x12,0x0F,0xC0,0x5D,0x3C,0x67,0xA9,0x9D,0xE1,0x61,    /* x */
    1788                 :            :           0xD2,0xF4,0x09,0x26,0x22,0xFE,0xCA,0x70,0x1B,0xE4,
    1789                 :            :           0xF5,0x0F,0x47,0x58,0x71,0x4E,0x8A,0x87,0xBB,0xF2,
    1790                 :            :           0xA6,0x58,0xEF,0x8C,0x21,0xE7,0xC5,0xEF,0xE9,0x65,
    1791                 :            :           0x36,0x1F,0x6C,0x29,0x99,0xC0,0xC2,0x47,0xB0,0xDB,
    1792                 :            :           0xD7,0x0C,0xE6,0xB7,
    1793                 :            :           0x20,0xD0,0xAF,0x89,0x03,0xA9,0x6F,0x8D,0x5F,0xA2,    /* y */
    1794                 :            :           0xC2,0x55,0x74,0x5D,0x3C,0x45,0x1B,0x30,0x2C,0x93,
    1795                 :            :           0x46,0xD9,0xB7,0xE4,0x85,0xE7,0xBC,0xE4,0x1F,0x6B,
    1796                 :            :           0x59,0x1F,0x3E,0x8F,0x6A,0xDD,0xCB,0xB0,0xBC,0x4C,
    1797                 :            :           0x2F,0x94,0x7A,0x7D,0xE1,0xA8,0x9B,0x62,0x5D,0x6A,
    1798                 :            :           0x59,0x8B,0x37,0x60,
    1799                 :            :           0x00,0x03,0x40,0x34,0x03,0x40,0x34,0x03,0x40,0x34,    /* order */
    1800                 :            :           0x03,0x40,0x34,0x03,0x40,0x34,0x03,0x40,0x34,0x03,
    1801                 :            :           0x40,0x34,0x03,0x40,0x34,0x03,0x40,0x34,0x03,0x23,
    1802                 :            :           0xC3,0x13,0xFA,0xB5,0x05,0x89,0x70,0x3B,0x5E,0xC6,
    1803                 :            :           0x8D,0x35,0x87,0xFE,0xC6,0x0D,0x16,0x1C,0xC1,0x49,
    1804                 :            :           0xC1,0xAD,0x4A,0x91 }
    1805                 :            :         };
    1806                 :            : 
    1807                 :            : __fips_constseg
    1808                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+15*6]; }
    1809                 :            :         _EC_WTLS_1 = {
    1810                 :            :         { NID_X9_62_characteristic_two_field,0,15,2 },
    1811                 :            :         {                                                       /* no seed */
    1812                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1813                 :            :           0x00,0x00,0x00,0x02,0x01,
    1814                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1815                 :            :           0x00,0x00,0x00,0x00,0x01,
    1816                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1817                 :            :           0x00,0x00,0x00,0x00,0x01,
    1818                 :            :           0x01,0x66,0x79,0x79,0xA4,0x0B,0xA4,0x97,0xE5,0xD5,    /* x */
    1819                 :            :           0xC2,0x70,0x78,0x06,0x17,
    1820                 :            :           0x00,0xF4,0x4B,0x4A,0xF1,0xEC,0xC2,0x63,0x0E,0x08,    /* y */
    1821                 :            :           0x78,0x5C,0xEB,0xCC,0x15,
    1822                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFD,0xBF,    /* order */
    1823                 :            :           0x91,0xAF,0x6D,0xEA,0x73 }
    1824                 :            :         };
    1825                 :            : 
    1826                 :            : /* IPSec curves */
    1827                 :            : /* NOTE: The of curves over a extension field of non prime degree
    1828                 :            :  * is not recommended (Weil-descent).
    1829                 :            :  * As the group order is not a prime this curve is not suitable
    1830                 :            :  * for ECDSA.
    1831                 :            :  */
    1832                 :            : __fips_constseg
    1833                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+20*6]; }
    1834                 :            :         _EC_IPSEC_155_ID3 = {
    1835                 :            :         { NID_X9_62_characteristic_two_field,0,20,3 },
    1836                 :            :         {                                                       /* no seed */
    1837                 :            :           0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1838                 :            :           0x00,0x00,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
    1839                 :            : 
    1840                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1841                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1842                 :            : 
    1843                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1844                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x33,0x8f,
    1845                 :            : 
    1846                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* x */
    1847                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7b,
    1848                 :            : 
    1849                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* y */
    1850                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xc8,
    1851                 :            : 
    1852                 :            :           0x02,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,0xAA,    /* order */
    1853                 :            :           0xC7,0xF3,0xC7,0x88,0x1B,0xD0,0x86,0x8F,0xA8,0x6C }
    1854                 :            :         };
    1855                 :            : 
    1856                 :            : /* NOTE: The of curves over a extension field of non prime degree
    1857                 :            :  * is not recommended (Weil-descent).
    1858                 :            :  * As the group order is not a prime this curve is not suitable
    1859                 :            :  * for ECDSA.
    1860                 :            :  */
    1861                 :            : __fips_constseg
    1862                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+24*6]; }
    1863                 :            :         _EC_IPSEC_185_ID4 = {
    1864                 :            :         { NID_X9_62_characteristic_two_field,0,24,2 },
    1865                 :            :         {                                                       /* no seed */
    1866                 :            :           0x02,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* p */
    1867                 :            :           0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,
    1868                 :            :           0x00,0x00,0x00,0x01,
    1869                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* a */
    1870                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1871                 :            :           0x00,0x00,0x00,0x00,
    1872                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* b */
    1873                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1874                 :            :           0x00,0x00,0x1e,0xe9,
    1875                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* x */
    1876                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1877                 :            :           0x00,0x00,0x00,0x18,
    1878                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,    /* y */
    1879                 :            :           0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    1880                 :            :           0x00,0x00,0x00,0x0d,
    1881                 :            :           0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,    /* order */
    1882                 :            :           0xFF,0xFF,0xED,0xF9,0x7C,0x44,0xDB,0x9F,0x24,0x20,
    1883                 :            :           0xBA,0xFC,0xA7,0x5E }
    1884                 :            :         };
    1885                 :            : 
    1886                 :            : #endif
    1887                 :            : 
    1888                 :            : /* These curves were added by Annie Yousar <a.yousar@informatik.hu-berlin.de>
    1889                 :            :  * For the definition of RFC 5639 curves see
    1890                 :            :  * http://www.ietf.org/rfc/rfc5639.txt
    1891                 :            :  * These curves are generated verifiable at random, nevertheless the seed is
    1892                 :            :  * omitted as parameter because the generation mechanism is different from
    1893                 :            :  * those defined in ANSI X9.62.
    1894                 :            :  */
    1895                 :            : 
    1896                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+20*6]; }
    1897                 :            :    _EC_brainpoolP160r1 = {
    1898                 :            :    { NID_X9_62_prime_field, 0,20,1 },
    1899                 :            :    {                           /* no seed */
    1900                 :            :      0xE9,0x5E,0x4A,0x5F,0x73,0x70,0x59,0xDC,0x60,0xDF,    /* p */
    1901                 :            :      0xC7,0xAD,0x95,0xB3,0xD8,0x13,0x95,0x15,0x62,0x0F,
    1902                 :            :      0x34,0x0E,0x7B,0xE2,0xA2,0x80,0xEB,0x74,0xE2,0xBE,    /* a */
    1903                 :            :      0x61,0xBA,0xDA,0x74,0x5D,0x97,0xE8,0xF7,0xC3,0x00,
    1904                 :            :      0x1E,0x58,0x9A,0x85,0x95,0x42,0x34,0x12,0x13,0x4F,    /* b */
    1905                 :            :      0xAA,0x2D,0xBD,0xEC,0x95,0xC8,0xD8,0x67,0x5E,0x58,
    1906                 :            :      0xBE,0xD5,0xAF,0x16,0xEA,0x3F,0x6A,0x4F,0x62,0x93,    /* x */
    1907                 :            :      0x8C,0x46,0x31,0xEB,0x5A,0xF7,0xBD,0xBC,0xDB,0xC3,
    1908                 :            :      0x16,0x67,0xCB,0x47,0x7A,0x1A,0x8E,0xC3,0x38,0xF9,    /* y */
    1909                 :            :      0x47,0x41,0x66,0x9C,0x97,0x63,0x16,0xDA,0x63,0x21,
    1910                 :            :      0xE9,0x5E,0x4A,0x5F,0x73,0x70,0x59,0xDC,0x60,0xDF,    /* order */
    1911                 :            :      0x59,0x91,0xD4,0x50,0x29,0x40,0x9E,0x60,0xFC,0x09 }
    1912                 :            :     };
    1913                 :            : 
    1914                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+20*6]; }
    1915                 :            :    _EC_brainpoolP160t1 = {
    1916                 :            :    { NID_X9_62_prime_field, 0,20,1 },
    1917                 :            :    {                           /* no seed */
    1918                 :            :      0xE9,0x5E,0x4A,0x5F,0x73,0x70,0x59,0xDC,0x60,0xDF,    /* p */
    1919                 :            :      0xC7,0xAD,0x95,0xB3,0xD8,0x13,0x95,0x15,0x62,0x0F,
    1920                 :            :      0xE9,0x5E,0x4A,0x5F,0x73,0x70,0x59,0xDC,0x60,0xDF,    /* a */
    1921                 :            :      0xC7,0xAD,0x95,0xB3,0xD8,0x13,0x95,0x15,0x62,0x0C,
    1922                 :            :      0x7A,0x55,0x6B,0x6D,0xAE,0x53,0x5B,0x7B,0x51,0xED,    /* b */
    1923                 :            :      0x2C,0x4D,0x7D,0xAA,0x7A,0x0B,0x5C,0x55,0xF3,0x80,
    1924                 :            :      0xB1,0x99,0xB1,0x3B,0x9B,0x34,0xEF,0xC1,0x39,0x7E,    /* x */
    1925                 :            :      0x64,0xBA,0xEB,0x05,0xAC,0xC2,0x65,0xFF,0x23,0x78,
    1926                 :            :      0xAD,0xD6,0x71,0x8B,0x7C,0x7C,0x19,0x61,0xF0,0x99,    /* y */
    1927                 :            :      0x1B,0x84,0x24,0x43,0x77,0x21,0x52,0xC9,0xE0,0xAD,
    1928                 :            :      0xE9,0x5E,0x4A,0x5F,0x73,0x70,0x59,0xDC,0x60,0xDF,    /* order */
    1929                 :            :      0x59,0x91,0xD4,0x50,0x29,0x40,0x9E,0x60,0xFC,0x09 }
    1930                 :            :    };
    1931                 :            : 
    1932                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+24*6]; }
    1933                 :            :    _EC_brainpoolP192r1 = {
    1934                 :            :    { NID_X9_62_prime_field, 0,24,1 },
    1935                 :            :    {                           /* no seed */
    1936                 :            :      0xC3,0x02,0xF4,0x1D,0x93,0x2A,0x36,0xCD,0xA7,0xA3,    /* p */
    1937                 :            :      0x46,0x30,0x93,0xD1,0x8D,0xB7,0x8F,0xCE,0x47,0x6D,
    1938                 :            :      0xE1,0xA8,0x62,0x97,
    1939                 :            :      0x6A,0x91,0x17,0x40,0x76,0xB1,0xE0,0xE1,0x9C,0x39,    /* a */
    1940                 :            :      0xC0,0x31,0xFE,0x86,0x85,0xC1,0xCA,0xE0,0x40,0xE5,
    1941                 :            :      0xC6,0x9A,0x28,0xEF,
    1942                 :            :      0x46,0x9A,0x28,0xEF,0x7C,0x28,0xCC,0xA3,0xDC,0x72,    /* b */
    1943                 :            :      0x1D,0x04,0x4F,0x44,0x96,0xBC,0xCA,0x7E,0xF4,0x14,
    1944                 :            :      0x6F,0xBF,0x25,0xC9,
    1945                 :            :      0xC0,0xA0,0x64,0x7E,0xAA,0xB6,0xA4,0x87,0x53,0xB0,    /* x */
    1946                 :            :      0x33,0xC5,0x6C,0xB0,0xF0,0x90,0x0A,0x2F,0x5C,0x48,
    1947                 :            :      0x53,0x37,0x5F,0xD6,
    1948                 :            :      0x14,0xB6,0x90,0x86,0x6A,0xBD,0x5B,0xB8,0x8B,0x5F,    /* y */
    1949                 :            :      0x48,0x28,0xC1,0x49,0x00,0x02,0xE6,0x77,0x3F,0xA2,
    1950                 :            :      0xFA,0x29,0x9B,0x8F,
    1951                 :            :      0xC3,0x02,0xF4,0x1D,0x93,0x2A,0x36,0xCD,0xA7,0xA3,    /* order */
    1952                 :            :      0x46,0x2F,0x9E,0x9E,0x91,0x6B,0x5B,0xE8,0xF1,0x02,
    1953                 :            :      0x9A,0xC4,0xAC,0xC1 }
    1954                 :            :    };
    1955                 :            : 
    1956                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+24*6]; }
    1957                 :            :    _EC_brainpoolP192t1 = {
    1958                 :            :    { NID_X9_62_prime_field, 0,24,1 },
    1959                 :            :    {                           /* no seed */
    1960                 :            :      0xC3,0x02,0xF4,0x1D,0x93,0x2A,0x36,0xCD,0xA7,0xA3,    /* p */
    1961                 :            :      0x46,0x30,0x93,0xD1,0x8D,0xB7,0x8F,0xCE,0x47,0x6D,
    1962                 :            :      0xE1,0xA8,0x62,0x97,
    1963                 :            :      0xC3,0x02,0xF4,0x1D,0x93,0x2A,0x36,0xCD,0xA7,0xA3,    /* a */
    1964                 :            :      0x46,0x30,0x93,0xD1,0x8D,0xB7,0x8F,0xCE,0x47,0x6D,
    1965                 :            :      0xE1,0xA8,0x62,0x94,
    1966                 :            :      0x13,0xD5,0x6F,0xFA,0xEC,0x78,0x68,0x1E,0x68,0xF9,    /* b */
    1967                 :            :      0xDE,0xB4,0x3B,0x35,0xBE,0xC2,0xFB,0x68,0x54,0x2E,
    1968                 :            :      0x27,0x89,0x7B,0x79,
    1969                 :            :      0x3A,0xE9,0xE5,0x8C,0x82,0xF6,0x3C,0x30,0x28,0x2E,    /* x */
    1970                 :            :      0x1F,0xE7,0xBB,0xF4,0x3F,0xA7,0x2C,0x44,0x6A,0xF6,
    1971                 :            :      0xF4,0x61,0x81,0x29,
    1972                 :            :      0x09,0x7E,0x2C,0x56,0x67,0xC2,0x22,0x3A,0x90,0x2A,    /* y */
    1973                 :            :      0xB5,0xCA,0x44,0x9D,0x00,0x84,0xB7,0xE5,0xB3,0xDE,
    1974                 :            :      0x7C,0xCC,0x01,0xC9,
    1975                 :            :      0xC3,0x02,0xF4,0x1D,0x93,0x2A,0x36,0xCD,0xA7,0xA3,    /* order */
    1976                 :            :      0x46,0x2F,0x9E,0x9E,0x91,0x6B,0x5B,0xE8,0xF1,0x02,
    1977                 :            :      0x9A,0xC4,0xAC,0xC1 }
    1978                 :            :    };
    1979                 :            : 
    1980                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+28*6]; }
    1981                 :            :    _EC_brainpoolP224r1 = {
    1982                 :            :    { NID_X9_62_prime_field, 0,28,1 },
    1983                 :            :    {                           /* no seed */
    1984                 :            :      0xD7,0xC1,0x34,0xAA,0x26,0x43,0x66,0x86,0x2A,0x18,    /* p */
    1985                 :            :      0x30,0x25,0x75,0xD1,0xD7,0x87,0xB0,0x9F,0x07,0x57,
    1986                 :            :      0x97,0xDA,0x89,0xF5,0x7E,0xC8,0xC0,0xFF,
    1987                 :            :      0x68,0xA5,0xE6,0x2C,0xA9,0xCE,0x6C,0x1C,0x29,0x98,    /* a */
    1988                 :            :      0x03,0xA6,0xC1,0x53,0x0B,0x51,0x4E,0x18,0x2A,0xD8,
    1989                 :            :      0xB0,0x04,0x2A,0x59,0xCA,0xD2,0x9F,0x43,
    1990                 :            :      0x25,0x80,0xF6,0x3C,0xCF,0xE4,0x41,0x38,0x87,0x07,    /* b */
    1991                 :            :      0x13,0xB1,0xA9,0x23,0x69,0xE3,0x3E,0x21,0x35,0xD2,
    1992                 :            :      0x66,0xDB,0xB3,0x72,0x38,0x6C,0x40,0x0B,
    1993                 :            :      0x0D,0x90,0x29,0xAD,0x2C,0x7E,0x5C,0xF4,0x34,0x08,    /* x */
    1994                 :            :      0x23,0xB2,0xA8,0x7D,0xC6,0x8C,0x9E,0x4C,0xE3,0x17,
    1995                 :            :      0x4C,0x1E,0x6E,0xFD,0xEE,0x12,0xC0,0x7D,
    1996                 :            :      0x58,0xAA,0x56,0xF7,0x72,0xC0,0x72,0x6F,0x24,0xC6,    /* y */
    1997                 :            :      0xB8,0x9E,0x4E,0xCD,0xAC,0x24,0x35,0x4B,0x9E,0x99,
    1998                 :            :      0xCA,0xA3,0xF6,0xD3,0x76,0x14,0x02,0xCD,
    1999                 :            :      0xD7,0xC1,0x34,0xAA,0x26,0x43,0x66,0x86,0x2A,0x18,    /* order */
    2000                 :            :      0x30,0x25,0x75,0xD0,0xFB,0x98,0xD1,0x16,0xBC,0x4B,
    2001                 :            :      0x6D,0xDE,0xBC,0xA3,0xA5,0xA7,0x93,0x9F }
    2002                 :            :    };
    2003                 :            : 
    2004                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+28*6]; }
    2005                 :            :    _EC_brainpoolP224t1 = {
    2006                 :            :    { NID_X9_62_prime_field, 0,28,1 },
    2007                 :            :    {                           /* no seed */
    2008                 :            :      0xD7,0xC1,0x34,0xAA,0x26,0x43,0x66,0x86,0x2A,0x18,    /* p */
    2009                 :            :      0x30,0x25,0x75,0xD1,0xD7,0x87,0xB0,0x9F,0x07,0x57,
    2010                 :            :      0x97,0xDA,0x89,0xF5,0x7E,0xC8,0xC0,0xFF,
    2011                 :            :      0xD7,0xC1,0x34,0xAA,0x26,0x43,0x66,0x86,0x2A,0x18,    /* a */
    2012                 :            :      0x30,0x25,0x75,0xD1,0xD7,0x87,0xB0,0x9F,0x07,0x57,
    2013                 :            :      0x97,0xDA,0x89,0xF5,0x7E,0xC8,0xC0,0xFC,
    2014                 :            :      0x4B,0x33,0x7D,0x93,0x41,0x04,0xCD,0x7B,0xEF,0x27,    /* b */
    2015                 :            :      0x1B,0xF6,0x0C,0xED,0x1E,0xD2,0x0D,0xA1,0x4C,0x08,
    2016                 :            :      0xB3,0xBB,0x64,0xF1,0x8A,0x60,0x88,0x8D,
    2017                 :            :      0x6A,0xB1,0xE3,0x44,0xCE,0x25,0xFF,0x38,0x96,0x42,    /* x */
    2018                 :            :      0x4E,0x7F,0xFE,0x14,0x76,0x2E,0xCB,0x49,0xF8,0x92,
    2019                 :            :      0x8A,0xC0,0xC7,0x60,0x29,0xB4,0xD5,0x80,
    2020                 :            :      0x03,0x74,0xE9,0xF5,0x14,0x3E,0x56,0x8C,0xD2,0x3F,    /* y */
    2021                 :            :      0x3F,0x4D,0x7C,0x0D,0x4B,0x1E,0x41,0xC8,0xCC,0x0D,
    2022                 :            :      0x1C,0x6A,0xBD,0x5F,0x1A,0x46,0xDB,0x4C,
    2023                 :            :      0xD7,0xC1,0x34,0xAA,0x26,0x43,0x66,0x86,0x2A,0x18,    /* order */
    2024                 :            :      0x30,0x25,0x75,0xD0,0xFB,0x98,0xD1,0x16,0xBC,0x4B,
    2025                 :            :      0x6D,0xDE,0xBC,0xA3,0xA5,0xA7,0x93,0x9F }
    2026                 :            :    };
    2027                 :            : 
    2028                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+32*6]; }
    2029                 :            :    _EC_brainpoolP256r1 = {
    2030                 :            :    { NID_X9_62_prime_field, 0,32,1 },
    2031                 :            :    {                           /* no seed */
    2032                 :            :      0xA9,0xFB,0x57,0xDB,0xA1,0xEE,0xA9,0xBC,0x3E,0x66,    /* p */
    2033                 :            :      0x0A,0x90,0x9D,0x83,0x8D,0x72,0x6E,0x3B,0xF6,0x23,
    2034                 :            :      0xD5,0x26,0x20,0x28,0x20,0x13,0x48,0x1D,0x1F,0x6E,
    2035                 :            :      0x53,0x77,
    2036                 :            :      0x7D,0x5A,0x09,0x75,0xFC,0x2C,0x30,0x57,0xEE,0xF6,    /* a */
    2037                 :            :      0x75,0x30,0x41,0x7A,0xFF,0xE7,0xFB,0x80,0x55,0xC1,
    2038                 :            :      0x26,0xDC,0x5C,0x6C,0xE9,0x4A,0x4B,0x44,0xF3,0x30,
    2039                 :            :      0xB5,0xD9,
    2040                 :            :      0x26,0xDC,0x5C,0x6C,0xE9,0x4A,0x4B,0x44,0xF3,0x30,    /* b */
    2041                 :            :      0xB5,0xD9,0xBB,0xD7,0x7C,0xBF,0x95,0x84,0x16,0x29,
    2042                 :            :      0x5C,0xF7,0xE1,0xCE,0x6B,0xCC,0xDC,0x18,0xFF,0x8C,
    2043                 :            :      0x07,0xB6,
    2044                 :            :      0x8B,0xD2,0xAE,0xB9,0xCB,0x7E,0x57,0xCB,0x2C,0x4B,    /* x */
    2045                 :            :      0x48,0x2F,0xFC,0x81,0xB7,0xAF,0xB9,0xDE,0x27,0xE1,
    2046                 :            :      0xE3,0xBD,0x23,0xC2,0x3A,0x44,0x53,0xBD,0x9A,0xCE,
    2047                 :            :      0x32,0x62,
    2048                 :            :      0x54,0x7E,0xF8,0x35,0xC3,0xDA,0xC4,0xFD,0x97,0xF8,    /* y */
    2049                 :            :      0x46,0x1A,0x14,0x61,0x1D,0xC9,0xC2,0x77,0x45,0x13,
    2050                 :            :      0x2D,0xED,0x8E,0x54,0x5C,0x1D,0x54,0xC7,0x2F,0x04,
    2051                 :            :      0x69,0x97,
    2052                 :            :      0xA9,0xFB,0x57,0xDB,0xA1,0xEE,0xA9,0xBC,0x3E,0x66,    /* order */
    2053                 :            :      0x0A,0x90,0x9D,0x83,0x8D,0x71,0x8C,0x39,0x7A,0xA3,
    2054                 :            :      0xB5,0x61,0xA6,0xF7,0x90,0x1E,0x0E,0x82,0x97,0x48,
    2055                 :            :      0x56,0xA7 }
    2056                 :            :    };
    2057                 :            : 
    2058                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+32*6]; }
    2059                 :            :    _EC_brainpoolP256t1 = {
    2060                 :            :    { NID_X9_62_prime_field, 0,32,1 },
    2061                 :            :    {                           /* no seed */
    2062                 :            :      0xA9,0xFB,0x57,0xDB,0xA1,0xEE,0xA9,0xBC,0x3E,0x66,    /* p */
    2063                 :            :      0x0A,0x90,0x9D,0x83,0x8D,0x72,0x6E,0x3B,0xF6,0x23,
    2064                 :            :      0xD5,0x26,0x20,0x28,0x20,0x13,0x48,0x1D,0x1F,0x6E,
    2065                 :            :      0x53,0x77,
    2066                 :            :      0xA9,0xFB,0x57,0xDB,0xA1,0xEE,0xA9,0xBC,0x3E,0x66,    /* a */
    2067                 :            :      0x0A,0x90,0x9D,0x83,0x8D,0x72,0x6E,0x3B,0xF6,0x23,
    2068                 :            :      0xD5,0x26,0x20,0x28,0x20,0x13,0x48,0x1D,0x1F,0x6E,
    2069                 :            :      0x53,0x74,
    2070                 :            :      0x66,0x2C,0x61,0xC4,0x30,0xD8,0x4E,0xA4,0xFE,0x66,    /* b */
    2071                 :            :      0xA7,0x73,0x3D,0x0B,0x76,0xB7,0xBF,0x93,0xEB,0xC4,
    2072                 :            :      0xAF,0x2F,0x49,0x25,0x6A,0xE5,0x81,0x01,0xFE,0xE9,
    2073                 :            :      0x2B,0x04,
    2074                 :            :      0xA3,0xE8,0xEB,0x3C,0xC1,0xCF,0xE7,0xB7,0x73,0x22,    /* x */
    2075                 :            :      0x13,0xB2,0x3A,0x65,0x61,0x49,0xAF,0xA1,0x42,0xC4,
    2076                 :            :      0x7A,0xAF,0xBC,0x2B,0x79,0xA1,0x91,0x56,0x2E,0x13,
    2077                 :            :      0x05,0xF4,
    2078                 :            :      0x2D,0x99,0x6C,0x82,0x34,0x39,0xC5,0x6D,0x7F,0x7B,    /* y */
    2079                 :            :      0x22,0xE1,0x46,0x44,0x41,0x7E,0x69,0xBC,0xB6,0xDE,
    2080                 :            :      0x39,0xD0,0x27,0x00,0x1D,0xAB,0xE8,0xF3,0x5B,0x25,
    2081                 :            :      0xC9,0xBE,
    2082                 :            :      0xA9,0xFB,0x57,0xDB,0xA1,0xEE,0xA9,0xBC,0x3E,0x66,    /* order */
    2083                 :            :      0x0A,0x90,0x9D,0x83,0x8D,0x71,0x8C,0x39,0x7A,0xA3,
    2084                 :            :      0xB5,0x61,0xA6,0xF7,0x90,0x1E,0x0E,0x82,0x97,0x48,
    2085                 :            :      0x56,0xA7 }
    2086                 :            :    };
    2087                 :            : 
    2088                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+40*6]; }
    2089                 :            :    _EC_brainpoolP320r1 = {
    2090                 :            :    { NID_X9_62_prime_field, 0,40,1 },
    2091                 :            :    {                           /* no seed */
    2092                 :            :      0xD3,0x5E,0x47,0x20,0x36,0xBC,0x4F,0xB7,0xE1,0x3C,    /* p */
    2093                 :            :      0x78,0x5E,0xD2,0x01,0xE0,0x65,0xF9,0x8F,0xCF,0xA6,
    2094                 :            :      0xF6,0xF4,0x0D,0xEF,0x4F,0x92,0xB9,0xEC,0x78,0x93,
    2095                 :            :      0xEC,0x28,0xFC,0xD4,0x12,0xB1,0xF1,0xB3,0x2E,0x27,
    2096                 :            :      0x3E,0xE3,0x0B,0x56,0x8F,0xBA,0xB0,0xF8,0x83,0xCC,    /* a */
    2097                 :            :      0xEB,0xD4,0x6D,0x3F,0x3B,0xB8,0xA2,0xA7,0x35,0x13,
    2098                 :            :      0xF5,0xEB,0x79,0xDA,0x66,0x19,0x0E,0xB0,0x85,0xFF,
    2099                 :            :      0xA9,0xF4,0x92,0xF3,0x75,0xA9,0x7D,0x86,0x0E,0xB4,
    2100                 :            :      0x52,0x08,0x83,0x94,0x9D,0xFD,0xBC,0x42,0xD3,0xAD,    /* b */
    2101                 :            :      0x19,0x86,0x40,0x68,0x8A,0x6F,0xE1,0x3F,0x41,0x34,
    2102                 :            :      0x95,0x54,0xB4,0x9A,0xCC,0x31,0xDC,0xCD,0x88,0x45,
    2103                 :            :      0x39,0x81,0x6F,0x5E,0xB4,0xAC,0x8F,0xB1,0xF1,0xA6,
    2104                 :            :      0x43,0xBD,0x7E,0x9A,0xFB,0x53,0xD8,0xB8,0x52,0x89,    /* x */
    2105                 :            :      0xBC,0xC4,0x8E,0xE5,0xBF,0xE6,0xF2,0x01,0x37,0xD1,
    2106                 :            :      0x0A,0x08,0x7E,0xB6,0xE7,0x87,0x1E,0x2A,0x10,0xA5,
    2107                 :            :      0x99,0xC7,0x10,0xAF,0x8D,0x0D,0x39,0xE2,0x06,0x11,
    2108                 :            :      0x14,0xFD,0xD0,0x55,0x45,0xEC,0x1C,0xC8,0xAB,0x40,    /* y */
    2109                 :            :      0x93,0x24,0x7F,0x77,0x27,0x5E,0x07,0x43,0xFF,0xED,
    2110                 :            :      0x11,0x71,0x82,0xEA,0xA9,0xC7,0x78,0x77,0xAA,0xAC,
    2111                 :            :      0x6A,0xC7,0xD3,0x52,0x45,0xD1,0x69,0x2E,0x8E,0xE1,
    2112                 :            :      0xD3,0x5E,0x47,0x20,0x36,0xBC,0x4F,0xB7,0xE1,0x3C,    /* order */
    2113                 :            :      0x78,0x5E,0xD2,0x01,0xE0,0x65,0xF9,0x8F,0xCF,0xA5,
    2114                 :            :      0xB6,0x8F,0x12,0xA3,0x2D,0x48,0x2E,0xC7,0xEE,0x86,
    2115                 :            :      0x58,0xE9,0x86,0x91,0x55,0x5B,0x44,0xC5,0x93,0x11 }
    2116                 :            :    };
    2117                 :            : 
    2118                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+40*6]; }
    2119                 :            :    _EC_brainpoolP320t1 = {
    2120                 :            :    { NID_X9_62_prime_field, 0,40,1 },
    2121                 :            :    {                           /* no seed */
    2122                 :            :      0xD3,0x5E,0x47,0x20,0x36,0xBC,0x4F,0xB7,0xE1,0x3C,    /* p */
    2123                 :            :      0x78,0x5E,0xD2,0x01,0xE0,0x65,0xF9,0x8F,0xCF,0xA6,
    2124                 :            :      0xF6,0xF4,0x0D,0xEF,0x4F,0x92,0xB9,0xEC,0x78,0x93,
    2125                 :            :      0xEC,0x28,0xFC,0xD4,0x12,0xB1,0xF1,0xB3,0x2E,0x27,
    2126                 :            :      0xD3,0x5E,0x47,0x20,0x36,0xBC,0x4F,0xB7,0xE1,0x3C,    /* a */
    2127                 :            :      0x78,0x5E,0xD2,0x01,0xE0,0x65,0xF9,0x8F,0xCF,0xA6,
    2128                 :            :      0xF6,0xF4,0x0D,0xEF,0x4F,0x92,0xB9,0xEC,0x78,0x93,
    2129                 :            :      0xEC,0x28,0xFC,0xD4,0x12,0xB1,0xF1,0xB3,0x2E,0x24,
    2130                 :            :      0xA7,0xF5,0x61,0xE0,0x38,0xEB,0x1E,0xD5,0x60,0xB3,    /* b */
    2131                 :            :      0xD1,0x47,0xDB,0x78,0x20,0x13,0x06,0x4C,0x19,0xF2,
    2132                 :            :      0x7E,0xD2,0x7C,0x67,0x80,0xAA,0xF7,0x7F,0xB8,0xA5,
    2133                 :            :      0x47,0xCE,0xB5,0xB4,0xFE,0xF4,0x22,0x34,0x03,0x53,
    2134                 :            :      0x92,0x5B,0xE9,0xFB,0x01,0xAF,0xC6,0xFB,0x4D,0x3E,    /* x */
    2135                 :            :      0x7D,0x49,0x90,0x01,0x0F,0x81,0x34,0x08,0xAB,0x10,
    2136                 :            :      0x6C,0x4F,0x09,0xCB,0x7E,0xE0,0x78,0x68,0xCC,0x13,
    2137                 :            :      0x6F,0xFF,0x33,0x57,0xF6,0x24,0xA2,0x1B,0xED,0x52,
    2138                 :            :      0x63,0xBA,0x3A,0x7A,0x27,0x48,0x3E,0xBF,0x66,0x71,    /* y */
    2139                 :            :      0xDB,0xEF,0x7A,0xBB,0x30,0xEB,0xEE,0x08,0x4E,0x58,
    2140                 :            :      0xA0,0xB0,0x77,0xAD,0x42,0xA5,0xA0,0x98,0x9D,0x1E,
    2141                 :            :      0xE7,0x1B,0x1B,0x9B,0xC0,0x45,0x5F,0xB0,0xD2,0xC3,
    2142                 :            :      0xD3,0x5E,0x47,0x20,0x36,0xBC,0x4F,0xB7,0xE1,0x3C,    /* order */
    2143                 :            :      0x78,0x5E,0xD2,0x01,0xE0,0x65,0xF9,0x8F,0xCF,0xA5,
    2144                 :            :      0xB6,0x8F,0x12,0xA3,0x2D,0x48,0x2E,0xC7,0xEE,0x86,
    2145                 :            :      0x58,0xE9,0x86,0x91,0x55,0x5B,0x44,0xC5,0x93,0x11 }
    2146                 :            :    };
    2147                 :            : 
    2148                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+48*6]; }
    2149                 :            :    _EC_brainpoolP384r1 = {
    2150                 :            :    { NID_X9_62_prime_field, 0,48,1 },
    2151                 :            :    {                           /* no seed */
    2152                 :            :      0x8C,0xB9,0x1E,0x82,0xA3,0x38,0x6D,0x28,0x0F,0x5D,    /* p */
    2153                 :            :      0x6F,0x7E,0x50,0xE6,0x41,0xDF,0x15,0x2F,0x71,0x09,
    2154                 :            :      0xED,0x54,0x56,0xB4,0x12,0xB1,0xDA,0x19,0x7F,0xB7,
    2155                 :            :      0x11,0x23,0xAC,0xD3,0xA7,0x29,0x90,0x1D,0x1A,0x71,
    2156                 :            :      0x87,0x47,0x00,0x13,0x31,0x07,0xEC,0x53,
    2157                 :            :      0x7B,0xC3,0x82,0xC6,0x3D,0x8C,0x15,0x0C,0x3C,0x72,    /* a */
    2158                 :            :      0x08,0x0A,0xCE,0x05,0xAF,0xA0,0xC2,0xBE,0xA2,0x8E,
    2159                 :            :      0x4F,0xB2,0x27,0x87,0x13,0x91,0x65,0xEF,0xBA,0x91,
    2160                 :            :      0xF9,0x0F,0x8A,0xA5,0x81,0x4A,0x50,0x3A,0xD4,0xEB,
    2161                 :            :      0x04,0xA8,0xC7,0xDD,0x22,0xCE,0x28,0x26,
    2162                 :            :      0x04,0xA8,0xC7,0xDD,0x22,0xCE,0x28,0x26,0x8B,0x39,    /* b */
    2163                 :            :      0xB5,0x54,0x16,0xF0,0x44,0x7C,0x2F,0xB7,0x7D,0xE1,
    2164                 :            :      0x07,0xDC,0xD2,0xA6,0x2E,0x88,0x0E,0xA5,0x3E,0xEB,
    2165                 :            :      0x62,0xD5,0x7C,0xB4,0x39,0x02,0x95,0xDB,0xC9,0x94,
    2166                 :            :      0x3A,0xB7,0x86,0x96,0xFA,0x50,0x4C,0x11,
    2167                 :            :      0x1D,0x1C,0x64,0xF0,0x68,0xCF,0x45,0xFF,0xA2,0xA6,    /* x */
    2168                 :            :      0x3A,0x81,0xB7,0xC1,0x3F,0x6B,0x88,0x47,0xA3,0xE7,
    2169                 :            :      0x7E,0xF1,0x4F,0xE3,0xDB,0x7F,0xCA,0xFE,0x0C,0xBD,
    2170                 :            :      0x10,0xE8,0xE8,0x26,0xE0,0x34,0x36,0xD6,0x46,0xAA,
    2171                 :            :      0xEF,0x87,0xB2,0xE2,0x47,0xD4,0xAF,0x1E,
    2172                 :            :      0x8A,0xBE,0x1D,0x75,0x20,0xF9,0xC2,0xA4,0x5C,0xB1,    /* y */
    2173                 :            :      0xEB,0x8E,0x95,0xCF,0xD5,0x52,0x62,0xB7,0x0B,0x29,
    2174                 :            :      0xFE,0xEC,0x58,0x64,0xE1,0x9C,0x05,0x4F,0xF9,0x91,
    2175                 :            :      0x29,0x28,0x0E,0x46,0x46,0x21,0x77,0x91,0x81,0x11,
    2176                 :            :      0x42,0x82,0x03,0x41,0x26,0x3C,0x53,0x15,
    2177                 :            :      0x8C,0xB9,0x1E,0x82,0xA3,0x38,0x6D,0x28,0x0F,0x5D,    /* order */
    2178                 :            :      0x6F,0x7E,0x50,0xE6,0x41,0xDF,0x15,0x2F,0x71,0x09,
    2179                 :            :      0xED,0x54,0x56,0xB3,0x1F,0x16,0x6E,0x6C,0xAC,0x04,
    2180                 :            :      0x25,0xA7,0xCF,0x3A,0xB6,0xAF,0x6B,0x7F,0xC3,0x10,
    2181                 :            :      0x3B,0x88,0x32,0x02,0xE9,0x04,0x65,0x65 }
    2182                 :            :    };
    2183                 :            : 
    2184                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+48*6]; }
    2185                 :            :    _EC_brainpoolP384t1 = {
    2186                 :            :    { NID_X9_62_prime_field, 0,48,1 },
    2187                 :            :    {                           /* no seed */
    2188                 :            :      0x8C,0xB9,0x1E,0x82,0xA3,0x38,0x6D,0x28,0x0F,0x5D,    /* p */
    2189                 :            :      0x6F,0x7E,0x50,0xE6,0x41,0xDF,0x15,0x2F,0x71,0x09,
    2190                 :            :      0xED,0x54,0x56,0xB4,0x12,0xB1,0xDA,0x19,0x7F,0xB7,
    2191                 :            :      0x11,0x23,0xAC,0xD3,0xA7,0x29,0x90,0x1D,0x1A,0x71,
    2192                 :            :      0x87,0x47,0x00,0x13,0x31,0x07,0xEC,0x53,
    2193                 :            :      0x8C,0xB9,0x1E,0x82,0xA3,0x38,0x6D,0x28,0x0F,0x5D,    /* a */
    2194                 :            :      0x6F,0x7E,0x50,0xE6,0x41,0xDF,0x15,0x2F,0x71,0x09,
    2195                 :            :      0xED,0x54,0x56,0xB4,0x12,0xB1,0xDA,0x19,0x7F,0xB7,
    2196                 :            :      0x11,0x23,0xAC,0xD3,0xA7,0x29,0x90,0x1D,0x1A,0x71,
    2197                 :            :      0x87,0x47,0x00,0x13,0x31,0x07,0xEC,0x50,
    2198                 :            :      0x7F,0x51,0x9E,0xAD,0xA7,0xBD,0xA8,0x1B,0xD8,0x26,    /* b */
    2199                 :            :      0xDB,0xA6,0x47,0x91,0x0F,0x8C,0x4B,0x93,0x46,0xED,
    2200                 :            :      0x8C,0xCD,0xC6,0x4E,0x4B,0x1A,0xBD,0x11,0x75,0x6D,
    2201                 :            :      0xCE,0x1D,0x20,0x74,0xAA,0x26,0x3B,0x88,0x80,0x5C,
    2202                 :            :      0xED,0x70,0x35,0x5A,0x33,0xB4,0x71,0xEE,
    2203                 :            :      0x18,0xDE,0x98,0xB0,0x2D,0xB9,0xA3,0x06,0xF2,0xAF,    /* x */
    2204                 :            :      0xCD,0x72,0x35,0xF7,0x2A,0x81,0x9B,0x80,0xAB,0x12,
    2205                 :            :      0xEB,0xD6,0x53,0x17,0x24,0x76,0xFE,0xCD,0x46,0x2A,
    2206                 :            :      0xAB,0xFF,0xC4,0xFF,0x19,0x1B,0x94,0x6A,0x5F,0x54,
    2207                 :            :      0xD8,0xD0,0xAA,0x2F,0x41,0x88,0x08,0xCC,
    2208                 :            :      0x25,0xAB,0x05,0x69,0x62,0xD3,0x06,0x51,0xA1,0x14,    /* y */
    2209                 :            :      0xAF,0xD2,0x75,0x5A,0xD3,0x36,0x74,0x7F,0x93,0x47,
    2210                 :            :      0x5B,0x7A,0x1F,0xCA,0x3B,0x88,0xF2,0xB6,0xA2,0x08,
    2211                 :            :      0xCC,0xFE,0x46,0x94,0x08,0x58,0x4D,0xC2,0xB2,0x91,
    2212                 :            :      0x26,0x75,0xBF,0x5B,0x9E,0x58,0x29,0x28,
    2213                 :            :      0x8C,0xB9,0x1E,0x82,0xA3,0x38,0x6D,0x28,0x0F,0x5D,    /* order */
    2214                 :            :      0x6F,0x7E,0x50,0xE6,0x41,0xDF,0x15,0x2F,0x71,0x09,
    2215                 :            :      0xED,0x54,0x56,0xB3,0x1F,0x16,0x6E,0x6C,0xAC,0x04,
    2216                 :            :      0x25,0xA7,0xCF,0x3A,0xB6,0xAF,0x6B,0x7F,0xC3,0x10,
    2217                 :            :      0x3B,0x88,0x32,0x02,0xE9,0x04,0x65,0x65 }
    2218                 :            :    };
    2219                 :            : 
    2220                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+64*6]; }
    2221                 :            :    _EC_brainpoolP512r1 = {
    2222                 :            :    { NID_X9_62_prime_field, 0,64,1 },
    2223                 :            :    {                           /* no seed */
    2224                 :            :      0xAA,0xDD,0x9D,0xB8,0xDB,0xE9,0xC4,0x8B,0x3F,0xD4,    /* p */
    2225                 :            :      0xE6,0xAE,0x33,0xC9,0xFC,0x07,0xCB,0x30,0x8D,0xB3,
    2226                 :            :      0xB3,0xC9,0xD2,0x0E,0xD6,0x63,0x9C,0xCA,0x70,0x33,
    2227                 :            :      0x08,0x71,0x7D,0x4D,0x9B,0x00,0x9B,0xC6,0x68,0x42,
    2228                 :            :      0xAE,0xCD,0xA1,0x2A,0xE6,0xA3,0x80,0xE6,0x28,0x81,
    2229                 :            :      0xFF,0x2F,0x2D,0x82,0xC6,0x85,0x28,0xAA,0x60,0x56,
    2230                 :            :      0x58,0x3A,0x48,0xF3,
    2231                 :            :      0x78,0x30,0xA3,0x31,0x8B,0x60,0x3B,0x89,0xE2,0x32,    /* a */
    2232                 :            :      0x71,0x45,0xAC,0x23,0x4C,0xC5,0x94,0xCB,0xDD,0x8D,
    2233                 :            :      0x3D,0xF9,0x16,0x10,0xA8,0x34,0x41,0xCA,0xEA,0x98,
    2234                 :            :      0x63,0xBC,0x2D,0xED,0x5D,0x5A,0xA8,0x25,0x3A,0xA1,
    2235                 :            :      0x0A,0x2E,0xF1,0xC9,0x8B,0x9A,0xC8,0xB5,0x7F,0x11,
    2236                 :            :      0x17,0xA7,0x2B,0xF2,0xC7,0xB9,0xE7,0xC1,0xAC,0x4D,
    2237                 :            :      0x77,0xFC,0x94,0xCA,
    2238                 :            :      0x3D,0xF9,0x16,0x10,0xA8,0x34,0x41,0xCA,0xEA,0x98,    /* b */
    2239                 :            :      0x63,0xBC,0x2D,0xED,0x5D,0x5A,0xA8,0x25,0x3A,0xA1,
    2240                 :            :      0x0A,0x2E,0xF1,0xC9,0x8B,0x9A,0xC8,0xB5,0x7F,0x11,
    2241                 :            :      0x17,0xA7,0x2B,0xF2,0xC7,0xB9,0xE7,0xC1,0xAC,0x4D,
    2242                 :            :      0x77,0xFC,0x94,0xCA,0xDC,0x08,0x3E,0x67,0x98,0x40,
    2243                 :            :      0x50,0xB7,0x5E,0xBA,0xE5,0xDD,0x28,0x09,0xBD,0x63,
    2244                 :            :      0x80,0x16,0xF7,0x23,
    2245                 :            :      0x81,0xAE,0xE4,0xBD,0xD8,0x2E,0xD9,0x64,0x5A,0x21,    /* x */
    2246                 :            :      0x32,0x2E,0x9C,0x4C,0x6A,0x93,0x85,0xED,0x9F,0x70,
    2247                 :            :      0xB5,0xD9,0x16,0xC1,0xB4,0x3B,0x62,0xEE,0xF4,0xD0,
    2248                 :            :      0x09,0x8E,0xFF,0x3B,0x1F,0x78,0xE2,0xD0,0xD4,0x8D,
    2249                 :            :      0x50,0xD1,0x68,0x7B,0x93,0xB9,0x7D,0x5F,0x7C,0x6D,
    2250                 :            :      0x50,0x47,0x40,0x6A,0x5E,0x68,0x8B,0x35,0x22,0x09,
    2251                 :            :      0xBC,0xB9,0xF8,0x22,
    2252                 :            :      0x7D,0xDE,0x38,0x5D,0x56,0x63,0x32,0xEC,0xC0,0xEA,    /* y */
    2253                 :            :      0xBF,0xA9,0xCF,0x78,0x22,0xFD,0xF2,0x09,0xF7,0x00,
    2254                 :            :      0x24,0xA5,0x7B,0x1A,0xA0,0x00,0xC5,0x5B,0x88,0x1F,
    2255                 :            :      0x81,0x11,0xB2,0xDC,0xDE,0x49,0x4A,0x5F,0x48,0x5E,
    2256                 :            :      0x5B,0xCA,0x4B,0xD8,0x8A,0x27,0x63,0xAE,0xD1,0xCA,
    2257                 :            :      0x2B,0x2F,0xA8,0xF0,0x54,0x06,0x78,0xCD,0x1E,0x0F,
    2258                 :            :      0x3A,0xD8,0x08,0x92,
    2259                 :            :      0xAA,0xDD,0x9D,0xB8,0xDB,0xE9,0xC4,0x8B,0x3F,0xD4,    /* order */
    2260                 :            :      0xE6,0xAE,0x33,0xC9,0xFC,0x07,0xCB,0x30,0x8D,0xB3,
    2261                 :            :      0xB3,0xC9,0xD2,0x0E,0xD6,0x63,0x9C,0xCA,0x70,0x33,
    2262                 :            :      0x08,0x70,0x55,0x3E,0x5C,0x41,0x4C,0xA9,0x26,0x19,
    2263                 :            :      0x41,0x86,0x61,0x19,0x7F,0xAC,0x10,0x47,0x1D,0xB1,
    2264                 :            :      0xD3,0x81,0x08,0x5D,0xDA,0xDD,0xB5,0x87,0x96,0x82,
    2265                 :            :      0x9C,0xA9,0x00,0x69 }
    2266                 :            :    };
    2267                 :            : 
    2268                 :            : static const struct { EC_CURVE_DATA h; unsigned char data[0+64*6]; }
    2269                 :            :    _EC_brainpoolP512t1 = {
    2270                 :            :     { NID_X9_62_prime_field, 0,64,1 },
    2271                 :            :     {                           /* no seed */
    2272                 :            :       0xAA,0xDD,0x9D,0xB8,0xDB,0xE9,0xC4,0x8B,0x3F,0xD4,    /* p */
    2273                 :            :       0xE6,0xAE,0x33,0xC9,0xFC,0x07,0xCB,0x30,0x8D,0xB3,
    2274                 :            :       0xB3,0xC9,0xD2,0x0E,0xD6,0x63,0x9C,0xCA,0x70,0x33,
    2275                 :            :       0x08,0x71,0x7D,0x4D,0x9B,0x00,0x9B,0xC6,0x68,0x42,
    2276                 :            :       0xAE,0xCD,0xA1,0x2A,0xE6,0xA3,0x80,0xE6,0x28,0x81,
    2277                 :            :       0xFF,0x2F,0x2D,0x82,0xC6,0x85,0x28,0xAA,0x60,0x56,
    2278                 :            :       0x58,0x3A,0x48,0xF3,
    2279                 :            :       0xAA,0xDD,0x9D,0xB8,0xDB,0xE9,0xC4,0x8B,0x3F,0xD4,    /* a */
    2280                 :            :       0xE6,0xAE,0x33,0xC9,0xFC,0x07,0xCB,0x30,0x8D,0xB3,
    2281                 :            :       0xB3,0xC9,0xD2,0x0E,0xD6,0x63,0x9C,0xCA,0x70,0x33,
    2282                 :            :       0x08,0x71,0x7D,0x4D,0x9B,0x00,0x9B,0xC6,0x68,0x42,
    2283                 :            :       0xAE,0xCD,0xA1,0x2A,0xE6,0xA3,0x80,0xE6,0x28,0x81,
    2284                 :            :       0xFF,0x2F,0x2D,0x82,0xC6,0x85,0x28,0xAA,0x60,0x56,
    2285                 :            :       0x58,0x3A,0x48,0xF0,
    2286                 :            :       0x7C,0xBB,0xBC,0xF9,0x44,0x1C,0xFA,0xB7,0x6E,0x18,    /* b */
    2287                 :            :       0x90,0xE4,0x68,0x84,0xEA,0xE3,0x21,0xF7,0x0C,0x0B,
    2288                 :            :       0xCB,0x49,0x81,0x52,0x78,0x97,0x50,0x4B,0xEC,0x3E,
    2289                 :            :       0x36,0xA6,0x2B,0xCD,0xFA,0x23,0x04,0x97,0x65,0x40,
    2290                 :            :       0xF6,0x45,0x00,0x85,0xF2,0xDA,0xE1,0x45,0xC2,0x25,
    2291                 :            :       0x53,0xB4,0x65,0x76,0x36,0x89,0x18,0x0E,0xA2,0x57,
    2292                 :            :       0x18,0x67,0x42,0x3E,
    2293                 :            :       0x64,0x0E,0xCE,0x5C,0x12,0x78,0x87,0x17,0xB9,0xC1,    /* x */
    2294                 :            :       0xBA,0x06,0xCB,0xC2,0xA6,0xFE,0xBA,0x85,0x84,0x24,
    2295                 :            :       0x58,0xC5,0x6D,0xDE,0x9D,0xB1,0x75,0x8D,0x39,0xC0,
    2296                 :            :       0x31,0x3D,0x82,0xBA,0x51,0x73,0x5C,0xDB,0x3E,0xA4,
    2297                 :            :       0x99,0xAA,0x77,0xA7,0xD6,0x94,0x3A,0x64,0xF7,0xA3,
    2298                 :            :       0xF2,0x5F,0xE2,0x6F,0x06,0xB5,0x1B,0xAA,0x26,0x96,
    2299                 :            :       0xFA,0x90,0x35,0xDA,
    2300                 :            :       0x5B,0x53,0x4B,0xD5,0x95,0xF5,0xAF,0x0F,0xA2,0xC8,    /* y */
    2301                 :            :       0x92,0x37,0x6C,0x84,0xAC,0xE1,0xBB,0x4E,0x30,0x19,
    2302                 :            :       0xB7,0x16,0x34,0xC0,0x11,0x31,0x15,0x9C,0xAE,0x03,
    2303                 :            :       0xCE,0xE9,0xD9,0x93,0x21,0x84,0xBE,0xEF,0x21,0x6B,
    2304                 :            :       0xD7,0x1D,0xF2,0xDA,0xDF,0x86,0xA6,0x27,0x30,0x6E,
    2305                 :            :       0xCF,0xF9,0x6D,0xBB,0x8B,0xAC,0xE1,0x98,0xB6,0x1E,
    2306                 :            :       0x00,0xF8,0xB3,0x32,
    2307                 :            :       0xAA,0xDD,0x9D,0xB8,0xDB,0xE9,0xC4,0x8B,0x3F,0xD4,    /* order */
    2308                 :            :       0xE6,0xAE,0x33,0xC9,0xFC,0x07,0xCB,0x30,0x8D,0xB3,
    2309                 :            :       0xB3,0xC9,0xD2,0x0E,0xD6,0x63,0x9C,0xCA,0x70,0x33,
    2310                 :            :       0x08,0x70,0x55,0x3E,0x5C,0x41,0x4C,0xA9,0x26,0x19,
    2311                 :            :       0x41,0x86,0x61,0x19,0x7F,0xAC,0x10,0x47,0x1D,0xB1,
    2312                 :            :       0xD3,0x81,0x08,0x5D,0xDA,0xDD,0xB5,0x87,0x96,0x82,
    2313                 :            :       0x9C,0xA9,0x00,0x69 }
    2314                 :            :     };
    2315                 :            : 
    2316                 :            : typedef struct _ec_list_element_st {
    2317                 :            :         int     nid;
    2318                 :            :         const EC_CURVE_DATA *data;
    2319                 :            :         const EC_METHOD *(*meth)(void);
    2320                 :            :         const char *comment;
    2321                 :            :         } ec_list_element;
    2322                 :            : 
    2323                 :            : static const ec_list_element curve_list[] = {
    2324                 :            :         /* prime field curves */
    2325                 :            :         /* secg curves */
    2326                 :            :         { NID_secp112r1, &_EC_SECG_PRIME_112R1.h, 0, "SECG/WTLS curve over a 112 bit prime field" },
    2327                 :            :         { NID_secp112r2, &_EC_SECG_PRIME_112R2.h, 0, "SECG curve over a 112 bit prime field" },
    2328                 :            :         { NID_secp128r1, &_EC_SECG_PRIME_128R1.h, 0, "SECG curve over a 128 bit prime field" },
    2329                 :            :         { NID_secp128r2, &_EC_SECG_PRIME_128R2.h, 0, "SECG curve over a 128 bit prime field" },
    2330                 :            :         { NID_secp160k1, &_EC_SECG_PRIME_160K1.h, 0, "SECG curve over a 160 bit prime field" },
    2331                 :            :         { NID_secp160r1, &_EC_SECG_PRIME_160R1.h, 0, "SECG curve over a 160 bit prime field" },
    2332                 :            :         { NID_secp160r2, &_EC_SECG_PRIME_160R2.h, 0, "SECG/WTLS curve over a 160 bit prime field" },
    2333                 :            :         /* SECG secp192r1 is the same as X9.62 prime192v1 and hence omitted */
    2334                 :            :         { NID_secp192k1, &_EC_SECG_PRIME_192K1.h, 0, "SECG curve over a 192 bit prime field" },
    2335                 :            :         { NID_secp224k1, &_EC_SECG_PRIME_224K1.h, 0, "SECG curve over a 224 bit prime field" },
    2336                 :            : #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
    2337                 :            :         { NID_secp224r1, &_EC_NIST_PRIME_224.h, EC_GFp_nistp224_method, "NIST/SECG curve over a 224 bit prime field" },
    2338                 :            : #else
    2339                 :            :         { NID_secp224r1, &_EC_NIST_PRIME_224.h, 0, "NIST/SECG curve over a 224 bit prime field" },
    2340                 :            : #endif
    2341                 :            :         { NID_secp256k1, &_EC_SECG_PRIME_256K1.h, 0, "SECG curve over a 256 bit prime field" },
    2342                 :            :         /* SECG secp256r1 is the same as X9.62 prime256v1 and hence omitted */
    2343                 :            :         { NID_secp384r1, &_EC_NIST_PRIME_384.h, 0, "NIST/SECG curve over a 384 bit prime field" },
    2344                 :            : #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
    2345                 :            :         { NID_secp521r1, &_EC_NIST_PRIME_521.h, EC_GFp_nistp521_method, "NIST/SECG curve over a 521 bit prime field" },
    2346                 :            : #else
    2347                 :            :         { NID_secp521r1, &_EC_NIST_PRIME_521.h, 0, "NIST/SECG curve over a 521 bit prime field" },
    2348                 :            : #endif
    2349                 :            :         /* X9.62 curves */
    2350                 :            :         { NID_X9_62_prime192v1, &_EC_NIST_PRIME_192.h, 0, "NIST/X9.62/SECG curve over a 192 bit prime field" },
    2351                 :            :         { NID_X9_62_prime192v2, &_EC_X9_62_PRIME_192V2.h, 0, "X9.62 curve over a 192 bit prime field" },
    2352                 :            :         { NID_X9_62_prime192v3, &_EC_X9_62_PRIME_192V3.h, 0, "X9.62 curve over a 192 bit prime field" },
    2353                 :            :         { NID_X9_62_prime239v1, &_EC_X9_62_PRIME_239V1.h, 0, "X9.62 curve over a 239 bit prime field" },
    2354                 :            :         { NID_X9_62_prime239v2, &_EC_X9_62_PRIME_239V2.h, 0, "X9.62 curve over a 239 bit prime field" },
    2355                 :            :         { NID_X9_62_prime239v3, &_EC_X9_62_PRIME_239V3.h, 0, "X9.62 curve over a 239 bit prime field" },
    2356                 :            : #ifndef OPENSSL_NO_EC_NISTP_64_GCC_128
    2357                 :            :         { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, EC_GFp_nistp256_method, "X9.62/SECG curve over a 256 bit prime field" },
    2358                 :            : #else
    2359                 :            :         { NID_X9_62_prime256v1, &_EC_X9_62_PRIME_256V1.h, 0, "X9.62/SECG curve over a 256 bit prime field" },
    2360                 :            : #endif
    2361                 :            : #ifndef OPENSSL_NO_EC2M
    2362                 :            :         /* characteristic two field curves */
    2363                 :            :         /* NIST/SECG curves */
    2364                 :            :         { NID_sect113r1, &_EC_SECG_CHAR2_113R1.h, 0, "SECG curve over a 113 bit binary field" },
    2365                 :            :         { NID_sect113r2, &_EC_SECG_CHAR2_113R2.h, 0, "SECG curve over a 113 bit binary field" },
    2366                 :            :         { NID_sect131r1, &_EC_SECG_CHAR2_131R1.h, 0, "SECG/WTLS curve over a 131 bit binary field" },
    2367                 :            :         { NID_sect131r2, &_EC_SECG_CHAR2_131R2.h, 0, "SECG curve over a 131 bit binary field" },
    2368                 :            :         { NID_sect163k1, &_EC_NIST_CHAR2_163K.h, 0, "NIST/SECG/WTLS curve over a 163 bit binary field" },
    2369                 :            :         { NID_sect163r1, &_EC_SECG_CHAR2_163R1.h, 0, "SECG curve over a 163 bit binary field" },
    2370                 :            :         { NID_sect163r2, &_EC_NIST_CHAR2_163B.h, 0, "NIST/SECG curve over a 163 bit binary field" },
    2371                 :            :         { NID_sect193r1, &_EC_SECG_CHAR2_193R1.h, 0, "SECG curve over a 193 bit binary field" },
    2372                 :            :         { NID_sect193r2, &_EC_SECG_CHAR2_193R2.h, 0, "SECG curve over a 193 bit binary field" },
    2373                 :            :         { NID_sect233k1, &_EC_NIST_CHAR2_233K.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field" },
    2374                 :            :         { NID_sect233r1, &_EC_NIST_CHAR2_233B.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field" },
    2375                 :            :         { NID_sect239k1, &_EC_SECG_CHAR2_239K1.h, 0, "SECG curve over a 239 bit binary field" },
    2376                 :            :         { NID_sect283k1, &_EC_NIST_CHAR2_283K.h, 0, "NIST/SECG curve over a 283 bit binary field" },
    2377                 :            :         { NID_sect283r1, &_EC_NIST_CHAR2_283B.h, 0, "NIST/SECG curve over a 283 bit binary field" },
    2378                 :            :         { NID_sect409k1, &_EC_NIST_CHAR2_409K.h, 0, "NIST/SECG curve over a 409 bit binary field" },
    2379                 :            :         { NID_sect409r1, &_EC_NIST_CHAR2_409B.h, 0, "NIST/SECG curve over a 409 bit binary field" },
    2380                 :            :         { NID_sect571k1, &_EC_NIST_CHAR2_571K.h, 0, "NIST/SECG curve over a 571 bit binary field" },
    2381                 :            :         { NID_sect571r1, &_EC_NIST_CHAR2_571B.h, 0, "NIST/SECG curve over a 571 bit binary field" },
    2382                 :            :         /* X9.62 curves */
    2383                 :            :         { NID_X9_62_c2pnb163v1, &_EC_X9_62_CHAR2_163V1.h, 0, "X9.62 curve over a 163 bit binary field" },
    2384                 :            :         { NID_X9_62_c2pnb163v2, &_EC_X9_62_CHAR2_163V2.h, 0, "X9.62 curve over a 163 bit binary field" },
    2385                 :            :         { NID_X9_62_c2pnb163v3, &_EC_X9_62_CHAR2_163V3.h, 0, "X9.62 curve over a 163 bit binary field" },
    2386                 :            :         { NID_X9_62_c2pnb176v1, &_EC_X9_62_CHAR2_176V1.h, 0, "X9.62 curve over a 176 bit binary field" },
    2387                 :            :         { NID_X9_62_c2tnb191v1, &_EC_X9_62_CHAR2_191V1.h, 0, "X9.62 curve over a 191 bit binary field" },
    2388                 :            :         { NID_X9_62_c2tnb191v2, &_EC_X9_62_CHAR2_191V2.h, 0, "X9.62 curve over a 191 bit binary field" },
    2389                 :            :         { NID_X9_62_c2tnb191v3, &_EC_X9_62_CHAR2_191V3.h, 0, "X9.62 curve over a 191 bit binary field" },
    2390                 :            :         { NID_X9_62_c2pnb208w1, &_EC_X9_62_CHAR2_208W1.h, 0, "X9.62 curve over a 208 bit binary field" },
    2391                 :            :         { NID_X9_62_c2tnb239v1, &_EC_X9_62_CHAR2_239V1.h, 0, "X9.62 curve over a 239 bit binary field" },
    2392                 :            :         { NID_X9_62_c2tnb239v2, &_EC_X9_62_CHAR2_239V2.h, 0, "X9.62 curve over a 239 bit binary field" },
    2393                 :            :         { NID_X9_62_c2tnb239v3, &_EC_X9_62_CHAR2_239V3.h, 0, "X9.62 curve over a 239 bit binary field" },
    2394                 :            :         { NID_X9_62_c2pnb272w1, &_EC_X9_62_CHAR2_272W1.h, 0, "X9.62 curve over a 272 bit binary field" },
    2395                 :            :         { NID_X9_62_c2pnb304w1, &_EC_X9_62_CHAR2_304W1.h, 0, "X9.62 curve over a 304 bit binary field" },
    2396                 :            :         { NID_X9_62_c2tnb359v1, &_EC_X9_62_CHAR2_359V1.h, 0, "X9.62 curve over a 359 bit binary field" },
    2397                 :            :         { NID_X9_62_c2pnb368w1, &_EC_X9_62_CHAR2_368W1.h, 0, "X9.62 curve over a 368 bit binary field" },
    2398                 :            :         { NID_X9_62_c2tnb431r1, &_EC_X9_62_CHAR2_431R1.h, 0, "X9.62 curve over a 431 bit binary field" },
    2399                 :            :         /* the WAP/WTLS curves
    2400                 :            :          * [unlike SECG, spec has its own OIDs for curves from X9.62] */
    2401                 :            :         { NID_wap_wsg_idm_ecid_wtls1, &_EC_WTLS_1.h, 0, "WTLS curve over a 113 bit binary field" },
    2402                 :            :         { NID_wap_wsg_idm_ecid_wtls3, &_EC_NIST_CHAR2_163K.h, 0, "NIST/SECG/WTLS curve over a 163 bit binary field" },
    2403                 :            :         { NID_wap_wsg_idm_ecid_wtls4, &_EC_SECG_CHAR2_113R1.h, 0, "SECG curve over a 113 bit binary field" },
    2404                 :            :         { NID_wap_wsg_idm_ecid_wtls5, &_EC_X9_62_CHAR2_163V1.h, 0, "X9.62 curve over a 163 bit binary field" },
    2405                 :            : #endif
    2406                 :            :         { NID_wap_wsg_idm_ecid_wtls6, &_EC_SECG_PRIME_112R1.h, 0, "SECG/WTLS curve over a 112 bit prime field" },
    2407                 :            :         { NID_wap_wsg_idm_ecid_wtls7, &_EC_SECG_PRIME_160R2.h, 0, "SECG/WTLS curve over a 160 bit prime field" },
    2408                 :            :         { NID_wap_wsg_idm_ecid_wtls8, &_EC_WTLS_8.h, 0, "WTLS curve over a 112 bit prime field" },
    2409                 :            :         { NID_wap_wsg_idm_ecid_wtls9, &_EC_WTLS_9.h, 0, "WTLS curve over a 160 bit prime field" },
    2410                 :            : #ifndef OPENSSL_NO_EC2M
    2411                 :            :         { NID_wap_wsg_idm_ecid_wtls10, &_EC_NIST_CHAR2_233K.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field" },
    2412                 :            :         { NID_wap_wsg_idm_ecid_wtls11, &_EC_NIST_CHAR2_233B.h, 0, "NIST/SECG/WTLS curve over a 233 bit binary field" },
    2413                 :            : #endif
    2414                 :            :         { NID_wap_wsg_idm_ecid_wtls12, &_EC_WTLS_12.h, 0, "WTLS curvs over a 224 bit prime field" },
    2415                 :            : #ifndef OPENSSL_NO_EC2M
    2416                 :            :         /* IPSec curves */
    2417                 :            :         { NID_ipsec3, &_EC_IPSEC_155_ID3.h, 0, "\n\tIPSec/IKE/Oakley curve #3 over a 155 bit binary field.\n"
    2418                 :            :           "\tNot suitable for ECDSA.\n\tQuestionable extension field!" },
    2419                 :            :         { NID_ipsec4, &_EC_IPSEC_185_ID4.h, 0, "\n\tIPSec/IKE/Oakley curve #4 over a 185 bit binary field.\n"
    2420                 :            :           "\tNot suitable for ECDSA.\n\tQuestionable extension field!" },
    2421                 :            : #endif
    2422                 :            :     /* brainpool curves */
    2423                 :            :     { NID_brainpoolP160r1, &_EC_brainpoolP160r1.h, 0, "RFC 5639 curve over a 160 bit prime field"},
    2424                 :            :     { NID_brainpoolP160t1, &_EC_brainpoolP160t1.h, 0, "RFC 5639 curve over a 160 bit prime field"},
    2425                 :            :     { NID_brainpoolP192r1, &_EC_brainpoolP192r1.h, 0, "RFC 5639 curve over a 192 bit prime field"},
    2426                 :            :     { NID_brainpoolP192t1, &_EC_brainpoolP192t1.h, 0, "RFC 5639 curve over a 192 bit prime field"},
    2427                 :            :     { NID_brainpoolP224r1, &_EC_brainpoolP224r1.h, 0, "RFC 5639 curve over a 224 bit prime field"},
    2428                 :            :     { NID_brainpoolP224t1, &_EC_brainpoolP224t1.h, 0, "RFC 5639 curve over a 224 bit prime field"},
    2429                 :            :     { NID_brainpoolP256r1, &_EC_brainpoolP256r1.h, 0, "RFC 5639 curve over a 256 bit prime field"},
    2430                 :            :     { NID_brainpoolP256t1, &_EC_brainpoolP256t1.h, 0, "RFC 5639 curve over a 256 bit prime field"},
    2431                 :            :     { NID_brainpoolP320r1, &_EC_brainpoolP320r1.h, 0, "RFC 5639 curve over a 320 bit prime field"},
    2432                 :            :     { NID_brainpoolP320t1, &_EC_brainpoolP320t1.h, 0, "RFC 5639 curve over a 320 bit prime field"},
    2433                 :            :     { NID_brainpoolP384r1, &_EC_brainpoolP384r1.h, 0, "RFC 5639 curve over a 384 bit prime field"},
    2434                 :            :     { NID_brainpoolP384t1, &_EC_brainpoolP384t1.h, 0, "RFC 5639 curve over a 384 bit prime field"},
    2435                 :            :     { NID_brainpoolP512r1, &_EC_brainpoolP512r1.h, 0, "RFC 5639 curve over a 512 bit prime field"},
    2436                 :            :     { NID_brainpoolP512t1, &_EC_brainpoolP512t1.h, 0, "RFC 5639 curve over a 512 bit prime field"},
    2437                 :            : };
    2438                 :            : 
    2439                 :            : #define curve_list_length (sizeof(curve_list)/sizeof(ec_list_element))
    2440                 :            : 
    2441                 :       3214 : static EC_GROUP *ec_group_new_from_data(const ec_list_element curve)
    2442                 :            :         {
    2443                 :       1607 :         EC_GROUP *group=NULL;
    2444                 :       1607 :         EC_POINT *P=NULL;
    2445                 :       1607 :         BN_CTX   *ctx=NULL;
    2446                 :       1607 :         BIGNUM   *p=NULL, *a=NULL, *b=NULL, *x=NULL, *y=NULL, *order=NULL;
    2447                 :       1607 :         int      ok=0;
    2448                 :            :         int      seed_len,param_len;
    2449                 :            :         const EC_METHOD *meth;
    2450                 :            :         const EC_CURVE_DATA *data;
    2451                 :            :         const unsigned char *params;
    2452                 :            : 
    2453         [ -  + ]:       1607 :         if ((ctx = BN_CTX_new()) == NULL)
    2454                 :            :                 {
    2455                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_MALLOC_FAILURE);
    2456                 :            :                 goto err;
    2457                 :            :                 }
    2458                 :            : 
    2459                 :       1607 :         data = curve.data;
    2460                 :       1607 :         seed_len  = data->seed_len;
    2461                 :       1607 :         param_len = data->param_len;
    2462                 :       1607 :         params    = (const unsigned char *)(data+1);    /* skip header */
    2463                 :       1607 :         params   += seed_len;                           /* skip seed   */
    2464                 :            : 
    2465         [ +  - ]:       1607 :         if (!(p = BN_bin2bn(params+0*param_len, param_len, NULL))
    2466         [ +  - ]:       1607 :                 || !(a = BN_bin2bn(params+1*param_len, param_len, NULL))
    2467         [ -  + ]:       1607 :                 || !(b = BN_bin2bn(params+2*param_len, param_len, NULL)))
    2468                 :            :                 {
    2469                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_BN_LIB);
    2470                 :            :                 goto err;
    2471                 :            :                 }
    2472                 :            : 
    2473         [ -  + ]:       1607 :         if (curve.meth != 0)
    2474                 :            :                 {
    2475                 :          0 :                 meth = curve.meth();
    2476   [ #  #  #  # ]:          0 :                 if (((group = EC_GROUP_new(meth)) == NULL) ||
    2477                 :          0 :                         (!(group->meth->group_set_curve(group, p, a, b, ctx))))
    2478                 :            :                         {
    2479                 :          0 :                         ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2480                 :            :                         goto err;
    2481                 :            :                         }
    2482                 :            :                 }
    2483         [ +  + ]:       1607 :         else if (data->field_type == NID_X9_62_prime_field)
    2484                 :            :                 {
    2485         [ -  + ]:        133 :                 if ((group = EC_GROUP_new_curve_GFp(p, a, b, ctx)) == NULL)
    2486                 :            :                         {
    2487                 :          0 :                         ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2488                 :            :                         goto err;
    2489                 :            :                         }
    2490                 :            :                 }
    2491                 :            : #ifndef OPENSSL_NO_EC2M
    2492                 :            :         else    /* field_type == NID_X9_62_characteristic_two_field */
    2493                 :            :                 {
    2494         [ -  + ]:       1474 :                 if ((group = EC_GROUP_new_curve_GF2m(p, a, b, ctx)) == NULL)
    2495                 :            :                         {
    2496                 :          0 :                         ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2497                 :            :                         goto err;
    2498                 :            :                         }
    2499                 :            :                 }
    2500                 :            : #endif
    2501                 :            : 
    2502         [ -  + ]:       1607 :         if ((P = EC_POINT_new(group)) == NULL)
    2503                 :            :                 {
    2504                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2505                 :            :                 goto err;
    2506                 :            :                 }
    2507                 :            : 
    2508         [ +  - ]:       1607 :         if (!(x = BN_bin2bn(params+3*param_len, param_len, NULL))
    2509         [ -  + ]:       1607 :                 || !(y = BN_bin2bn(params+4*param_len, param_len, NULL)))
    2510                 :            :                 {
    2511                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_BN_LIB);
    2512                 :            :                 goto err;
    2513                 :            :                 }
    2514         [ -  + ]:       1607 :         if (!EC_POINT_set_affine_coordinates_GFp(group, P, x, y, ctx))
    2515                 :            :                 {
    2516                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2517                 :            :                 goto err;
    2518                 :            :                 }
    2519         [ +  - ]:       1607 :         if (!(order = BN_bin2bn(params+5*param_len, param_len, NULL))
    2520         [ -  + ]:       1607 :                 || !BN_set_word(x, (BN_ULONG)data->cofactor))
    2521                 :            :                 {
    2522                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_BN_LIB);
    2523                 :            :                 goto err;
    2524                 :            :                 }
    2525         [ -  + ]:       1607 :         if (!EC_GROUP_set_generator(group, P, order, x))
    2526                 :            :                 {
    2527                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2528                 :            :                 goto err;
    2529                 :            :                 }
    2530         [ +  + ]:       1607 :         if (seed_len)
    2531                 :            :                 {
    2532         [ -  + ]:        139 :                 if (!EC_GROUP_set_seed(group, params-seed_len, seed_len))
    2533                 :            :                         {
    2534                 :          0 :                         ECerr(EC_F_EC_GROUP_NEW_FROM_DATA, ERR_R_EC_LIB);
    2535                 :            :                         goto err;
    2536                 :            :                         }
    2537                 :            :                 }
    2538                 :            :         ok=1;
    2539                 :            : err:
    2540         [ -  + ]:       1607 :         if (!ok)
    2541                 :            :                 {
    2542                 :          0 :                 EC_GROUP_free(group);
    2543                 :          0 :                 group = NULL;
    2544                 :            :                 }
    2545         [ +  - ]:       1607 :         if (P)
    2546                 :       1607 :                 EC_POINT_free(P);
    2547         [ +  - ]:       1607 :         if (ctx)
    2548                 :       1607 :                 BN_CTX_free(ctx);
    2549         [ +  - ]:       1607 :         if (p)
    2550                 :       1607 :                 BN_free(p);
    2551         [ +  - ]:       1607 :         if (a)
    2552                 :       1607 :                 BN_free(a);
    2553         [ +  - ]:       1607 :         if (b)
    2554                 :       1607 :                 BN_free(b);
    2555         [ +  - ]:       1607 :         if (order)
    2556                 :       1607 :                 BN_free(order);
    2557         [ +  - ]:       1607 :         if (x)
    2558                 :       1607 :                 BN_free(x);
    2559         [ +  - ]:       1607 :         if (y)
    2560                 :       1607 :                 BN_free(y);
    2561                 :       1607 :         return group;
    2562                 :            :         }
    2563                 :            : 
    2564                 :       1607 : EC_GROUP *EC_GROUP_new_by_curve_name(int nid)
    2565                 :            :         {
    2566                 :            :         size_t i;
    2567                 :       1607 :         EC_GROUP *ret = NULL;
    2568                 :            : 
    2569         [ +  - ]:       1607 :         if (nid <= 0)
    2570                 :            :                 return NULL;
    2571                 :            : 
    2572         [ +  - ]:      46943 :         for (i=0; i<curve_list_length; i++)
    2573         [ +  + ]:      46943 :                 if (curve_list[i].nid == nid)
    2574                 :            :                         {
    2575                 :       1607 :                         ret = ec_group_new_from_data(curve_list[i]);
    2576                 :       1607 :                         break;
    2577                 :            :                         }
    2578                 :            : 
    2579         [ -  + ]:       1607 :         if (ret == NULL)
    2580                 :            :                 {
    2581                 :          0 :                 ECerr(EC_F_EC_GROUP_NEW_BY_CURVE_NAME, EC_R_UNKNOWN_GROUP);
    2582                 :          0 :                 return NULL;
    2583                 :            :                 }
    2584                 :            : 
    2585                 :       1607 :         EC_GROUP_set_curve_name(ret, nid);
    2586                 :            : 
    2587                 :       1607 :         return ret;
    2588                 :            :         }
    2589                 :            : 
    2590                 :          4 : size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems)
    2591                 :            :         {
    2592                 :            :         size_t  i, min;
    2593                 :            : 
    2594         [ +  + ]:          4 :         if (r == NULL || nitems == 0)
    2595                 :            :                 return curve_list_length;
    2596                 :            : 
    2597                 :          2 :         min = nitems < curve_list_length ? nitems : curve_list_length;
    2598                 :            : 
    2599         [ +  + ]:        164 :         for (i = 0; i < min; i++)
    2600                 :            :                 {
    2601                 :        162 :                 r[i].nid = curve_list[i].nid;
    2602                 :        162 :                 r[i].comment = curve_list[i].comment;
    2603                 :            :                 }
    2604                 :            : 
    2605                 :            :         return curve_list_length;
    2606                 :            :         }
    2607                 :            : 
    2608                 :            : /* Functions to translate between common NIST curve names and NIDs */
    2609                 :            : 
    2610                 :            : typedef struct {
    2611                 :            :         const char *name;       /* NIST Name of curve */
    2612                 :            :         int     nid;            /* Curve NID */
    2613                 :            : } EC_NIST_NAME;
    2614                 :            : 
    2615                 :            : static EC_NIST_NAME nist_curves[] = {
    2616                 :            :         {"B-163", NID_sect163r2},
    2617                 :            :         {"B-233", NID_sect233r1},
    2618                 :            :         {"B-283", NID_sect283r1},
    2619                 :            :         {"B-409", NID_sect409r1},
    2620                 :            :         {"B-571", NID_sect571r1},
    2621                 :            :         {"K-163", NID_sect163k1},
    2622                 :            :         {"K-233", NID_sect233k1},
    2623                 :            :         {"K-283", NID_sect283k1},
    2624                 :            :         {"K-409", NID_sect409k1},
    2625                 :            :         {"K-571", NID_sect571k1},
    2626                 :            :         {"P-192", NID_X9_62_prime192v1},
    2627                 :            :         {"P-224", NID_secp224r1},
    2628                 :            :         {"P-256", NID_X9_62_prime256v1},
    2629                 :            :         {"P-384", NID_secp384r1},
    2630                 :            :         {"P-521", NID_secp521r1}
    2631                 :            : };
    2632                 :            : 
    2633                 :          0 : const char *EC_curve_nid2nist(int nid)
    2634                 :            :         {
    2635                 :            :         size_t i;
    2636         [ #  # ]:          0 :         for (i = 0; i < sizeof(nist_curves)/sizeof(EC_NIST_NAME); i++)
    2637                 :            :                 {
    2638         [ #  # ]:          0 :                 if (nist_curves[i].nid == nid)
    2639                 :          0 :                         return nist_curves[i].name;
    2640                 :            :                 }
    2641                 :            :         return NULL;
    2642                 :            :         }
    2643                 :            : 
    2644                 :          0 : int EC_curve_nist2nid(const char *name)
    2645                 :            :         {
    2646                 :            :         size_t i;
    2647         [ #  # ]:          0 :         for (i = 0; i < sizeof(nist_curves)/sizeof(EC_NIST_NAME); i++)
    2648                 :            :                 {
    2649         [ #  # ]:          0 :                 if (!strcmp(nist_curves[i].name, name))
    2650                 :          0 :                         return nist_curves[i].nid;
    2651                 :            :                 }
    2652                 :            :         return NID_undef;
    2653                 :            :         }
    2654                 :            : 

Generated by: LCOV version 1.9