openssl/providers/implementations/include/prov
Pauli 6f20c6804e fips: continuous random bit generator tests
For FIPS 140-3 the continuous tests specified in SP 800-90B need to be
included on the output of any entropy source.

They are implemented here as a replacement for the primary DRBG in the FIPS
provider.  This results in a setup that looks like this:

               +-------------+
               |             |
               | Seed Source |
               |             |
               +------+------+
                      |
                      |
                      v
               +-------------+
               |             |
               |  CRNG Test  |
               |             |
               ++----------+-+
                |          |
                |          |
                v          v
    +--------------+     +--------------+
    |              |     |              |
    | Public DRBG  |     | Private DRBG |
    |              |     |              |
    +--------------+     +--------------+

An additional benefit, that of avoiding DRBG chains, is also gained.
The current standards do not permit the output of one DRBG to be used
as the input for a second (i.e. a chain).

This also leaves open the future possibility of incorporating a seed
source inside the FIPS boundary.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/25415)
2024-09-19 08:44:14 +10:00
..
__DECC_INCLUDE_EPILOGUE.H Update copyright year 2021-06-17 13:24:59 +01:00
__DECC_INCLUDE_PROLOGUE.H Update copyright year 2021-06-17 13:24:59 +01:00
blake2.h Implement BLAKE2s with the same macro as BLAKE2b 2023-11-08 09:42:13 +01:00
ciphercommon_aead.h Add dupctx support to aead ciphers 2023-09-12 15:59:11 +02:00
ciphercommon_ccm.h Update copyright year 2022-05-03 13:34:51 +01:00
ciphercommon_gcm.h Avoid another copy of key schedule pointer in PROV_GCM_CTX 2023-10-16 12:12:36 +02:00
ciphercommon.h update/final: Return error if key is not set 2023-11-03 13:36:13 +01:00
digestcommon.h Add null digest implementation to the default provider 2021-11-15 09:25:42 +01:00
ecx.h Add HPKE DHKEM provider support for EC, X25519 and X448. 2022-09-23 09:24:47 +01:00
hmac_drbg.h Implement deterministic ECDSA sign (RFC6979) 2022-11-30 07:31:53 +00:00
implementations.h fips: continuous random bit generator tests 2024-09-19 08:44:14 +10:00
kdfexchange.h Copyright year updates 2023-09-07 09:59:15 +01:00
macsignature.h Copyright year updates 2023-09-07 09:59:15 +01:00
md5_sha1.h Update copyright year 2021-03-11 13:27:36 +00:00
names.h fips: continuous random bit generator tests 2024-09-19 08:44:14 +10:00
seeding.h JITTER: implement error handling from jitter library 2024-07-31 14:44:51 +10:00