summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/libcrypto/man/BN_mod_mul_montgomery.377
1 files changed, 72 insertions, 5 deletions
diff --git a/src/lib/libcrypto/man/BN_mod_mul_montgomery.3 b/src/lib/libcrypto/man/BN_mod_mul_montgomery.3
index 963ba8fcd4..7b22efd7f5 100644
--- a/src/lib/libcrypto/man/BN_mod_mul_montgomery.3
+++ b/src/lib/libcrypto/man/BN_mod_mul_montgomery.3
@@ -1,7 +1,25 @@
1.\" $OpenBSD: BN_mod_mul_montgomery.3,v 1.13 2021/12/06 19:45:27 schwarze Exp $ 1.\" $OpenBSD: BN_mod_mul_montgomery.3,v 1.14 2021/12/21 11:14:07 schwarze Exp $
2.\" OpenSSL 6859cf74 Sep 25 13:33:28 2002 +0000 2.\" full merge up to: OpenSSL 6859cf74 Sep 25 13:33:28 2002 +0000
3.\" selective merge up to: OpenSSL 24a535ea Sep 22 13:14:20 2020 +0100
3.\" 4.\"
4.\" This file was written by Ulf Moeller <ulf@openssl.org>. 5.\" This file is a derived work.
6.\" The changes are covered by the following Copyright and license:
7.\"
8.\" Copyright (c) 2021 Ingo Schwarze <schwarze@openbsd.org>
9.\"
10.\" Permission to use, copy, modify, and distribute this software for any
11.\" purpose with or without fee is hereby granted, provided that the above
12.\" copyright notice and this permission notice appear in all copies.
13.\"
14.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
15.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
16.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
17.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
18.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
19.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
20.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
21.\"
22.\" The original file was written by Ulf Moeller <ulf@openssl.org>.
5.\" Copyright (c) 2000 The OpenSSL Project. All rights reserved. 23.\" Copyright (c) 2000 The OpenSSL Project. All rights reserved.
6.\" 24.\"
7.\" Redistribution and use in source and binary forms, with or without 25.\" Redistribution and use in source and binary forms, with or without
@@ -48,7 +66,7 @@
48.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 66.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
49.\" OF THE POSSIBILITY OF SUCH DAMAGE. 67.\" OF THE POSSIBILITY OF SUCH DAMAGE.
50.\" 68.\"
51.Dd $Mdocdate: December 6 2021 $ 69.Dd $Mdocdate: December 21 2021 $
52.Dt BN_MOD_MUL_MONTGOMERY 3 70.Dt BN_MOD_MUL_MONTGOMERY 3
53.Os 71.Os
54.Sh NAME 72.Sh NAME
@@ -56,6 +74,7 @@
56.Nm BN_MONT_CTX_init , 74.Nm BN_MONT_CTX_init ,
57.Nm BN_MONT_CTX_free , 75.Nm BN_MONT_CTX_free ,
58.Nm BN_MONT_CTX_set , 76.Nm BN_MONT_CTX_set ,
77.Nm BN_MONT_CTX_set_locked ,
59.Nm BN_MONT_CTX_copy , 78.Nm BN_MONT_CTX_copy ,
60.Nm BN_mod_mul_montgomery , 79.Nm BN_mod_mul_montgomery ,
61.Nm BN_from_montgomery , 80.Nm BN_from_montgomery ,
@@ -82,6 +101,13 @@
82.Fa "BN_CTX *ctx" 101.Fa "BN_CTX *ctx"
83.Fc 102.Fc
84.Ft BN_MONT_CTX * 103.Ft BN_MONT_CTX *
104.Fo BN_MONT_CTX_set_locked
105.Fa "BN_MONT_CTX **pmont"
106.Fa "int lock"
107.Fa "const BIGNUM *m"
108.Fa "BN_CTX *ctx"
109.Fc
110.Ft BN_MONT_CTX *
85.Fo BN_MONT_CTX_copy 111.Fo BN_MONT_CTX_copy
86.Fa "BN_MONT_CTX *to" 112.Fa "BN_MONT_CTX *to"
87.Fa "BN_MONT_CTX *from" 113.Fa "BN_MONT_CTX *from"
@@ -133,6 +159,37 @@ structure from the modulus
133.Fa m 159.Fa m
134by precomputing its inverse and a value R. 160by precomputing its inverse and a value R.
135.Pp 161.Pp
162.Fn BN_MONT_CTX_set_locked
163is a wrapper around
164.Fn BN_MONT_CTX_new
165and
166.Fn BN_MONT_CTX_set
167that is useful if more than one thread intends to use the same
168.Vt BN_MONT_CTX
169and none of these threads is exclusively responsible for creating
170and initializing the context.
171.Fn BN_MONT_CTX_set_locked
172first acquires the specified
173.Fa lock
174using
175.Xr CRYPTO_lock 3 .
176If
177.Pf * Fa pmont
178already differs from
179.Dv NULL ,
180no action occurs.
181Otherwise, a new
182.Vt BN_MONT_CTX
183is allocated with
184.Fn BN_MONT_CTX_new ,
185set up with
186.Fn BN_MONT_CTX_set ,
187and a pointer to it is stored in
188.Pf * Fa pmont .
189Finally, the
190.Fa lock
191is released.
192.Pp
136.Fn BN_MONT_CTX_copy 193.Fn BN_MONT_CTX_copy
137copies the 194copies the
138.Vt BN_MONT_CTX 195.Vt BN_MONT_CTX
@@ -207,13 +264,19 @@ or
207.Dv NULL 264.Dv NULL
208on error. 265on error.
209.Pp 266.Pp
267.Fn BN_MONT_CTX_set_locked
268returns a pointer to the existing or newly created context or
269.Dv NULL
270on error.
271.Pp
210For the other functions, 1 is returned for success or 0 on error. 272For the other functions, 1 is returned for success or 0 on error.
211The error codes can be obtained by 273The error codes can be obtained by
212.Xr ERR_get_error 3 . 274.Xr ERR_get_error 3 .
213.Sh SEE ALSO 275.Sh SEE ALSO
214.Xr BN_add 3 , 276.Xr BN_add 3 ,
215.Xr BN_CTX_new 3 , 277.Xr BN_CTX_new 3 ,
216.Xr BN_new 3 278.Xr BN_new 3 ,
279.Xr CRYPTO_lock 3
217.Sh HISTORY 280.Sh HISTORY
218.Fn BN_MONT_CTX_new , 281.Fn BN_MONT_CTX_new ,
219.Fn BN_MONT_CTX_free , 282.Fn BN_MONT_CTX_free ,
@@ -230,6 +293,10 @@ and
230.Fn BN_MONT_CTX_copy 293.Fn BN_MONT_CTX_copy
231first appeared in SSLeay 0.9.1 and have been available since 294first appeared in SSLeay 0.9.1 and have been available since
232.Ox 2.6 . 295.Ox 2.6 .
296.Pp
297.Fn BN_MONT_CTX_set_locked
298first appeared in OpenSSL 0.9.8 and has been available since
299.Ox 4.0 .
233.Sh CAVEATS 300.Sh CAVEATS
234.Fn BN_MONT_CTX_init 301.Fn BN_MONT_CTX_init
235must not be called on a context that was used previously, or 302must not be called on a context that was used previously, or