my company is trying to get our OpenSSL 1.0.2l software (it's compiled in FIPS mode with the FIPS canister) FIPS certified, but I am having difficulty generating RSA keys according to the FIPS 186-4 testing format specified in (http://csrc.nist.gov/groups/STM/cavp/documents/dss2/rsa2vs.pdf).

I need to generate the following parameters using OpenSSL's API: e, seed, p, q, n, d. Where e is the public exponent, p and q are the prime numbers used for RSA key generation, n is simply p*q, and d is the private exponent, and seed is the value given to the PRNG to generate the prime numbers.

The problem is that I need to be able to access the seed value used in OpenSSL's RSA key generation just for FIPS testing purposes, but I have no clue where the seed value is stored/generated. I also might need to know how to set the seed value to an exact value. I am using the built in PRNG for openssl-fips.

  • According to their FIPS Security Policy (Section 4), OpenSSL's FIPS module doesn't support RSA key generation using 186-4. openssl.org/docs/fips/SecurityPolicy-2.0.12.pdf – ztk Sep 18 '17 at 20:19
  • You're right, but still companies have gotten their OpenSSL RSA algorithms certified!!! Check out NIST's RSA validation list. – Dan Sep 18 '17 at 22:12
  • the only one using 1.0.2l isn't using key generation. The rest may have patched the code to use 186-4 key generation. – ztk Sep 19 '17 at 17:46
  • You are correct the other companies are using an open source patch from RedHat. I haven't looked into it yet. – Dan Sep 19 '17 at 21:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.