diff options
author | tb <> | 2023-04-26 13:12:51 +0000 |
---|---|---|
committer | tb <> | 2023-04-26 13:12:51 +0000 |
commit | cec7d1174b0f85cfc05c43a707b91775cd4cac4a (patch) | |
tree | a688d96c5729a8201ab22ce56744f2849094a580 /src | |
parent | 3897ed1652bd01906e2eea757683ae60f400317e (diff) | |
download | openbsd-cec7d1174b0f85cfc05c43a707b91775cd4cac4a.tar.gz openbsd-cec7d1174b0f85cfc05c43a707b91775cd4cac4a.tar.bz2 openbsd-cec7d1174b0f85cfc05c43a707b91775cd4cac4a.zip |
Clean up ec.h a little.
The doxygen comments are either obvious or otherwise unhelpful and
generally an eye sore. Go read the manpage if the header isn't enough.
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/libcrypto/ec/ec.h | 217 |
1 files changed, 31 insertions, 186 deletions
diff --git a/src/lib/libcrypto/ec/ec.h b/src/lib/libcrypto/ec/ec.h index 1afbe0ad16..0589e36d98 100644 --- a/src/lib/libcrypto/ec/ec.h +++ b/src/lib/libcrypto/ec/ec.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: ec.h,v 1.38 2023/04/25 19:53:30 tb Exp $ */ | 1 | /* $OpenBSD: ec.h,v 1.39 2023/04/26 13:12:51 tb Exp $ */ |
2 | /* | 2 | /* |
3 | * Originally written by Bodo Moeller for the OpenSSL project. | 3 | * Originally written by Bodo Moeller for the OpenSSL project. |
4 | */ | 4 | */ |
@@ -14,7 +14,7 @@ | |||
14 | * are met: | 14 | * are met: |
15 | * | 15 | * |
16 | * 1. Redistributions of source code must retain the above copyright | 16 | * 1. Redistributions of source code must retain the above copyright |
17 | * notice, this list of conditions and the following disclaimer. | 17 | * notice, this list of conditions and the following disclaimer. |
18 | * | 18 | * |
19 | * 2. Redistributions in binary form must reproduce the above copyright | 19 | * 2. Redistributions in binary form must reproduce the above copyright |
20 | * notice, this list of conditions and the following disclaimer in | 20 | * notice, this list of conditions and the following disclaimer in |
@@ -62,15 +62,14 @@ | |||
62 | /* ==================================================================== | 62 | /* ==================================================================== |
63 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. | 63 | * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. |
64 | * | 64 | * |
65 | * Portions of the attached software ("Contribution") are developed by | 65 | * Portions of the attached software ("Contribution") are developed by |
66 | * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. | 66 | * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. |
67 | * | 67 | * |
68 | * The Contribution is licensed pursuant to the OpenSSL open source | 68 | * The Contribution is licensed pursuant to the OpenSSL open source |
69 | * license provided above. | 69 | * license provided above. |
70 | * | 70 | * |
71 | * The elliptic curve binary polynomial software is originally written by | 71 | * The elliptic curve binary polynomial software is originally written by |
72 | * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. | 72 | * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. |
73 | * | ||
74 | */ | 73 | */ |
75 | 74 | ||
76 | #ifndef HEADER_EC_H | 75 | #ifndef HEADER_EC_H |
@@ -93,149 +92,45 @@ extern "C" { | |||
93 | # endif | 92 | # endif |
94 | #endif | 93 | #endif |
95 | 94 | ||
96 | |||
97 | #ifndef OPENSSL_ECC_MAX_FIELD_BITS | 95 | #ifndef OPENSSL_ECC_MAX_FIELD_BITS |
98 | #define OPENSSL_ECC_MAX_FIELD_BITS 661 | 96 | #define OPENSSL_ECC_MAX_FIELD_BITS 661 |
99 | #endif | 97 | #endif |
100 | 98 | ||
101 | /** Enum for the point conversion form as defined in X9.62 (ECDSA) | 99 | /* Elliptic point conversion form as per X9.62, page 4 and section 4.4.2. */ |
102 | * for the encoding of a elliptic curve point (x,y) */ | ||
103 | typedef enum { | 100 | typedef enum { |
104 | /** the point is encoded as z||x, where the octet z specifies | ||
105 | * which solution of the quadratic equation y is */ | ||
106 | POINT_CONVERSION_COMPRESSED = 2, | 101 | POINT_CONVERSION_COMPRESSED = 2, |
107 | /** the point is encoded as z||x||y, where z is the octet 0x02 */ | ||
108 | POINT_CONVERSION_UNCOMPRESSED = 4, | 102 | POINT_CONVERSION_UNCOMPRESSED = 4, |
109 | /** the point is encoded as z||x||y, where the octet z specifies | ||
110 | * which solution of the quadratic equation y is */ | ||
111 | POINT_CONVERSION_HYBRID = 6 | 103 | POINT_CONVERSION_HYBRID = 6 |
112 | } point_conversion_form_t; | 104 | } point_conversion_form_t; |
113 | 105 | ||
114 | |||
115 | typedef struct ec_method_st EC_METHOD; | 106 | typedef struct ec_method_st EC_METHOD; |
116 | 107 | typedef struct ec_group_st EC_GROUP; | |
117 | typedef struct ec_group_st | ||
118 | /* | ||
119 | EC_METHOD *meth; | ||
120 | -- field definition | ||
121 | -- curve coefficients | ||
122 | -- optional generator with associated information (order, cofactor) | ||
123 | -- optional extra data (precomputed table for fast computation of multiples of generator) | ||
124 | -- ASN1 stuff | ||
125 | */ | ||
126 | EC_GROUP; | ||
127 | |||
128 | typedef struct ec_point_st EC_POINT; | 108 | typedef struct ec_point_st EC_POINT; |
129 | 109 | ||
130 | |||
131 | /********************************************************************/ | ||
132 | /* EC_METHODs for curves over GF(p) */ | ||
133 | /********************************************************************/ | ||
134 | |||
135 | /** Returns the basic GFp ec methods which provides the basis for the | ||
136 | * optimized methods. | ||
137 | * \return EC_METHOD object | ||
138 | */ | ||
139 | const EC_METHOD *EC_GFp_simple_method(void); | 110 | const EC_METHOD *EC_GFp_simple_method(void); |
140 | |||
141 | /** Returns GFp methods using montgomery multiplication. | ||
142 | * \return EC_METHOD object | ||
143 | */ | ||
144 | const EC_METHOD *EC_GFp_mont_method(void); | 111 | const EC_METHOD *EC_GFp_mont_method(void); |
145 | 112 | ||
146 | |||
147 | /********************************************************************/ | ||
148 | /* EC_GROUP functions */ | ||
149 | /********************************************************************/ | ||
150 | |||
151 | /** Creates a new EC_GROUP object | ||
152 | * \param meth EC_METHOD to use | ||
153 | * \return newly created EC_GROUP object or NULL in case of an error. | ||
154 | */ | ||
155 | EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); | 113 | EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); |
156 | |||
157 | /** Frees a EC_GROUP object | ||
158 | * \param group EC_GROUP object to be freed. | ||
159 | */ | ||
160 | void EC_GROUP_free(EC_GROUP *group); | 114 | void EC_GROUP_free(EC_GROUP *group); |
161 | |||
162 | /** Clears and frees a EC_GROUP object | ||
163 | * \param group EC_GROUP object to be cleared and freed. | ||
164 | */ | ||
165 | #ifndef LIBRESSL_INTERNAL | 115 | #ifndef LIBRESSL_INTERNAL |
166 | void EC_GROUP_clear_free(EC_GROUP *group); | 116 | void EC_GROUP_clear_free(EC_GROUP *group); |
167 | #endif | 117 | #endif |
168 | 118 | ||
169 | /** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. | ||
170 | * \param dst destination EC_GROUP object | ||
171 | * \param src source EC_GROUP object | ||
172 | * \return 1 on success and 0 if an error occurred. | ||
173 | */ | ||
174 | int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); | 119 | int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); |
175 | |||
176 | /** Creates a new EC_GROUP object and copies the copies the content | ||
177 | * form src to the newly created EC_KEY object | ||
178 | * \param src source EC_GROUP object | ||
179 | * \return newly created EC_GROUP object or NULL in case of an error. | ||
180 | */ | ||
181 | EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); | 120 | EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); |
182 | 121 | ||
183 | /** Returns the EC_METHOD of the EC_GROUP object. | ||
184 | * \param group EC_GROUP object | ||
185 | * \return EC_METHOD used in this EC_GROUP object. | ||
186 | */ | ||
187 | const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); | 122 | const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); |
188 | |||
189 | /** Returns the field type of the EC_METHOD. | ||
190 | * \param meth EC_METHOD object | ||
191 | * \return NID of the underlying field type OID. | ||
192 | */ | ||
193 | int EC_METHOD_get_field_type(const EC_METHOD *meth); | 123 | int EC_METHOD_get_field_type(const EC_METHOD *meth); |
194 | 124 | ||
195 | /** Sets the generator and it's order/cofactor of a EC_GROUP object. | 125 | int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, |
196 | * \param group EC_GROUP object | 126 | const BIGNUM *order, const BIGNUM *cofactor); |
197 | * \param generator EC_POINT object with the generator. | ||
198 | * \param order the order of the group generated by the generator. | ||
199 | * \param cofactor the index of the sub-group generated by the generator | ||
200 | * in the group of all points on the elliptic curve. | ||
201 | * \return 1 on success and 0 if an error occurred | ||
202 | */ | ||
203 | int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor); | ||
204 | |||
205 | /** Returns the generator of a EC_GROUP object. | ||
206 | * \param group EC_GROUP object | ||
207 | * \return the currently used generator (possibly NULL). | ||
208 | */ | ||
209 | const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); | 127 | const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); |
210 | 128 | ||
211 | /** Gets the order of a EC_GROUP | ||
212 | * \param group EC_GROUP object | ||
213 | * \param order BIGNUM to which the order is copied | ||
214 | * \param ctx BN_CTX object (optional) | ||
215 | * \return 1 on success and 0 if an error occurred | ||
216 | */ | ||
217 | int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); | 129 | int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); |
218 | |||
219 | int EC_GROUP_order_bits(const EC_GROUP *group); | 130 | int EC_GROUP_order_bits(const EC_GROUP *group); |
220 | |||
221 | /** Gets the cofactor of a EC_GROUP | ||
222 | * \param group EC_GROUP object | ||
223 | * \param cofactor BIGNUM to which the cofactor is copied | ||
224 | * \param ctx BN_CTX object (optional) | ||
225 | * \return 1 on success and 0 if an error occurred | ||
226 | */ | ||
227 | int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); | 131 | int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); |
228 | 132 | ||
229 | /** Sets the name of a EC_GROUP object | ||
230 | * \param group EC_GROUP object | ||
231 | * \param nid NID of the curve name OID | ||
232 | */ | ||
233 | void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); | 133 | void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); |
234 | |||
235 | /** Returns the curve name of a EC_GROUP object | ||
236 | * \param group EC_GROUP object | ||
237 | * \return NID of the curve name OID or 0 if not set. | ||
238 | */ | ||
239 | int EC_GROUP_get_curve_name(const EC_GROUP *group); | 134 | int EC_GROUP_get_curve_name(const EC_GROUP *group); |
240 | 135 | ||
241 | void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); | 136 | void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); |
@@ -252,88 +147,38 @@ int EC_GROUP_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, | |||
252 | const BIGNUM *b, BN_CTX *ctx); | 147 | const BIGNUM *b, BN_CTX *ctx); |
253 | int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, | 148 | int EC_GROUP_get_curve(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, |
254 | BN_CTX *ctx); | 149 | BN_CTX *ctx); |
255 | #if !defined(LIBRESSL_INTERNAL) | ||
256 | /** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b | ||
257 | * \param group EC_GROUP object | ||
258 | * \param p BIGNUM with the prime number | ||
259 | * \param a BIGNUM with parameter a of the equation | ||
260 | * \param b BIGNUM with parameter b of the equation | ||
261 | * \param ctx BN_CTX object (optional) | ||
262 | * \return 1 on success and 0 if an error occurred | ||
263 | */ | ||
264 | int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); | ||
265 | 150 | ||
266 | /** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b | 151 | #if !defined(LIBRESSL_INTERNAL) |
267 | * \param group EC_GROUP object | 152 | int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, |
268 | * \param p BIGNUM for the prime number | 153 | const BIGNUM *b, BN_CTX *ctx); |
269 | * \param a BIGNUM for parameter a of the equation | 154 | int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, |
270 | * \param b BIGNUM for parameter b of the equation | 155 | BIGNUM *b, BN_CTX *ctx); |
271 | * \param ctx BN_CTX object (optional) | ||
272 | * \return 1 on success and 0 if an error occurred | ||
273 | */ | ||
274 | int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); | ||
275 | #endif | 156 | #endif |
276 | 157 | ||
277 | /** Returns the number of bits needed to represent a field element | ||
278 | * \param group EC_GROUP object | ||
279 | * \return number of bits needed to represent a field element | ||
280 | */ | ||
281 | int EC_GROUP_get_degree(const EC_GROUP *group); | 158 | int EC_GROUP_get_degree(const EC_GROUP *group); |
282 | 159 | ||
283 | /** Checks whether the parameter in the EC_GROUP define a valid ec group | ||
284 | * \param group EC_GROUP object | ||
285 | * \param ctx BN_CTX object (optional) | ||
286 | * \return 1 if group is a valid ec group and 0 otherwise | ||
287 | */ | ||
288 | int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); | 160 | int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); |
289 | |||
290 | /** Checks whether the discriminant of the elliptic curve is zero or not | ||
291 | * \param group EC_GROUP object | ||
292 | * \param ctx BN_CTX object (optional) | ||
293 | * \return 1 if the discriminant is not zero and 0 otherwise | ||
294 | */ | ||
295 | int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); | 161 | int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); |
296 | 162 | ||
297 | /** Compares two EC_GROUP objects | 163 | /* Compare two EC_GROUPs. Returns 0 if both groups are equal, 1 otherwise. */ |
298 | * \param a first EC_GROUP object | ||
299 | * \param b second EC_GROUP object | ||
300 | * \param ctx BN_CTX object (optional) | ||
301 | * \return 0 if both groups are equal and 1 otherwise | ||
302 | */ | ||
303 | int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); | 164 | int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); |
304 | 165 | ||
305 | /* EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() | 166 | EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, |
306 | * after choosing an appropriate EC_METHOD */ | 167 | const BIGNUM *b, BN_CTX *ctx); |
307 | |||
308 | /** Creates a new EC_GROUP object with the specified parameters defined | ||
309 | * over GFp (defined by the equation y^2 = x^3 + a*x + b) | ||
310 | * \param p BIGNUM with the prime number | ||
311 | * \param a BIGNUM with the parameter a of the equation | ||
312 | * \param b BIGNUM with the parameter b of the equation | ||
313 | * \param ctx BN_CTX object (optional) | ||
314 | * \return newly created EC_GROUP object with the specified parameters | ||
315 | */ | ||
316 | EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); | ||
317 | /** Creates a EC_GROUP object with a curve specified by a NID | ||
318 | * \param nid NID of the OID of the curve name | ||
319 | * \return newly created EC_GROUP object with specified curve or NULL | ||
320 | * if an error occurred | ||
321 | */ | ||
322 | EC_GROUP *EC_GROUP_new_by_curve_name(int nid); | 168 | EC_GROUP *EC_GROUP_new_by_curve_name(int nid); |
323 | 169 | ||
324 | |||
325 | /********************************************************************/ | 170 | /********************************************************************/ |
326 | /* handling of internal curves */ | 171 | /* handling of internal curves */ |
327 | /********************************************************************/ | 172 | /********************************************************************/ |
328 | 173 | ||
329 | typedef struct { | 174 | typedef struct { |
330 | int nid; | 175 | int nid; |
331 | const char *comment; | 176 | const char *comment; |
332 | } EC_builtin_curve; | 177 | } EC_builtin_curve; |
333 | 178 | ||
334 | /* EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number | 179 | /* EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number |
335 | * of all available curves or zero if a error occurred. | 180 | * of all available curves or zero if a error occurred. |
336 | * In case r ist not zero nitems EC_builtin_curve structures | 181 | * In case r ist not zero nitems EC_builtin_curve structures |
337 | * are filled with the data of the first nitems internal groups */ | 182 | * are filled with the data of the first nitems internal groups */ |
338 | size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); | 183 | size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); |
339 | 184 | ||
@@ -373,11 +218,11 @@ int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); | |||
373 | * EC_POINT | 218 | * EC_POINT |
374 | * \param src source EC_POINT object | 219 | * \param src source EC_POINT object |
375 | * \param group underlying the EC_GROUP object | 220 | * \param group underlying the EC_GROUP object |
376 | * \return newly created EC_POINT object or NULL if an error occurred | 221 | * \return newly created EC_POINT object or NULL if an error occurred |
377 | */ | 222 | */ |
378 | EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); | 223 | EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); |
379 | 224 | ||
380 | /** Returns the EC_METHOD used in EC_POINT object | 225 | /** Returns the EC_METHOD used in EC_POINT object |
381 | * \param point EC_POINT object | 226 | * \param point EC_POINT object |
382 | * \return the EC_METHOD used | 227 | * \return the EC_METHOD used |
383 | */ | 228 | */ |
@@ -504,7 +349,7 @@ EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, | |||
504 | /* functions for doing EC_POINT arithmetic */ | 349 | /* functions for doing EC_POINT arithmetic */ |
505 | /********************************************************************/ | 350 | /********************************************************************/ |
506 | 351 | ||
507 | /** Computes the sum of two EC_POINT | 352 | /** Computes the sum of two EC_POINT |
508 | * \param group underlying EC_GROUP object | 353 | * \param group underlying EC_GROUP object |
509 | * \param r EC_POINT object for the result (r = a + b) | 354 | * \param r EC_POINT object for the result (r = a + b) |
510 | * \param a EC_POINT object with the first summand | 355 | * \param a EC_POINT object with the first summand |
@@ -517,7 +362,7 @@ int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC | |||
517 | /** Computes the double of a EC_POINT | 362 | /** Computes the double of a EC_POINT |
518 | * \param group underlying EC_GROUP object | 363 | * \param group underlying EC_GROUP object |
519 | * \param r EC_POINT object for the result (r = 2 * a) | 364 | * \param r EC_POINT object for the result (r = 2 * a) |
520 | * \param a EC_POINT object | 365 | * \param a EC_POINT object |
521 | * \param ctx BN_CTX object (optional) | 366 | * \param ctx BN_CTX object (optional) |
522 | * \return 1 on success and 0 if an error occurred | 367 | * \return 1 on success and 0 if an error occurred |
523 | */ | 368 | */ |
@@ -538,7 +383,7 @@ int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); | |||
538 | */ | 383 | */ |
539 | int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); | 384 | int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); |
540 | 385 | ||
541 | /** Checks whether the point is on the curve | 386 | /** Checks whether the point is on the curve |
542 | * \param group underlying EC_GROUP object | 387 | * \param group underlying EC_GROUP object |
543 | * \param point EC_POINT object to check | 388 | * \param point EC_POINT object to check |
544 | * \param ctx BN_CTX object (optional) | 389 | * \param ctx BN_CTX object (optional) |
@@ -546,7 +391,7 @@ int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); | |||
546 | */ | 391 | */ |
547 | int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); | 392 | int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); |
548 | 393 | ||
549 | /** Compares two EC_POINTs | 394 | /** Compares two EC_POINTs |
550 | * \param group underlying EC_GROUP object | 395 | * \param group underlying EC_GROUP object |
551 | * \param a first EC_POINT object | 396 | * \param a first EC_POINT object |
552 | * \param b second EC_POINT object | 397 | * \param b second EC_POINT object |
@@ -654,7 +499,7 @@ void EC_KEY_clear_flags(EC_KEY *key, int flags); | |||
654 | /** Creates a new EC_KEY object using a named curve as underlying | 499 | /** Creates a new EC_KEY object using a named curve as underlying |
655 | * EC_GROUP object. | 500 | * EC_GROUP object. |
656 | * \param nid NID of the named curve. | 501 | * \param nid NID of the named curve. |
657 | * \return EC_KEY object or NULL if an error occurred. | 502 | * \return EC_KEY object or NULL if an error occurred. |
658 | */ | 503 | */ |
659 | EC_KEY *EC_KEY_new_by_curve_name(int nid); | 504 | EC_KEY *EC_KEY_new_by_curve_name(int nid); |
660 | 505 | ||
@@ -732,7 +577,7 @@ void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); | |||
732 | /* wrapper functions for the underlying EC_GROUP object */ | 577 | /* wrapper functions for the underlying EC_GROUP object */ |
733 | void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); | 578 | void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); |
734 | 579 | ||
735 | /** Creates a table of pre-computed multiples of the generator to | 580 | /** Creates a table of pre-computed multiples of the generator to |
736 | * accelerate further EC_KEY operations. | 581 | * accelerate further EC_KEY operations. |
737 | * \param key EC_KEY object | 582 | * \param key EC_KEY object |
738 | * \param ctx BN_CTX object (optional) | 583 | * \param ctx BN_CTX object (optional) |
@@ -838,7 +683,7 @@ int ECParameters_print(BIO *bp, const EC_KEY *key); | |||
838 | /** Prints out the contents of a EC_KEY object | 683 | /** Prints out the contents of a EC_KEY object |
839 | * \param bp BIO object to which the information is printed | 684 | * \param bp BIO object to which the information is printed |
840 | * \param key EC_KEY object | 685 | * \param key EC_KEY object |
841 | * \param off line offset | 686 | * \param off line offset |
842 | * \return 1 on success and 0 if an error occurred | 687 | * \return 1 on success and 0 if an error occurred |
843 | */ | 688 | */ |
844 | int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); | 689 | int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); |
@@ -854,7 +699,7 @@ int ECParameters_print_fp(FILE *fp, const EC_KEY *key); | |||
854 | /** Prints out the contents of a EC_KEY object | 699 | /** Prints out the contents of a EC_KEY object |
855 | * \param fp file descriptor to which the information is printed | 700 | * \param fp file descriptor to which the information is printed |
856 | * \param key EC_KEY object | 701 | * \param key EC_KEY object |
857 | * \param off line offset | 702 | * \param off line offset |
858 | * \return 1 on success and 0 if an error occurred | 703 | * \return 1 on success and 0 if an error occurred |
859 | */ | 704 | */ |
860 | int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); | 705 | int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); |