24

Is there any reference to check the list of encryption & signing algorithms which are compliant to FIPS 140-2. After an exhaustive search I could find only "AES".

Any suggestions would be much appreciated.

Siva Arunachalam
  • 343
  • 1
  • 2
  • 6

3 Answers3

24

Take a look at FIPS 140-2 Annex A. It lists the following:

  • Symmetric Key
    • AES, Triple-DES, Escrowed Encryption Standard
  • Asymmetric Key
    • DSA, RSA, ECDSA
  • Hash Standards
    • SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, SHA-512/224, SHA-512/256
  • Random number generators
  • Message authentication
    • CCM, GCM, GMAC, CMAC, HMAC
mikeazo
  • 38,133
  • 8
  • 110
  • 176
  • What about DES? – mistika Aug 06 '15 at 15:16
  • 3
    The FIPS 140-2 states that approved security function is either specified in the list of approved functions (which annex A is), or specified in a Federal Information Processing Standard(FIPS). The DES is specified in FIPS. However FIPS 140-2 Implementation Guide states that DES is not approved since May 19, 2007. And looking at the List of FIPS-140 validated modules I can see that DES is listed only in *other algorithms* section. However, Microsoft .Net Framework doesn't thrown an exception if you try to use DES when FIPS policy is forced (as it does with other non-approved algorithms). – mistika Aug 06 '15 at 15:23
  • 2
    @mistika Original/single DES (formally DEA) *was* specified by FIPS 46, through several revisions, but 46-3 was withdrawn in 2005, see http://csrc.nist.gov/publications/PubsFIPSArch.html . "Triple-DES" or "3DES" (formally TDEA) *only*, *not* single-DES, was reissued as a special publication (SP800-67) -- and that SP is referenced by current 140-2 IG and 140-2 annex A. – dave_thompson_085 Nov 16 '15 at 22:14
  • 1
    the FIPS document is a draft – David 天宇 Wong Mar 06 '19 at 03:09
  • In the approved modes there is ECB in, SP 800-38A, why is that even if it's not recommended by the security community ? – 3lokh Sep 18 '19 at 09:14
  • Any idea about key exchange algorithms e.g for openssh client ? – 3lokh Nov 13 '19 at 07:04
  • Per this post and the references it provides, I switched a web application from Rijndale to AES and the FIPS errors from ASP.NET / IIS ceased. – qxotk Aug 22 '22 at 17:54
  • You also need to look at Annex D, which lists "Key Establishment Techniques". That contains RSA _encryption_ (OAEP or KEM), Diffie-Hellman, PBKDF2 etc. For FIPS 140-3 the reference appears to be [NIST SP 800-140Cr1 ](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-140Cr1.pdf) – Neil Madden Sep 29 '22 at 09:11
2

The current list of FIPS-approved cryptographical methods is here.

For encryption, we're limited to AES, 3DES (known as TDEA in FIPS-speak), and EES (Skipjack).

As for signing algorithms, we have RSA, DSA and ECDSA.

Note that the list of FIPS-approved algorithms does change at times; not extremely frequently, but more often than they come out with a new version of FIPS 140.

poncho
  • 138,335
  • 11
  • 217
  • 344
1

Looks like there is no FIPS 140-2 approved asymmetric encryption algorithm, as DSA/RSA/ECDSA are only approved for key generation/signature.

wye
  • 11
  • 1
  • My understanding is that RSA can be used to encrypt a symmetric key, so you then perform a (standard) hybrid encryption. TBH, you really have to do this anyway with RSA. – user7761803 Mar 15 '19 at 13:41