diff options
Diffstat (limited to 'src/lib/libcrypto/man')
-rw-r--r-- | src/lib/libcrypto/man/BN_generate_prime.3 | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/src/lib/libcrypto/man/BN_generate_prime.3 b/src/lib/libcrypto/man/BN_generate_prime.3 index 2369b6f24f..7db27fd627 100644 --- a/src/lib/libcrypto/man/BN_generate_prime.3 +++ b/src/lib/libcrypto/man/BN_generate_prime.3 | |||
@@ -1,6 +1,5 @@ | |||
1 | .\" $OpenBSD: BN_generate_prime.3,v 1.17 2019/06/10 14:58:48 schwarze Exp $ | 1 | .\" $OpenBSD: BN_generate_prime.3,v 1.18 2019/08/25 19:24:00 schwarze Exp $ |
2 | .\" full merge up to: OpenSSL b3696a55 Sep 2 09:35:50 2017 -0400 | 2 | .\" full merge up to: OpenSSL f987a4dd Jun 27 10:12:08 2019 +0200 |
3 | .\" selective merge up to: OpenSSL df75c2bf Dec 9 01:02:36 2018 +0100 | ||
4 | .\" | 3 | .\" |
5 | .\" This file was written by Ulf Moeller <ulf@openssl.org> | 4 | .\" This file was written by Ulf Moeller <ulf@openssl.org> |
6 | .\" Bodo Moeller <bodo@openssl.org>, and Matt Caswell <matt@openssl.org>. | 5 | .\" Bodo Moeller <bodo@openssl.org>, and Matt Caswell <matt@openssl.org>. |
@@ -51,7 +50,7 @@ | |||
51 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED | 50 | .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED |
52 | .\" OF THE POSSIBILITY OF SUCH DAMAGE. | 51 | .\" OF THE POSSIBILITY OF SUCH DAMAGE. |
53 | .\" | 52 | .\" |
54 | .Dd $Mdocdate: June 10 2019 $ | 53 | .Dd $Mdocdate: August 25 2019 $ |
55 | .Dt BN_GENERATE_PRIME 3 | 54 | .Dt BN_GENERATE_PRIME 3 |
56 | .Os | 55 | .Os |
57 | .Sh NAME | 56 | .Sh NAME |
@@ -156,6 +155,8 @@ Deprecated: | |||
156 | .Fn BN_generate_prime_ex | 155 | .Fn BN_generate_prime_ex |
157 | generates a pseudo-random prime number of at least bit length | 156 | generates a pseudo-random prime number of at least bit length |
158 | .Fa bits . | 157 | .Fa bits . |
158 | The returned number is probably prime, but there is a very small | ||
159 | probability of returning a non-prime number. | ||
159 | If | 160 | If |
160 | .Fa ret | 161 | .Fa ret |
161 | is not | 162 | is not |
@@ -212,8 +213,6 @@ If | |||
212 | is true, it will be a safe prime (i.e. a prime p so that (p-1)/2 | 213 | is true, it will be a safe prime (i.e. a prime p so that (p-1)/2 |
213 | is also prime). | 214 | is also prime). |
214 | .Pp | 215 | .Pp |
215 | The prime number generation has a negligible error probability. | ||
216 | .Pp | ||
217 | .Fn BN_is_prime_ex | 216 | .Fn BN_is_prime_ex |
218 | and | 217 | and |
219 | .Fn BN_is_prime_fasttest_ex | 218 | .Fn BN_is_prime_fasttest_ex |
@@ -251,8 +250,21 @@ If | |||
251 | .Fa nchecks | 250 | .Fa nchecks |
252 | == | 251 | == |
253 | .Dv BN_prime_checks , | 252 | .Dv BN_prime_checks , |
254 | a number of iterations is used that yields a false positive rate of at | 253 | a number of iterations is used that yields a false positive rate |
255 | most 2^-80 for random input. | 254 | of at most 2\(ha-64 for random input. |
255 | The error rate depends on the size of the prime | ||
256 | and goes down for bigger primes. | ||
257 | The rate is 2\(ha-80 starting at 308 bits, 2\(ha-112 at 852 bits, | ||
258 | 2\(ha-128 at 1080 bits, 2\(ha-192 at 3747 bits | ||
259 | and 2\(ha-256 at 6394 bits. | ||
260 | .Pp | ||
261 | When the source of the prime is not random or not trusted, the | ||
262 | number of checks needs to be much higher to reach the same level | ||
263 | of assurance: It should equal half of the targeted security level | ||
264 | in bits (rounded up to the next integer if necessary). | ||
265 | For instance, to reach the 128 bit security level, | ||
266 | .Fa nchecks | ||
267 | should be set to 64. | ||
256 | .Pp | 268 | .Pp |
257 | If | 269 | If |
258 | .Fa cb | 270 | .Fa cb |