BaselineWatch
Desk

7 Cryptographic Algorithm Validation Testing Requirements

NIST PIV and digital identity SP 800-78-5 against SP 800-78-4
All changes in this version
modified 7 Cryptographic Algorithm Validation Testing Requirements

Title

Cryptographic Algorithm Validation Testing Requirements

Control changed

Before · SP 800-78-4

As noted in Section 4.2.2 of [FIPS201] , the PIV Card shall be validated under [FIPS140] with an overall validation of Level 2 and with Level 3 physical security. The scope of the Cryptographic Module Validation Program (CMVP) validation shall include all cryptographic operations performed over both the contact and contactless interfaces. Table 7-1 describes the Cryptographic Algorithm Validation Program (CAVP) tests that are required, at the time of publication, for each supported key and algorithm. If any changes are made to the CAVP validation requirements, the changes, along with the deadlines for conformance with these requirements, will be posted on NIST’s “Personal Identity Verification Program (NPIVP)” web page at http://csrc.nist.gov/groups/SNS/piv/npivp/index.html . 7

Terms used in this section are from the the corresponding algorithm validation list at http://csrc.nist.gov/groups/STM/cavp/validation.html .

Table 7-1. Cryptographic Algorithm Validation Program (CAVP) Validation Requirements Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Authentication key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG

7 Many cryptographic operations listed in Table 7-1 require the use of a random bit generator (those operations that include a prerequisite of “ DRBG or RNG ”). Please refer to [SP800-131A] for more information about approved random bit generators. Algorithm Required Functionality Minimum CAVP Validation Requirements

asymmetric Card Authentication key 2048-bit RSA Signature Generation for 2048-bit RSA Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Signature Generation for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG symmetric Card Authentication key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )

AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements

digital signature key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG ECDSA (Curve P-384) Key Generation and Signature Generation for Curve P-384 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Prerequisites: DRBG or RNG Algorithm Required Functionality Minimum CAVP Validation Requirements

key management key 2048-bit RSA 2048-bit RSA Key Transport Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Key Transport: SP 800-56B RSADP component ECDH (Curve P-256) Key Agreement for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-256) ECDH (Curve P-384) Key Agreement for Curve P-384 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-384) PIV Card Application Administration Key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )

AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Secure Messaging key Cipher Suite 2 Key Generation for Curve P-256

C(1e, 1s, ECC CDH) with Curve P-256

CMAC with AES-128

Encryption and Decryption for AES CBC 128 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( EC: P-256 (SHA256 CMAC_AES128) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 128; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 128 )

Cipher Suite 7 Key Generation for Curve P-384

C(1e, 1s, ECC CDH) with Curve P-384

CMAC with AES-256

Encryption and Decryption for AES CBC 256 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( ED: P-384 (SHA384 CMAC_AES256) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 256; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 256 ) Appendix A—Acronyms

The following abbreviations and acronyms are used in this standard:

3TDEA Three key TDEA (TDEA with Keying Option 1 [SP800-67] ) AES Advanced Encryption Standard [FIPS197] CA Certification Authority CAVP Cryptographic Algorithm Validation Program CBC Cipher Block Chaining CBEFF Common Biometric Exchange Formats Framework CDH Cofactor Diffie-Hellman CHUID Card Holder Unique Identifier CMAC Cipher-Based Message Authentication Code CMVP Cryptographic Module Validation Program CRL Certificate Revocation List CVC Card Verifiable Certificate DES Data Encryption Standard DRBG Deterministic Random Bit Generator ECB Electronic Codebook ECC Elliptic Curve Cryptography ECDH Elliptic Curve Diffie-Hellman ECDSA Elliptic Curve Digital Signature Algorithm FIPS Federal Information Processing Standards FISMA Federal Information Security Management Act ICAO International Civil Aviation Organization ITL Information Technology Laboratory NIST National Institute of Standards and Technology OCSP Online Certificate Status Protocol OID Object Identifier OMB Office of Management and Budget PIV Personal Identity Verification PKCS Public-Key Cryptography Standards PKI Public Key Infrastructure PSS Probabilistic Signature Scheme RNG Random Number Generator RSA Rivest, Shamir, Adleman cryptographic algorithm SHA Secure Hash Algorithm SHS Secure Hash Standard SP Special Publication TDEA Triple Data Encryption Algorithm; Triple DEA TECB TDEA Electronic Codebook Appendix B—References

[FIPS140] Federal Information Processing Standard 140-2, Security Requirements for Cryptographic Modules , May 25, 2001. http://csrc.nist.gov/publications/ .

[FIPS186] Federal Information Processing Standard 186-4, Digital Signature Standard (DSS) , July 2013. http://dx.doi.org/10.6028/NIST.FIPS.186-4 .

[FIPS197] Federal Information Processing Standard 197, Advanced Encryption Standard (AES) , November 2001. http://csrc.nist.gov/publications/ .

[FIPS201] Federal Information Processing Standard 201-2, Personal Identity Verification (PIV) of Federal Employees and Contractors , August 2013. http://dx.doi.org/10.6028/NIST.FIPS.201-2 .

[MRTD] ICAO Doc 9303, Machine Readable Travel Documents, Part 3: Machine Readable Official Travel Documents, Volume 2: Specifications for Electronically Enabled MRtds with Biometric Identification Capability, 3rd edition, International Civil Aviation Organization: Montreal, Quebec, Canada, 2008. http://www.icao.int/publications/pages/publication.aspx?docnum=9303 .

[PKCS1] Jakob Jonsson and Burt Kaliski, PKCS #1: RSA Cryptography Specifications Version 2.1 , RFC 3447, February 2003. http://www.rfc-editor.org/info/rfc3447 .

[SP800-56A] NIST Special Publication 800-56A Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography , May 2013. http://dx.doi.org/10.6028/NIST.SP.800-56Ar2 .

[SP800-56B] NIST Special Publication 800-56B Revision 1, Recommendation for Pair-Wise Key-Establishment Schemes Using Integer Factorization Cryptography , September 2014. http://dx.doi.org/10.6028/NIST.SP.800-56Br1 .

[SP800-57(1)] NIST Special Publication 800-57 , Recommendation for Key Management – Part 1: General (Revision 3) , July 2012. http://csrc.nist.gov/publications/ .

[SP800-67] NIST Special Publication 800-67 Revision 1, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , January 2012. http://csrc.nist.gov/publications/ .

[SP800-73] NIST Special Publication 800-73-4, Interfaces for Personal Identity Verification , May 2015. http://dx.doi.org/10.6028/NIST.SP.800-73-4 .

[SP800-76] NIST Special Publication 800-76-2, Biometric Specifications for Personal Identity Verification , July 2013. http://dx.doi.org/10.6028/NIST.SP.800-76-2 .

[SP800-131A] NIST Special Publication 800-131A, Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths , January 2011. http://csrc.nist.gov/publications/ .

After · SP 800-78-5

As noted in Section 4.2.2 of [FIPS201] , the PIV Card shall be validated under [FIPS140] with an overall validation of Level 2 and with Level 3 physical security. The scope of the Cryptographic Module Validation Program (CMVP) validation shall include all cryptographic operations performed over both the contact and contactless interfaces. Table 7-1 describes the Cryptographic Algorithm Validation Program (CAVP) tests that are required, at the time of publication, for each supported key and algorithm. If any changes are made to the CAVP validation requirements, the changes, along with the deadlines for conformance with these requirements, will be posted on NIST’s “Personal Identity Verification Program (NPIVP)” web page at http://csrc.nist.gov/groups/SNS/piv/npivp/index.html . 7

Terms used in this section are from the the corresponding algorithm validation list at http://csrc.nist.gov/groups/STM/cavp/validation.html .

Table 7-1. Cryptographic Algorithm Validation Program (CAVP) Validation Requirements Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Authentication key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG

7 Many cryptographic operations listed in Table 7-1 require the use of a random bit generator (those operations that include a prerequisite of “ DRBG or RNG ”). Please refer to [SP800-131A] for more information about approved random bit generators. Algorithm Required Functionality Minimum CAVP Validation Requirements

asymmetric Card Authentication key 2048-bit RSA Signature Generation for 2048-bit RSA Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Signature Generation for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG symmetric Card Authentication key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )

AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements

digital signature key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65 537 Key Generation: 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Signature Generation: RSASP1 component: (Mod2048) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) Prerequisites: DRBG or RNG ECDSA (Curve P-384) Key Generation and Signature Generation for Curve P-384 Key Generation: 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Signature Generation: ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Prerequisites: DRBG or RNG Algorithm Required Functionality Minimum CAVP Validation Requirements

key management key 2048-bit RSA 2048-bit RSA Key Transport Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : Key (gen)(MOD: 2048 PubKey Values: 65 537) Prerequisite: DRBG or RNG; SHS

186-4: 186-4KEY(gen) : FIPS186-4_Fixed_e (65 537) or FIPS186-4_Random_e PGM(Prime Generation Methods with supporting variables) Prerequisites: DRBG or RNG; SHS

Key Transport: SP 800-56B RSADP component ECDH (Curve P-256) Key Agreement for Curve P-256 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-256) ECDH (Curve P-384) Key Agreement for Curve P-384 Key Generation (if key can be generated on card) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG

186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG

Key Agreement: SP 800-56A Section 5.7.1.2 ECC CDH primitive component: CURVE(P-384) PIV Card Application Administration Key 3TDEA Encryption and Decryption for 3TDEA TECB ( e/d; KO 1 )

AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Secure Messaging key Cipher Suite 2 Key Generation for Curve P-256

C(1e, 1s, ECC CDH) with Curve P-256

CMAC with AES-128

Encryption and Decryption for AES CBC 128 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-256) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-256 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( EC: P-256 (SHA256 CMAC_AES128) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 128; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 128 )

Cipher Suite 7 Key Generation for Curve P-384

C(1e, 1s, ECC CDH) with Curve P-384

CMAC with AES-256

Encryption and Decryption for AES CBC 256 Key Generation (of card’s static ECDH key) : 186-2 (for revalidation scenarios only) : PKG (Public Key Generation): CURVE(P-384) Prerequisites: DRBG or RNG 186-4: PKG (Public Key Generation): CURVE(P-384 (ExtraRandomBits and/or TestingCandidates)) Prerequisites: DRBG or RNG ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( ED: P-384 (SHA384 CMAC_AES256) ) ] Prerequisite: DRBG or RNG; SHS AES CMAC (Generation/Verification) (KS: 256; Block Size(s): Full / Partial; Msg Len(s) Min: 32 Max: 12 745 ; Tag Length(s): 16 ) AES CBC ( e/d; 256 ) Appendix A—Acronyms

The following abbreviations and acronyms are used in this standard:

3TDEA Three key TDEA (TDEA with Keying Option 1 [SP800-67] ) AES Advanced Encryption Standard [FIPS197] CA Certification Authority CAVP Cryptographic Algorithm Validation Program CBC Cipher Block Chaining CBEFF Common Biometric Exchange Formats Framework CDH Cofactor Diffie-Hellman CHUID Card Holder Unique Identifier CMAC Cipher-Based Message Authentication Code CMVP Cryptographic Module Validation Program CRL Certificate Revocation List CVC Card Verifiable Certificate DES Data Encryption Standard DRBG Deterministic Random Bit Generator ECB Electronic Codebook ECC Elliptic Curve Cryptography ECDH Elliptic Curve Diffie-Hellman ECDSA Elliptic Curve Digital Signature Algorithm FIPS Federal Information Processing Standards FISMA Federal Information Security Management Act ICAO International Civil Aviation Organization ITL Information Technology Laboratory NIST National Institute of Standards and Technology OCSP Online Certificate Status Protocol OID Object Identifier OMB Office of Management and Budget PIV Personal Identity Verification PKCS Public-Key Cryptography Standards PKI Public Key Infrastructure PSS Probabilistic Signature Scheme RNG Random Number Generator RSA Rivest, Shamir, Adleman cryptographic algorithm SHA Secure Hash Algorithm SHS Secure Hash Standard SP Special Publication TDEA Triple Data Encryption Algorithm; Triple DEA TECB TDEA Electronic Codebook Appendix B—References

[FIPS140] Federal Information Processing Standard 140-2, Security Requirements for Cryptographic Modules , May 25, 2001. http://csrc.nist.gov/publications/ .

[FIPS186] Federal Information Processing Standard 186-4, Digital Signature Standard (DSS) , July 2013. http://dx.doi.org/10.6028/NIST.FIPS.186-4 .

[FIPS197] Federal Information Processing Standard 197, Advanced Encryption Standard (AES) , November 2001. http://csrc.nist.gov/publications/ .

[FIPS201] Federal Information Processing Standard 201-2, Personal Identity Verification (PIV) of Federal Employees and Contractors , August 2013. http://dx.doi.org/10.6028/NIST.FIPS.201-2 .

[MRTD] ICAO Doc 9303, Machine Readable Travel Documents, Part 3: Machine Readable Official Travel Documents, Volume 2: Specifications for Electronically Enabled MRtds with Biometric Identification Capability, 3rd edition, International Civil Aviation Organization: Montreal, Quebec, Canada, 2008. http://www.icao.int/publications/pages/publication.aspx?docnum=9303 .

[PKCS1] Jakob Jonsson and Burt Kaliski, PKCS #1: RSA Cryptography Specifications Version 2.1 , RFC 3447, February 2003. http://www.rfc-editor.org/info/rfc3447 .

[SP800-56A] NIST Special Publication 800-56A Revision 2, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography , May 2013. http://dx.doi.org/10.6028/NIST.SP.800-56Ar2 .

[SP800-56B] NIST Special Publication 800-56B Revision 1, Recommendation for Pair-Wise Key-Establishment Schemes Using Integer Factorization Cryptography , September 2014. http://dx.doi.org/10.6028/NIST.SP.800-56Br1 .

[SP800-57(1)] NIST Special Publication 800-57 , Recommendation for Key Management – Part 1: General (Revision 3) , July 2012. http://csrc.nist.gov/publications/ .

[SP800-67] NIST Special Publication 800-67 Revision 1, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , January 2012. http://csrc.nist.gov/publications/ .

[SP800-73] NIST Special Publication 800-73-4, Interfaces for Personal Identity Verification , May 2015. http://dx.doi.org/10.6028/NIST.SP.800-73-4 .

[SP800-76] NIST Special Publication 800-76-2, Biometric Specifications for Personal Identity Verification , July 2013. http://dx.doi.org/10.6028/NIST.SP.800-76-2 .

[SP800-131A] NIST Special Publication 800-131A, Transitions: Recommendation for Transitioning the Use of Cryptographic Algorithms and Key Lengths , January 2011. http://csrc.nist.gov/publications/ .
As noted in Section 4.2.2 of [FIPS201] , the PIV Card shall be validated under [FIPS140] with an overall validation of Level 2 and with Level 3 physical security. The scope of the Cryptographic Module Validation Program (CMVP) validation shall include all cryptographic operations performed over both contact and contactless interfaces. Table 11 8

8 Terms used in this section are from the corresponding algorithm validation list available at https://csrc.nist.gov/projects/cryptographic- algorithm-validation-program/validation-search describes the Cryptographic Algorithm Validation Program (CAVP) tests that are required for each supported key and algorithm at the time of publication. 9

9 TDEA has been removed from Table 11 since [SP 800-131A Revision 2] has deprecated its use through 2023 and disallowed its use after 2023. Consequently, on January 1, 2024, CMVP will move validated TDEA implementations to the FIPS 140-mode non-approved historical validation list. If any changes are made to the CAVP validation requirements, the changes and the deadlines for conformance with these requirements will be posted on NIST’s Personal Identity Verification Program (NPIVP) web page at https://csrc.nist.gov/projects/nist-personal-identity-verification-program .

Table 11. Cryptographic Algorithm Validation Program (CAVP) validation requirements

Private Keys Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Authentication key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65537 Key Generation: 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod2048)

3072-bit RSA Key Generation and Signature Generation for 3072-bit RSA with public key exponent 65537 Key Generation: 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod3072) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-4: PKG (Public Key Generation): CURVE(P-256

. Private Keys Algorithm Required Functionality Minimum CAVP Validation Requirements

ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) ECDSA (Curve P-384) Key Generation and Signature Generation for Curve P-384 Key Generation: 186-4: PKG (Public Key Generation): CURVE(P-384

ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Asymmetric Card Authentication key 2048-bit RSA Signature Generation for 2048-bit RSA Key Generation (if key can be generated on card) : 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod2048) 3072-bit RSA Signature Generation for 3072-bit RSA Key Generation (if key can be generated on card) : 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod3072) ECDSA (Curve P-256) Signature Generation for Curve P-256 Key Generation (if key can be generated on card) : 186-4: PKG (Public Key Generation): CURVE(P-256

ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) ECDSA (Curve P-384) Signature Generation for Curve P-384 Key Generation (if key can be generated on card) : 186-4: PKG (Public Key Generation): CURVE(P-384 Private Keys Algorithm Required Functionality Minimum CAVP Validation Requirements

ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Symmetric Card Authentication key AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 )

Digital signature key 2048-bit RSA Key Generation and Signature Generation for 2048-bit RSA with public key exponent 65537 Key Generation: 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod2048) 3072-bit RSA Key Generation and Signature Generation for 3072-bit RSA with public key exponent 65537 Key Generation: 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

RSASP1 component: (Mod3072) ECDSA (Curve P-256) Key Generation and Signature Generation for Curve P-256 Key Generation: 186-4: PKG (Public Key Generation): CURVE(P-256

ECDSA Signature Generation component: CURVE(P-256 tested with input length 256 bits) ECDSA (Curve P-384) Key Generation and Signature Generation for Curve P-384 Key Generation: 186-4: PKG (Public Key Generation): CURVE(P-384 Private Keys Algorithm Required Functionality Minimum CAVP Validation Requirements

ECDSA Signature Generation component: CURVE(P-384 tested with input length 384 bits) Key management key 2048-bit RSA 2048-bit RSA Key Transport Key Generation (if key can be generated on card) : 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

Key Transport: SP 800-56B RSADP component 3072-bit RSA 3072-bit RSA Key Transport Key Generation (if key can be generated on card) : 186-4: 186-4KEY(gen): FIPS186-4_Fixed_e (65537) or FIPS186-4_Random_e PGM(Any Prime Generation Method) Prerequisites: DRBG; SHS

Key Transport: SP 800-56B RSADP component ECDH (Curve P-256) Key Agreement for Curve P-256 Key Generation (if key can be generated on card) : 186-4: PKG (Public Key Generation): CURVE(P-256

Key Agreement: SP 800-56A-3 Section 5.7.1.2 ECC CDH primitive component: CURVE(P-256) ECDH (Curve P-384) Key Agreement for Curve P-384 Key Generation (if key can be generated on card) : 186-4: PKG (Public Key Generation): CURVE(P-384

Key Agreement: SP 800-56A-3 Section 5.7.1.2 ECC CDH primitive component: CURVE(P-384) PIV Card Application Administration Key AES-128 Encryption and Decryption for AES-128 ECB ( e/d; 128 )

AES-192 Encryption and Decryption for AES-192 ECB ( e/d; 192 )

AES-256 Encryption and Decryption for AES-256 ECB ( e/d; 256 ) Private Keys Algorithm Required Functionality Minimum CAVP Validation Requirements

PIV Secure Messaging key Cipher Suite 2 Key Generation for Curve P-256

C(1e, 1s, ECC CDH) with Curve P-256

CMAC with AES-128

Encryption and Decryption for AES CBC 128 Key Generation (of card’s static ECDH key) : 186-4: PKG (Public Key Generation): CURVE(P-256 ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( EC: P-256 (SHA256 CMAC_AES128) ) ] Prerequisites: DRBG; SHS AES CMAC (Generation/Verification) (KS: 128; Msg Len(s) Min: 32 bytes Max: 12 745 bytes; Tag Length(s): 16 bytes ) AES CBC ( e/d; 128 )

Cipher Suite 7 Key Generation for Curve P-384

C(1e, 1s, ECC CDH) with Curve P-384

CMAC with AES-256

Encryption and Decryption for AES CBC 256 Key Generation (of card’s static ECDH key) : 186-4: PKG (Public Key Generation): CURVE(P-384 ECC: SCHEME[ OnePassDH ( KC <KARole: Responder > < KCRole: Provider > < KCType: Unilateral > < KDF: Concat > ) ( ED: P-384 (SHA384 CMAC_AES256) ) ] Prerequisites: DRBG; SHS AES CMAC (Generation/Verification) (KS: 256; Msg Len(s) Min: 32 bytes Max: 12 745 bytes; Tag Length(s): 16 bytes) AES CBC ( e/d; 256 ) References

[FIPS140] National Institute of Standards and Technology (2019) Security Requirements for Cryptographic Modules. (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 140-3. https://doi.org/10.6028/NIST.FIPS.140-3

[FIPS186] National Institute of Standards and Technology (2023) Digital Signature Standard (DSS). (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 186-5. https://doi.org/10.6028/NIST.FIPS.186-5

[FIPS197] National Institute of Standards and Technology (2001) Advanced Encryption Standard (AES). (Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 197-upd1, updated May 9, 2023. https://doi.org/10.6028/NIST.FIPS.197-upd1

[FIPS201] National Institute of Standards and Technology (2022) Personal Identity Verification (PIV) of Federal Employees and Contractors. (U.S. Department of Commerce, Washington, DC), Federal Information Processing Standards Publication (FIPS) NIST FIPS 201-3. https://doi.org/10.6028/NIST.FIPS.201-3

[MRTD] International Civil Aviation Organization (2008) Machine Readable Travel Documents, Part 3: Machine Readable Official Travel Documents, Volume 2: Specifications for Electronically Enabled MRtds with Biometric Identification Capability. (International Civil Aviation Organization, Montreal, Quebec, Canada), ICAO Document 9303, 3 rd edition. Available at http://www.icao.int/publications/pages/publication.aspx?docnum=9303

[PKCS1] Moriarty K (ed.), Kaliski B, Jonsson J, Rusch A, PKCS #1: RSA Cryptography Specifications Version 2.2 , RFC 8017, November 2016. Available at https://www.rfc-editor.org/rfc/rfc8017.txt

[SP800-56A] NIST Special Publication 800-56A Revision 3, Recommendation for Pair-Wise Key Establishment Schemes Using Discrete Logarithm Cryptography , April 2018. https://doi.org/10.6028/NIST.SP.800-56Ar3

[SP800-56B] NIST Special Publication 800-56B Revision 2, Recommendation for Pair-Wise Key-Establishment Schemes Using Integer Factorization Cryptography , March 2019. https://doi.org/10.6028/NIST.SP.800-56Br2

[SP800-57(1)] NIST Special Publication 800-57 , Recommendation for Key Management – Part 1: General (Revision 5) , May 2020. https://doi.org/10.6028/NIST.SP.800- 57pt1r5

[SP800-67] NIST Special Publication 800-67 Revision 2, Recommendation for the Triple Data Encryption Algorithm (TDEA) Block Cipher , November 2017. https://doi.org/10.6028/NIST.SP.800-67r2 [SP800-73] NIST Special Publication 800-73-5, Interfaces for Personal Identity Verification , May 2024. https://doi.org/10.6028/NIST.SP.800-73pt1-5 , https://doi.org/10.6028/NIST.SP.800-73pt2-5 , https://doi.org/10.6028/NIST.SP.800-73pt3-5

[SP800-76] NIST Special Publication 800-76-2, Biometric Specifications for Personal Identity Verification , July 2013. https://doi.org/10.6028/NIST.SP.800-76-2

[SP800-131A] NIST Special Publication 800-131A Revision 2, Transitioning the Use of Cryptographic Algorithms and Key Lengths , March 2019. https://doi.org/10.6028/NIST.SP.800-131Ar2