X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=crypto%2Fec%2Fecp_recp.c;h=fec843b5c85b7aafb6b94d93456320f91ef5245f;hb=7ae551fd03b447e41d3a74e803a711350383ebc4;hp=93d9bd6c94b6e4447084b3b448861326236d4bd2;hpb=58fc62296f9ed6eae19974ae8bdd47b340b1e850;p=oweals%2Fopenssl.git diff --git a/crypto/ec/ecp_recp.c b/crypto/ec/ecp_recp.c index 93d9bd6c94..fec843b5c8 100644 --- a/crypto/ec/ecp_recp.c +++ b/crypto/ec/ecp_recp.c @@ -1,4 +1,3 @@ -/* TODO */ /* crypto/ec/ecp_recp.c */ /* ==================================================================== * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. @@ -56,33 +55,79 @@ #include "ec_lcl.h" - +#if 0 const EC_METHOD *EC_GFp_recp_method(void) { static const EC_METHOD ret = { - ec_GFp_simple_group_init, - ec_GFp_simple_group_set_curve_GFp, - ec_GFp_simple_group_finish, - ec_GFp_simple_group_clear_finish, - ec_GFp_simple_group_copy, + ec_GFp_recp_group_init, + ec_GFp_recp_group_finish, + ec_GFp_recp_group_clear_finish, + ec_GFp_recp_group_copy, + ec_GFp_recp_group_set_curve_GFp, + ec_GFp_simple_group_get_curve_GFp, ec_GFp_simple_group_set_generator, - /* TODO: 'set' and 'get' functions for EC_GROUPs */ + ec_GFp_simple_group_get0_generator, + ec_GFp_simple_group_get_order, + ec_GFp_simple_group_get_cofactor, ec_GFp_simple_point_init, ec_GFp_simple_point_finish, ec_GFp_simple_point_clear_finish, ec_GFp_simple_point_copy, - /* TODO: 'set' and 'get' functions for EC_POINTs */ + ec_GFp_simple_point_set_to_infinity, + ec_GFp_simple_set_Jprojective_coordinates_GFp, + ec_GFp_simple_get_Jprojective_coordinates_GFp, + ec_GFp_simple_point_set_affine_coordinates_GFp, + ec_GFp_simple_point_get_affine_coordinates_GFp, + ec_GFp_simple_set_compressed_coordinates_GFp, ec_GFp_simple_point2oct, ec_GFp_simple_oct2point, ec_GFp_simple_add, ec_GFp_simple_dbl, + ec_GFp_simple_invert, ec_GFp_simple_is_at_infinity, ec_GFp_simple_is_on_curve, + ec_GFp_simple_cmp, ec_GFp_simple_make_affine, - ec_GFp_recp_field_mult, + ec_GFp_simple_points_make_affine, + ec_GFp_recp_field_mul, ec_GFp_recp_field_sqr, - ec_GFp_recp_field_encode, - ec_GFp_recp_field_decode }; + 0 /* field_encode */, + 0 /* field_decode */, + 0 /* field_set_to_one */ }; return &ret; } +#endif + +int ec_GFp_recp_group_init(EC_GROUP *group) + { + int ok; + + ok = ec_GFp_simple_group_init(group); + group->field_data1 = NULL; + return ok; + } + + +int ec_GFp_recp_group_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +/* TODO */ + + +void ec_GFp_recp_group_finish(EC_GROUP *group); +/* TODO */ + + +void ec_GFp_recp_group_clear_finish(EC_GROUP *group); +/* TODO */ + + +int ec_GFp_recp_group_copy(EC_GROUP *dest, const EC_GROUP *src); +/* TODO */ + + +int ec_GFp_recp_field_mul(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); +/* TODO */ + + +int ec_GFp_recp_field_sqr(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, BN_CTX *ctx); +/* TODO */