logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

EVP_RAND-CRNG-TEST - The FIPS health testing EVP_RAND filter

Description

This EVP_RAND object acts as a filter between the entropy source and its users. It performs CRNG health tests as defined in SP 800-90B <https://csrc.nist.gov/pubs/sp/800/90/b/final> Section 4 "Health Tests". Most requests are forwarded to the entropy source, either via its parent reference or via the provider entropy upcalls. Identity "CRNG-TEST" is the name for this implementation; it can be used with the EVP_RAND_fetch() function. Supportedparameters If a parent EVP_RAND is specified on context creation, the parent's parameters are supported because the request is forwarded to the parent seed source for processing. If no parent EVP_RAND is specified on context creation, the following parameters are supported: "state" (OSSL_RAND_PARAM_STATE) <integer> "strength" (OSSL_RAND_PARAM_STRENGTH) <unsigned integer> "max_request" (OSSL_RAND_PARAM_MAX_REQUEST) <unsigned integer> These parameters work as described in "PARAMETERS" in EVP_RAND(3). "fips-indicator" (OSSL_DRBG_PARAM_FIPS_APPROVED_INDICATOR) <integer> This parameter works as described in "PARAMETERS" in provider-rand(7).

History

This functionality was added in OpenSSL 3.4.

Name

EVP_RAND-CRNG-TEST - The FIPS health testing EVP_RAND filter

Notes

This EVP_RAND is only implemented by the OpenSSL FIPS provider. A context for a health test filter can be obtained by calling: EVP_RAND *parent = ...; EVP_RAND *rand = EVP_RAND_fetch(NULL, "CRNG-TEST", NULL); EVP_RAND_CTX *rctx = EVP_RAND_CTX_new(rand, parent);

See Also

EVP_RAND(3), OSSL_PROVIDER-FIPS(7)

See Also