DH_GET_1024_160(3ossl)
β¨ DH_GET_1024_160 β the OpenSSL glow-up page β¨
okay bestie, welcome to the DH_GET_1024_160(3ossl) manual page, aka the spot where OpenSSL keeps all its standardized public primes and prebuilt DH pairs. it's giving "math class but make it iconic" π. we got NIST primes, we got RFC 2409 primes, we got RFC 3526 primes, and we got a little trio of deprecated DH builders that are lowkey in their retirement era π
.
πΈ NAME πΈ
DH_get_1024_160, DH_get_2048_224, DH_get_2048_256, BN_get0_nist_prime_192, BN_get0_nist_prime_224, BN_get0_nist_prime_256, BN_get0_nist_prime_384, BN_get0_nist_prime_521, BN_get_rfc2409_prime_768, BN_get_rfc2409_prime_1024, BN_get_rfc3526_prime_1536, BN_get_rfc3526_prime_2048, BN_get_rfc3526_prime_3072, BN_get_rfc3526_prime_4096, BN_get_rfc3526_prime_6144, BN_get_rfc3526_prime_8192 β create standardized public primes or DH pairs. yes, all sixteen of them, they're all in the group chat π«Ά.
β¨ SYNOPSIS β¨
#include <openssl/dh.h>
const BIGNUM *BN_get0_nist_prime_192(void);
const BIGNUM *BN_get0_nist_prime_224(void);
const BIGNUM *BN_get0_nist_prime_256(void);
const BIGNUM *BN_get0_nist_prime_384(void);
const BIGNUM *BN_get0_nist_prime_521(void);
BIGNUM *BN_get_rfc2409_prime_768(BIGNUM *bn);
BIGNUM *BN_get_rfc2409_prime_1024(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_1536(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_2048(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_3072(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_4096(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_6144(BIGNUM *bn);
BIGNUM *BN_get_rfc3526_prime_8192(BIGNUM *bn);
now, the following functions have been deprecated since OpenSSL 3.0, and you can hide them entirely by defining OPENSSL_API_COMPAT with a suitable version value β see openssl_user_macros(7) if you need the deets π:
#include <openssl/dh.h>
DH *DH_get_1024_160(void);
DH *DH_get_2048_224(void);
DH *DH_get_2048_256(void);
π DESCRIPTION π
okay so first up, the deprecated girlies. DH_get_1024_160(), DH_get_2048_224(), and DH_get_2048_256() each return a DH object for the IETF RFC 5114 value. these functions are deprecated, fr fr β no cap. Applications should instead use EVP_PKEY_CTX_set_dh_rfc5114() and EVP_PKEY_CTX_set_dhx_rfc5114() as described in EVP_PKEY_CTX_ctrl(3), or by setting the OSSL_PKEY_PARAM_GROUP_NAME as specified in "DH parameters" in EVP_PKEY-DH(7) to one of "dh_1024_160", "dh_2048_224" or "dh_2048_256". that's the main character move now π
.
next, the NIST crew. BN_get0_nist_prime_192(), BN_get0_nist_prime_224(), BN_get0_nist_prime_256(), BN_get0_nist_prime_384(), and BN_get0_nist_prime_521() return a BIGNUM for the specific NIST prime curve (e.g., P-256). cute, standardized, obsessed π.
and then the RFC squad. BN_get_rfc2409_prime_768(), BN_get_rfc2409_prime_1024(), BN_get_rfc3526_prime_1536(), BN_get_rfc3526_prime_2048(), BN_get_rfc3526_prime_3072(), BN_get_rfc3526_prime_4096(), BN_get_rfc3526_prime_6144(), and BN_get_rfc3526_prime_8192() return a BIGNUM for the specified size from IETF RFC 2409. and bestie, listen β if bn is not NULL, the BIGNUM will be set into that location as well. two birds, one slay π¦.
π RETURN VALUES π
Defined above. yeah, that's the whole section. it's giving "see previous message" energy, and honestly? iconic π.
π HISTORY π
the functions DH_get_1024_160(), DH_get_2048_224() and DH_get_2048_256() were deprecated in OpenSSL 3.0. they had a good run, we still love them, but the group chat has moved on π.
π COPYRIGHT π
Copyright 2016-2021 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>.
and that's the whole page, bestie π«Άβ¨. this was OpenSSL 3.5.9, dated 2026-09-29 β so go forth, grab your primes, and remember: deprecated doesn't mean unloved, it just means EVP_PKEY_CTX_set_dh_rfc5114() is the moment now π
πΈ. bye pookie, stan safe! π§π
π¦ where this page comes from
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 43: openssl-devel 1:3.5.9-1.fc43 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- fedora 44: openssl-devel 1:3.5.9-1.fc44 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms