Available Common Cryptographic Architecture (CCA) verbs
CCA products provide a variety of cryptographic processes and data-security techniques.
Your application program can call verbs (sometimes called services) to perform the following functions:
- Data confidentiality
- Encrypt and decrypt information, typically using the AES or DES algorithms in Cipher Block Chaining (CBC) mode to enable data confidentiality.
- Data integrity
- Hash data to obtain a message digest, or process the data to obtain a message authentication code (MAC), block cipher-based MAC (CMAC), or FIPS PUB 198-1 keyed hash MAC (HMAC), that is useful in demonstrating data integrity.
- Nonrepudiation
- Generate and verify digital signatures using either the RSA algorithm or the ANS X9.62:2005 ECDSA algorithm, to demonstrate data integrity and form the basis for non-repudiation.
- Authentication
- Generate, encrypt, translate, and verify finance industry personal identification numbers (PINs) and American Express®, MasterCard, and Visa card security codes with a comprehensive set of finance-industry-specific services.
- Key management
- Manage the various AES, DES, ECC, and RSA keys necessary to perform the mentioned cryptographic operations.
- Java™ interaction
- Interact with the Java Native Interface (JNI). The CCA verbs have a specific version that can be used for JNI work.
Note: In this JNI, a new data type hikmNativeLong is replacing the old type hikmNativeInteger since CCA version 5.2. Both types inherit from an abstract class hikmNativeNumber. Thus, type hikmNativeInteger is still supported, so you can run existing applications with this deprecated data type. However, start using type hikmNativeLong for new applications instead, because hikmNativeInteger may be removed in the future.
- CCA management
- Control the initialization and operation of CCA.
The sections in CCA verbs group the many available services by topic. Each section lists the services in alphabetical order by verb pseudonym. The current part, IBM CCA programming, provides an overview of the structure of a CCA cryptographic framework and introduces some important concepts and terms.