According to the NIST web site, the 2.0 FIPS Object Module claims compliance for FIPS 186-3 using the "Extra Random Bits" method for EC public key generation. This is taken from:

http://csrc.nist.gov/groups/STM/cavp/documents/dss/ecdsaval.html#270

The extra random bits method is defined in FIPS 186-3 Appendix B.4.1. After inspecting EC_KEY_generate_key(), it's not clear how the requirements in appendix B.4.1 have been met. The following code from EC_KEY_generate_key() appears to be used to generate a random number to be used as the private key.

    do
        if (!BN_rand_range(priv_key, order))
            goto err;
    while (BN_is_zero(priv_key));

Can someone explain how this complies with appendix B.4.1, which states an additional 64 bits of random data should be generated when deriving the key?

Thank you.


<<attachment: foleyj.vcf>>

Reply via email to