DH_SIZE(3SSL)
π DH_SIZE(3SSL) π
okay bestie, welcome to DH_SIZE(3SSL) from the OpenSSL fam β this is the page about grabbing the Diffie-Hellman prime size and the security bits, and yes it's giving "legacy era, we don't really do this anymore" but you still gotta know it, iykyk π¦
β¨ NAME β¨
DH_size, DH_bits, DH_security_bits β get Diffie-Hellman prime size and security bits π
πΈ SYNOPSIS πΈ
#include <openssl/dh.h>
So here's the tea, and it's kind of a big deal: 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 β check out openssl_user_macros(7) for the deets π«Ά
int DH_bits(const DH *dh);
int DH_size(const DH *dh);
int DH_security_bits(const DH *dh);
π DESCRIPTION π
lowkey all the functions on this page are deprecated. like, not me still documenting them but also telling you to move on π Applications should instead use EVP_PKEY_get_bits(3), EVP_PKEY_get_security_bits(3) and EVP_PKEY_get_size(3). periodt.
DH_bits() returns the number of significant bits β¨
careful bestie:dhanddh->pmust not beNULL. that's a vibe check that fails HARD, no cap.
DH_size() returns the Diffie-Hellman prime size in bytes. You can use it to figure out how much memory you need to allocate for the shared secret computed by DH_compute_key(3) π
DH_security_bits() returns the number of security bits of the given dh key. See BN_security_bits(3) for the lore π₯
π 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 see a -1, that's the function telling you "bestie there are no key parameters here", and honestly? valid.
π SEE ALSO π
π¦ HISTORY π¦
All functions were deprecated in OpenSSL 3.0. the way that they got retconned out of relevance fr fr π
π 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 whole page, bestie β no crumbs left behind β¨ This was DH_SIZE(3SSL) from OpenSSL 4.0.3, dated 2026-09-29. slay, go forth and use EVP_PKEY instead, mwah ππ
π¦ where this page comes from
- ubuntu stonking: libssl-doc 4.0.3-1ubuntu1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms