diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libcrypto/man/BN_mod_mul_reciprocal.3 | 274 | ||||
-rw-r--r-- | lib/libcrypto/man/Makefile | 3 |
2 files changed, 1 insertions, 276 deletions
diff --git a/lib/libcrypto/man/BN_mod_mul_reciprocal.3 b/lib/libcrypto/man/BN_mod_mul_reciprocal.3 deleted file mode 100644 index f28ade2a41b..00000000000 --- a/lib/libcrypto/man/BN_mod_mul_reciprocal.3 +++ /dev/null @@ -1,274 +0,0 @@ -.\" $OpenBSD: BN_mod_mul_reciprocal.3,v 1.12 2022/11/14 18:28:29 schwarze Exp $ -.\" full merge up to: OpenSSL 6859cf74 Sep 25 13:33:28 2002 +0000 -.\" selective merge up to: OpenSSL e9b77246 Jan 20 19:58:49 2017 +0100 -.\" -.\" This file is a derived work. -.\" The changes are covered by the following Copyright and license: -.\" -.\" Copyright (c) 2022 Ingo Schwarze <schwarze@openbsd.org> -.\" -.\" Permission to use, copy, modify, and distribute this software for any -.\" purpose with or without fee is hereby granted, provided that the above -.\" copyright notice and this permission notice appear in all copies. -.\" -.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF -.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -.\" -.\" The original file was written by Ulf Moeller <ulf@openssl.org>. -.\" Copyright (c) 2000 The OpenSSL Project. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in -.\" the documentation and/or other materials provided with the -.\" distribution. -.\" -.\" 3. All advertising materials mentioning features or use of this -.\" software must display the following acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit. (http://www.openssl.org/)" -.\" -.\" 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to -.\" endorse or promote products derived from this software without -.\" prior written permission. For written permission, please contact -.\" openssl-core@openssl.org. -.\" -.\" 5. Products derived from this software may not be called "OpenSSL" -.\" nor may "OpenSSL" appear in their names without prior written -.\" permission of the OpenSSL Project. -.\" -.\" 6. Redistributions of any form whatsoever must retain the following -.\" acknowledgment: -.\" "This product includes software developed by the OpenSSL Project -.\" for use in the OpenSSL Toolkit (http://www.openssl.org/)" -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY -.\" EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -.\" PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR -.\" ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -.\" SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -.\" LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -.\" STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) -.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED -.\" OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.Dd $Mdocdate: November 14 2022 $ -.Dt BN_MOD_MUL_RECIPROCAL 3 -.Os -.Sh NAME -.Nm BN_mod_mul_reciprocal , -.Nm BN_RECP_CTX_new , -.Nm BN_RECP_CTX_init , -.Nm BN_RECP_CTX_free , -.Nm BN_RECP_CTX_set , -.Nm BN_div_recp , -.Nm BN_reciprocal -.Nd modular multiplication using reciprocal -.Sh SYNOPSIS -.In openssl/bn.h -.Ft int -.Fo BN_mod_mul_reciprocal -.Fa "BIGNUM *r" -.Fa "const BIGNUM *a" -.Fa "const BIGNUM *b" -.Fa "BN_RECP_CTX *recp" -.Fa "BN_CTX *ctx" -.Fc -.Ft BN_RECP_CTX * -.Fo BN_RECP_CTX_new -.Fa void -.Fc -.Ft void -.Fo BN_RECP_CTX_init -.Fa "BN_RECP_CTX *recp" -.Fc -.Ft void -.Fo BN_RECP_CTX_free -.Fa "BN_RECP_CTX *recp" -.Fc -.Ft int -.Fo BN_RECP_CTX_set -.Fa "BN_RECP_CTX *recp" -.Fa "const BIGNUM *m" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_div_recp -.Fa "BIGNUM *dv" -.Fa "BIGNUM *rem" -.Fa "const BIGNUM *a" -.Fa "BN_RECP_CTX *recp" -.Fa "BN_CTX *ctx" -.Fc -.Ft int -.Fo BN_reciprocal -.Fa "BIGNUM *r" -.Fa "const BIGNUM *m" -.Fa "int len" -.Fa "BN_CTX *ctx" -.Fc -.Sh DESCRIPTION -.Fn BN_mod_mul_reciprocal -can be used to perform an efficient -.Xr BN_mod_mul 3 -operation when the operation will be performed repeatedly with the same -modulus. -It computes -.Fa r Ns =( Ns Fa a Ns * Ns Fa b Ns )% Ns Fa m -using -.Fa recp Ns =1/ Ns Fa m , -which is set as described below. -.Fa ctx -is a previously allocated -.Vt BN_CTX -used for temporary variables. -.Pp -.Fn BN_RECP_CTX_new -allocates and initializes a -.Vt BN_RECP_CTX -structure. -.Pp -.Fn BN_RECP_CTX_init -initializes an existing uninitialized -.Vt BN_RECP_CTX . -It is deprecated and dangerous: see -.Sx CAVEATS . -.Pp -.Fn BN_RECP_CTX_free -frees the components of the -.Vt BN_RECP_CTX , -and, if it was created by -.Fn BN_RECP_CTX_new , -also the structure itself. -If -.Fa recp -is a -.Dv NULL -pointer, no action occurs. -.Pp -.Fn BN_RECP_CTX_set -stores -.Fa m -in -.Fa recp -and sets it up for computing -.Pf 1/ Fa m -and shifting it left by -.Fn BN_num_bits m Ns +1 -to make it an integer. -The result and the number of bits it was shifted left will later be -stored in -.Fa recp . -.Pp -.Fn BN_div_recp -divides -.Fa a -by -.Fa m -using -.Fa recp . -It places the quotient in -.Fa dv -and the remainder in -.Fa rem . -.Pp -.Fn BN_reciprocal -divides the -.Fa len Ap th -power of two by -.Fa m -and places the quotient in -.Fa r , -rounding it towards zero to the closest integer. -.Pp -The -.Vt BN_RECP_CTX -structure is defined as follows: -.Bd -literal -typedef struct bn_recp_ctx_st { - BIGNUM N; /* the divisor */ - BIGNUM Nr; /* the reciprocal */ - int num_bits; - int shift; - int flags; -} BN_RECP_CTX; -.Ed -.Pp -It cannot be shared between threads. -.Sh RETURN VALUES -.Fn BN_RECP_CTX_new -returns the newly allocated -.Vt BN_RECP_CTX -or -.Dv NULL -on error. -.Pp -.Fn BN_mod_mul_reciprocal , -.Fn BN_RECP_CTX_set , -and -.Fn BN_div_recp -return 1 for success or 0 on error. -.Pp -.Fn BN_reciprocal -returns -.Fa len -for success or \-1 on error. -.Pp -The error codes can be obtained by -.Xr ERR_get_error 3 . -.Sh SEE ALSO -.Xr BN_add 3 , -.Xr BN_CTX_new 3 , -.Xr BN_new 3 -.Sh HISTORY -.Fn BN_mod_mul_reciprocal -and -.Fn BN_reciprocal -first appeared in SSLeay 0.5.1 and have been available since -.Ox 2.4 . -.Pp -.Vt BN_RECP_CTX -was added in SSLeay 0.9.0. -Before that, the -.Fn BN_mod_mul_reciprocal -arguments were different. -.Pp -.Fn BN_RECP_CTX_new , -.Fn BN_RECP_CTX_init , -.Fn BN_RECP_CTX_free , -.Fn BN_RECP_CTX_set , -and -.Fn BN_div_recp -first appeared in SSLeay 0.9.1 and have been available since -.Ox 2.6 . -.Sh CAVEATS -.Fn BN_RECP_CTX_init -must not be called on a context that was used previously, or -memory used by the embedded -.Vt BIGNUM -structures is leaked immediately. -Besides, it must not be called on a context created with -.Fn BN_RECP_CTX_new , -or the context itself will likely be leaked later. -It can only be used on a static -.Vt BN_RECP_CTX -structure, on one located on the stack, or on one -.Xr malloc 3 Ap ed -manually, but all these options are discouraged because they -will no longer work once -.Vt BN_RECP_CTX -is made opaque. diff --git a/lib/libcrypto/man/Makefile b/lib/libcrypto/man/Makefile index d20c8d8ed53..3616c157d3d 100644 --- a/lib/libcrypto/man/Makefile +++ b/lib/libcrypto/man/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.247 2023/04/27 09:08:08 tb Exp $ +# $OpenBSD: Makefile,v 1.248 2023/04/27 09:43:55 tb Exp $ .include <bsd.own.mk> @@ -78,7 +78,6 @@ MAN= \ BN_kronecker.3 \ BN_mod_inverse.3 \ BN_mod_mul_montgomery.3 \ - BN_mod_mul_reciprocal.3 \ BN_mod_sqrt.3 \ BN_new.3 \ BN_num_bytes.3 \ |