EVP_KDF-HMAC-DRBG(7ossl)
π EVP_KDF-HMAC-DRBG π
okay bestie, welcome to the EVP_KDF-HMAC-DRBG page β this is an ossl manpage, so settle in π
β¨ NAME β¨
EVP_KDF-HMAC-DRBG β the HMAC DRBG DETERMINISTIC EVP_KDF implementation. yes, all caps DETERMINISTIC, it's that serious π
πΈ DESCRIPTION πΈ
so here's the vibe: this gives you support for a deterministic HMAC DRBG using the EVP_KDF API π¦
it's similar to EVP_RAND-HMAC-DRBG(7), but β and this is the main character detail β it uses fixed values for its entropy and nonce values π₯
what's it for? generating the deterministic nonce value that ECDSA and DSA need (as defined in RFC 6979). periodt π
π Identity π
"HMAC-DRBG-KDF" is the name for this implementation β that's the string you feed to the EVP_KDF_fetch() function, iykyk β¨
π Supported parameters π
the supported parameters are:
"digest"(OSSL_DRBG_PARAM_DIGEST)<UTF8 string>"properties"(OSSL_DRBG_PARAM_PROPERTIES)<UTF8 string>
these parameters work as described in "PARAMETERS" in EVP_KDF(3). literally just go read that section bestie π
"entropy"(OSSL_KDF_PARAM_HMACDRBG_ENTROPY)<octet string>
sets the entropy bytes supplied to the HMAC-DRBG π
"nonce"(OSSL_KDF_PARAM_HMACDRBG_NONCE)<octet string>
sets the nonce bytes supplied to the HMAC-DRBG πΈ
π NOTES π
you can get a context for KDF HMAC DRBG by calling this, copy it exactly bestie:
EVP_KDF *kdf = EVP_KDF_fetch(NULL, "HMAC-DRBG-KDF", NULL);
EVP_KDF_CTX *kdf_ctx = EVP_KDF_CTX_new(kdf, NULL);
it's giving "two lines and you're done" ππ
π¦ CONFORMING TO π¦
RFC 6979 β that's the one, no cap π
β SEE ALSO β
EVP_KDF(3), "PARAMETERS" in EVP_KDF(3) β go click those, they're the supporting cast π«Ά
π HISTORY π
the EVP_KDF-HMAC-DRBG functionality was added in OpenSSL 3.2. so if you're on something older, that's why it's not vibing π
π COPYRIGHT π
Copyright 2022-2023 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>.
fr fr read the license before you do anything, it's not optional π
and that's the whole page, bestie π this was version 3.5.0, dated 2026-09-25 β screenshot it, cite it, slay it π
β¨π¦
π¦ where this page comes from
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- opensuse-leap 16.0: openssl-3 3.5.0-160000.11.1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms