security/nss/lib/freebl/ecl/ecl-exp.h

Wed, 31 Dec 2014 06:09:35 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 06:09:35 +0100
changeset 0
6474c204b198
permissions
-rw-r--r--

Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 #ifndef __ecl_exp_h_
     6 #define __ecl_exp_h_
     8 /* Curve field type */
     9 typedef enum {
    10 	ECField_GFp,
    11 	ECField_GF2m
    12 } ECField;
    14 /* Hexadecimal encoding of curve parameters */
    15 struct ECCurveParamsStr {
    16 	char *text;
    17 	ECField field;
    18 	unsigned int size;
    19 	char *irr;
    20 	char *curvea;
    21 	char *curveb;
    22 	char *genx;
    23 	char *geny;
    24 	char *order;
    25 	int cofactor;
    26 };
    27 typedef struct ECCurveParamsStr ECCurveParams;
    29 /* Named curve parameters */
    30 typedef enum {
    32 	ECCurve_noName = 0,
    34 	/* NIST prime curves */
    35 	ECCurve_NIST_P192,
    36 	ECCurve_NIST_P224,
    37 	ECCurve_NIST_P256,
    38 	ECCurve_NIST_P384,
    39 	ECCurve_NIST_P521,
    41 	/* NIST binary curves */
    42 	ECCurve_NIST_K163,
    43 	ECCurve_NIST_B163,
    44 	ECCurve_NIST_K233,
    45 	ECCurve_NIST_B233,
    46 	ECCurve_NIST_K283,
    47 	ECCurve_NIST_B283,
    48 	ECCurve_NIST_K409,
    49 	ECCurve_NIST_B409,
    50 	ECCurve_NIST_K571,
    51 	ECCurve_NIST_B571,
    53 	/* ANSI X9.62 prime curves */
    54 	/* ECCurve_X9_62_PRIME_192V1 == ECCurve_NIST_P192 */
    55 	ECCurve_X9_62_PRIME_192V2,
    56 	ECCurve_X9_62_PRIME_192V3,
    57 	ECCurve_X9_62_PRIME_239V1,
    58 	ECCurve_X9_62_PRIME_239V2,
    59 	ECCurve_X9_62_PRIME_239V3,
    60 	/* ECCurve_X9_62_PRIME_256V1 == ECCurve_NIST_P256 */
    62 	/* ANSI X9.62 binary curves */
    63 	ECCurve_X9_62_CHAR2_PNB163V1,
    64 	ECCurve_X9_62_CHAR2_PNB163V2,
    65 	ECCurve_X9_62_CHAR2_PNB163V3,
    66 	ECCurve_X9_62_CHAR2_PNB176V1,
    67 	ECCurve_X9_62_CHAR2_TNB191V1,
    68 	ECCurve_X9_62_CHAR2_TNB191V2,
    69 	ECCurve_X9_62_CHAR2_TNB191V3,
    70 	ECCurve_X9_62_CHAR2_PNB208W1,
    71 	ECCurve_X9_62_CHAR2_TNB239V1,
    72 	ECCurve_X9_62_CHAR2_TNB239V2,
    73 	ECCurve_X9_62_CHAR2_TNB239V3,
    74 	ECCurve_X9_62_CHAR2_PNB272W1,
    75 	ECCurve_X9_62_CHAR2_PNB304W1,
    76 	ECCurve_X9_62_CHAR2_TNB359V1,
    77 	ECCurve_X9_62_CHAR2_PNB368W1,
    78 	ECCurve_X9_62_CHAR2_TNB431R1,
    80 	/* SEC2 prime curves */
    81 	ECCurve_SECG_PRIME_112R1,
    82 	ECCurve_SECG_PRIME_112R2,
    83 	ECCurve_SECG_PRIME_128R1,
    84 	ECCurve_SECG_PRIME_128R2,
    85 	ECCurve_SECG_PRIME_160K1,
    86 	ECCurve_SECG_PRIME_160R1,
    87 	ECCurve_SECG_PRIME_160R2,
    88 	ECCurve_SECG_PRIME_192K1,
    89 	/* ECCurve_SECG_PRIME_192R1 == ECCurve_NIST_P192 */
    90 	ECCurve_SECG_PRIME_224K1,
    91 	/* ECCurve_SECG_PRIME_224R1 == ECCurve_NIST_P224 */
    92 	ECCurve_SECG_PRIME_256K1,
    93 	/* ECCurve_SECG_PRIME_256R1 == ECCurve_NIST_P256 */
    94 	/* ECCurve_SECG_PRIME_384R1 == ECCurve_NIST_P384 */
    95 	/* ECCurve_SECG_PRIME_521R1 == ECCurve_NIST_P521 */
    97 	/* SEC2 binary curves */
    98 	ECCurve_SECG_CHAR2_113R1,
    99 	ECCurve_SECG_CHAR2_113R2,
   100 	ECCurve_SECG_CHAR2_131R1,
   101 	ECCurve_SECG_CHAR2_131R2,
   102 	/* ECCurve_SECG_CHAR2_163K1 == ECCurve_NIST_K163 */
   103 	ECCurve_SECG_CHAR2_163R1,
   104 	/* ECCurve_SECG_CHAR2_163R2 == ECCurve_NIST_B163 */
   105 	ECCurve_SECG_CHAR2_193R1,
   106 	ECCurve_SECG_CHAR2_193R2,
   107 	/* ECCurve_SECG_CHAR2_233K1 == ECCurve_NIST_K233 */
   108 	/* ECCurve_SECG_CHAR2_233R1 == ECCurve_NIST_B233 */
   109 	ECCurve_SECG_CHAR2_239K1,
   110 	/* ECCurve_SECG_CHAR2_283K1 == ECCurve_NIST_K283 */
   111 	/* ECCurve_SECG_CHAR2_283R1 == ECCurve_NIST_B283 */
   112 	/* ECCurve_SECG_CHAR2_409K1 == ECCurve_NIST_K409 */
   113 	/* ECCurve_SECG_CHAR2_409R1 == ECCurve_NIST_B409 */
   114 	/* ECCurve_SECG_CHAR2_571K1 == ECCurve_NIST_K571 */
   115 	/* ECCurve_SECG_CHAR2_571R1 == ECCurve_NIST_B571 */
   117 	/* WTLS curves */
   118 	ECCurve_WTLS_1,
   119 	/* there is no WTLS 2 curve */
   120 	/* ECCurve_WTLS_3 == ECCurve_NIST_K163 */
   121 	/* ECCurve_WTLS_4 == ECCurve_SECG_CHAR2_113R1 */
   122 	/* ECCurve_WTLS_5 == ECCurve_X9_62_CHAR2_PNB163V1 */
   123 	/* ECCurve_WTLS_6 == ECCurve_SECG_PRIME_112R1 */
   124 	/* ECCurve_WTLS_7 == ECCurve_SECG_PRIME_160R1 */
   125 	ECCurve_WTLS_8,
   126 	ECCurve_WTLS_9,
   127 	/* ECCurve_WTLS_10 == ECCurve_NIST_K233 */
   128 	/* ECCurve_WTLS_11 == ECCurve_NIST_B233 */
   129 	/* ECCurve_WTLS_12 == ECCurve_NIST_P224 */
   131 	ECCurve_pastLastCurve
   132 } ECCurveName;
   134 /* Aliased named curves */
   136 #define ECCurve_X9_62_PRIME_192V1 ECCurve_NIST_P192
   137 #define ECCurve_X9_62_PRIME_256V1 ECCurve_NIST_P256
   138 #define ECCurve_SECG_PRIME_192R1 ECCurve_NIST_P192
   139 #define ECCurve_SECG_PRIME_224R1 ECCurve_NIST_P224
   140 #define ECCurve_SECG_PRIME_256R1 ECCurve_NIST_P256
   141 #define ECCurve_SECG_PRIME_384R1 ECCurve_NIST_P384
   142 #define ECCurve_SECG_PRIME_521R1 ECCurve_NIST_P521
   143 #define ECCurve_SECG_CHAR2_163K1 ECCurve_NIST_K163
   144 #define ECCurve_SECG_CHAR2_163R2 ECCurve_NIST_B163
   145 #define ECCurve_SECG_CHAR2_233K1 ECCurve_NIST_K233
   146 #define ECCurve_SECG_CHAR2_233R1 ECCurve_NIST_B233
   147 #define ECCurve_SECG_CHAR2_283K1 ECCurve_NIST_K283
   148 #define ECCurve_SECG_CHAR2_283R1 ECCurve_NIST_B283
   149 #define ECCurve_SECG_CHAR2_409K1 ECCurve_NIST_K409
   150 #define ECCurve_SECG_CHAR2_409R1 ECCurve_NIST_B409
   151 #define ECCurve_SECG_CHAR2_571K1 ECCurve_NIST_K571
   152 #define ECCurve_SECG_CHAR2_571R1 ECCurve_NIST_B571
   153 #define ECCurve_WTLS_3 ECCurve_NIST_K163
   154 #define ECCurve_WTLS_4 ECCurve_SECG_CHAR2_113R1
   155 #define ECCurve_WTLS_5 ECCurve_X9_62_CHAR2_PNB163V1
   156 #define ECCurve_WTLS_6 ECCurve_SECG_PRIME_112R1
   157 #define ECCurve_WTLS_7 ECCurve_SECG_PRIME_160R1
   158 #define ECCurve_WTLS_10 ECCurve_NIST_K233
   159 #define ECCurve_WTLS_11 ECCurve_NIST_B233
   160 #define ECCurve_WTLS_12 ECCurve_NIST_P224
   162 #endif							/* __ecl_exp_h_ */

mercurial