Official websites use .gov
A .gov website belongs to an official government organization in the United States.

Secure .gov websites use HTTPS
A lock ( ) or https:// means you’ve safely connected to the .gov website. Share sensitive information only on official, secure websites.

Cryptographic Algorithm Validation Program CAVP

2012 Announcements

[12-18-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories (CAVS14.2). This version of the CAVS tool addresses minor updates:

  1. KAS ECCCDH Primitive Component: Modified code that creates txt file for website to include IUT's private key in the file.
  2. KAS ECCCDH Primitive Component: ECCCDH Primitive Verify was erroneously requiring SHA as a prerequisite. ECCCDH Primitive Compoent testing does not require any prerequisites. This has been corrected.
  3. KASECC: Changed the IDD-KASPREREQUISITESECC screen. Indicates that ECDSA PKV is not needed for Public Key Generation. Also added ECCCDH Primitive prerequisite guidance. This did not require any code change. It is only text.
  4. HMAC: The key size boxes expecting values less than or greater than the block size would erroneously allow the block size. This has been corrected. It caused problems with the summary file.
  5. HMAC: In CheckMO changed 5 to NUM_HMAC_TESTS to account for the addition of the 2 new SHAs.
  6. HMAC: In CheckMO code for SHA512/256, there were some SHA224 labels that needed to be SHA256 and some indexes of 1 that needed to be 6.
  7. AES: Counter Mode - if internal counter is specified, description is required. The CAVS screen didn't force this restriction. It now requires a description other than "" or "n/a" if internal counter is selected.
  8. AES - Corrected bug to allow any forward cipher function to be used as prerequisite for AES Counter.
  9. RSA2 info in inf file: There were 4 lines that had 2 equal signs. These have been replace with 1 equal sign.
  10. RSA2VS document - More descriptive text explaining the requirements for each Key Generation option.
  11. TDES error. If generate tests for encrypt and then check for encrypt and decrypt, it would indicate in the log file that the decrypt files didn't exist. But in the Summary file, it would indicate everything passed successfully. And visa versa. The Summary file has been changed to reflect the error.
  12. CMAC - In inf file, this line: CMACVer_AES=False was in two places, before CMACVer_AES128=False and before CMACVer_AES192=False. The second occurance has been removed. This line only occurs at the begining of the CMACVer section.

The transition period ends March 18, 2013.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90A, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the ECC DLC Primitive Component, SP800-108 KDF, the KDFs in SP800-135, SHA 512/224, SHA 512/256, HMAC with SHA 512/224, HMAC with SHA 512/256, RSA Signature Generation Component testing for PKCS1.5 and/or PKCS PSS, and/or the ECDSA2 Signature Generation Component, the CST lab must use the CAVS 14.2 to validate the IUT.
  2. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 14.2 to create files and has already sent the sample and request files to the vendor, NIST will accept validations using this tool up through March 18, 2013.
  3. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 14.2 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 14.2.

The CAVP will also review special conditions on a case-by-case basis.

[10-02-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories (CAVS14.1). This version of the CAVS tool addresses:

  1. Fixed bug in ECDSA2 pre-requisites for Key Pair Generation and Signature Generation to allow either DRBG or RNG instead of DRBG only.
  2. Changed format of CAVS-generated input 'K' in SP 800-135 SSH KDF testing. 'K' is now represented as an mpint, where the first four octets (bytes) are a length field. 'K' now matches format in the SSH RFCs.
  3. Fixed bug in HMAC key size lengths for HMAC SHA-512/224 and HMAC SHA-512/256.
  4. SNMP KDF second Engine ID field now automatically populated with same value as first Engine ID if second is left blank or is of invalid length.
  5. Fixed bug in RSA2 PKCS PSS Signature Generation Component testing.
  6. Added COUNT variable to RSA2 PKCS1.5 Signature Generation Component test files.
  7. Fixed bug in RSA2 Summary file for Component testing.
  8. Increased number of trials from 10 to 30 on the RSA2PKCS1.5 and PSS Signature Generation Component validation tests.
  9. Increased number of trials for all KDFs in SP800-135.
  10. Fixed minor bug in KAS. One of the sample files indicated MACData = ?. But during verify, CAVS was looking for MacData = (Note difference in label.)

The transition period ends January 2, 2013.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90A, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the ECC DLC Primitive Component, SP800-108 KDF, the KDFs in SP800-135, SHA 512/224, SHA 512/256, HMAC with SHA 512/224, HMAC with SHA 512/256, RSA Signature Generation Component testing for PKCS1.5 and/or PKCS PSS, and/or the ECDSA2 Signature Generation Component, the CST lab must use the CAVS 14.1 to validate the IUT.
  2. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 14.1 to create files and has already sent the sample and request files to the vendor, NIST will accept validations using this tool up through January 2, 2013.
  3. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 14.1 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 14.1.

The CAVP will also review special conditions on a case-by-case basis.

[08-28-12] -- Changed second bullet on CAVS 14.0 release instructions listed below for [08-20-12]. For any GCM/GMAC implementation validation request that doesnt currently have a validation number assigned to it, where a lab has used a version of CAVS prior to CAVS 14.0 to create files, regardless if the values have been sent to the vendor or not, please regenerate the GCM/GMAC tests using CAVS 14.0 or CAVS12.2 following the instructions supplied to the laboratories. Additional information from the vender regarding the Plaintext and AAD lengths supported by the IUT will be required to complete the testing.


[08-20-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories (CAVS14.0). This version of the CAVS tool addresses:

  1. Added validation testing for SHA-512/224 and SHA-512/256 as defined in FIPS 180-4
  2. Added validation testing for HMAC SHA-512/224 and HMAC SHA-512/256
  3. Added component testing for RSA Signature Generation primitive: a. for PKCS1.5. This tests the RSASP1 primitive function described in PKCS #1 v2.1: RSA Cryptography Standard (June 14, 2002) Section 5.2.1. This test uses the encoded message EM format used by PKCS1.5. b. for PKCS PSS. This tests the RSASP1 primitive function described in PKCS #1 v2.1: RSA Cryptography Standard (June 14, 2002) Section 5.2.1. This test uses the encoded message EM format used by PKCS PSS
  4. Added component testing for ECDSA2 Signature Generation primitive. This bypasses the hashing of the message by sending the hash value as the message
  5. Fixed bug in GCM pre-requisites. RNG/DRBG is only required if IV is generated internally using method in Section 8.2.2, "RBG-based Construction."
  6. Changed minimum allowed generated keying data length for ANS X9.63-2005 KDF from 112 bits to any length greater than 0.
  7. Modified GCM screen to require values of Plaintext and AAD lengths to be tested for zero-length (if supported by the IUT), values that are a multiple of 128 (if supported by the IUT), and values that are a non-multiple of 128 (if supported by the IUT)
  8. Fixed bug in inf file where KAS ECC NOKC KASECC__NOKC_EE_HMACSHA512=False when it should have =True. This only affected the inf file for automation. It did not affect the CAVS tool.
  9. Changed name of tab on KAS_ECC for the component testing from "800-56A Component Testing" to "Sect 5.7.1.2 ECC CDH Component Testing" to be more exact
  10. Enforce prerequisite of ECDSA Key Pair for ECCCDH Primitive Component testing. This prerequisite is required only if the Key Pair Generation option is selected on the "Select Functions Included in IUT..." button.
  11. Made changes to Cover letter information including: Division number changed to 773, Institute was spelled wrong in return address, Added Laboratory Name to first sentence, and at end of letter indicated "posted on Nfiles"...

The transition period ends November 20, 2012.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90A, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the ECC DLC Primitive Component, SP800-108 KDF, the KDFs in SP800-135, SHA 512/224, SHA 512/256, HMAC with SHA 512/224, HMAC with SHA 512/256, RSA Signature Generation Component testing for PKCS1.5 and/or PKCS PSS, and/or the ECDSA2 Signature Generation Component, the CST lab must use the CAVS 14.0 to validate the IUT.
  2. For any GCM/GMAC implementation validation request that doesn't currently have a validation number assigned to it, where a lab has used a version of CAVS prior to CAVS 14.0 to create files, regardless if the values have been sent to the vendor or not, please regenerate the GCM/GMAC tests using CAVS 14.0. Additional information from the vender regarding the Plaintext and AAD lengths supported by the IUT will be required to complete the information on the screen.
  3. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 14.0 to create files and has already sent the sample and request files to the vendor, except in the case of GCM/GMAC (see 2 above), NIST will accept validations using this tool up through November 20, 2012.
  4. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 14.0 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 14.0.

The CAVP will also review special conditions on a case-by-case basis.

[05-30-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories (CAVS12.2). This version of the CAVS tool addresses:

  1. Minor fix in HMAC Summary file.

The transition period ends August 30, 2012.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the testing of the ECC DLC Primitive Component, SP800-108 KDF and/or the individual KDFs in SP800-135, the CST lab must use the CAVS 12.2 to validate the IUT.
  2. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 12.2 to create files and has already sent the sample and request files to the vendor, NIST will accept validations using this tool up through August 30, 2012.
  3. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 12.2 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 12.2.

The CAVP will also review special conditions on a case-by-case basis.


[05-22-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories(CAVS12.1). This version of the CAVS tool addresses:

  1. Corrected the displaying of the RSA2 Key Gen Summary file.<\p>
  2. Corrected the displaying of the DRBG and RNG prerequisites in the RSA and RSA2 cover pages.
  3. Added line to the RSA2 information in the inf file: Selected=False/True.
  4. Changed name of variables for 800-108 in inf file to contain KDF108_ prefix.
  5. Removed duplicate KDF_PipelineMode = True/False line in the inf file.
  6. Changed section header from 800-108KDF to KDF800_108.
  7. Added error checking to RSA Key Gen to handle when response file doesn't have all prime methods in file that are to be tested.
  8. Fixed problems with SP 800-135 KDF input parameter limits.
  9. Fixed error with DRBG input lengths that are not a multiple of 8 bits.
  10. Changed default nonce length to zero for CTR_DRBG with no derivation function (df). Nonce is not used.

The transition period ends August 22, 2012.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the testing of the ECC DLC Primitive Component, SP800-108 KDF and/or the individual KDFs in SP800-135, the CST lab must use the CAVS 12.1 to validate the IUT.
  2. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 12.1 to create files and has already sent the sample and request files to the vendor, NIST will accept validations using this tool up through August 22, 2012.
  3. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 12.1 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 12.1.

The CAVP will also review special conditions on a case-by-case basis.

[03-23-12] -- New release of the CAVS algorithm validation testing tool to the CST Laboratories (CAVS12.0). This version of the CAVS tool addresses:

  1. Added validation testing for SP 800-108,
  2. Added component validation testing for the Key Derivation Functions included in SP 800-135,
  3. Fixed bug in name of file for files created for (All of 800-56A EXCEPT KDF) testing. An additional dash was in the file name between the scheme name and NOKC,
  4. For DSA2 domain parameter g, testing changed so that p, q, and domain_parameter_seed would only be generated by CAVS using a method that the IUT supports,
  5. For DSA2 domain parameter g, testing changed so that p, q, and domain_parameter_seed would only be generated by CAVS using a method that the IUT supports,
  6. KAS ECC and KAS FFC : if assurances were selected and then unselected, the check box indicating assurance selected would stay checked. This was changed in KASNoteTab to uncheck assurance checked if assurance was unselected after being selected,
  7. RSA1 KeyGen not printing RNG and DRBG prerequisite numbers on Cover Page. They are in the inf file correctly. This has been changed to make RNG and DRBG prerequisite info display on Cover Page,
  8. RSA2 KeyGen3.3. If only support fixed e value doesn’t do KAT test. The Generate works correctly. But the verify looks for the KAT test. This has been corrected. (If supports random e values, both KAT and other test is run. This works correctly. This difference has been updated in VS document as well and will be posted at time of CAVS release,
  9. RSA2 SigGenPKCSPSS entries in inf file: There was a repeating saltlen for 3072sha1. This has been removed,
  10. RSA2 inf fileentry changes: 4 lines have two = signs and there should be only one: 
        a. RSA2_BothPC_TableC2==False change to RSA2_BothPC_TableC2=False 
        b. RSA2_BothPC_TableC3==False change to RSA2_BothPC_TableC3=False 
        c. RSA2_ProvPC_TableC2==False change to RSA2_ProvPC_TableC2=False 
        d. RSA2_ProvPC_TableC3==False change to RSA2_ProvPC_TableC3=False
  11. RSA2 SigGenPSS. For modsize = 1024 bits and SHA512 bits, the length of the salt shall be 0 <= sLen <=hLen-2. That is, the length of the salt shall be a number from 0 to 62 bytes. This has now been changed on the SigGenPSS screen and code,
  12. For DRBG testing, the number of returned bits output by each generate call was changed from a fixed value of one output block length to a tester-selected length ranging from 1 to 32 (default = 4) output block lengths. This will exercise parts of some implementations not covered by previous tests and enable testing for other implementations that do not support generating a single output block per call to generate.

The transition period ends June 23, 2012.

As has been the policy in the past:

  1. EFFECTIVE IMMEDIATELY on any new validation requests for implementations of TDES, AES, FIPS 186-2DSA, SHA, RNG, FIPS 186-2 RSA, HMAC, CCM, FIPS 186-2ECDSA, CMAC, DRBG 800-90, Key Agreement Scheme (KAS) FFC, KAS ECC, GCM 800-38D, FIPS186-3 DSA, FIPS186-3ECDSA, FIPS186-3RSA, XTS, the testing of the ECC DLC Primitive Component, SP800-108 KDF and/or the individual KDFs in SP800-135, the CST lab must use the CAVS 12.0 to validate the IUT.
  2. For any algorithm validation request where a lab has used a version of CAVS prior to CAVS 12.0 to create files and has already sent the sample and request files to the vendor, NIST will accept validations using this tool up through June 23, 2012.
  3. If there are any validation requests where a lab has used a version of CAVS prior to CAVS 12.0 to create files and has not yet sent the appropriate files to the vendor, please regenerate everything using CAVS 12.0.

The CAVP will also review special conditions on a case-by-case basis.

 

Created October 05, 2016, Updated March 16, 2023