summaryrefslogtreecommitdiff
path: root/src/lib/libcrypto/bn/bn_const.c
diff options
context:
space:
mode:
authorjsing <>2018-02-20 17:02:30 +0000
committerjsing <>2018-02-20 17:02:30 +0000
commit5bf183e39d6cd514bbf349bc1c1b2deb8620ea79 (patch)
tree320c0dbc29edbb3bbe014156fdd2a1e6e45daad8 /src/lib/libcrypto/bn/bn_const.c
parent65ef88b52f628263e28333ef28dee7d5b1fdf1f7 (diff)
downloadopenbsd-5bf183e39d6cd514bbf349bc1c1b2deb8620ea79.tar.gz
openbsd-5bf183e39d6cd514bbf349bc1c1b2deb8620ea79.tar.bz2
openbsd-5bf183e39d6cd514bbf349bc1c1b2deb8620ea79.zip
Provide BN_get_rfc2409_prime_*() and BN_get_rfc3526_prime_*().
Diffstat (limited to 'src/lib/libcrypto/bn/bn_const.c')
-rw-r--r--src/lib/libcrypto/bn/bn_const.c50
1 files changed, 49 insertions, 1 deletions
diff --git a/src/lib/libcrypto/bn/bn_const.c b/src/lib/libcrypto/bn/bn_const.c
index 4be9f4f791..0ceff9160d 100644
--- a/src/lib/libcrypto/bn/bn_const.c
+++ b/src/lib/libcrypto/bn/bn_const.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: bn_const.c,v 1.4 2014/06/12 15:49:28 deraadt Exp $ */ 1/* $OpenBSD: bn_const.c,v 1.5 2018/02/20 17:02:30 jsing Exp $ */
2/* Insert boilerplate */ 2/* Insert boilerplate */
3 3
4#include <openssl/bn.h> 4#include <openssl/bn.h>
@@ -27,6 +27,12 @@ get_rfc2409_prime_768(BIGNUM *bn)
27 return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn); 27 return BN_bin2bn(RFC2409_PRIME_768, sizeof(RFC2409_PRIME_768), bn);
28} 28}
29 29
30BIGNUM *
31BN_get_rfc2409_prime_768(BIGNUM *bn)
32{
33 return get_rfc2409_prime_768(bn);
34}
35
30/* "Second Oakley Default Group" from RFC2409, section 6.2. 36/* "Second Oakley Default Group" from RFC2409, section 6.2.
31 * 37 *
32 * The prime is: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }. 38 * The prime is: 2^1024 - 2^960 - 1 + 2^64 * { [2^894 pi] + 129093 }.
@@ -54,6 +60,12 @@ get_rfc2409_prime_1024(BIGNUM *bn)
54 return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn); 60 return BN_bin2bn(RFC2409_PRIME_1024, sizeof(RFC2409_PRIME_1024), bn);
55} 61}
56 62
63BIGNUM *
64BN_get_rfc2409_prime_1024(BIGNUM *bn)
65{
66 return get_rfc2409_prime_1024(bn);
67}
68
57/* "1536-bit MODP Group" from RFC3526, Section 2. 69/* "1536-bit MODP Group" from RFC3526, Section 2.
58 * 70 *
59 * The prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 } 71 * The prime is: 2^1536 - 2^1472 - 1 + 2^64 * { [2^1406 pi] + 741804 }
@@ -86,6 +98,12 @@ get_rfc3526_prime_1536(BIGNUM *bn)
86 return BN_bin2bn(RFC3526_PRIME_1536, sizeof(RFC3526_PRIME_1536), bn); 98 return BN_bin2bn(RFC3526_PRIME_1536, sizeof(RFC3526_PRIME_1536), bn);
87} 99}
88 100
101BIGNUM *
102BN_get_rfc3526_prime_1536(BIGNUM *bn)
103{
104 return get_rfc3526_prime_1536(bn);
105}
106
89/* "2048-bit MODP Group" from RFC3526, Section 3. 107/* "2048-bit MODP Group" from RFC3526, Section 3.
90 * 108 *
91 * The prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 } 109 * The prime is: 2^2048 - 2^1984 - 1 + 2^64 * { [2^1918 pi] + 124476 }
@@ -123,6 +141,12 @@ get_rfc3526_prime_2048(BIGNUM *bn)
123 return BN_bin2bn(RFC3526_PRIME_2048, sizeof(RFC3526_PRIME_2048), bn); 141 return BN_bin2bn(RFC3526_PRIME_2048, sizeof(RFC3526_PRIME_2048), bn);
124} 142}
125 143
144BIGNUM *
145BN_get_rfc3526_prime_2048(BIGNUM *bn)
146{
147 return get_rfc3526_prime_2048(bn);
148}
149
126/* "3072-bit MODP Group" from RFC3526, Section 4. 150/* "3072-bit MODP Group" from RFC3526, Section 4.
127 * 151 *
128 * The prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 } 152 * The prime is: 2^3072 - 2^3008 - 1 + 2^64 * { [2^2942 pi] + 1690314 }
@@ -170,6 +194,12 @@ get_rfc3526_prime_3072(BIGNUM *bn)
170 return BN_bin2bn(RFC3526_PRIME_3072, sizeof(RFC3526_PRIME_3072), bn); 194 return BN_bin2bn(RFC3526_PRIME_3072, sizeof(RFC3526_PRIME_3072), bn);
171} 195}
172 196
197BIGNUM *
198BN_get_rfc3526_prime_3072(BIGNUM *bn)
199{
200 return get_rfc3526_prime_3072(bn);
201}
202
173/* "4096-bit MODP Group" from RFC3526, Section 5. 203/* "4096-bit MODP Group" from RFC3526, Section 5.
174 * 204 *
175 * The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 } 205 * The prime is: 2^4096 - 2^4032 - 1 + 2^64 * { [2^3966 pi] + 240904 }
@@ -228,6 +258,12 @@ get_rfc3526_prime_4096(BIGNUM *bn)
228 return BN_bin2bn(RFC3526_PRIME_4096, sizeof(RFC3526_PRIME_4096), bn); 258 return BN_bin2bn(RFC3526_PRIME_4096, sizeof(RFC3526_PRIME_4096), bn);
229} 259}
230 260
261BIGNUM *
262BN_get_rfc3526_prime_4096(BIGNUM *bn)
263{
264 return get_rfc3526_prime_4096(bn);
265}
266
231/* "6144-bit MODP Group" from RFC3526, Section 6. 267/* "6144-bit MODP Group" from RFC3526, Section 6.
232 * 268 *
233 * The prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 } 269 * The prime is: 2^6144 - 2^6080 - 1 + 2^64 * { [2^6014 pi] + 929484 }
@@ -307,6 +343,12 @@ get_rfc3526_prime_6144(BIGNUM *bn)
307 return BN_bin2bn(RFC3526_PRIME_6144, sizeof(RFC3526_PRIME_6144), bn); 343 return BN_bin2bn(RFC3526_PRIME_6144, sizeof(RFC3526_PRIME_6144), bn);
308} 344}
309 345
346BIGNUM *
347BN_get_rfc3526_prime_6144(BIGNUM *bn)
348{
349 return get_rfc3526_prime_6144(bn);
350}
351
310/* "8192-bit MODP Group" from RFC3526, Section 7. 352/* "8192-bit MODP Group" from RFC3526, Section 7.
311 * 353 *
312 * The prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 } 354 * The prime is: 2^8192 - 2^8128 - 1 + 2^64 * { [2^8062 pi] + 4743158 }
@@ -407,3 +449,9 @@ get_rfc3526_prime_8192(BIGNUM *bn)
407 }; 449 };
408 return BN_bin2bn(RFC3526_PRIME_8192, sizeof(RFC3526_PRIME_8192), bn); 450 return BN_bin2bn(RFC3526_PRIME_8192, sizeof(RFC3526_PRIME_8192), bn);
409} 451}
452
453BIGNUM *
454BN_get_rfc3526_prime_8192(BIGNUM *bn)
455{
456 return get_rfc3526_prime_8192(bn);
457}