Computer Security Resource Center

Computer Security Resource Center

Computer Security
Resource Center

Cryptographic Algorithm Validation Program

Project Overview

The Cryptographic Algorithm Validation Program (CAVP) provides validation testing of FIPS-approved and NIST-recommended cryptographic algorithms and their individual components. Cryptographic algorithm validation is a prerequisite of cryptographic module validation.

Vendors may use any of the NVLAP-accredited Cryptographic and Security Testing (CST) Laboratories to test algorithm implementations.

An algorithm implementation successfully tested by a lab and validated by NIST is added to an appropriate validation list, which identifies the vendor, implementation, operational environment, validation date and algorithm details.


Currently, CAVP tests the following cryptographic algorithms. Follow the links to algorithm specificationsvalidation testing requirementsvalidation lists and test vectors.

Block Ciphers 

AESTriple DESSkipjack (decryption only)
Tests for ECB, CBC, CFB and OFB modes.

Block Cipher Modes 


Digital Signatures


Key Derivation Functions


Key Management


Message Authentication

HMAC (FIPS 198-1)

Random Number Generation


Secure Hashing


Component Testing

ECC-CDH (SP 800-56A),
ECDSA Signature (FIPS 186-4),
KDF (SP800-135),
RSA PKCS1-v1.5 RSASP1 (FIPS 186-4),
RSADP Decryption (SP 800-56B; PKCS#1 v2.1)

Other algorithm testing has been retired: DESMACSkipjack (encryption only), and ANSI X9.17,RNG.

CAVP Management Manual

Last update: 06-24-2009

The CAVP Management Manual provides effective guidance for the CAVP Validation Authorities, CST laboratories, and vendors who participate in the program. It outlines the management activities and specific responsibilities of the various participating groups; however, it does not include any cryptographic standards. The manual may also interest consumers who acquire validated cryptographic modules and validated cryptographic algorithm implementations.


Last update: 01-01-16

The CAVP FAQ addresses many questions raised by the testing laboratories; it includes a section of general questions and sections for most of the tested algorithms. The FAQ addresses:

  • interpretations of algorithm specifications;
  • programmatic questions about the CAVP;
  • the Cryptographic Algorithm Validation System (CAVS) tool; and
  • information required during validation.

The FAQ is primarily intended for use by the testing labs. Vendors may also find the information useful when submitting their algorithms for testing.

Relationship of Algorithm Validation to FIPS 140-2 Module Validation

A cryptographic module validated to FIPS 140-2 shall implement at least one Approved security function used in an Approved mode of operation. For an algorithm implementation to be listed on a cryptographic module validation certificate as an Approved security function, the algorithm implementation must meet all the requirements of FIPS 140-2 and must successfully complete the cryptographic algorithm validation process. A product or implementation does not meet the FIPS 140-2 applicability requirements by simply implementing an Approved security function and acquiring validations for each of the implemented algorithms. For more information, see the Cryptographic Module Validation Program

The CAVP was established in July 1995 by NIST and the Government of Canada's Communications Security Establishment (CSE). CSD's Security Testing, Validation, and Measurement Group (STVMG) manages the validation testing of cryptographic modules and their underlying cryptographic algorithms through the CAVP and CMVP.

Created October 05, 2016, Updated November 30, 2018