Cryptographic Algorithm Validation Program (CAVP)
The Computer Security Division at NIST maintains a number of cryptographic standards, and coordinates algorithm validation test suites for many of those standards. The Cryptographic Algorithm Validation Program (CAVP) currently has algorithm validation testing for the following cryptographic algorithms:
Symmetric Algorithms:
- Federal Information Processing Standard (FIPS) 197, Advanced Encryption Standard (AES)
FIPS 197 specifies the AES algorithm.
- FIPS 46-3 and FIPS 81, Data Encryption Standard (DES) and DES Modes of Operation
FIPS 46-3 specifies the DES and Triple DES algorithms.
- FIPS 185, Escrowed Encryption Standard (EES)
Which specifies the Skipjack algorithm.
Back to Top
Additional Modes of Operation for Symmetric Algorithms:
- NIST Special Publication (SP) 800-38E, Recommendation for Block Cipher Modes of Operation: The XTS-AES Mode for Confidentiality on Block-Oriented Storage Devices
This SP specifies the XTS_AES mode of operation algorithm. This document approves the XTS-AES mode of the AES algorithm by reference to IEEE Std 1619-2007, subject to one additional requirement, as an option for
protecting the confidentiality of data on block-oriented storage devices. The mode does not provide authentication of the data or its source.
Asymmetric Algorithms:
- FIPS 186-2 with Change
Notice 1 (October 5, 2001), Digital Signature Standard (DSS)
Which specifies the DSA, RSA, and ECDSA algorithms.
- FIPS
186-4 (July 19, 2013), Digital Signature Standard (DSS)
All of the changes between FIPS 186-3 and FIPS186-4 had already been incorporated into the CAVP testing tool; the testing of FIPS186-3 implementations is identical to the testing of FIPS 186-4 implementations. There is no need for a transition period in which both FIPS 186-3 and FIPS 186-4 validation would be performed. Previous CAVP validations for FIPS 186-3 will be considered as equivalent to those for FIPS 186-4. Vendors should start using FIPS 186-4 immediately.
Back to Top
Hash Algorithms:
- FIPS
180-4 (March 2012), Secure Hash Standard (SHS)
Specifying SHA-1, SHA 224, SHA 256, SHA 384, SHA 512, SHA512/224, and SHA512/256 algorithms.
Random Number Generator Algorithms:
Back to Top
Deterministic Random Bit Generator (DRBG) Algorithms:
- NIST SP 800-90A, Recommendation for Random Number Generation Using Deterministic Random Bit Generators
Specifies four mechanisms mechanisms for the generation of random bits using deterministic methods
There are four mechanisms discussed in this SP. These mechanisms are based on either hash
functions (Hash_DRBG, HMAC_DRBG), block cipher algorithms using Counter mode (CTR_DRBG) or number theoretic (Dual EC_DRBG) problems.
Message Authentication Algorithms:
- NIST SP 800-38B (May 2005), Recommendation for Block Cipher Modes of Operation: The CMAC Mode for Authentication
CMAC can be considered a mode of operation of the block cipher because it is based on an approved symmetric key block cipher, such as the Advanced Encryption Standard (AES) algorithm currently specified in FIPS 197. CMAC is also an approved mode of the Triple Data Encryption Algorithm (TDEA).
- SP 800-38C (May 2004), Counter with Cipher Block Chaining - Message Authentication Code (CCM)
CCM is based on an approved symmetric key block cipher algorithm whose block size is 128 bits, such as the Advanced Encryption Standard (AES) algorithm currently specified in FIPS 197 [2]; thus, CCM cannot be used with the Triple Data Encryption Algorithm [3], whose block size is 64 bits. Currently the only NIST-Approved 128 bit symmetric key algorithm is AES.
- SP 800-38D (November 2007), Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC
GCM is based on an approved symmetric key block cipher algorithm whose block size is 128 bits, such as the Advanced Encryption Standard (AES) algorithm currently specified in FIPS 197 [2]; thus, GCM cannot be used with the Triple Data Encryption Algorithm [3], whose block size is 64 bits. Currently the only NIST-Approved 128 bit symmetric key algorithm is AES.
- FIPS 198 (March 6, 2002), Keyed-Hash Message Authentication Code (HMAC)
FIPS 198 specifies the HMAC algorithm.
Back to Top
Key Management:
Key Schemes -
- NIST SP 800-56A (Revised March 2007), Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography
This SP specifies key establishment schemes based on standards developed by the Accredited Standards Committee (ASC) X9, Inc.: ANS X9.42 (Agreement of Symmetric Keys Using Discrete Logarithm Cryptography) and ANS X9.63 (Key Agreement and Key Transport Using Elliptic Curve Cryptography).
Key Derivation Functions (KDF) -
- NIST SP 800-108 (Revised October 2009), Recommendation for Key Derivation Using Pseudorandom Functions
This Recommendation specifies techniques for the derivation of additional keying material from a secret key, either established through a key establishment scheme or shared through some other manner, using pseudorandom functions.
- NIST SP 800-135 Revision 1 (December 2011), Recommendation for Existing Application-Specific Key Derivation Functions
Cryptographic keys are vital to the security of internet security applications and protocols. Many widely-used internet security protocols have their own application-specific Key Derivation Functions (KDFs) that are used to generate the cryptographic keys required for their cryptographic functions. This Recommendation provides security requirements for those KDFs.
Retired Validation Testing:
Two other cryptographic standards (MAC; ANSI X9.17 Key Management) no longer have active validation testing, but the standards remain in effect. Cryptographic module (FIPS 140-1 and FIPS 140-2) validation testing by the CMT laboratories may include testing for conformance to FIPS 113 and 171, as appropriate:
- FIPS 113, Computer Data Authentication
Which specifies the generation of a Message Authentication Code (MAC), from ANSI X9.9, and
- FIPS 171, Key Management Using ANSI X9.17 (withdrawn February 08, 2005
Back to Top