-.\" $OpenBSD: EC_POINT_new.3,v 1.11 2019/08/19 13:08:26 schwarze Exp $
-.\" full merge up to: OpenSSL ddc1caac Mar 6 14:00:24 2018 -0500
+.\" $OpenBSD: EC_POINT_new.3,v 1.12 2021/05/10 20:00:58 tb Exp $
+.\" full merge up to: OpenSSL 50db8163 Jul 30 16:56:41 2018 +0100
.\"
.\" This file was written by Matt Caswell <matt@openssl.org>.
.\" Copyright (c) 2013, 2016 The OpenSSL Project. All rights reserved.
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
.\" OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd $Mdocdate: August 19 2019 $
+.Dd $Mdocdate: May 10 2021 $
.Dt EC_POINT_NEW 3
.Os
.Sh NAME
.Nm EC_POINT_dup ,
.Nm EC_POINT_method_of ,
.Nm EC_POINT_set_to_infinity ,
+.Nm EC_POINT_set_affine_coordinates ,
.Nm EC_POINT_set_affine_coordinates_GFp ,
.Nm EC_POINT_set_affine_coordinates_GF2m ,
+.Nm EC_POINT_get_affine_coordinates ,
.Nm EC_POINT_get_affine_coordinates_GFp ,
.Nm EC_POINT_get_affine_coordinates_GF2m ,
.Nm EC_POINT_set_Jprojective_coordinates_GFp ,
.Nm EC_POINT_get_Jprojective_coordinates_GFp ,
+.Nm EC_POINT_set_compressed_coordinates ,
.Nm EC_POINT_set_compressed_coordinates_GFp ,
.Nm EC_POINT_set_compressed_coordinates_GF2m ,
.Nm EC_POINT_point2oct ,
.Fa "EC_POINT *point"
.Fc
.Ft int
+.Fo EC_POINT_set_affine_coordinates
+.Fa "const EC_GROUP *group"
+.Fa "EC_POINT *p"
+.Fa "const BIGNUM *x"
+.Fa "const BIGNUM *y"
+.Fa "BN_CTX *ctx"
+.Fc
+.Ft int
.Fo EC_POINT_set_affine_coordinates_GFp
.Fa "const EC_GROUP *group"
.Fa "EC_POINT *p"
.Fa "BN_CTX *ctx"
.Fc
.Ft int
+.Fo EC_POINT_get_affine_coordinates
+.Fa "const EC_GROUP *group"
+.Fa "const EC_POINT *p"
+.Fa "BIGNUM *x"
+.Fa "BIGNUM *y"
+.Fa "BN_CTX *ctx"
+.Fc
+.Ft int
.Fo EC_POINT_get_affine_coordinates_GFp
.Fa "const EC_GROUP *group"
.Fa "const EC_POINT *p"
.Fa "BN_CTX *ctx"
.Fc
.Ft int
+.Fo EC_POINT_set_compressed_coordinates
+.Fa "const EC_GROUP *group"
+.Fa "EC_POINT *p"
+.Fa "const BIGNUM *x"
+.Fa "int y_bit"
+.Fa "BN_CTX *ctx"
+.Fc
+.Ft int
.Fo EC_POINT_set_compressed_coordinates_GFp
.Fa "const EC_GROUP *group"
.Fa "EC_POINT *p"
and
.Fa y
position.
-The functions
-.Fn EC_POINT_set_affine_coordinates_GFp
-and
-.Fn EC_POINT_set_affine_coordinates_GF2m
-set the
+The function
+.Fn EC_POINT_set_affine_coordinates
+sets the
.Fa x
and
.Fa y
.Fa p
defined over the curve given in
.Fa group .
-The functions
-.Fn EC_POINT_get_affine_coordinates_GFp
-and
-.Fn EC_POINT_get_affine_coordinates_GF2m
-set
+The function
+.Fn EC_POINT_get_affine_coordinates
+sets
.Fa x
and
.Fa y ,
to the corresponding coordinates of
.Fa p .
.Pp
+The functions
+.Fn EC_POINT_set_affine_coordinates_GFp
+and
+.Fn EC_POINT_set_affine_coordinates_GF2m
+are deprecated synonyms for
+.Fn EC_POINT_set_affine_coordinates
+and the functions
+.Fn EC_POINT_get_affine_coordinates_GFp
+and
+.Fn EC_POINT_get_affine_coordinates_GF2m
+are deprecated synonyms for
+.Fn EC_POINT_get_affine_coordinates .
+.Pp
As well as the affine coordinates, a point can alternatively be
described in terms of its Jacobian projective coordinates (for Fp
curves only).
such that the point is on the curve, there will only ever be two
possible values for
.Fa y .
-Therefore a point can be set using the
-.Fn EC_POINT_set_compressed_coordinates_GFp
-and
-.Fn EC_POINT_set_compressed_coordinates_GF2m
-functions where
+Therefore, a point can be set using the
+.Fn EC_POINT_set_compressed_coordinates
+function where
.Fa x
is the x coordinate and
.Fa y_bit
is a value 0 or 1 to identify which of the two possible values for y
should be used.
.Pp
+The functions
+.Fn EC_POINT_set_compressed_coordinates_GFp
+and
+.Fn EC_POINT_set_compressed_coordinates_GF2m
+are deprecated synonyms for
+.Fn EC_POINT_set_compressed_coordinates .
+.Pp
In addition
.Vt EC_POINT Ns s
can be converted to and from various external representations.
.Fn EC_POINT_set_to_infinity ,
.Fn EC_POINT_set_Jprojective_coordinates_GFp ,
.Fn EC_POINT_get_Jprojective_coordinates_GFp ,
+.Fn EC_POINT_set_affine_coordinates ,
.Fn EC_POINT_set_affine_coordinates_GFp ,
-.Fn EC_POINT_get_affine_coordinates_GFp ,
-.Fn EC_POINT_set_compressed_coordinates_GFp ,
.Fn EC_POINT_set_affine_coordinates_GF2m ,
+.Fn EC_POINT_get_affine_coordinates ,
+.Fn EC_POINT_get_affine_coordinates_GFp ,
.Fn EC_POINT_get_affine_coordinates_GF2m ,
+.Fn EC_POINT_set_compressed_coordinates ,
+.Fn EC_POINT_set_compressed_coordinates_GFp ,
.Fn EC_POINT_set_compressed_coordinates_GF2m ,
and
.Fn EC_POINT_oct2point .
.Fn EC_POINT_hex2point
first appeared in OpenSSL 0.9.8 and have been available since
.Ox 4.5 .
+.Fn EC_POINT_set_affine_coordinates ,
+.Fn EC_POINT_get_affine_coordinates ,
+and
+.Fn EC_POINT_set_compressed_coordinates
+first appeared in OpenSSL 1.1.1 and have been available since
+.Ox 7.0 .