Fix overly lenient comparisons:
[oweals/openssl.git] / crypto / ec / ecp_mont.c
index 36f82368648aa504077069db7c7a2373e4dc3657..f04f132c7ad689a444d539f7d3cdee185af52f83 100644 (file)
 
 #include <openssl/err.h>
 
+#ifdef OPENSSL_FIPS
+#include <openssl/fips.h>
+#endif
+
 #include "ec_lcl.h"
 
 
 const EC_METHOD *EC_GFp_mont_method(void)
        {
+#ifdef OPENSSL_FIPS
+       return fips_ec_gfp_mont_method();
+#else
        static const EC_METHOD ret = {
+               EC_FLAGS_DEFAULT_OCT,
                NID_X9_62_prime_field,
                ec_GFp_mont_group_init,
                ec_GFp_mont_group_finish,
@@ -87,19 +95,18 @@ const EC_METHOD *EC_GFp_mont_method(void)
                ec_GFp_simple_get_Jprojective_coordinates_GFp,
                ec_GFp_simple_point_set_affine_coordinates,
                ec_GFp_simple_point_get_affine_coordinates,
-               ec_GFp_simple_set_compressed_coordinates,
-               ec_GFp_simple_point2oct,
-               ec_GFp_simple_oct2point,
+               0,0,0,
                ec_GFp_simple_add,
                ec_GFp_simple_dbl,
                ec_GFp_simple_invert,
-               0 /* mul */,
-               0 /* precompute_mult */,
                ec_GFp_simple_is_at_infinity,
                ec_GFp_simple_is_on_curve,
                ec_GFp_simple_cmp,
                ec_GFp_simple_make_affine,
                ec_GFp_simple_points_make_affine,
+               0 /* mul */,
+               0 /* precompute_mult */,
+               0 /* have_precompute_mult */,   
                ec_GFp_mont_field_mul,
                ec_GFp_mont_field_sqr,
                0 /* field_div */,
@@ -108,6 +115,7 @@ const EC_METHOD *EC_GFp_mont_method(void)
                ec_GFp_mont_field_set_to_one };
 
        return &ret;
+#endif
        }
 
 
@@ -222,7 +230,7 @@ int ec_GFp_mont_group_set_curve(EC_GROUP *group, const BIGNUM *p, const BIGNUM *
        if (mont == NULL) goto err;
        if (!BN_MONT_CTX_set(mont, p, ctx))
                {
-               ECerr(EC_F_GFP_MONT_GROUP_SET_CURVE, ERR_R_BN_LIB);
+               ECerr(EC_F_EC_GFP_MONT_GROUP_SET_CURVE, ERR_R_BN_LIB);
                goto err;
                }
        one = BN_new();
@@ -305,7 +313,7 @@ int ec_GFp_mont_field_set_to_one(const EC_GROUP *group, BIGNUM *r, BN_CTX *ctx)
        {
        if (group->field_data2 == NULL)
                {
-               ECerr(EC_F_EC_GFP_MONT_FIELD_DECODE, EC_R_NOT_INITIALIZED);
+               ECerr(EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE, EC_R_NOT_INITIALIZED);
                return 0;
                }