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.
-~----------~----~----~----~------~----~------~--~---

Reply via email to