CAVP Testing: Individual Component Testing
Algorithm Specifications
Beginning in 2011, validation testing of individual algorithm components was made available. Many situations exist where the specifications of an algorithm standard are implemented in multiple cryptographic boundaries. For example, PIV Smartcard applications may implement one part of an algorithm on the smartcard and another part of the algorithm on the smartcard reader. Possible reasons for implementing an algorithm this way is processing limitations or size constraints. In this situation, the algorithm validation testing of the complete algorithm can't be utilized since this requires everything to be within the same cryptographic boundary. Therefore, component testing was introduced. Component testing allows assurance of the individual components of an algorithm. The algorithm specifications for the components for which we have validation testing are available from the corresponding algorithm sections in the Cryptographic Toolkit.
Current testing includes the following algorithm components:
^{ECCCDH Primitive (SP 80056A)}
^{ECDSA Signature Generation Primitive(FIPS 1864)}
^{KDFs (SP 800135)}

^{RSADP Decryption Primitive (PKCS#1 v2.1, Section 5.1.2)}
^{RSA PKCS1.5 and PKCS PSS Signature Generation Primitive (FIPS 1864)}



Algorithm Validation Testing Requirements
SP 80056A Elliptic Curve Cryptography Cofactor DiffieHellman (ECC CDH) Primitive Testing
FIPS 1864 ECDSA Signature Generation Component Testing
SP800135 Revision 1 Recommendation for Existing ApplicationSpecific Key Derivation Functions
RSADP Decryption Operation Primitive Component Testing
The RSADP Decryption Operation Primitive Component Validation System (RSADPVS) specifies validation testing requirements for the RSADP Decryption Operation Primitive Component as specified in Section 7.1.2 of the NIST SP 80056B: Recommendation for PairWise Key Establishment Schemes Using Integer Factorization Cryptography (August 2009) and in Section 5.1.2 of the PKCS#1 v2.1: RSA Cryptography Standard (June 14, 2002).
Testing Notes
 This primitive is used by the key transport scheme referenced in both documents above.
FIPS 1864 RSA PKCS1v1_5 and PSS RSASP1 Signature Primitive Component Testing
The RSASP1 Signature Primitive Validation System (RSASP1VS) specifies validation testing requirements for the RSASP1 function as described in PKCS#1 v2.1: RSA Cryptography Standard, June 14, 2002. The RSASP1 function component only tests the modular exponentiation function. Therefore, the test for PKCS1.5 and PKCS PSS is identical. The format of the input message is not specified or tested by this validation test. It is outside the scope of the component test for RSASP1. (This was modified in January 2014 to only include the modular exponentiation function.)
Testing Notes
 This validation test inputs messages. It returns the signature s verifying the correct result.
Test Vectors
Use of these test vectors does not replace validation obtained through the CAVP.
The test vectors linked below can be used to informally verify the correctness of the components listed above.
Standard 
Test Vectors 
SP 80056A


FIPS 1864


SP 800135


SP 80056B Section 7.1.2


FIPS 1864


FIPS 1864

