summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/man/get_rfc3526_prime_8192.3
diff options
context:
space:
mode:
authorcvs2svn <admin@example.com>2021-08-18 16:06:57 +0000
committercvs2svn <admin@example.com>2021-08-18 16:06:57 +0000
commitd56c8fa8260d226f98b26f017b45b9c2b135f38d (patch)
tree348178b41617813cc93787187984a734ef8379ca /src/lib/libcrypto/man/get_rfc3526_prime_8192.3
parent18b9c1bcab7c37d8c5bd05b8e0d14d0c59d96650 (diff)
downloadopenbsd-tb_20210818.tar.gz
openbsd-tb_20210818.tar.bz2
openbsd-tb_20210818.zip
This commit was manufactured by cvs2git to create tag 'tb_20210818'.tb_20210818
Diffstat (limited to 'src/lib/libcrypto/man/get_rfc3526_prime_8192.3')
-rw-r--r--src/lib/libcrypto/man/get_rfc3526_prime_8192.3178
1 files changed, 0 insertions, 178 deletions
diff --git a/src/lib/libcrypto/man/get_rfc3526_prime_8192.3 b/src/lib/libcrypto/man/get_rfc3526_prime_8192.3
deleted file mode 100644
index b26e28be9a..0000000000
--- a/src/lib/libcrypto/man/get_rfc3526_prime_8192.3
+++ /dev/null
@@ -1,178 +0,0 @@
1.\" $OpenBSD: get_rfc3526_prime_8192.3,v 1.4 2018/03/23 23:18:17 schwarze Exp $
2.\" checked up to: OpenSSL DH_get_1024_160 99d63d46 Oct 26 13:56:48 2016 -0400
3.\"
4.\" Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
5.\"
6.\" Permission to use, copy, modify, and distribute this software for any
7.\" purpose with or without fee is hereby granted, provided that the above
8.\" copyright notice and this permission notice appear in all copies.
9.\"
10.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17.\"
18.Dd $Mdocdate: March 23 2018 $
19.Dt GET_RFC3526_PRIME_8192 3
20.Os
21.Sh NAME
22.Nm get_rfc2409_prime_768 ,
23.Nm get_rfc2409_prime_1024 ,
24.Nm get_rfc3526_prime_1536 ,
25.Nm get_rfc3526_prime_2048 ,
26.Nm get_rfc3526_prime_3072 ,
27.Nm get_rfc3526_prime_4096 ,
28.Nm get_rfc3526_prime_6144 ,
29.Nm get_rfc3526_prime_8192 ,
30.Nm BN_get_rfc2409_prime_768 ,
31.Nm BN_get_rfc2409_prime_1024 ,
32.Nm BN_get_rfc3526_prime_2048 ,
33.Nm BN_get_rfc3526_prime_3072 ,
34.Nm BN_get_rfc3526_prime_4096 ,
35.Nm BN_get_rfc3526_prime_6144 ,
36.Nm BN_get_rfc3526_prime_8192
37.Nd standard moduli for Diffie-Hellmann key exchange
38.Sh SYNOPSIS
39.In openssl/bn.h
40.Ft BIGNUM *
41.Fn get_rfc2409_prime_768 "BIGNUM *bn"
42.Ft BIGNUM *
43.Fn get_rfc2409_prime_1024 "BIGNUM *bn"
44.Ft BIGNUM *
45.Fn get_rfc3526_prime_1536 "BIGNUM *bn"
46.Ft BIGNUM *
47.Fn get_rfc3526_prime_2048 "BIGNUM *bn"
48.Ft BIGNUM *
49.Fn get_rfc3526_prime_3072 "BIGNUM *bn"
50.Ft BIGNUM *
51.Fn get_rfc3526_prime_4096 "BIGNUM *bn"
52.Ft BIGNUM *
53.Fn get_rfc3526_prime_6144 "BIGNUM *bn"
54.Ft BIGNUM *
55.Fn get_rfc3526_prime_8192 "BIGNUM *bn"
56.Ft BIGNUM *
57.Fn BN_get_rfc2409_prime_768 "BIGNUM *bn"
58.Ft BIGNUM *
59.Fn BN_get_rfc2409_prime_1024 "BIGNUM *bn"
60.Ft BIGNUM *
61.Fn BN_get_rfc3526_prime_1536 "BIGNUM *bn"
62.Ft BIGNUM *
63.Fn BN_get_rfc3526_prime_2048 "BIGNUM *bn"
64.Ft BIGNUM *
65.Fn BN_get_rfc3526_prime_3072 "BIGNUM *bn"
66.Ft BIGNUM *
67.Fn BN_get_rfc3526_prime_4096 "BIGNUM *bn"
68.Ft BIGNUM *
69.Fn BN_get_rfc3526_prime_6144 "BIGNUM *bn"
70.Ft BIGNUM *
71.Fn BN_get_rfc3526_prime_8192 "BIGNUM *bn"
72.Sh DESCRIPTION
73Each of these functions returns one specific constant Sophie Germain
74prime number
75.Fa p .
76The names with the prefix
77.Sq BN_
78are aliases for the names without that prefix.
79.Pp
80If
81.Fa bn
82is
83.Dv NULL ,
84a new
85.Vt BIGNUM
86object is created and returned.
87Otherwise, the number is stored in
88.Pf * Fa bn
89and
90.Fa bn
91is returned.
92.Pp
93All these numbers are of the form
94.Pp
95.EQ
96p = 2 sup s - 2 sup left ( s - 64 right ) - 1 + 2 sup 64 *
97left { left [ 2 sup left ( s - 130 right ) pi right ] + offset right }
98delim $$
99.EN
100.Pp
101where
102.Ar s
103is the size of the binary representation of the number in bits
104and appears at the end of the function names.
105As long as the offset is sufficiently small, the above form assures
106that the top and bottom 64 bits of each number are all 1.
107.Pp
108The offsets are defined in the standards as follows:
109.Bl -column 16n 8n -offset indent
110.It size Ar s Ta Ar offset
111.It Ta
112.It \ 768 = 3 * 2^8 Ta 149686
113.It 1024 = 2 * 2^9 Ta 129093
114.It 1536 = 3 * 2^9 Ta 741804
115.It 2048 = 2 * 2^10 Ta 124476
116.It 3072 = 3 * 2^10 Ta 1690314
117.It 4096 = 2 * 2^11 Ta 240904
118.It 6144 = 3 * 2^11 Ta 929484
119.It 8192 = 2 * 2^12 Ta 4743158
120.El
121.Pp
122For each of these prime numbers, the finite group of natural numbers
123smaller than
124.Fa p ,
125where the group operation is defined as multiplication modulo
126.Fa p ,
127is used for Diffie-Hellmann key exchange.
128The first two of these groups are called the First Oakley Group and
129the Second Oakley Group.
130Obiviously, all these groups are cyclic groups of order
131.Fa p ,
132respectively, and the numbers returned by these functions are not
133secrets.
134.Sh RETURN VALUES
135If memory allocation fails, these functions return
136.Dv NULL .
137That can happen even if
138.Fa bn
139is not
140.Dv NULL .
141.Sh SEE ALSO
142.Xr BN_mod_exp 3 ,
143.Xr BN_new 3 ,
144.Xr BN_set_flags 3 ,
145.Xr DH_new 3
146.Sh STANDARDS
147RFC 2409, "The Internet Key Exchange (IKE)", defines the Oakley Groups.
148.Pp
149RFC 2412, "The OAKLEY Key Determination Protocol", contains additional
150information about these numbers.
151.Pp
152RFC 3526, "More Modular Exponential (MODP) Diffie-Hellman groups
153for Internet Key Exchange (IKE)", defines the other six numbers.
154.Sh HISTORY
155.Fn get_rfc2409_prime_768 ,
156.Fn get_rfc2409_prime_1024 ,
157.Fn get_rfc3526_prime_1536 ,
158.Fn get_rfc3526_prime_2048 ,
159.Fn get_rfc3526_prime_3072 ,
160.Fn get_rfc3526_prime_4096 ,
161.Fn get_rfc3526_prime_6144 ,
162and
163.Fn get_rfc3526_prime_8192
164first appeared in OpenSSL 0.9.8a and have been available since
165.Ox 4.5 .
166.Pp
167The
168.Sy BN_
169aliases first appeared in OpenSSL 1.1.0 and have been available since
170.Ox 6.3 .
171.Sh CAVEATS
172As all the memory needed for storing the numbers is dynamically
173allocated, the
174.Dv BN_FLG_STATIC_DATA
175flag is not set on the returned
176.Vt BIGNUM
177objects.
178So be careful to not change the returned numbers.