The SP 800-90 series on random bit generation may not immediately be updated following the addition of new cryptographic algorithms to NIST’s portfolio. In the time between an algorithm’s approval and the next revision of a 90 series standard, questions often arise regarding the applicability of existing guidelines to the new algorithms. This page provides information and updates on the use of approved algorithms in the NIST random bit generation standards. For the latest implementation guidance from the Cryptographic Module Validation Program (CMVP), see https://csrc.nist.gov/csrc/media/Projects/cryptographic-module-validation-program/documents/fips 140-3/FIPS 140-3 IG.pdf.
An entropy source may contain a deterministic conditioning component that is used to reduce bias and/or increase the entropy rate of its output bits. As specified in NIST SP 800-90B, certain conditioning functions have been formally vetted and approved for use in validated entropy sources.
While non‑vetted conditioning components, such as linear feedback shift registers (LFSRs) or XOR mixers, can still be used in entropy sources, they are not permitted to claim full entropy output according to SP 800-90B.
The following table provides the list of vetted conditioning components approved by NIST in SP 800-90B (January 2018, Table 1).
|
Conditioning Function |
Narrowest Internal Width (nw) |
Output Length (n_out) |
Specified in |
|
HMAC |
Hash-function output size |
Hash function output size |
|
|
CMAC |
AES block size (128 bits) |
AES block size (128 bits) |
|
|
CBC-MAC |
AES block size (128 bits) |
AES block size (128 bits) |
|
|
Block_Cipher_df |
AES key size |
AES key size |
|
|
Hash_df |
Hash function output size |
Hash function output size |
|
|
SHA-256 |
256 bits |
≤ 256 |
|
|
SHA-384 |
384 bits |
≤ 384 |
|
|
SHA-512 |
512 bits |
≤ 512 |
|
|
SHA-512/256 |
256 bits |
≤ 256 |
|
|
SHA3-256 |
256 bits |
≤ 256 |
|
|
SHA3-384 |
384 bits |
≤ 384 |
|
|
SHA3-512 |
512 bits |
≤ 512 |
NIST accepts proposals for new conditioning functions beyond those listed above. Submissions should include detailed technical documentation and a clear explanation of the security rationale. All proposals are subject to review for conformance with the security goals of the SP 800-90 series.
For more information or to submit a proposal, contact [email protected].
Security and Privacy: random number generation