| OLD | NEW |
| (Empty) |
| 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/. */ | |
| 4 | |
| 5 #ifndef __ecl_exp_h_ | |
| 6 #define __ecl_exp_h_ | |
| 7 | |
| 8 /* Curve field type */ | |
| 9 typedef enum { | |
| 10 ECField_GFp, | |
| 11 ECField_GF2m | |
| 12 } ECField; | |
| 13 | |
| 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; | |
| 28 | |
| 29 /* Named curve parameters */ | |
| 30 typedef enum { | |
| 31 | |
| 32 ECCurve_noName = 0, | |
| 33 | |
| 34 /* NIST prime curves */ | |
| 35 ECCurve_NIST_P192, | |
| 36 ECCurve_NIST_P224, | |
| 37 ECCurve_NIST_P256, | |
| 38 ECCurve_NIST_P384, | |
| 39 ECCurve_NIST_P521, | |
| 40 | |
| 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, | |
| 52 | |
| 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 */ | |
| 61 | |
| 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, | |
| 79 | |
| 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 */ | |
| 96 | |
| 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 */ | |
| 116 | |
| 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 */ | |
| 130 | |
| 131 ECCurve_pastLastCurve | |
| 132 } ECCurveName; | |
| 133 | |
| 134 /* Aliased named curves */ | |
| 135 | |
| 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 | |
| 161 | |
| 162 #endif /* __ecl_exp_h_ */ | |
| OLD | NEW |