DH_GENERATE_KEY(3ssl) OpenSSL DH_GENERATE_KEY(3ssl) DH_generate_key, DH_compute_key, DH_compute_key_padded - Diffie-Hellman #include OpenSSL 3.0 OPENSSL_API_COMPAT openssl_user_macros(7): int DH_generate_key(DH *dh); int DH_compute_key(unsigned char *key, const BIGNUM *pub_key, DH *dh); int DH_compute_key_padded(unsigned char *key, const BIGNUM *pub_key, DH *dh); . EVP_PKEY_derive_init(3) EVP_PKEY_derive(3) . DH_generate_key() Diffie-Hellman DH . DH_compute_key() DH_compute_key_padded() . DH_generate_key() dh dh->p dh->g. DH dh->priv_key dh->pub_key . DH_compute_key() DH dh pub_key key. key DH_size(dh) . RFC 5246 (8.1.2) . . . DH_compute_key_padded() . NIST SP 800-56A (C.1) . . . DH_generate_key() 1 0 . DH_compute_key() -1 . DH_compute_key_padded() DH_size(dh) -1 . ERR_get_error(3). EVP_PKEY_derive(3), DH_new(3), ERR_get_error(3), RAND_bytes(3), DH_size(3) DH_compute_key_padded() OpenSSL 1.0.2. OpenSSL 3.0. 2000-2021 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 DH_GENERATE_KEY(3ssl)