Merge remote-tracking branch 'trevp/pemfix' into trev-pem-fix
[openssl.git] / crypto / ec / ecp_nist.c
index f9521c80443102614f252db3e737f4ac53618281..ad9bb70181676c712003e191c8c8fc6a93970f34 100644 (file)
@@ -61,6 +61,8 @@
  * and contributed to the OpenSSL project.
  */
 
+#define OPENSSL_FIPSAPI
+
 #include <limits.h>
 
 #include <openssl/err.h>
@@ -70,6 +72,7 @@
 const EC_METHOD *EC_GFp_nist_method(void)
        {
        static const EC_METHOD ret = {
+               EC_FLAGS_DEFAULT_OCT,
                NID_X9_62_prime_field,
                ec_GFp_simple_group_init,
                ec_GFp_simple_group_finish,
@@ -88,9 +91,7 @@ const EC_METHOD *EC_GFp_nist_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,
@@ -112,10 +113,6 @@ const EC_METHOD *EC_GFp_nist_method(void)
        return &ret;
        }
 
-#if BN_BITS2 == 64 && UINT_MAX != 4294967295UL && ULONG_MAX != 4294967295UL
-#define        NO_32_BIT_TYPE
-#endif
-
 int ec_GFp_nist_group_copy(EC_GROUP *dest, const EC_GROUP *src)
        {
        dest->field_mod_func = src->field_mod_func;
@@ -139,38 +136,16 @@ int ec_GFp_nist_group_set_curve(EC_GROUP *group, const BIGNUM *p,
        if (BN_ucmp(BN_get0_nist_prime_192(), p) == 0)
                group->field_mod_func = BN_nist_mod_192;
        else if (BN_ucmp(BN_get0_nist_prime_224(), p) == 0)
-               {
-#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
                group->field_mod_func = BN_nist_mod_224;
-#else
-               ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE_GFP, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
-               goto err;
-#endif
-               }
        else if (BN_ucmp(BN_get0_nist_prime_256(), p) == 0)
-               {
-#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
                group->field_mod_func = BN_nist_mod_256;
-#else
-               ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE_GFP, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
-               goto err;
-#endif
-               }
        else if (BN_ucmp(BN_get0_nist_prime_384(), p) == 0)
-               {
-#if !defined(NO_32_BIT_TYPE) || defined(OPENSSL_NO_ASM)
                group->field_mod_func = BN_nist_mod_384;
-#else
-               ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE_GFP, EC_R_NOT_A_SUPPORTED_NIST_PRIME);
-               goto err;
-#endif
-               }
        else if (BN_ucmp(BN_get0_nist_prime_521(), p) == 0)
-               /* this one works in the NO_32_BIT_TYPE case */
                group->field_mod_func = BN_nist_mod_521;
        else
                {
-               ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE_GFP, EC_R_NOT_A_NIST_PRIME);
+               ECerr(EC_F_EC_GFP_NIST_GROUP_SET_CURVE, EC_R_NOT_A_NIST_PRIME);
                goto err;
                }