Is the RSA key pair generated in FIPS 140-2 protected?

Is the RSA key pair generated in FIPS 140-2 protected?

If I understand it correctly generating RSA key pair in FIPS 140-2 compliant environment will never show the private part of the RSA key pair as it is protected by cryptographic module. FIPS 186-4 is about validating that RSA key pair was correctly generated and fulfils requirements about primes and exponents.

What’s the difference between FIPS 140-2 and FIPS 186-4?

FIPS 140-2 specifies conditions applicable to the environment of RSA (and other) key generation, and refers to FIPS 186-4 for the generation itself. Several recent Java Card Smart Cards can internally generate RSA-2048 key pairs per FIPS 186-4, with security policy and FIPS 140-2 level 3 certificate to attest that.

What happens to DSA in FIPS 186-5?

Noting increased industry adoption of ECDSA within security products, Draft FIPS 186-5 proposes the removal of the Digital Signature Algorithm (DSA). This removal would prohibit use of DSA for generating digital signatures, while legacy use of DSA to verify existing signatures would be allowed.

What is the FIPS 186-5 Digital Signature Standard?

This correction will be incorporated in the upcoming publication of the Digital Signature Standard, in FIPS 186-5. The Standard specifies a suite of algorithms that can be used to generate a digital signature. Digital signatures are used to detect unauthorized modifications to data and to authenticate the identity of the signatory.

How to generate RSA key pair in Java?

A trivial Java Card applet runnign in that Smart Card’s Java Card Virtual Machine can generate such RSA key, and export the private key, in clear if you want that. Such key would be for a FIPS-approved algorithm (certs# 1506-1507), and generated according to FIPS 186-4, as attested by a FIPS 140-2 level 3 certificate.

What are the requirements for RSA key exchange?

RSA key exchange needs to meet certain requirements in Implementation Guidance (See above) D.8 or D.9. The most important restriction is that the modulus length must be at least 2048 bits. There are existing FIPS 140-2 validated modules, supporting Windows XP, which you can use to add algorithms, like SHA-256 in case you need to substitute SHA-1.