Edition November 2023, CCA Support Program Release 8.1

This edition describes the IBM® CCA Basic Services API for Release 8.1.

With CCA Release 8.1, the following enhancements are provided:

  • Updates for TR-31 key block support:
    • Support was added to build, send, receive, and use TR-31 key blocks directly in most of the CCA services that utilize symmetric keys.
    • A new verb was added to build TR-31 key blocks: TR31 Key Create (CSNBT31C).
    • TR-31 tokens can be stored in the newly created CMB key storage.
  • A new combined key storage (CMB) is available:
    • The combined key storage was designed to support all key types: AES, HMAC, DES, and PKA (ECC, RSA, and QSA, that is, CRYSTALS-Dilithium and CRYSTALS-Kyber keys).
    • Additionally, the CMB key storage supports both CCA and TR-31 key token formats.
    • Keys can be added to the CMB key storage by creating them directly in the CMB or by migrating existing AES, HMAC, DES, and PKA keys into the CMB from their respective type-specific key stores.
  • SHA-3 support has been added:
    • CCA can now perform the SHA-3 hashing algorithm, specifically for the CSNBOWH, CSNDDSG, and CSNDDSV verbs.
    • In addition, on IBM z14® or later systems, SHA-3 requests can be forwarded to the CPACF for processing.
  • Support for OAEP 2.1 has been added:
    • CCA now offers the ability to utilize OAEP version 2.1 in the verbs CSNDPKE and CSNDPKD.
    • This update enables the usage of three additional SHA algorithms with OAEP: SHA-224, SHA-384, and SHA-512.

The CCA API includes the following new verbs:

Table 1. New verbs for CCA Release 8.1.
Verb Service name Category
CSNBCKRC Combined Key Record Create (CSNBCKRC) Key storage mechanisms
CSNBCKRD Combined Key Record Delete (CSNBCKRD) Key storage mechanisms
CSNBCKRL Combined Key Record List (CSNBCKRL) Key storage mechanisms
CSNBCKRR Combined Key Record Read (CSNBCKRR) Key storage mechanisms
CSNBCKRW Combined Key Record Write (CSNBCKRW) Key storage mechanisms
CSNBT31C TR31 Key Create (CSNBT31C) TR-31 symmetric key management

The following verbs provide new or updated keywords or other updated information:

Table 2. Updated verbs for CCA Release 8.1
Verb Service name Category
CSUACFQ Cryptographic Facility Query (CSUACFQ) Using CCA nodes and resource control verbs
CSNBKSI Key Storage Initialization (CSNBKSI) Using CCA nodes and resource control verbs
CSNBDKX Data Key Export (CSNBDKX) Managing AES, DES and HMAC cryptographic keys
CSNBDKM Data Key Import (CSNBDKM) Managing AES, DES and HMAC cryptographic keys
CSNBDKG Diversified Key Generate (CSNBDKG) Managing AES, DES and HMAC cryptographic keys
CSNBDKG2 Diversified Key Generate2 (CSNBDKG2) >Managing AES, DES and HMAC cryptographic keys
CSNDEDH EC Diffie-Hellman (CSNDEDH) Managing AES, DES and HMAC cryptographic keys
CSNBKEX Key Export (CSNBKEX) Managing AES, DES and HMAC cryptographic keys
CSNBKGN Key Generate (CSNBKGN) Managing AES, DES and HMAC cryptographic keys
CSNBKGN2 Key Generate2 (CSNBKGN2) Managing AES, DES and HMAC cryptographic keys
CSNBKIM Key Import (CSNBKIM) Managing AES, DES and HMAC cryptographic keys
CSNBKPI2 Key Part Import2 (CSNBKPI2) Managing AES, DES and HMAC cryptographic keys
CSNBKYT2 Key Test2 (CSNBKYT2) Managing AES, DES and HMAC cryptographic keys
CSNBKTC2 Key Token Change2 (CSNBKTC2) Managing AES, DES and HMAC cryptographic keys
CSNBKTR2 Key Translate2 (CSNBKTR2) Managing AES, DES and HMAC cryptographic keys
CSNDPKD PKA Decrypt (CSNDPKD) Managing AES, DES and HMAC cryptographic keys
CSNDPKE PKA Encrypt (CSNDPKE) Managing AES, DES and HMAC cryptographic keys
CSNBRKA Restrict Key Attribute (CSNBRKA) Managing AES, DES and HMAC cryptographic keys
CSNBRNGL Random Number Generate Long (CSNBRNGL) Managing AES, DES and HMAC cryptographic keys
CSNDSYX Symmetric Key Export (CSNDSYX) Managing AES, DES and HMAC cryptographic keys
CSNDSXD Symmetric Key Export with Data (CSNDSXD) Managing AES, DES and HMAC cryptographic keys
CSNDSYG Symmetric Key Generate (CSNDSYG) Managing AES, DES and HMAC cryptographic keys
CSNDSYI2 Symmetric Key Import2 (CSNDSYI2) Managing AES, DES and HMAC cryptographic keys
CSNBUKD Unique Key Derive (CSNBUKD) Managing AES, DES and HMAC cryptographic keys
CSNBDEC Decipher (CSNBDEC) Protecting data
CSNBENC Encipher (CSNBENC) Protecting data
CSNBSAD Symmetric Algorithm Decipher (CSNBSAD) Protecting data
CSNBSAE Symmetric Algorithm Encipher (CSNBSAE) Protecting data
CSNBCTT2 Cipher Text Translate2 (CSNBCTT2) Protecting data
CSNBHMG HMAC Generate (CSNBHMG) Verifying data integrity and authenticating messages
CSNBHMV HMAC Verify (CSNBHMV) Verifying data integrity and authenticating messages
CSNBMGN MAC Generate (CSNBMGN) Verifying data integrity and authenticating messages
CSNBMGN2 MAC Generate2 (CSNBMGN2) Verifying data integrity and authenticating messages
CSNBMVR MAC Verify (CSNBMVR) Verifying data integrity and authenticating messages
CSNBMVR2 MAC Verify2 (CSNBMVR2) Verifying data integrity and authenticating messages
CSNBOWH One-Way Hash (CSNBOWH) Verifying data integrity and authenticating messages
CSNBAKRL AES Key Record List (CSNBAKRL) Key storage mechanisms
CSNBKRL DES Key Record List (CSNBKRL) Key storage mechanisms
CSNDKRL PKA Key Record List (CSNDKRL) Key storage mechanisms
CSNBAPG Authentication Parameter Generate (CSNBAPG) Financial services
CSNBCPE Clear PIN Encrypt (CSNBCPE) Financial services
CSNBPGN Clear PIN Generate (CSNBPGN) Financial services
CSNBCPA Clear PIN Generate Alternate (CSNBCPA) Financial services
CSNBCSG CVV Generate (CSNBCSG) Financial services
CSNBCSV CVV Verify (CSNBCSV) Financial services
CSNBEPG Encrypted PIN Generate (CSNBEPG) Financial services
CSNBPTR Encrypted PIN Translate (CSNBPTR) Financial services
CSNBPTR2 Encrypted PIN Translate2 (CSNBPTR2) Financial services
CSNBPTRE Encrypted PIN Translate Enhanced (CSNBPTRE) Financial services
CSNBPVR Encrypted PIN Verify (CSNBPVR) Financial services
CSNBPVR2 Encrypted PIN Verify2 (CSNBPVR2) Financial services
CSNBPCU PIN Change/Unblock (CSNBPCU) Financial services
CSNBFPED FPE Decipher (CSNBFPED) Financial services
CSNBFPEE FPE Encipher (CSNBFPEE) Financial services
CSNBFPET FPE Translate (CSNBFPET) Financial services
CSNBFFXD Format Preserving Algorithms Decipher (CSNBFFXD) Financial services
CSNBFFXE Format Preserving Algorithms Encipher (CSNBFFXE) Financial services
CSNBFFXT Format Preserving Algorithms Translate (CSNBFFXT) Financial services
CSNBPFO Recover PIN from Offset (CSNBPFO) Financial services
CSNBSKY Secure Messaging for Keys (CSNBSKY) Financial services
CSNBSPN Secure Messaging for PINs (CSNBSPN) Financial services
CSNBTRV Transaction Validation (CSNBTRV) Financial services
CSNBDMP DK Migrate PIN (CSNBDMP) Financial services for DK PIN methods
CSNBDPMT DK PAN Modify in Transaction (CSNBDPMT) Financial services for DK PIN methods
CSNBDPC DK PIN Change (CSNBDPC) Financial services for DK PIN methods
CSNBDPV DK PIN Verify (CSNBDPV) Financial services for DK PIN methods
CSNDT34D TR-34 Key Distribution (CSNDT34D) TR-34 symmetric key management
CSNDT34R TR-34 Key Receive (CSNDT34R) TR-34 symmetric key management
CSNBT31X TR31 Translate (CSNBT31X): renamed from Key Export to TR31 to: TR31 Translate TR-31 symmetric key management
CSNBT31I TR31 Key Import (CSNBT31I) TR-31 symmetric key management
CSNBT31P TR31 Key Token Parse (CSNBT31P) TR-31 symmetric key management
CSNBT31O TR31 Optional Data Build (CSNBT31O) TR-31 symmetric key management
CSNDDSG Digital Signature Generate (CSNDDSG) Using digital signatures
CSNDDSV Digital Signature Verify (CSNDDSV) Using digital signatures
CSNDPKG PKA Key Generate (CSNDPKG) Managing PKA cryptographic keys
CSNDPKI PKA Key Import (CSNDPKI) Managing PKA cryptographic keys
CSNDPKT PKA Key Translate (CSNDPKT) Managing PKA cryptographic keys