DH_SIZE(3ossl)
๐ DH_SIZE(3ossl) โ the OpenSSL girlies' guide ๐
okay so bestie, you're in the OpenSSL manual, and today's episode is all about the DH prime-size trio: DH_size, DH_bits, and DH_security_bits. it's giving "measurement era". let's go ๐ซถ
โจ NAME โจ
DH_size, DH_bits, DH_security_bits โ get Diffie-Hellman prime size and security bits ๐ข
โจ SYNOPSIS โจ
#include <openssl/dh.h>
The following functions have been deprecated since OpenSSL 3.0, and can be hidden entirely by defining OPENSSL_API_COMPAT with a suitable version value, see openssl_user_macros(7):
int DH_bits(const DH *dh);
int DH_size(const DH *dh);
int DH_security_bits(const DH *dh);
โจ DESCRIPTION โจ
๐จ the functions described on this page are deprecated. Applications should instead useEVP_PKEY_get_bits(3),EVP_PKEY_get_security_bits(3)andEVP_PKEY_get_size(3). no cap, that's the glow-up. ๐
DH_bits() returns the number of significant bits. โจ
dh and dh->p must not be NULL. literally do not do that. ๐
DH_size() returns the Diffie-Hellman prime size in bytes. It can be used to determine how much memory must be allocated for the shared secret computed by DH_compute_key(3). so like, it's your lil memory-budget calculator ๐งฎ
DH_security_bits() returns the number of security bits of the given dh key. See BN_security_bits(3). ๐
โจ RETURN VALUES โจ
DH_bits()โ returns the number of bits in the key, or-1ifdhdoesn't hold any key parameters.DH_size()โ returns the prime size of Diffie-Hellman in bytes, or-1ifdhdoesn't hold any key parameters.DH_security_bits()โ returns the number of security bits, or-1ifdhdoesn't hold any key parameters.
so basically if you get a -1, it's not a vibe โ it means dh has no key parameters. ๐
โจ SEE ALSO โจ
EVP_PKEY_get_bits(3), DH_new(3), DH_generate_key(3), BN_num_bits(3) ๐
โจ HISTORY โจ
All functions were deprecated in OpenSSL 3.0. iconic behaviour, unfortunately the bad kind ๐ญ
โจ COPYRIGHT โจ
Copyright 2000-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 tea โ this page is from the OpenSSL 3.5.9 manual, dated 2026-09-29, filed under DH_SIZE(3ossl). mwah ๐ go read EVP_PKEY_get_size(3) instead, bestie, your future self will thank you ๐๐ฆ
๐ฆ 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