mirror of
https://github.com/openssl/openssl.git
synced 2024-12-15 06:01:37 +08:00
738ee1819e
DH_set0_pqg() is now responsible for caching the nid, q and length. DH with or without named safe prime groups now default to using the maximum private key length (BN_num_bits(q) - 1) when generating a DH private key. The code is now shared between fips and non fips mode for DH key generation. The OSSL_PKEY_PARAM_DH_PRIV_LEN parameter can be used during keygen to override the maximum private key length to be in the range (2 * strength ... bits(q) - 1). Where the strength depends on the length of p. Added q = (p - 1) / 2 safe prime BIGNUMS so that the code is data driven (To simplify adding new names). The BIGNUMS were code generated. Fix error in documented return value for DH_get_nid Reviewed-by: Richard Levitte <levitte@openssl.org> (Merged from https://github.com/openssl/openssl/pull/11562)
44 lines
1.5 KiB
C
44 lines
1.5 KiB
C
/*
|
|
* Copyright 2015-2020 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the Apache License 2.0 (the "License"). You may not use
|
|
* this file except in compliance with the License. You can obtain a copy
|
|
* in the file LICENSE in the source distribution or at
|
|
* https://www.openssl.org/source/license.html
|
|
*/
|
|
|
|
#define declare_dh_bn(x) \
|
|
extern const BIGNUM _bignum_dh##x##_p; \
|
|
extern const BIGNUM _bignum_dh##x##_q; \
|
|
extern const BIGNUM _bignum_dh##x##_g; \
|
|
|
|
declare_dh_bn(1024_160)
|
|
declare_dh_bn(2048_224)
|
|
declare_dh_bn(2048_256)
|
|
|
|
extern const BIGNUM _bignum_const_2;
|
|
|
|
extern const BIGNUM _bignum_ffdhe2048_p;
|
|
extern const BIGNUM _bignum_ffdhe3072_p;
|
|
extern const BIGNUM _bignum_ffdhe4096_p;
|
|
extern const BIGNUM _bignum_ffdhe6144_p;
|
|
extern const BIGNUM _bignum_ffdhe8192_p;
|
|
extern const BIGNUM _bignum_ffdhe2048_q;
|
|
extern const BIGNUM _bignum_ffdhe3072_q;
|
|
extern const BIGNUM _bignum_ffdhe4096_q;
|
|
extern const BIGNUM _bignum_ffdhe6144_q;
|
|
extern const BIGNUM _bignum_ffdhe8192_q;
|
|
|
|
extern const BIGNUM _bignum_modp_1536_p;
|
|
extern const BIGNUM _bignum_modp_2048_p;
|
|
extern const BIGNUM _bignum_modp_3072_p;
|
|
extern const BIGNUM _bignum_modp_4096_p;
|
|
extern const BIGNUM _bignum_modp_6144_p;
|
|
extern const BIGNUM _bignum_modp_8192_p;
|
|
extern const BIGNUM _bignum_modp_1536_q;
|
|
extern const BIGNUM _bignum_modp_2048_q;
|
|
extern const BIGNUM _bignum_modp_3072_q;
|
|
extern const BIGNUM _bignum_modp_4096_q;
|
|
extern const BIGNUM _bignum_modp_6144_q;
|
|
extern const BIGNUM _bignum_modp_8192_q;
|