Hi, I am developing an encryption module compliant to FIPS 140-2 based on Crypto++ 5.3. The security module needs to exchange a session key (thereafter used for AES encryption) between the Client and the Server applications. I am considering using Diffie-Hellman to exchange the AES session key between the parties but I found contradictory information about the compliance of the Diffie-Hellman algorithm in Crypto++ 5.3.
On one hand, the Security Policy of Crypto++ 5.3 available at http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140sp/140sp819.pdf in section 8.2 states that: "In the absence of a FIPS-approved asymmetric key establishment method (Annex D to FIPS 140-2), the CMVP allows the following commercially available methods to be used in FIPS Approved mode of operation: RSA Key Transport and Diffie-Hellman (DH) Key Agreement. Crypto++ provides APIs for the calling application to use these algorithms". This paragraph seems to indicate that Diffie- Hellman CAN be used in a FIPS 140-2 compliant encryption module. On the other hand, the description of the Certificate Number 819 at http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm lists the Diffie-Hellman algorithm of Crypto++ in the category "Other Algorithms". The header of the pages explicitly states that "The algorithms, protocols, and cryptographic functions listed as "other algorithms" (non-FIPS-approved algorithms) have not been validated or tested through the CMVP". Based on this information, I would conclude that Diffie-Hellman is NOT a FIPS 140-2 approved algorithm. Can anybody clarify if a key exchange strategy based on Diffie-Hellman is FIP 140-2 compliant or not? If so, why is the Diffie-Hellman algorithm of Crypto++ listed in as an "other algorithm" instead of a "FIPS-approved algorithm"? Is there any technicality related to FIP 140-2 compliance that I should be aware of before proceeding with Diffie-Hellman? Thank you in advance, Erwan --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [EMAIL PROTECTED] More information about Crypto++ and this group is available at http://www.cryptopp.com. -~----------~----~----~----~------~----~------~--~---
