4

There's a difference between FIPS approved and FIPS allowed algorithms. RSA is an allowed algorithm for doing key wrap and key transport, however it's not FIPS approved for that purpose. It's only approved for digital signatures. If you're using a FIPS validated module take a look at the security policy for the module you're using and see if RSA is allowed ...


3

Indeed FIPS 140-2 requires a module to validate itself, and this has no security benefit. In order for a code integrity check to have a security benefit, both the code that performs the verification and the data that it uses (hash value for a hash, MAC value and secret key for a MAC, public key for a signature) need to be integrity-protected (and with a MAC, ...


3

Start with Annex A: Approved Security Functions. That will give you a good idea of the approved functions. A few caveats: Not all modules support all approved functions, e.g. OpenSSL doesn't support quite a few of them (OpenSSL's validation isn't active anymore anyway) FIPS 140 is a constantly evolving target, so today's validated module is tomorrow's no ...


1

As documented in NIST SP800-38D, GCM works as follows, upon input of block cipher $E$, key $K$, initialization vector $IV$, and plaintext $P$: Compute the GHASH key $H=E_K(0^{128})$ Compute the initial counter-mode value $J_0$ using some rules which amount to $J_0=0^{128}$ for an (illegal) empty IV. Encrypt the plaintext using CTR-mode and IV $\operatorname{...


1

If you look at the FIPS Implementation Guidelines for FIPS-140-2 here https://csrc.nist.gov/csrc/media/projects/cryptographic-module-validation-program/documents/fips140-2/fips1402ig.pdf In section D.8 Key Agreements, you will find the recommendations. This recommendation points to NIST SP-800-56A, where in Appendix D, there is a table of "Approved ECC ...


Only top voted, non community-wiki answers of a minimum length are eligible