Optimized EC_METHODs need specific 'set_curve' and 'free' functions.
authorBodo Möller <bodo@openssl.org>
Wed, 7 Mar 2001 09:48:38 +0000 (09:48 +0000)
committerBodo Möller <bodo@openssl.org>
Wed, 7 Mar 2001 09:48:38 +0000 (09:48 +0000)
crypto/ec/ec.h
crypto/ec/ec_lcl.h
crypto/ec/ec_lib.c
crypto/ec/ecp_mont.c
crypto/ec/ecp_nist.c
crypto/ec/ecp_recp.c

index 092cd050eba94dcecca36f0894d6992ea2453ba5..01234d714d5b7e8a94d935446e035554d9e4795f 100644 (file)
@@ -112,7 +112,7 @@ EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM
 
 int EC_GROUP_set_generator(EC_GROUP *, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor);
 
-/* TODO: 'get' functions for EC_GROUPs */
+/* TODO: 'set' and 'get' functions for EC_GROUPs */
 
 
 EC_POINT *EC_POINT_new(const EC_GROUP *);
index cea552a7362cdbcf11ff9150f51d5883383c9d70..6cc7a9ae1e457f8345fbf54885c0d5aad70a21ce 100644 (file)
@@ -202,6 +202,9 @@ int ec_GFp_simple_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX
 
 
 /* method functions in ecp_mont.c */
+int ec_GFp_mont_group_set_curve_GFp(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
+void ec_GFp_mont_group_finish(EC_GROUP *);
+void ec_GFp_mont_group_clear_finish(EC_GROUP *);
 int ec_GFp_mont_field_mult(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
 int ec_GFp_mont_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
 int ec_GFp_mont_field_encode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
@@ -209,6 +212,9 @@ int ec_GFp_mont_field_decode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CT
 
 
 /* method functions in ecp_recp.c */
+int ec_GFp_recp_group_set_curve_GFp(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
+void ec_GFp_recp_group_finish(EC_GROUP *);
+void ec_GFp_recp_group_clear_finish(EC_GROUP *);
 int ec_GFp_recp_field_mult(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
 int ec_GFp_recp_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
 int ec_GFp_recp_field_encode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
@@ -216,6 +222,9 @@ int ec_GFp_recp_field_decode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CT
 
 
 /* method functions in ecp_nist.c */
+int ec_GFp_nist_group_set_curve_GFp(EC_GROUP *, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
+void ec_GFp_nist_group_finish(EC_GROUP *);
+void ec_GFp_nist_group_clear_finish(EC_GROUP *);
 int ec_GFp_nist_field_mult(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *);
 int ec_GFp_nist_field_sqr(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
 int ec_GFp_nist_field_encode(const EC_GROUP *, BIGNUM *r, const BIGNUM *a, BN_CTX *);
index d8c78a41f916a04edba09f7f804da00e4279445f..2056d58cd35546ea0b4adc4191b0f71de608f585 100644 (file)
@@ -181,7 +181,7 @@ int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIG
        }
 
 
-/* TODO: 'get' functions for EC_GROUPs */
+/* TODO: 'set' and 'get' functions for EC_GROUPs */
 
 
 /* this has 'package' visibility */
index ca08ebb152aac83297d627c4fa5e76b4f26c8e75..958adadc34e2c21935518d2fc557312c2b58be9c 100644 (file)
@@ -61,9 +61,9 @@ const EC_METHOD *EC_GFp_mont_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_mont_group_set_curve_GFp,
+               ec_GFp_mont_group_finish,
+               ec_GFp_mont_group_clear_finish,
                ec_GFp_simple_group_copy,
                ec_GFp_simple_group_set_generator,
                /* TODO: 'set' and 'get' functions for EC_GROUPs */
index 9bb4ec74a8755ce5e033de9b9f15336e109f69ac..94a232f74708571824d32a9ab14a171eaf863bf2 100644 (file)
@@ -61,9 +61,9 @@ 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_nist_group_set_curve_GFp,
+               ec_GFp_nist_group_finish,
+               ec_GFp_nist_group_clear_finish,
                ec_GFp_simple_group_copy,
                ec_GFp_simple_group_set_generator,
                /* TODO: 'set' and 'get' functions for EC_GROUPs */
index 93d9bd6c94b6e4447084b3b448861326236d4bd2..d0fb8f7f1ad5cb5c4f2fe579cdedc0891e609e90 100644 (file)
@@ -61,9 +61,9 @@ 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_recp_group_set_curve_GFp,
+               ec_GFp_recp_group_finish,
+               ec_GFp_recp_group_clear_finish,
                ec_GFp_simple_group_copy,
                ec_GFp_simple_group_set_generator,
                /* TODO: 'set' and 'get' functions for EC_GROUPs */