Prepare to provide EC_POINT_{g,s}et_affine_coordinates
authortb <tb@openbsd.org>
Tue, 20 Apr 2021 17:16:37 +0000 (17:16 +0000)
committertb <tb@openbsd.org>
Tue, 20 Apr 2021 17:16:37 +0000 (17:16 +0000)
Similar to part of OpenSSL commit 8e3cced75fb5fee5da59ebef9605d403a999391b

ok jsing

18 files changed:
lib/libcrypto/ec/ec.h
lib/libcrypto/ec/ec2_oct.c
lib/libcrypto/ec/ec2_smpl.c
lib/libcrypto/ec/ec_curve.c
lib/libcrypto/ec/ec_key.c
lib/libcrypto/ec/ec_lcl.h
lib/libcrypto/ec/ec_lib.c
lib/libcrypto/ec/ecp_nistp224.c
lib/libcrypto/ec/ecp_nistp256.c
lib/libcrypto/ec/ecp_nistp521.c
lib/libcrypto/ec/ecp_nistz256.c
lib/libcrypto/ec/ecp_oct.c
lib/libcrypto/ec/ecp_smpl.c
lib/libcrypto/ecdh/ech_key.c
lib/libcrypto/ecdsa/ecs_ossl.c
lib/libcrypto/gost/gostr341001.c
lib/libcrypto/gost/gostr341001_ameth.c
lib/libcrypto/gost/gostr341001_key.c

index a6ae3e3..ebd80b9 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec.h,v 1.19 2021/04/20 17:04:13 tb Exp $ */
+/* $OpenBSD: ec.h,v 1.20 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Originally written by Bodo Moeller for the OpenSSL project.
  */
@@ -478,6 +478,12 @@ int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p,
 int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group,
        const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx);
 
+#if defined(LIBRESSL_INTERNAL)
+int EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *p,
+    const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx);
+int EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *p,
+    BIGNUM *x, BIGNUM *y, BN_CTX *ctx);
+#else
 /** Sets the affine coordinates of a EC_POINT over GFp
  *  \param  group  underlying EC_GROUP object
  *  \param  p      EC_POINT object
@@ -499,6 +505,7 @@ int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p,
  */
 int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group,
        const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx);
+#endif
 
 /** Sets the x9.62 compressed coordinates of a EC_POINT over GFp
  *  \param  group  underlying EC_GROUP object
@@ -510,7 +517,9 @@ int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group,
  */
 int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p,
        const BIGNUM *x, int y_bit, BN_CTX *ctx);
+
 #ifndef OPENSSL_NO_EC2M
+#if !defined(LIBRESSL_INTERNAL)
 /** Sets the affine coordinates of a EC_POINT over GF2m
  *  \param  group  underlying EC_GROUP object
  *  \param  p      EC_POINT object
@@ -532,6 +541,7 @@ int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p,
  */
 int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group,
        const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx);
+#endif
 
 /** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m
  *  \param  group  underlying EC_GROUP object
index 9cd1ddd..28eb7a0 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec2_oct.c,v 1.13 2021/04/19 17:06:37 tb Exp $ */
+/* $OpenBSD: ec2_oct.c,v 1.14 2021/04/20 17:16:37 tb Exp $ */
 /* ====================================================================
  * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
  *
@@ -152,7 +152,7 @@ ec_GF2m_simple_set_compressed_coordinates(const EC_GROUP *group, EC_POINT *point
                }
        }
 
-       if (!EC_POINT_set_affine_coordinates_GF2m(group, point, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, point, x, y, ctx))
                goto err;
 
        ret = 1;
@@ -221,7 +221,7 @@ ec_GF2m_simple_point2oct(const EC_GROUP *group, const EC_POINT *point,
                if ((yxi = BN_CTX_get(ctx)) == NULL)
                        goto err;
 
-               if (!EC_POINT_get_affine_coordinates_GF2m(group, point, x, y, ctx))
+               if (!EC_POINT_get_affine_coordinates(group, point, x, y, ctx))
                        goto err;
 
                buf[0] = form;
@@ -400,10 +400,10 @@ ec_GF2m_simple_oct2point(const EC_GROUP *group, EC_POINT *point,
                        }
                }
                /*
-                * EC_POINT_set_affine_coordinates_GF2m checks that the
+                * EC_POINT_set_affine_coordinates checks that the
                 * point is on the curve as required by X9.62.
                 */
-               if (!EC_POINT_set_affine_coordinates_GF2m(group, point, x, y, ctx))
+               if (!EC_POINT_set_affine_coordinates(group, point, x, y, ctx))
                        goto err;
        }
 
index 936cee4..f99615a 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec2_smpl.c,v 1.21 2018/11/05 20:18:21 tb Exp $ */
+/* $OpenBSD: ec2_smpl.c,v 1.22 2021/04/20 17:16:37 tb Exp $ */
 /* ====================================================================
  * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
  *
@@ -483,7 +483,7 @@ ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
                if (!BN_copy(y0, &a->Y))
                        goto err;
        } else {
-               if (!EC_POINT_get_affine_coordinates_GF2m(group, a, x0, y0, ctx))
+               if (!EC_POINT_get_affine_coordinates(group, a, x0, y0, ctx))
                        goto err;
        }
        if (b->Z_is_one) {
@@ -492,7 +492,7 @@ ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
                if (!BN_copy(y1, &b->Y))
                        goto err;
        } else {
-               if (!EC_POINT_get_affine_coordinates_GF2m(group, b, x1, y1, ctx))
+               if (!EC_POINT_get_affine_coordinates(group, b, x1, y1, ctx))
                        goto err;
        }
 
@@ -541,7 +541,7 @@ ec_GF2m_simple_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a,
        if (!BN_GF2m_add(y2, y2, y1))
                goto err;
 
-       if (!EC_POINT_set_affine_coordinates_GF2m(group, r, x2, y2, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, r, x2, y2, ctx))
                goto err;
 
        ret = 1;
@@ -684,9 +684,9 @@ ec_GF2m_simple_cmp(const EC_GROUP *group, const EC_POINT *a,
        if ((bY = BN_CTX_get(ctx)) == NULL)
                goto err;
 
-       if (!EC_POINT_get_affine_coordinates_GF2m(group, a, aX, aY, ctx))
+       if (!EC_POINT_get_affine_coordinates(group, a, aX, aY, ctx))
                goto err;
-       if (!EC_POINT_get_affine_coordinates_GF2m(group, b, bX, bY, ctx))
+       if (!EC_POINT_get_affine_coordinates(group, b, bX, bY, ctx))
                goto err;
        ret = ((BN_cmp(aX, bX) == 0) && BN_cmp(aY, bY) == 0) ? 0 : 1;
 
@@ -720,7 +720,7 @@ ec_GF2m_simple_make_affine(const EC_GROUP * group, EC_POINT * point, BN_CTX * ct
        if ((y = BN_CTX_get(ctx)) == NULL)
                goto err;
 
-       if (!EC_POINT_get_affine_coordinates_GF2m(group, point, x, y, ctx))
+       if (!EC_POINT_get_affine_coordinates(group, point, x, y, ctx))
                goto err;
        if (!BN_copy(&point->X, x))
                goto err;
index 84a565d..b575f7b 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_curve.c,v 1.20 2020/06/05 17:12:09 jsing Exp $ */
+/* $OpenBSD: ec_curve.c,v 1.21 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Written by Nils Larsch for the OpenSSL project.
  */
@@ -3373,7 +3373,7 @@ ec_group_new_from_data(const ec_list_element curve)
                ECerror(ERR_R_BN_LIB);
                goto err;
        }
-       if (!EC_POINT_set_affine_coordinates_GFp(group, P, x, y, ctx)) {
+       if (!EC_POINT_set_affine_coordinates(group, P, x, y, ctx)) {
                ECerror(ERR_R_EC_LIB);
                goto err;
        }
index 1d0a03a..348156e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_key.c,v 1.24 2019/01/19 01:12:48 tb Exp $ */
+/* $OpenBSD: ec_key.c,v 1.25 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Written by Nils Larsch for the OpenSSL project.
  */
@@ -408,19 +408,19 @@ EC_KEY_set_public_key_affine_coordinates(EC_KEY * key, BIGNUM * x, BIGNUM * y)
 
 #ifndef OPENSSL_NO_EC2M
        if (is_char_two) {
-               if (!EC_POINT_set_affine_coordinates_GF2m(key->group, point,
+               if (!EC_POINT_set_affine_coordinates(key->group, point,
                        x, y, ctx))
                        goto err;
-               if (!EC_POINT_get_affine_coordinates_GF2m(key->group, point,
+               if (!EC_POINT_get_affine_coordinates(key->group, point,
                        tx, ty, ctx))
                        goto err;
        } else
 #endif
        {
-               if (!EC_POINT_set_affine_coordinates_GFp(key->group, point,
+               if (!EC_POINT_set_affine_coordinates(key->group, point,
                        x, y, ctx))
                        goto err;
-               if (!EC_POINT_get_affine_coordinates_GFp(key->group, point,
+               if (!EC_POINT_get_affine_coordinates(key->group, point,
                        tx, ty, ctx))
                        goto err;
        }
index f689428..4addc86 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_lcl.h,v 1.14 2021/04/20 17:04:13 tb Exp $ */
+/* $OpenBSD: ec_lcl.h,v 1.15 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Originally written by Bodo Moeller for the OpenSSL project.
  */
@@ -124,8 +124,8 @@ struct ec_method_st {
        /* used by EC_POINT_set_to_infinity,
         * EC_POINT_set_Jprojective_coordinates_GFp,
         * EC_POINT_get_Jprojective_coordinates_GFp,
-        * EC_POINT_set_affine_coordinates_GFp,     ..._GF2m,
-        * EC_POINT_get_affine_coordinates_GFp,     ..._GF2m,
+        * EC_POINT_set_affine_coordinates,
+        * EC_POINT_get_affine_coordinates,
         * EC_POINT_set_compressed_coordinates_GFp, ..._GF2m:
         */
        int (*point_set_to_infinity)(const EC_GROUP *, EC_POINT *);
index c39c4d1..b4112a1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ec_lib.c,v 1.35 2021/04/20 17:06:17 tb Exp $ */
+/* $OpenBSD: ec_lib.c,v 1.36 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Originally written by Bodo Moeller for the OpenSSL project.
  */
@@ -954,9 +954,8 @@ EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group,
        return group->meth->point_get_Jprojective_coordinates_GFp(group, point, x, y, z, ctx);
 }
 
-
-int 
-EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
+int
+EC_POINT_set_affine_coordinates(const EC_GROUP *group, EC_POINT *point,
     const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
 {
        if (group->meth->point_set_affine_coordinates == 0) {
@@ -976,31 +975,24 @@ EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
        return 1;
 }
 
+int
+EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *point,
+    const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
+{
+       return EC_POINT_set_affine_coordinates(group, point, x, y, ctx);
+}
+
 #ifndef OPENSSL_NO_EC2M
-int 
+int
 EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *point,
     const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx)
 {
-       if (group->meth->point_set_affine_coordinates == 0) {
-               ECerror(ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
-               return 0;
-       }
-       if (group->meth != point->meth) {
-               ECerror(EC_R_INCOMPATIBLE_OBJECTS);
-               return 0;
-       }
-       if (!group->meth->point_set_affine_coordinates(group, point, x, y, ctx))
-               return 0;
-       if (EC_POINT_is_on_curve(group, point, ctx) <= 0) {
-               ECerror(EC_R_POINT_IS_NOT_ON_CURVE);
-               return 0;
-       }
-       return 1;
+       return EC_POINT_set_affine_coordinates(group, point, x, y, ctx);
 }
 #endif
 
-int 
-EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point,
+int
+EC_POINT_get_affine_coordinates(const EC_GROUP *group, const EC_POINT *point,
     BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
 {
        if (group->meth->point_get_affine_coordinates == 0) {
@@ -1014,20 +1006,19 @@ EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point
        return group->meth->point_get_affine_coordinates(group, point, x, y, ctx);
 }
 
+int
+EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, const EC_POINT *point,
+    BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
+{
+       return EC_POINT_get_affine_coordinates(group, point, x, y, ctx);
+}
+
 #ifndef OPENSSL_NO_EC2M
-int 
+int
 EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, const EC_POINT *point,
     BIGNUM *x, BIGNUM *y, BN_CTX *ctx)
 {
-       if (group->meth->point_get_affine_coordinates == 0) {
-               ECerror(ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED);
-               return 0;
-       }
-       if (group->meth != point->meth) {
-               ECerror(EC_R_INCOMPATIBLE_OBJECTS);
-               return 0;
-       }
-       return group->meth->point_get_affine_coordinates(group, point, x, y, ctx);
+       return EC_POINT_get_affine_coordinates(group, point, x, y, ctx);
 }
 #endif
 
index 21b431a..c5fc738 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecp_nistp224.c,v 1.23 2018/11/05 20:18:21 tb Exp $ */
+/* $OpenBSD: ecp_nistp224.c,v 1.24 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Written by Emilia Kasper (Google) for the OpenSSL project.
  */
@@ -1577,7 +1577,7 @@ ec_GFp_nistp224_precompute_mult(EC_GROUP * group, BN_CTX * ctx)
                goto err;
        BN_bin2bn(nistp224_curve_params[3], sizeof(felem_bytearray), x);
        BN_bin2bn(nistp224_curve_params[4], sizeof(felem_bytearray), y);
-       if (!EC_POINT_set_affine_coordinates_GFp(group, generator, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, generator, x, y, ctx))
                goto err;
        if ((pre = nistp224_pre_comp_new()) == NULL)
                goto err;
index fc68b6c..38e87ec 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecp_nistp256.c,v 1.22 2018/11/05 20:18:21 tb Exp $ */
+/* $OpenBSD: ecp_nistp256.c,v 1.23 2021/04/20 17:16:37 tb Exp $ */
 /*
  * Written by Adam Langley (Google) for the OpenSSL project
  */
@@ -2131,7 +2131,7 @@ ec_GFp_nistp256_precompute_mult(EC_GROUP * group, BN_CTX * ctx)
                goto err;
        BN_bin2bn(nistp256_curve_params[3], sizeof(felem_bytearray), x);
        BN_bin2bn(nistp256_curve_params[4], sizeof(felem_bytearray), y);
-       if (!EC_POINT_set_affine_coordinates_GFp(group, generator, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, generator, x, y, ctx))
                goto err;
        if ((pre = nistp256_pre_comp_new()) == NULL)
                goto err;
index e085610..e5ccbb1 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecp_nistp521.c,v 1.23 2018/11/05 20:18:21 tb Exp $ */
+/* $OpenBSD: ecp_nistp521.c,v 1.24 2021/04/20 17:16:38 tb Exp $ */
 /*
  * Written by Adam Langley (Google) for the OpenSSL project
  */
@@ -2019,7 +2019,7 @@ ec_GFp_nistp521_precompute_mult(EC_GROUP * group, BN_CTX * ctx)
                goto err;
        BN_bin2bn(nistp521_curve_params[3], sizeof(felem_bytearray), x);
        BN_bin2bn(nistp521_curve_params[4], sizeof(felem_bytearray), y);
-       if (!EC_POINT_set_affine_coordinates_GFp(group, generator, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, generator, x, y, ctx))
                goto err;
        if ((pre = nistp521_pre_comp_new()) == NULL)
                goto err;
index 71e0835..13c4cd2 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: ecp_nistz256.c,v 1.7 2018/11/05 20:18:21 tb Exp $     */
+/*     $OpenBSD: ecp_nistz256.c,v 1.8 2021/04/20 17:16:38 tb Exp $     */
 /* Copyright (c) 2014, Intel Corporation.
  *
  * Permission to use, copy, modify, and/or distribute this software for any
@@ -744,7 +744,7 @@ ecp_nistz256_set_from_affine(EC_POINT *out, const EC_GROUP *group,
        y.neg = 0;
        y.flags = BN_FLG_STATIC_DATA;
 
-       ret = EC_POINT_set_affine_coordinates_GFp(group, out, &x, &y, ctx);
+       ret = EC_POINT_set_affine_coordinates(group, out, &x, &y, ctx);
 
        return ret;
 }
index 29d9990..9012204 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecp_oct.c,v 1.12 2020/12/04 08:55:30 tb Exp $ */
+/* $OpenBSD: ecp_oct.c,v 1.13 2021/04/20 17:16:38 tb Exp $ */
 /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de>
  * for the OpenSSL project.
  * Includes code written by Bodo Moeller for the OpenSSL project.
@@ -185,7 +185,7 @@ ec_GFp_simple_set_compressed_coordinates(const EC_GROUP * group,
                ECerror(ERR_R_INTERNAL_ERROR);
                goto err;
        }
-       if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, point, x, y, ctx))
                goto err;
 
        ret = 1;
@@ -246,7 +246,7 @@ ec_GFp_simple_point2oct(const EC_GROUP * group, const EC_POINT * point, point_co
                if ((y = BN_CTX_get(ctx)) == NULL)
                        goto err;
 
-               if (!EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx))
+               if (!EC_POINT_get_affine_coordinates(group, point, x, y, ctx))
                        goto err;
 
                if ((form == POINT_CONVERSION_COMPRESSED || form == POINT_CONVERSION_HYBRID) && BN_is_odd(y))
@@ -382,10 +382,10 @@ ec_GFp_simple_oct2point(const EC_GROUP * group, EC_POINT * point,
                        }
                }
                /*
-                * EC_POINT_set_affine_coordinates_GFp checks that the point is
+                * EC_POINT_set_affine_coordinates checks that the point is
                 * on the curve as required by X9.62.
                 */
-               if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx))
+               if (!EC_POINT_set_affine_coordinates(group, point, x, y, ctx))
                        goto err;
        }
 
index 3957bd1..e1fd900 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecp_smpl.c,v 1.29 2018/11/15 05:53:31 tb Exp $ */
+/* $OpenBSD: ecp_smpl.c,v 1.30 2021/04/20 17:16:38 tb Exp $ */
 /* Includes code written by Lenka Fibikova <fibikova@exp-math.uni-essen.de>
  * for the OpenSSL project.
  * Includes code written by Bodo Moeller for the OpenSSL project.
@@ -1209,9 +1209,9 @@ ec_GFp_simple_make_affine(const EC_GROUP * group, EC_POINT * point, BN_CTX * ctx
        if ((y = BN_CTX_get(ctx)) == NULL)
                goto err;
 
-       if (!EC_POINT_get_affine_coordinates_GFp(group, point, x, y, ctx))
+       if (!EC_POINT_get_affine_coordinates(group, point, x, y, ctx))
                goto err;
-       if (!EC_POINT_set_affine_coordinates_GFp(group, point, x, y, ctx))
+       if (!EC_POINT_set_affine_coordinates(group, point, x, y, ctx))
                goto err;
        if (!point->Z_is_one) {
                ECerror(ERR_R_INTERNAL_ERROR);
index 378912c..c82002e 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ech_key.c,v 1.9 2019/01/19 01:12:48 tb Exp $ */
+/* $OpenBSD: ech_key.c,v 1.10 2021/04/20 17:16:38 tb Exp $ */
 /* ====================================================================
  * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.
  *
@@ -142,16 +142,14 @@ ecdh_compute_key(void *out, size_t outlen, const EC_POINT *pub_key,
 
        if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) ==
            NID_X9_62_prime_field) {
-               if (!EC_POINT_get_affine_coordinates_GFp(group, tmp, x, y,
-                   ctx)) {
+               if (!EC_POINT_get_affine_coordinates(group, tmp, x, y, ctx)) {
                        ECDHerror(ECDH_R_POINT_ARITHMETIC_FAILURE);
                        goto err;
                }
        }
 #ifndef OPENSSL_NO_EC2M
        else {
-               if (!EC_POINT_get_affine_coordinates_GF2m(group, tmp, x, y,
-                   ctx)) {
+               if (!EC_POINT_get_affine_coordinates(group, tmp, x, y, ctx)) {
                        ECDHerror(ECDH_R_POINT_ARITHMETIC_FAILURE);
                        goto err;
                }
index 8a6685d..aa97a3a 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: ecs_ossl.c,v 1.20 2019/06/04 18:15:27 tb Exp $ */
+/* $OpenBSD: ecs_ossl.c,v 1.21 2021/04/20 17:16:38 tb Exp $ */
 /*
  * Written by Nils Larsch for the OpenSSL project
  */
@@ -207,7 +207,7 @@ ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
                }
                if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) ==
                    NID_X9_62_prime_field) {
-                       if (!EC_POINT_get_affine_coordinates_GFp(group, point,
+                       if (!EC_POINT_get_affine_coordinates(group, point,
                            X, NULL, ctx)) {
                                ECDSAerror(ERR_R_EC_LIB);
                                goto err;
@@ -215,7 +215,7 @@ ecdsa_sign_setup(EC_KEY *eckey, BN_CTX *ctx_in, BIGNUM **kinvp, BIGNUM **rp)
                }
 #ifndef OPENSSL_NO_EC2M
                else {  /* NID_X9_62_characteristic_two_field */
-                       if (!EC_POINT_get_affine_coordinates_GF2m(group, point,
+                       if (!EC_POINT_get_affine_coordinates(group, point,
                            X, NULL, ctx)) {
                                ECDSAerror(ERR_R_EC_LIB);
                                goto err;
@@ -523,7 +523,7 @@ ecdsa_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig,
        }
        if (EC_METHOD_get_field_type(EC_GROUP_method_of(group)) ==
            NID_X9_62_prime_field) {
-               if (!EC_POINT_get_affine_coordinates_GFp(group, point, X, NULL,
+               if (!EC_POINT_get_affine_coordinates(group, point, X, NULL,
                    ctx)) {
                        ECDSAerror(ERR_R_EC_LIB);
                        goto err;
@@ -531,7 +531,7 @@ ecdsa_do_verify(const unsigned char *dgst, int dgst_len, const ECDSA_SIG *sig,
        }
 #ifndef OPENSSL_NO_EC2M
        else { /* NID_X9_62_characteristic_two_field */
-               if (!EC_POINT_get_affine_coordinates_GF2m(group, point, X, NULL,
+               if (!EC_POINT_get_affine_coordinates(group, point, X, NULL,
                    ctx)) {
                        ECDSAerror(ERR_R_EC_LIB);
                        goto err;
index ba70d5f..bfbd032 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gostr341001.c,v 1.7 2017/01/29 17:49:23 beck Exp $ */
+/* $OpenBSD: gostr341001.c,v 1.8 2021/04/20 17:16:38 tb Exp $ */
 /*
  * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  * Copyright (c) 2005-2006 Cryptocom LTD
@@ -206,7 +206,7 @@ gost2001_do_sign(BIGNUM *md, GOST_KEY *eckey)
                                GOSTerror(ERR_R_EC_LIB);
                                goto err;
                        }
-                       if (EC_POINT_get_affine_coordinates_GFp(group, C, X,
+                       if (EC_POINT_get_affine_coordinates(group, C, X,
                            NULL, ctx) == 0) {
                                GOSTerror(ERR_R_EC_LIB);
                                goto err;
@@ -304,7 +304,7 @@ gost2001_do_verify(BIGNUM *md, ECDSA_SIG *sig, GOST_KEY *ec)
                GOSTerror(ERR_R_EC_LIB);
                goto err;
        }
-       if (EC_POINT_get_affine_coordinates_GFp(group, C, X, NULL, ctx) == 0) {
+       if (EC_POINT_get_affine_coordinates(group, C, X, NULL, ctx) == 0) {
                GOSTerror(ERR_R_EC_LIB);
                goto err;
        }
@@ -354,7 +354,7 @@ VKO_compute_key(BIGNUM *X, BIGNUM *Y, const GOST_KEY *pkey, GOST_KEY *priv_key,
                goto err;
        if (EC_POINT_mul(group, pnt, NULL, pub_key, p, ctx) == 0)
                goto err;
-       if (EC_POINT_get_affine_coordinates_GFp(group, pnt, X, Y, ctx) == 0)
+       if (EC_POINT_get_affine_coordinates(group, pnt, X, Y, ctx) == 0)
                goto err;
        ok = 1;
 
index 27a95f2..294b654 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gostr341001_ameth.c,v 1.16 2020/06/05 17:17:22 jsing Exp $ */
+/* $OpenBSD: gostr341001_ameth.c,v 1.17 2021/04/20 17:16:38 tb Exp $ */
 /*
  * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  * Copyright (c) 2005-2006 Cryptocom LTD
@@ -290,7 +290,7 @@ pub_encode_gost01(X509_PUBKEY *pub, const EVP_PKEY *pk)
                goto err;
        }
 
-       if (EC_POINT_get_affine_coordinates_GFp(GOST_KEY_get0_group(ec),
+       if (EC_POINT_get_affine_coordinates(GOST_KEY_get0_group(ec),
            pub_key, X, Y, NULL) == 0) {
                GOSTerror(ERR_R_EC_LIB);
                goto err;
@@ -352,8 +352,7 @@ pub_print_gost01(BIO *out, const EVP_PKEY *pkey, int indent, ASN1_PCTX *pctx)
                goto err;
        pubkey = GOST_KEY_get0_public_key(pkey->pkey.gost);
        group = GOST_KEY_get0_group(pkey->pkey.gost);
-       if (EC_POINT_get_affine_coordinates_GFp(group, pubkey, X, Y,
-           ctx) == 0) {
+       if (EC_POINT_get_affine_coordinates(group, pubkey, X, Y, ctx) == 0) {
                GOSTerror(ERR_R_EC_LIB);
                goto err;
        }
index 0af39f2..d5d885c 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: gostr341001_key.c,v 1.8 2017/05/02 03:59:44 deraadt Exp $ */
+/* $OpenBSD: gostr341001_key.c,v 1.9 2021/04/20 17:16:38 tb Exp $ */
 /*
  * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
  * Copyright (c) 2005-2006 Cryptocom LTD
@@ -201,10 +201,10 @@ GOST_KEY_set_public_key_affine_coordinates(GOST_KEY *key, BIGNUM *x, BIGNUM *y)
                goto err;
        if ((ty = BN_CTX_get(ctx)) == NULL)
                goto err;
-       if (EC_POINT_set_affine_coordinates_GFp(key->group, point, x, y,
+       if (EC_POINT_set_affine_coordinates(key->group, point, x, y,
            ctx) == 0)
                goto err;
-       if (EC_POINT_get_affine_coordinates_GFp(key->group, point, tx, ty,
+       if (EC_POINT_get_affine_coordinates(key->group, point, tx, ty,
            ctx) == 0)
                goto err;
        /*