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:
|
The Elliptic Curve Cryptography Cofactor Diffie_Hellman (ECC CDH) Primitive Validation System (ECC_CDHVS) specifies validation testing requirements for testing only the SP800-56A Section 5.7.1.2 Elliptic Curve Cryptography Cofactor Diffie-Hellman (ECC CDH) Primitive.
Testing Notes
The Signature Generation Component test is described in the Elliptic Curve Digital Signature Algorithm Validation System (ECDSA2VS).
Testing Notes
The SP800-135 Existing Application-Specific Key Derivation Function Validation System (ASKDFVS) specifies validation testing requirements for each individual key derivation function in SP 800-135 (Revision 1).
Testing Notes
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 800-56B: Recommendation for Pair-Wise 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
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
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 800-56A |
ECCCDH Primitive Test Vectors |
FIPS 186-4 |
ECDSA Signature Generation Component |
SP 800-135 |
IKEv1 KDF Test VectorsIKEv2 KDF Test VectorsTLS KDF Test VectorsANS X9.63-2001 KDF Test VectorsSSH Test VectorsSRTP KDF Test VectorsSNMP KDF Test VectorsTPM KDF Test Vectors |
SP 800-56B Section 7.1.2 |
RSADP Decryption Operation Primitive Component Test Vectors |
FIPS 186-4 |
FIPS 186-4 RSA PKCS1-v1_5 RSASP1 Signature Primitive Component Test Vectors |
FIPS 186-4 |
FIPS 186-4 RSA PKCS1-vPSS RSASP1 Signature Primitive Component Test Vectors |
Security and Privacy: assurance, cryptography, testing & validation