summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortb <>2023-06-28 18:07:07 +0000
committertb <>2023-06-28 18:07:07 +0000
commit180dabc6b448ff5b3fedbd8c39a1a64f147ba175 (patch)
tree5f2e328630322ade72aeb87ff8fd45d199c138bd
parent7e5e155999724586a89d11b8c2be01e744e2417f (diff)
downloadopenbsd-180dabc6b448ff5b3fedbd8c39a1a64f147ba175.tar.gz
openbsd-180dabc6b448ff5b3fedbd8c39a1a64f147ba175.tar.bz2
openbsd-180dabc6b448ff5b3fedbd8c39a1a64f147ba175.zip
Adjust EC_GROUP_get_basis_type() documentation
After the GF2m removal, this function always returns 0, so adjust the documentation and remove EC_GROUP_get_{trinomial,pentanomial}_basis() that were left behind. Also add a tiny grammar tweak in the HISTORY section.
-rw-r--r--src/lib/libcrypto/man/EC_GROUP_copy.372
1 files changed, 8 insertions, 64 deletions
diff --git a/src/lib/libcrypto/man/EC_GROUP_copy.3 b/src/lib/libcrypto/man/EC_GROUP_copy.3
index 6aa5695960..c83ee3d5b1 100644
--- a/src/lib/libcrypto/man/EC_GROUP_copy.3
+++ b/src/lib/libcrypto/man/EC_GROUP_copy.3
@@ -1,4 +1,4 @@
1.\" $OpenBSD: EC_GROUP_copy.3,v 1.13 2022/07/02 17:09:09 jsing Exp $ 1.\" $OpenBSD: EC_GROUP_copy.3,v 1.14 2023/06/28 18:07:07 tb Exp $
2.\" full merge up to: OpenSSL d900a015 Oct 8 14:40:42 2015 +0200 2.\" full merge up to: OpenSSL d900a015 Oct 8 14:40:42 2015 +0200
3.\" selective merge up to: OpenSSL 24c23e1f Aug 22 10:51:25 2019 +0530 3.\" selective merge up to: OpenSSL 24c23e1f Aug 22 10:51:25 2019 +0530
4.\" 4.\"
@@ -51,7 +51,7 @@
51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 51.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
52.\" OF THE POSSIBILITY OF SUCH DAMAGE. 52.\" OF THE POSSIBILITY OF SUCH DAMAGE.
53.\" 53.\"
54.Dd $Mdocdate: July 2 2022 $ 54.Dd $Mdocdate: June 28 2023 $
55.Dt EC_GROUP_COPY 3 55.Dt EC_GROUP_COPY 3
56.Os 56.Os
57.Sh NAME 57.Sh NAME
@@ -76,9 +76,7 @@
76.Nm EC_GROUP_check , 76.Nm EC_GROUP_check ,
77.Nm EC_GROUP_check_discriminant , 77.Nm EC_GROUP_check_discriminant ,
78.Nm EC_GROUP_cmp , 78.Nm EC_GROUP_cmp ,
79.Nm EC_GROUP_get_basis_type , 79.Nm EC_GROUP_get_basis_type
80.Nm EC_GROUP_get_trinomial_basis ,
81.Nm EC_GROUP_get_pentanomial_basis
82.Nd manipulate EC_GROUP objects 80.Nd manipulate EC_GROUP objects
83.Sh SYNOPSIS 81.Sh SYNOPSIS
84.In openssl/ec.h 82.In openssl/ec.h
@@ -188,18 +186,6 @@
188.Fo EC_GROUP_get_basis_type 186.Fo EC_GROUP_get_basis_type
189.Fa "const EC_GROUP *" 187.Fa "const EC_GROUP *"
190.Fc 188.Fc
191.Ft int
192.Fo EC_GROUP_get_trinomial_basis
193.Fa "const EC_GROUP *"
194.Fa "unsigned int *k"
195.Fc
196.Ft int
197.Fo EC_GROUP_get_pentanomial_basis
198.Fa "const EC_GROUP *"
199.Fa "unsigned int *k1"
200.Fa "unsigned int *k2"
201.Fa "unsigned int *k3"
202.Fc
203.Sh DESCRIPTION 189.Sh DESCRIPTION
204These functions operate on 190These functions operate on
205.Vt EC_GROUP 191.Vt EC_GROUP
@@ -398,48 +384,15 @@ and
398.Fa b 384.Fa b
399to determine whether they represent the same curve or not. 385to determine whether they represent the same curve or not.
400.Pp 386.Pp
401The functions
402.Fn EC_GROUP_get_basis_type ,
403.Fn EC_GROUP_get_trinomial_basis ,
404and
405.Fn EC_GROUP_get_pentanomial_basis
406should only be called for curves defined over an F2^m field.
407Addition and multiplication operations within an F2^m field are
408performed using an irreducible polynomial function f(x).
409This function is either a trinomial of the form:
410.Pp
411.Dl f(x) = x^m + x^k + 1 with m > k >= 1
412.Pp
413or a pentanomial of the form:
414.Pp
415.Dl f(x) = x^m + x^k3 + x^k2 + x^k1 + 1 with m > k3 > k2 > k1 >= 1
416.Pp
417The function
418.Fn EC_GROUP_get_basis_type 387.Fn EC_GROUP_get_basis_type
419returns a NID identifying whether a trinomial or pentanomial is in 388always returns 0 and is only provided for compatibility.
420use for the field.
421The function
422.Fn EC_GROUP_get_trinomial_basis
423must only be called where f(x) is of the trinomial form, and returns
424the value of
425.Fa k .
426Similarly, the function
427.Fn EC_GROUP_get_pentanomial_basis
428must only be called where f(x) is of the pentanomial form, and
429returns the values of
430.Fa k1 ,
431.Fa k2 ,
432and
433.Fa k3 .
434.Sh RETURN VALUES 389.Sh RETURN VALUES
435The following functions return 1 on success or 0 on error: 390The following functions return 1 on success or 0 on error:
436.Fn EC_GROUP_copy , 391.Fn EC_GROUP_copy ,
437.Fn EC_GROUP_set_generator , 392.Fn EC_GROUP_set_generator ,
438.Fn EC_GROUP_check , 393.Fn EC_GROUP_check ,
439.Fn EC_GROUP_check_discriminant ,
440.Fn EC_GROUP_get_trinomial_basis ,
441and 394and
442.Fn EC_GROUP_get_pentanomial_basis . 395.Fn EC_GROUP_check_discriminant .
443.Pp 396.Pp
444.Fn EC_GROUP_dup 397.Fn EC_GROUP_dup
445returns a pointer to the duplicated curve or 398returns a pointer to the duplicated curve or
@@ -516,14 +469,7 @@ returns 0 if the curves are equal, 1 if they are not equal,
516or -1 on error. 469or -1 on error.
517.Pp 470.Pp
518.Fn EC_GROUP_get_basis_type 471.Fn EC_GROUP_get_basis_type
519returns the values 472always returns 0.
520.Dv NID_X9_62_tpBasis
521or
522.Dv NID_X9_62_ppBasis
523as defined in
524.In openssl/objects.h
525for a trinomial or pentanomial, respectively.
526Alternatively in the event of an error a 0 is returned.
527.Sh SEE ALSO 473.Sh SEE ALSO
528.Xr d2i_ECPKParameters 3 , 474.Xr d2i_ECPKParameters 3 ,
529.Xr EC_GFp_simple_method 3 , 475.Xr EC_GFp_simple_method 3 ,
@@ -556,11 +502,9 @@ first appeared in OpenSSL 0.9.7 and have been available since
556.Fn EC_GROUP_check , 502.Fn EC_GROUP_check ,
557.Fn EC_GROUP_check_discriminant , 503.Fn EC_GROUP_check_discriminant ,
558.Fn EC_GROUP_cmp , 504.Fn EC_GROUP_cmp ,
559.Fn EC_GROUP_get_basis_type ,
560.Fn EC_GROUP_get_trinomial_basis ,
561and 505and
562.Fn EC_GROUP_get_pentanomial_basis 506.Fn EC_GROUP_get_basis_type
563first appeared in OpenSSL 0.9.8 and has been available since 507first appeared in OpenSSL 0.9.8 and have been available since
564.Ox 4.5 . 508.Ox 4.5 .
565.Pp 509.Pp
566.Fn EC_GROUP_order_bits 510.Fn EC_GROUP_order_bits