summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/man/EC_POINT_new.390
1 files changed, 70 insertions, 20 deletions
diff --git a/src/lib/libcrypto/man/EC_POINT_new.3 b/src/lib/libcrypto/man/EC_POINT_new.3
index 94ab9054bf..718d041a13 100644
--- a/src/lib/libcrypto/man/EC_POINT_new.3
+++ b/src/lib/libcrypto/man/EC_POINT_new.3
@@ -1,5 +1,5 @@
1.\" $OpenBSD: EC_POINT_new.3,v 1.11 2019/08/19 13:08:26 schwarze Exp $ 1.\" $OpenBSD: EC_POINT_new.3,v 1.12 2021/05/10 20:00:58 tb Exp $
2.\" full merge up to: OpenSSL ddc1caac Mar 6 14:00:24 2018 -0500 2.\" full merge up to: OpenSSL 50db8163 Jul 30 16:56:41 2018 +0100
3.\" 3.\"
4.\" This file was written by Matt Caswell <matt@openssl.org>. 4.\" This file was written by Matt Caswell <matt@openssl.org>.
5.\" Copyright (c) 2013, 2016 The OpenSSL Project. All rights reserved. 5.\" Copyright (c) 2013, 2016 The OpenSSL Project. All rights reserved.
@@ -48,7 +48,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 49.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 50.\"
51.Dd $Mdocdate: August 19 2019 $ 51.Dd $Mdocdate: May 10 2021 $
52.Dt EC_POINT_NEW 3 52.Dt EC_POINT_NEW 3
53.Os 53.Os
54.Sh NAME 54.Sh NAME
@@ -59,12 +59,15 @@
59.Nm EC_POINT_dup , 59.Nm EC_POINT_dup ,
60.Nm EC_POINT_method_of , 60.Nm EC_POINT_method_of ,
61.Nm EC_POINT_set_to_infinity , 61.Nm EC_POINT_set_to_infinity ,
62.Nm EC_POINT_set_affine_coordinates ,
62.Nm EC_POINT_set_affine_coordinates_GFp , 63.Nm EC_POINT_set_affine_coordinates_GFp ,
63.Nm EC_POINT_set_affine_coordinates_GF2m , 64.Nm EC_POINT_set_affine_coordinates_GF2m ,
65.Nm EC_POINT_get_affine_coordinates ,
64.Nm EC_POINT_get_affine_coordinates_GFp , 66.Nm EC_POINT_get_affine_coordinates_GFp ,
65.Nm EC_POINT_get_affine_coordinates_GF2m , 67.Nm EC_POINT_get_affine_coordinates_GF2m ,
66.Nm EC_POINT_set_Jprojective_coordinates_GFp , 68.Nm EC_POINT_set_Jprojective_coordinates_GFp ,
67.Nm EC_POINT_get_Jprojective_coordinates_GFp , 69.Nm EC_POINT_get_Jprojective_coordinates_GFp ,
70.Nm EC_POINT_set_compressed_coordinates ,
68.Nm EC_POINT_set_compressed_coordinates_GFp , 71.Nm EC_POINT_set_compressed_coordinates_GFp ,
69.Nm EC_POINT_set_compressed_coordinates_GF2m , 72.Nm EC_POINT_set_compressed_coordinates_GF2m ,
70.Nm EC_POINT_point2oct , 73.Nm EC_POINT_point2oct ,
@@ -109,6 +112,14 @@
109.Fa "EC_POINT *point" 112.Fa "EC_POINT *point"
110.Fc 113.Fc
111.Ft int 114.Ft int
115.Fo EC_POINT_set_affine_coordinates
116.Fa "const EC_GROUP *group"
117.Fa "EC_POINT *p"
118.Fa "const BIGNUM *x"
119.Fa "const BIGNUM *y"
120.Fa "BN_CTX *ctx"
121.Fc
122.Ft int
112.Fo EC_POINT_set_affine_coordinates_GFp 123.Fo EC_POINT_set_affine_coordinates_GFp
113.Fa "const EC_GROUP *group" 124.Fa "const EC_GROUP *group"
114.Fa "EC_POINT *p" 125.Fa "EC_POINT *p"
@@ -125,6 +136,14 @@
125.Fa "BN_CTX *ctx" 136.Fa "BN_CTX *ctx"
126.Fc 137.Fc
127.Ft int 138.Ft int
139.Fo EC_POINT_get_affine_coordinates
140.Fa "const EC_GROUP *group"
141.Fa "const EC_POINT *p"
142.Fa "BIGNUM *x"
143.Fa "BIGNUM *y"
144.Fa "BN_CTX *ctx"
145.Fc
146.Ft int
128.Fo EC_POINT_get_affine_coordinates_GFp 147.Fo EC_POINT_get_affine_coordinates_GFp
129.Fa "const EC_GROUP *group" 148.Fa "const EC_GROUP *group"
130.Fa "const EC_POINT *p" 149.Fa "const EC_POINT *p"
@@ -159,6 +178,14 @@
159.Fa "BN_CTX *ctx" 178.Fa "BN_CTX *ctx"
160.Fc 179.Fc
161.Ft int 180.Ft int
181.Fo EC_POINT_set_compressed_coordinates
182.Fa "const EC_GROUP *group"
183.Fa "EC_POINT *p"
184.Fa "const BIGNUM *x"
185.Fa "int y_bit"
186.Fa "BN_CTX *ctx"
187.Fc
188.Ft int
162.Fo EC_POINT_set_compressed_coordinates_GFp 189.Fo EC_POINT_set_compressed_coordinates_GFp
163.Fa "const EC_GROUP *group" 190.Fa "const EC_GROUP *group"
164.Fa "EC_POINT *p" 191.Fa "EC_POINT *p"
@@ -290,11 +317,9 @@ The affine coordinates for a point describe a point in terms of its
290and 317and
291.Fa y 318.Fa y
292position. 319position.
293The functions 320The function
294.Fn EC_POINT_set_affine_coordinates_GFp 321.Fn EC_POINT_set_affine_coordinates
295and 322sets the
296.Fn EC_POINT_set_affine_coordinates_GF2m
297set the
298.Fa x 323.Fa x
299and 324and
300.Fa y 325.Fa y
@@ -302,11 +327,9 @@ coordinates for the point
302.Fa p 327.Fa p
303defined over the curve given in 328defined over the curve given in
304.Fa group . 329.Fa group .
305The functions 330The function
306.Fn EC_POINT_get_affine_coordinates_GFp 331.Fn EC_POINT_get_affine_coordinates
307and 332sets
308.Fn EC_POINT_get_affine_coordinates_GF2m
309set
310.Fa x 333.Fa x
311and 334and
312.Fa y , 335.Fa y ,
@@ -315,6 +338,19 @@ either of which may be
315to the corresponding coordinates of 338to the corresponding coordinates of
316.Fa p . 339.Fa p .
317.Pp 340.Pp
341The functions
342.Fn EC_POINT_set_affine_coordinates_GFp
343and
344.Fn EC_POINT_set_affine_coordinates_GF2m
345are deprecated synonyms for
346.Fn EC_POINT_set_affine_coordinates
347and the functions
348.Fn EC_POINT_get_affine_coordinates_GFp
349and
350.Fn EC_POINT_get_affine_coordinates_GF2m
351are deprecated synonyms for
352.Fn EC_POINT_get_affine_coordinates .
353.Pp
318As well as the affine coordinates, a point can alternatively be 354As well as the affine coordinates, a point can alternatively be
319described in terms of its Jacobian projective coordinates (for Fp 355described in terms of its Jacobian projective coordinates (for Fp
320curves only). 356curves only).
@@ -352,17 +388,22 @@ for any given value for
352such that the point is on the curve, there will only ever be two 388such that the point is on the curve, there will only ever be two
353possible values for 389possible values for
354.Fa y . 390.Fa y .
355Therefore a point can be set using the 391Therefore, a point can be set using the
356.Fn EC_POINT_set_compressed_coordinates_GFp 392.Fn EC_POINT_set_compressed_coordinates
357and 393function where
358.Fn EC_POINT_set_compressed_coordinates_GF2m
359functions where
360.Fa x 394.Fa x
361is the x coordinate and 395is the x coordinate and
362.Fa y_bit 396.Fa y_bit
363is a value 0 or 1 to identify which of the two possible values for y 397is a value 0 or 1 to identify which of the two possible values for y
364should be used. 398should be used.
365.Pp 399.Pp
400The functions
401.Fn EC_POINT_set_compressed_coordinates_GFp
402and
403.Fn EC_POINT_set_compressed_coordinates_GF2m
404are deprecated synonyms for
405.Fn EC_POINT_set_compressed_coordinates .
406.Pp
366In addition 407In addition
367.Vt EC_POINT Ns s 408.Vt EC_POINT Ns s
368can be converted to and from various external representations. 409can be converted to and from various external representations.
@@ -433,11 +474,14 @@ The following functions return 1 on success or 0 on error:
433.Fn EC_POINT_set_to_infinity , 474.Fn EC_POINT_set_to_infinity ,
434.Fn EC_POINT_set_Jprojective_coordinates_GFp , 475.Fn EC_POINT_set_Jprojective_coordinates_GFp ,
435.Fn EC_POINT_get_Jprojective_coordinates_GFp , 476.Fn EC_POINT_get_Jprojective_coordinates_GFp ,
477.Fn EC_POINT_set_affine_coordinates ,
436.Fn EC_POINT_set_affine_coordinates_GFp , 478.Fn EC_POINT_set_affine_coordinates_GFp ,
437.Fn EC_POINT_get_affine_coordinates_GFp ,
438.Fn EC_POINT_set_compressed_coordinates_GFp ,
439.Fn EC_POINT_set_affine_coordinates_GF2m , 479.Fn EC_POINT_set_affine_coordinates_GF2m ,
480.Fn EC_POINT_get_affine_coordinates ,
481.Fn EC_POINT_get_affine_coordinates_GFp ,
440.Fn EC_POINT_get_affine_coordinates_GF2m , 482.Fn EC_POINT_get_affine_coordinates_GF2m ,
483.Fn EC_POINT_set_compressed_coordinates ,
484.Fn EC_POINT_set_compressed_coordinates_GFp ,
441.Fn EC_POINT_set_compressed_coordinates_GF2m , 485.Fn EC_POINT_set_compressed_coordinates_GF2m ,
442and 486and
443.Fn EC_POINT_oct2point . 487.Fn EC_POINT_oct2point .
@@ -513,3 +557,9 @@ and
513.Fn EC_POINT_hex2point 557.Fn EC_POINT_hex2point
514first appeared in OpenSSL 0.9.8 and have been available since 558first appeared in OpenSSL 0.9.8 and have been available since
515.Ox 4.5 . 559.Ox 4.5 .
560.Fn EC_POINT_set_affine_coordinates ,
561.Fn EC_POINT_get_affine_coordinates ,
562and
563.Fn EC_POINT_set_compressed_coordinates
564first appeared in OpenSSL 1.1.1 and have been available since
565.Ox 7.0 .