Cited by 309Cryptographic Implementations and SecurityCryptography and Residue ArithmeticCryptography and Data Security

Recommendation for Random Number Generation Using Deterministic Random Bit Generators

Open access
Barker, Elaine B., Kelsey, John M.·2015

Abstract

AuthorityThis publication has been developed by NIST to further its statutory responsibilities under the Federal Information Security Modernization Act (FISMA) of 2014, 44 U.S.C. § 3541 et seq., Public Law (P.L.) 113-283.NIST is responsible for developing information security standards and guidelines, including minimum requirements for Federal information systems, but such standards and guidelines shall not apply to national security systems without the express approval of appropriate Federal officials exercising policy authority over such systems.This guideline is consistent with the requirements of the Office of Management and Budget (OMB) Circular A-130, Section 8b(3), Securing Agency Information Systems, as analyzed in Circular A-130, Appendix IV: Analysis of Key Sections. Supplemental information is provided in Circular A-130, Appendix III, Security of Federal Automated Information Resources.Nothing in this publication should be taken to contradict the standards and guidelines made mandatory and binding on Federal agencies by the Secretary of Commerce under statutory authority.Nor should these guidelines be interpreted as altering or superseding the existing authorities of the Secretary of Commerce, Director of the OMB, or any other Federal official.This publication may be used by nongovernmental organizations on a voluntary basis and is not subject to copyright in the United States.Attribution would, however, be appreciated by NIST.

AI snapshot

Written from the paper’s full text.

TL;DR

NIST SP 800-90A Rev. 1 specifies approved Deterministic Random Bit Generators (DRBGs) — Hash_DRBG, HMAC_DRBG, and CTR_DRBG — along with the requirements for instantiating, reseeding, generating from, and health-testing them. It defines the security strengths, entropy requirements, and output limits under which these mechanisms are considered secure.

Key findings

  • The Recommendation supports exactly four security strengths: 112, 128, 192, or 256 bits; the security strength of output is `min(output_length, DRBG_security_strength)`, and concatenating outputs cannot exceed the instantiated strength.
  • Approved mechanisms are hash-based (Hash_DRBG, HMAC_DRBG) and block-cipher-based (CTR_DRBG using TDEA, AES-128, AES-192, or AES-256). All were judged to provide acceptable security when published, and diversity of mechanisms allows transition if attacks are found on one class.
  • Output constraints: hash-based DRBGs permit up to 2^48 generate requests of up to 2^19 bits each; AES CTR_DRBG the same; TDEA CTR_DRBG is limited to 2^32 requests of 2^13 bits. These limits exist to avoid a theoretical distinguishing attack (probability of distinguishing AES CTR_DRBG from ideal random at maximum output ≈ 2^-57; TDEA case ≈ 2^-6 in the described game).
  • All DRBG mechanisms in the Recommendation are designed to provide backtracking resistance; prediction resistance requires reseeding with fresh entropy (at least the security strength) between consecutive requests.
  • Dual_EC_DRBG was removed in Revision 1, along with the elliptic-curve appendices.

Methods

  • This is a specification/standards document, not an empirical study: it defines DRBG mechanisms via pseudocode "envelopes" (instantiate, reseed, generate, uninstantiate, health test) around underlying algorithms, plus auxiliary derivation functions (Hash_df, Block_Cipher_df) and BCC/Block_Encrypt primitives.
  • Conformance testing is to be conducted within the CMVP and CAVP frameworks; requirements are indicated by "shall," and some are out of scope for CMVP/CAVP validation.
  • Informative appendices provide conversion routines (Appendix A), worked pseudocode examples for each mechanism (Appendix B), and DRBG mechanism selection guidance with a cost/constraint summary table (Appendix C).

Limitations

  • Stated: "The precise structure, design and development of a random bit generator is outside the scope of this document"; entropy source design/validation is deferred to SP 800-90B and RBG construction to SP 800-90C.
  • Stated: Hash_DRBG has known problems when instantiated with insufficient entropy for the requested strength and later supplied enough entropy via additional input during a generate request — though these do not affect security when instantiated with the entropy specified in the Recommendation.
  • Stated: the CTR_DRBG distinguishing attack is "theoretical — it poses no practical threat to any real-world application of the DRBG"; the output limits are nonetheless required.

Model-written summary. Check it against the paper before relying on it.

Integrity signals

Registry

Crossref · 10.6028/nist.sp.800-90ar1

Cites

4 of 4 references verified0 citation errors · 0 not checkable

Statistics

Nothing to recompute.

Claims the paper makes

0 of 6 cited sources checked · 0 supported · 0 flagged

  • Interpretationreasoning

    The actual security strength supported by a given instantiation depends on the DRBG implementation and on the amount of entropy provided to the instantiate function.

    “The actual security strength supported by a given instantiation depends on the DRBG implementation and on the amount of entropy provided to the instantiate function.”
    Quote in the paperSubstantial claim
  • Interpretationreasoning

    A concatenation of bit strings resulting from multiple calls to a DRBG will not provide a security strength for the concatenated string that is greater than the instantiated security strength of the DRBG.

    “A concatenation of bit strings resulting from multiple calls to a DRBG will not provide a security strength for the concatenated string that is greater than the instantiated security strength of the DRBG.”
    Quote in the paperSubstantial claim
  • Interpretationreasoning

    If there is an undetected failure in the randomness source of an already properly seeded DRBG instantiation, the DRBG instantiation will still retain any previous entropy when the reseed operation fails to introduce new entropy.

    “However, if there is an undetected failure in the randomness source of an already properly seeded DRBG instantiation, the DRBG instantiation will still retain any previous entropy when the reseed operation fails to introduce new entropy.”
    Quote in the paperSubstantial claim
  • Interpretationnone given

    The simple modular method produces a random value with a negligible skew, that is, the probability that a_i = w for any particular value of w (0 ≤ w ≤ r-1) is not exactly 1/r.

    “This method produces a random value with a negligible skew, that is, the probability that a i =w for any particular value of w (0 ≤ w ≤ r-1) is not exactly 1/r.”
    Quote in the paperNot a substantial claim
  • Interpretationreasoning

    The claimed security strength for CTR_DRBG depends on limiting the total number of generate requests and the bits provided per generate request according to Table 3.

    “Note that the claimed security strength for CTR_DRBG depends on limiting the total number of generate requests and the bits provided per generate request according to the table above.”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim. 91
  • May combine two claims. 28
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingnone given

    Each DRBG mechanism has restrictions on the security strength it can support, based on its design.

    “Each DRBG mechanism has restrictions on the security strength it can support, based on its design (see Section 10).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Findingnone given

    This Recommendation specifies several DRBG mechanisms, all of which provided acceptable security when this Recommendation was published.

    “This Recommendation specifies several DRBG mechanisms, all of which provided acceptable security when this Recommendation was published.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingnone given

    The DRBG mechanisms specified in this Recommendation support four security strengths: 112, 128, 192 or 256 bits.

    “The DRBG mechanisms specified in this Recommendation support four security strengths: 112, 128, 192 or 256 bits.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Findingnone given

    Each DRBG mechanism includes one or more cryptographic primitives (i.e., a hash function or block cipher algorithm).

    “Each DRBG mechanism includes one or more cryptographic primitives (i.e., a hash function or block cipher algorithm).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Findingreasoning

    The DRBG mechanisms have been specified so that input with full entropy is not required.

    “Ideally, the entropy input would have full entropy; however, the DRBG mechanisms have been specified so that input with full entropy is not required.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    A nonce may be required in the construction of a seed during instantiation to provide a security cushion to block certain attacks.

    “A nonce may be required in the construction of a seed during instantiation in order to provide a security cushion to block certain attacks.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisenone given

    The intent of a personalization string is to introduce additional input into the instantiation of a DRBG.

    “The intent of a personalization string is to introduce additional input into the instantiation of a DRBG.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Premisenone given

    A DRBG does not provide output until a seed is available, and the internal state has been initialized.

    “Note that a DRBG does not provide output until a seed is available, and the internal state has been initialized (see Section 10).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    A DRBG does not rely on a personalization string to provide entropy.

    “Note that a DRBG does not rely on a personalization string to provide entropy, even though entropy could be provided in the personalization string”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    The nonce provides greater assurance that the DRBG provides security_strength bits of security to the consuming application.

    “The nonce provides greater assurance that the DRBG provides security_strength bits of security to the consuming application.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Premisenone given

    Random number generation does not require interoperability between two entities; communicating entities may use different DRBG mechanisms without affecting their ability to communicate.

    “Random number generation does not require interoperability between two entities, i.e., communicating entities may use different DRBG mechanisms without affecting their ability to communicate.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    In some consuming applications, a single DRBG compromise could reveal long-term secrets (e.g., a compromise of the DSA per-message secret could reveal the signing key).

    “In some consuming applications, a single DRBG compromise could reveal long-term secrets (e.g., a compromise of the DSA per-message secret could reveal the signing key).”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    A DRBG produces pseudorandom bits, rather than random bits, because of the deterministic nature of the process.

    “Because of the deterministic nature of the process, a DRBG is said to produce pseudorandom bits, rather than random bits.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S2 (checkable), S4 (based). May combine two claims.

    Interpretationnone given

    The security provided by an RBG that uses a DRBG mechanism is a system implementation issue; both the DRBG mechanism and its randomness source must be considered when determining whether the RBG is appropriate for use by consuming applications.

    “The security provided by an RBG that uses a DRBG mechanism is a system implementation issue; both the DRBG mechanism and its randomness source must be considered when determining whether the RBG is appropriate for use by consuming applications.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Reseeding is a means of restoring the secrecy of the output of the DRBG if a seed or the internal state becomes known.

    “Reseeding is a means of restoring the secrecy of the output of the DRBG if a seed or the internal state becomes known.”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim.

    Premisenone given

    The secrecy of the entropy input and the seed provides the basis for the security of the DRBG.

    “The secrecy of this information provides the basis for the security of the DRBG.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    If the seed is kept secret and the algorithm is well designed, the bits output by the DRBG will be unpredictable, up to the instantiated security strength of the DRBG.

    “If the seed is kept secret, and the algorithm is well designed, the bits output by the DRBG will be unpredictable, up to the instantiated security strength of the DRBG.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Generating too many outputs from a seed (and other input information) may provide sufficient information for successfully predicting future outputs.

    “Generating too many outputs from a seed (and other input information) may provide sufficient information for successfully predicting future outputs (see Section 8.8).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S2 (checkable).

    Interpretationreasoning

    The presence of more entropy than is required, especially during the instantiation, will provide a higher level of assurance than the minimum required entropy.

    “The presence of more entropy than is required, especially during the instantiation, will provide a higher level of assurance than the minimum required entropy.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Study design and conductnone given

    The DRBG reseed specifications within this Recommendation are designed to produce a new seed that is determined by both the old seed and newly obtained entropy input that will support the desired security strength.

    “The DRBG reseed specifications within this Recommendation are designed to produce a new seed that is determined by both the old seed and newly obtained entropy input that will support the desired security strength.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationnone given

    If a DRBG were instantiated many times without a nonce, a compromise could become more likely.

    “If a DRBG were instantiated many times without a nonce, a compromise could become more likely.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    The security of the DRBG itself does not rely on the secrecy of other inputs (nonce, personalization string, additional input).

    “This information may or may not be required to be kept secret by a consuming application; however, the security of the DRBG itself does not rely on the secrecy of this information.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S2 (checkable).

    Interpretationreasoning

    In the event that new attacks are found on a particular class of DRBG mechanisms, a diversity of approved mechanisms will allow a timely transition to a different class of DRBG mechanism.

    “However, in the event that new attacks are found on a particular class of DRBG mechanisms, a diversity of approved mechanisms will allow a timely transition to a different class of DRBG mechanism.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    If a DRBG instantiation was initially seeded with sufficient entropy, and the randomness source subsequently fails without being detected, then a new instantiation using the same (failed) source would not have sufficient entropy to operate securely.

    “If a DRBG instantiation was initially seeded with sufficient entropy, and the randomness source subsequently fails without being detected, then a new instantiation using the same (failed) source would not have sufficient entropy to operate securely.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationreasoning

    Periodic reseeding will reduce security risks, reducing the likelihood of a compromise of the data that is protected by cryptographic mechanisms that use the DRBG.

    “Periodic reseeding will reduce security risks, reducing the likelihood of a compromise of the data that is protected by cryptographic mechanisms that use the DRBG.”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim. May combine two claims.

    Premisenone given

    Seeds have a finite seedlife (i.e., the number of outputs that are produced during a seed period); the maximum seedlife is dependent on the DRBG mechanism used.

    “Seeds have a finite seedlife (i.e., the number of outputs that are produced during a seed period); the maximum seedlife is dependent on the DRBG mechanism used.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    Knowledge of the personalization string by an adversary does not degrade the security strength of a DRBG instantiation, as long as the entropy input is unknown.

    “knowledge of the personalization string by an adversary does not degrade the security strength of a DRBG instantiation, as long as the entropy input is unknown.”
    Quote in the paperNot a substantial claim
    • Rests on an assumption: The security of the DRBG depends on the secrecy of the entropy input.
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationreasoning

    Having more entropy than the assessed amount is acceptable; having less entropy than the assessed amount could be fatal to security.

    “Having more entropy than the assessed amount is acceptable; having less entropy than the assessed amount could be fatal to security.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    Validations by a NVLAP-accredited laboratory provide a higher level of assurance that the DRBG mechanism is correctly implemented.

    “Such validations provide a higher level of assurance that the DRBG mechanism is correctly implemented.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    The simple discard method produces a random number a with no skew (no bias).

    “This method produces a random number a with no skew (no bias).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    When the reseed function returns an error, the indicated instantiation will not have been reseeded (i.e., the internal state will not have been injected with fresh entropy).

    “When the reseed function returns an error (see Section 9.2), the indicated instantiation will not have been reseeded (i.e., the internal state will not have been injected with fresh entropy).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Since SHA-224 is based on SHA-256, there is no efficiency benefit when using SHA-224 rather than SHA-256.

    “Note that since SHA-224 is based on SHA-256, there is no efficiency benefit when using SHA-224, rather than SHA-256.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    The complex discard method may have better overall performance than the simple discard method if many random numbers are needed.

    “The complex discard method may have better overall performance than the simple discard method if many random numbers are needed.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    An amount of entropy that is sufficient to support the security strength of the DRBG being reseeded (i.e., an amount that is at least equal to the security strength) must be provided to the DRBG in a way that ensures that knowledge of the current DRBG internal state does not allow an adversary any useful knowledge about future DRBG internal states or outputs.

    “That is, an amount of entropy that is sufficient to support the security strength of the DRBG being reseeded (i.e., an amount that is at least equal to the security strength) must be provided to the DRBG in a way that ensures that knowledge of the current DRBG internal state does not allow an adversary any useful knowledge about future DRBG internal states or outputs.”
    Quote in the paperSubstantial claim
    • The authors state this as an assumption: The adversary is incapable of performing work that matches the claimed security strength of the RBG.
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Since SHA-384, SHA-512/224 and SHA-512/256 are based on SHA-512, there is no efficiency benefit for using these three SHA mechanisms rather than using SHA-512.

    “Also note that since SHA-384, SHA-512/224 and SHA-512/256 are based on SHA-512, there is no efficiency benefit for using these three SHA mechanisms, rather than using SHA-512.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    The complex discard method coincides with the simple discard method when t = 1.

    “The complex discard method coincides with the simple discard method when t = 1.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    If the additional input is kept secret and has sufficient entropy, the input can provide more assurance when recovering from the compromise of the entropy input, the seed or one or more DRBG internal states.

    “If the additional input is kept secret and has sufficient entropy, the input can provide more assurance when recovering from the compromise of the entropy input, the seed or one or more DRBG internal states.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    A possible disadvantage of the simple discard method, in general, is that the time needed to generate such a random a is not a fixed length of time because of the conditional loop.

    “A possible disadvantage of this method, in general, is that the time needed to generate such a random a is not a fixed length of time because of the conditional loop.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim. May combine two claims.

    Interpretationnone given

    The hash-based DRBG mechanisms specified in this Recommendation have been designed to use any approved hash function and may be used by consuming applications requiring various security strengths, providing that the appropriate hash function is used and sufficient entropy is obtained for the seed.

    “The hash-based DRBG mechanisms specified in this Recommendation have been designed to use any approved hash function and may be used by consuming applications requiring various security strengths, providing that the appropriate hash function is used and sufficient entropy is obtained for the seed.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    In accordance with Table 2 in Section 10.1, security strengths of 112, 128, 192 and 256 bits may be instantiated.

    “In accordance with Table 2 in Section 10.1, security strengths of 112, 128, 192 and 256 bits may be instantiated.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites Table 2 in Section 10.1

      Not checked in the free run.

  • Classified as probably not a substantial claim.

    Study design and conductreasoning

    Entropy input used for testing shall not be used for normal operational use.

    “Therefore, entropy input used for testing shall not be used for normal operational use.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    Any entropy input used for testing (either for validation testing or health testing) may be publicly known.

    “Note that any entropy input used for testing (either for validation testing or health testing) may be publicly known.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Reseeding will insert additional entropy into the generation of pseudorandom bits.

    “Reseeding will insert additional entropy into the generation of pseudorandom bits.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    The Get_entropy_input call could return a status of ERROR_FLAG to indicate that entropy is currently unavailable, and could return CATASTROPHIC_ERROR_FLAG to indicate that an entropy source failed.

    “The Get_entropy_input call could return a status of ERROR_FLAG to indicate that entropy is currently unavailable, and could return CATASTROPHIC_ERROR_FLAG to indicate that an entropy source failed.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    In accordance with Table 2 in Section 10.1, the 112-and 128-bit security strengths may be instantiated.

    “In accordance with Table 2 in Section 10.1, the 112-and 128-bit security strengths may be instantiated.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites Table 2 in Section 10.1

      Not checked in the free run.

  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Study design and conductnone given

    A DRBG implementation shall perform self-tests to obtain assurance that the DRBG continues to operate as designed and implemented (health testing).

    “A DRBG implementation shall perform self-tests to obtain assurance that the DRBG continues to operate as designed and implemented (health testing).”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    If r/2^m is close to 1, then the simple discard method is simple and efficient.

    “If r/2 m is close to 1, then the above method is simple and efficient.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    The error codes may provide information about the reason for the error; for example, when ERROR_FLAG is returned because of an incorrect input parameter, the ERROR_FLAG may indicate the problem.

    “The error codes may, in fact, provide information about the reason for the error; for example, when ERROR_FLAG is returned because of an incorrect input parameter, the ERROR_FLAG may indicate the problem.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    The complex discard method produces random numbers (a0, a1, ..., at-1) with no skew.

    “This method produces random numbers (a 0 , a 1 , … , a t-1 ) with no skew.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    A possible disadvantage of the complex discard method, in general, is that the time needed to generate these numbers is not a fixed length of time because of the conditional loop.

    “A possible disadvantage of this method, in general, is that the time needed to generate these numbers is not a fixed length of time because of the conditional loop.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    The simple modular method can be coded to take constant time.

    “The simple modular method can be coded to take constant time.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    A DRBG does not rely on additional input to provide entropy.

    “Note that a DRBG does not rely on additional input to provide entropy, even though entropy could be provided in the additional input”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    The use of additional input may be a means of providing more entropy for the DRBG internal state that will increase assurance that the entropy requirements are met.

    “The use of additional input may be a means of providing more entropy for the DRBG internal state that will increase assurance that the entropy requirements are met.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    The ratio r/2^m is a measure of the efficiency of the simple discard technique, and this ratio will always satisfy 0.5 < r/2^m ≤ 1.

    “The ratio r/2 m is a measure of the efficiency of the technique, and this ratio will always satisfy 0.5 < r/2 m ≤ 1.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Prediction resistance can be provided when the randomness source is or has direct or indirect access to an entropy source or an NRBG.

    “Prediction resistance can be provided when the randomness source is or has direct or indirect access to an entropy source or an NRBG (see Section 8.6.5).”
    Quote in the paperSubstantial claim
    • The authors state this as an assumption: The adversary is incapable of performing work that matches the claimed security strength of the RBG.
  • May combine two claims.

    Interpretationnone given

    The ratio r^t/2^m is a measure of the efficiency of the complex discard technique, and this ratio will always satisfy 0.5 < r^t/2^m ≤ 1.

    “The ratio r t /2 m is a measure of the efficiency of the technique, and this ratio will always satisfy 0.5 < r t /2 m ≤ 1.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    A personalization string might contain values unknown to an attacker, or values that tend to differentiate this DRBG instantiation from all others.

    “This personalization string might contain values unknown to an attacker, or values that tend to differentiate this DRBG instantiation from all others.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    Without the explicit prediction resistance request, the entropy input could be provided from either a DRBG with no access to an entropy source (i.e., fresh entropy would not be provided), or the entropy input could be provided by an entropy source or by an RBG with access to an entropy source (i.e., fresh entropy would be provided in these cases).

    “Without the explicit prediction resistance request, the entropy input could be provided from either a DRBG with no access to an entropy source (i.e., fresh entropy would not be provided), or the entropy input could be provided by an entropy source or by an RBG with access to an entropy source (i.e., fresh entropy would be provided in these cases).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    Backtracking resistance can be provided by ensuring that the DRBG generation algorithm is a one-way function.

    “Backtracking resistance can be provided by ensuring that the DRBG generation algorithm is a one-way function.”
    Quote in the paperNot a substantial claim
    • The authors state this as an assumption: The adversary is incapable of performing the work required to negate the claimed security strength of the DRBG.
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Prediction resistance can be provided only by ensuring that a DRBG is effectively reseeded with fresh entropy between producing output for consecutive DRBG requests.

    “Prediction resistance can be provided only by ensuring that a DRBG is effectively reseeded with fresh entropy between producing output for consecutive DRBG requests.”
    Quote in the paperSubstantial claim
    • The authors state this as an assumption: The adversary is incapable of performing work that matches the claimed security strength of the RBG.
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Study design and conductnone given

    All DRBG mechanisms in this Recommendation have been designed to provide backtracking resistance.

    “All DRBG mechanisms in this Recommendation have been designed to provide backtracking resistance.”
    Quote in the paperNot a substantial claim
    • The authors state this as an assumption: The adversary is incapable of performing the work required to negate the claimed security strength of the DRBG.
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Study design and conductnone given

    Health tests on the DRBG mechanism shall be implemented within a DRBG mechanism boundary or sub-boundary in order to determine that the process continues to operate as designed and implemented.

    “Health tests on the DRBG mechanism shall be implemented within a DRBG mechanism boundary or sub-boundary in order to determine that the process continues to operate as designed and implemented.”
    Quote in the paperNot a substantial claim
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    If r/2^m is close to 0.5, then the simple discard method is less efficient.

    “However, if r/2 m is close to 0.5, then the simple discard method is less efficient”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    Each HMAC_DRBG generate request involves additional overhead equivalent to processing 2048 extra bits with SHA-256.

    “Each generate request also involves additional overhead equivalent to processing 2048 extra bits with SHA-256.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    A general-purpose hash function implementation can always be used to implement HMAC.

    “However, a general-purpose hash function implementation can always be used to implement HMAC.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationreasoning

    When instantiation is performed using this method, a nonce is required, whereas using the method in Section 10.2.1.3.1 does not require a nonce, since full entropy is provided when using that method.

    “When instantiation is performed using this method, a nonce is required, whereas using the method in Section 10.2.1.3.1 does not require a nonce, since full entropy is provided when using that method.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    For an attacker who sees 2^64 bits of output from TDEA CTR_DRBG across at least one reseed, the TDEA CTR_DRBG received 2^45 generate requests; an ideal random sequence has a probability of about 2^-6 of having a duplicate block in one of the generate outputs, while CTR_DRBG outputs will never have one.

    “In this case, the TDEA CTR_DRBG received 2 45 generate requests.An ideal random sequence has a probability of about 2 -6 of having a duplicate block in one of the generate outputs; the CTR_DRBG outputs will never have one.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    If the hash function is replaced by a random oracle, Hash_DRBG is secure.

    “If the hash function is replaced by a random oracle, Hash_DRBG is secure.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    CTR_DRBG is parallelizable.

    “Furthermore, CTR_DRBG is parallelizable.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    For AES CTR_DRBG, each generate request may produce no more than 2^19 bits, which means 2^12 128-bit blocks; in an ideal random sequence of 2^12 128-bit blocks, the probability that any two blocks will be the same is approximately 2^-105; AES CTR_DRBG will never provide a generate output with duplicate blocks.

    “The case for AES CTR_DRBG is similar: each generate request may produce no more than 2 19 bits, which means 2 12 128-bit blocks.In an ideal random sequence of 2 12 128-bit blocks, the probability that any two blocks will be the same is approximately 2 -105 ; AES CTR_DRBG will never provide a generate output with duplicate blocks.”
    Quote in the paperSubstantial claim
  • May combine two claims.

    Interpretationreasoning

    TDEA CTR_DRBG permits the use of up to 2^32 generate requests; an ideal random source providing 2^32 sequences of 128 64-bit blocks would have a probability of about 2^-19 of having a duplicate block in one of those sequences, while CTR_DRBG will never have such a duplicate block.

    “TDEA CTR_DRBG permits the use of up to 2 32 generate requests.An ideal random source, providing 2 32 sequences of 128 64-bit blocks, would have a probability of about 2 -19 of having a duplicate block in one of those sequences of 128 64-bit blocks; the CTR_DRBG will never have such a duplicate block.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S4 (based).

    Interpretationnone given

    The security of CTR_DRBG is directly based on the security of the underlying block cipher algorithm, in the sense that, as long as some limits on the total number of outputs are observed, any attack on CTR_DRBG represents an attack on the underlying block cipher algorithm.

    “The security of CTR_DRBG is directly based on the security of the underlying block cipher algorithm, in the sense that, as long as some limits on the total number of outputs are observed, any attack on CTR_DRBG represents an attack on the underlying block cipher algorithm.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    When a derivation function is used, CTR_DRBG can process the personalization string and any additional input in the same way as any other DRBG mechanism, but at a cost in performance because of the use of the derivation function.

    “When a derivation function is used, CTR_DRBG can process the personalization string and any additional input in the same way as any other DRBG mechanism, but at a cost in performance because of the use of the derivation function (as opposed to not using the derivation function; see below).”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    The block cipher DRBG mechanism specified in this Recommendation has been designed to use any approved block cipher algorithm and may be used by consuming applications requiring various security strengths, providing that the appropriate block cipher algorithm and key length are used, and sufficient entropy is obtained for the seed.

    “The block cipher DRBG mechanism specified in this Recommendation has been designed to use any approved block cipher algorithm and may be used by consuming applications requiring various security strengths, providing that the appropriate block cipher algorithm and key length are used, and sufficient entropy is obtained for the seed.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    Within a Hash_DRBG generate request, each outlen-bit block of output requires one hash function computation and several addition operations, and an additional hash function computation is required to provide backtracking resistance.

    “Within a generate request, each outlen-bit block of output requires one hash function computation and several addition operations; an additional hash function computation is required to provide the backtracking resistance.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Study design and conductreasoning

    Hash_DRBG updates the secret value V at the end of each generate request before returning the pseudorandom output to the consuming application in order to prevent backtracking.

    “At the end of the generate request, and before the pseudorandom output is returned to the consuming application, the secret value V is updated in order to prevent backtracking.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    Hash_DRBG produces pseudorandom output bits in about half the time required by HMAC_DRBG.

    “Hash_DRBG produces pseudorandom output bits in about half the time required by HMAC_DRBG.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    An ideal random source would have a very small probability (about 2^-51) of producing a pair of identical 64-bit blocks within that generate request output; each generate request from CTR_DRBG is generated by running the block cipher in counter mode, so there can never be a duplicate block produced within a generate request output.

    “An ideal random source would have a very small probability (about 2 -51 ) of producing a pair of identical 64-bit blocks within that generate request output; each generate request from the CTR_DRBG is generated by running the block cipher in counter mode, so there can never be a duplicate block produced within a generate request output.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    For large generate requests, CTR_DRBG produces outputs at the same speed as the underlying block cipher algorithm encrypts data.

    “For large generate requests, CTR_DRBG produces outputs at the same speed as the underlying block cipher algorithm encrypts data.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    An attacker looking at the sequence will not be able to determine that it came from CTR_DRBG, though he would have a pretty large advantage in a distinguishing game.

    “An attacker looking at the sequence will not be able to determine that it came from the CTR_DRBG, though he would have a pretty large advantage in a distinguishing game.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing), S4 (based).

    Interpretationnone given

    It is difficult to relate the properties of the hash function required by Hash_DRBG with common properties such as collision resistance, pre-image resistance, or pseudorandomness.

    “It is difficult to relate the properties of the hash function required by Hash_DRBG with common properties, such as collision resistance, pre-image resistance, or pseudorandomness.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    In general, even relatively weak hash functions seem to be quite strong when used in the HMAC construction.

    “In general, even relatively weak hash functions seem to be quite strong when used in the HMAC construction.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    When instantiation is performed using this method, the entropy input may or may not have full entropy; in either case, a nonce is required.

    “When instantiation is performed using this method, the entropy input may or may not have full entropy; in either case, a nonce is required.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S2 (checkable), S3 (load-bearing).

    Interpretationreasoning

    Few if any consuming applications are expected to need output bits faster than HMAC_DRBG can provide them.

    “Note, however, that hash functions are typically quite fast; few if any consuming applications are expected to need output bits faster than HMAC_DRBG can provide them.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Study design and conductnone given

    At the end of a generation request, HMAC_DRBG generates a new Key and V, each requiring one HMAC computation.

    “At the end of a generation request, the HMAC_DRBG generates a new Key and V, each requiring one HMAC computation.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Such an implementation may be seeded by any approved randomness source that may or may not provide full entropy.

    “Such an implementation may be seeded by any approved randomness source that may or may not provide full entropy.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    For TDEA, the input and output block lengths are 64 bits, and for AES, the lengths are 128 bits.

    “Note that for TDEA, the input and output block lengths are 64 bits, and for AES, the lengths are 128 bits.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationreasoning

    For TDEA CTR_DRBG, each generate request is limited to 2^13 bits, and at most 2^32 such requests may be made.

    “However, the smaller block size of TDEA imposes more constraints: each generate request is limited to 2 13 bits, and at most, 2 32 such requests may be made.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based).

    Interpretationnone given

    At the end of each CTR_DRBG generate request, work equivalent to two, three or four encryptions is performed, depending on the choice of underlying block cipher algorithm, to generate new keys and counters for the next generate request.

    “At the end of each generate request, work equivalent to two, three or four encryptions is performed, depending on the choice of underlying block cipher algorithm, to generate new keys and counters for the next generate request.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    HMAC_DRBG produces pseudorandom outputs considerably more slowly than the underlying hash function processes inputs; for SHA-256, a long generate request produces output bits at about 1/4 of the rate that the hash function can process input bits.

    “HMAC_DRBG produces pseudorandom outputs considerably more slowly than the underlying hash function processes inputs; for SHA-256, a long generate request produces output bits at about 1/4 of the rate that the hash function can process input bits.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing). May combine two claims.

    Interpretationnone given

    When a derivation function is not used, CTR_DRBG is more efficient when the personalization string and any additional input are provided, but is less flexible because the lengths of the personalization string and additional input cannot exceed seedlen bits.

    “When a derivation function is not used, CTR_DRBG is more efficient when the personalization string and any additional input are provided, but is less flexible because the lengths of the personalization string and additional input cannot exceed seedlen bits.”
    Quote in the paperNot a substantial claim
  • May combine two claims.

    Interpretationnone given

    There is not a reduction proof from the hash function's collision resistance properties to the security of the DRBG; the security of HMAC_DRBG ultimately relies on the pseudorandomness properties of the underlying hash function.

    “On the other hand, there is not a reduction proof from the hash function's collision resistance properties to the security of the DRBG; the security of HMAC_DRBG ultimately relies on the pseudorandomness properties of the underlying hash function.”
    Quote in the paperSubstantial claim
    • The authors state this as an assumption: An approved hash function used in the HMAC construction is a pseudorandom function family.
  • Classified as probably not a substantial claim.

    Interpretationreasoning

    Such implementations must be seeded by a randomness source that provides full entropy (e.g., an approved entropy source that has full entropy output or an approved NRBG).

    “Such implementations must be seeded by a randomness source that provides full entropy (e.g., an approved entropy source that has full entropy output or an approved NRBG).”
    Quote in the paperSubstantial claim
  • Classified as probably not a substantial claim.

    Interpretationnone given

    There are known problems with Hash_DRBG when it is instantiated with insufficient entropy for the requested security strength and later provided with enough entropy via additional input during a generate request.

    “There are known problems with Hash_DRBG when the DRBG is instantiated with insufficient entropy for the requested security strength, and then later provided with enough entropy to attain the amount of entropy required for the security strength, via the inclusion of additional input during a generate request.”
    Quote in the paperSubstantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationreasoning

    Hash_DRBG's Generate function is parallelizable because it uses counter mode.

    “The Generate function is parallelizable, since it uses the counter mode.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationnone given

    The DRBG mechanisms specified in this Recommendation have different performance characteristics, implementation issues, and security assumptions.

    “The DRBG mechanisms specified in this Recommendation have different performance characteristics, implementation issues, and security assumptions.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing), S4 (based). May combine two claims.

    Interpretationnone given

    The distinguishing attack is theoretical and poses no practical threat to any real-world application of the DRBG.

    “However, the distinguishing attack is theoretical -it poses no practical threat to any real-world application of the DRBG.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Interpretationown data

    For each hash function, up to 2^48 generate requests may be made, each of up to 2^19 bits.

    “As shown in Table 2 of Section 10.1, for each hash function, up to 2 48 generate requests may be made, each of up to 2 19 bits.”
    Quote in the paperNot a substantial claim
  • Probably not a substantial claim: may not pass S3 (load-bearing).

    Premisecitation

    In accordance with Table 3 in Section 10.2.1, security strengths of 112 and 128 bits may be supported.

    “In accordance with Table 3 in Section 10.2.1, security strengths of 112 and 128 bits may be supported.”
    Quote in the paperNot a substantial claim0 of 1 sources checked
    • cites Table 3 in Section 10.2.1

      Not checked in the free run.

99 of 99
  • The authors state this as an assumption.

    The adversary is incapable of performing the work required to negate the claimed security strength of the DRBG.

    “This assumes that the adversary is incapable of performing the work required to negate the claimed security strength of the DRBG.”
  • The authors state this as an assumption.

    The adversary is incapable of performing work that matches the claimed security strength of the RBG.

    “incapable of performing work that matches the claimed security strength of the RBG”
  • The paper relies on this without support.

    The security of the DRBG depends on the secrecy of the entropy input.

    “The security of the DRBG depends on the secrecy of the entropy input.”
  • The authors state this as an assumption.

    An approved hash function used in the HMAC construction is a pseudorandom function family.

    “The security of HMAC_DRBG is based on the assumption that an approved hash function used in the HMAC construction is a pseudorandom function family.”
  • The authors state this as an assumption.

    The pseudorandomness of HMAC is a widely used assumption in designs.

    “Note that the pseudorandomness of HMAC is a widely used assumption in designs, and the HMAC_DRBG requires far less demanding properties of the underlying hash function than Hash_DRBG.”
5 of 5

Claims other papers make about this one

Each is checked against this paper’s own text: does it say what the citing paper says it does?

  • Weaknesses in random number generation have historically led to severe security breaches.

    “Weaknesses in random number generation (RNG) have historically led to severe security breaches1.”

    From Raw QPP-RNG randomness via system jitter across platforms: a NIST SP 800-90B evaluation (2025) · cites this paper as [1]

    Section 8.6.3 (page not provided) says that insufficient entropy could be fatal to security, supporting the claim that weak random-number generation poses a serious risk. The passages do not report historical security breaches caused by such weaknesses, so the claim of breaches having occurred is unsupported. (LLM, conf=0.83)

    Experimental — accuracy not yet measured

Self-check

Percentages, sums and reported differences re-computed from the paper’s own numbers.

Each contradiction between two passages listed here was confirmed by an independent check.

  • HMAC_DRBG example names a nonexistent state value

    Minor

    The example lists Key, not C, in its internal state, but then identifies V and C as its bitstrings.

  • CTR_DRBG example checks a prediction-resistance flag it says is absent

    Minor

    The example says it does not store a prediction_resistance_flag, but its generate-function pseudocode tests that flag to decide whether to reseed. It should instead act on the request parameter described in the example.

  • TDEA request count cannot produce the stated output length

    Minor

    At the stated maximum of 2^13 bits per request, producing 2^64 bits requires 2^51 requests, not 2^45. The stated 2^45 requests would produce only 2^58 bits.

3 of 3

Cites

1 retracted

Flagged first, then by citations

Cited by

Sorted by citations

Authors
Barker, E. B., & Kelsey, J. M.
Published
2015-06
OpenAlex
W4298403653
Cited by
304
References
4
Citations by year
2026: 49 · 2025: 53 · 2024: 27 · 2023: 31 · 2022: 22 · 2021: 18 · 2020: 19 · 2019: 26 · 2018: 13 · 2017: 16 · 2016: 8 · 2015: 4 · 2014: 5 · 2012: 5
Type
report
Language
en
Open access
Funders
National Institute of Standards and Technology
Topics
  • Physical Sciences › Computer Science › Artificial Intelligence › Cryptographic Implementations and Security
  • Physical Sciences › Computer Science › Information Systems › Cryptography and Residue Arithmetic
  • Physical Sciences › Computer Science › Artificial Intelligence › Cryptography and Data Security
Keywords
random number generation, random bit generation, cryptographic key generation, information security standards

About these checks

Registry, retraction, Cites and statistics results are computed, not judged, with one exception: a printed reference that no index lists is read once by a model before it counts as a citation error. Claims are extracted by a model and kept only when their quote appears verbatim in the text; each cited source is then checked, with a model’s help, for whether it says what the claim relies on. Those verdicts can be wrong — read the claim’s quote and the cited source before relying on one.

Claims read by deepseek-v4.1-flash under definition version 3 (extract-v3) on 2026-10-09.

Classified by jev-1.13-20260917 (gold-guideline-v0.2) on 2026-10-09.

Statistics and arithmetic are recomputed, not judged.

Confidence bands are shown only for fields calibrated on our annotated test set. None is calibrated yet, so no band is shown.

What counts as a claim ›How we measure confidence ›How we check this ›

Are you an author, or do you see a problem with this page? Request a review