-/* TODO */
/* crypto/ec/ecp_nist.c */
/* ====================================================================
* Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved.
#include "ec_lcl.h"
-
+#if 0
const EC_METHOD *EC_GFp_nist_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_nist_group_init,
+ ec_GFp_nist_group_finish,
+ ec_GFp_nist_group_clear_finish,
+ ec_GFp_nist_group_copy,
+ ec_GFp_nist_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_nist_field_mult,
+ ec_GFp_simple_points_make_affine,
+ ec_GFp_nist_field_mul,
ec_GFp_nist_field_sqr,
- ec_GFp_nist_field_encode,
- ec_GFp_nist_field_decode };
+ 0 /* field_encode */,
+ 0 /* field_decode */,
+ 0 /* field_set_to_one */ };
return &ret;
}
+#endif
+
+
+int ec_GFp_nist_group_init(EC_GROUP *group)
+ {
+ int ok;
+
+ ok = ec_GFp_simple_group_init(group);
+ group->field_data1 = NULL;
+ return ok;
+ }
+
+
+int ec_GFp_nist_group_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
+/* TODO */
+
+
+void ec_GFp_nist_group_finish(EC_GROUP *group);
+/* TODO */
+
+
+void ec_GFp_nist_group_clear_finish(EC_GROUP *group);
+/* TODO */
+
+
+int ec_GFp_nist_group_copy(EC_GROUP *dest, const EC_GROUP *src);
+/* TODO */
+
+
+int ec_GFp_nist_field_mul(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx);
+/* TODO */
+
+
+int ec_GFp_nist_field_sqr(const EC_GROUP *group, BIGNUM *r, const BIGNUM *a, BN_CTX *ctx);
+/* TODO */