CCA Release 2.54
────────────┬─────────────────
┌──────────────────┐
│PKA_Key_Token_Build├┐
└┬──────────────────┘│
┌─────────┐ └──────┬───────┬────┘
│ │ │(Skeleton)
│ ┌─────────────┐ ┌───────────────┐
│ │PKA_Key_Import├┐ │PKA_Key_Generate├┐
│ └┬─────────────┘│ └┬───────────────┘│
│ └─────┬────────┘ └────┬───────────┘
│ └────────────────┐
│ │
│ ┌────────────────────┐ Data
│ PKA96 PU─PR Key Token │ ──┬──
│ │ PU: Clear ┌───────────┐
PR: eMK(PR) │ │One_Way_Hash├┐
│ │ or eKEK(PR) └┬───────────┘│
│ │ or Clear └─────┬──────┘
│ └───────────┬───────────┘
│ │
│ 
└────────────────────────────┬─────┴────────┬────────┐ ├────────────────┐
┌────────────────────────┐
┌─────────────────────┐ │Digital_Signature_Generate├┐
│PKA_Public_Key_Extract├┐ └┬─────────────────────────┘│
└┬─────────────────────┘│ └───────────┬──────────────┘
┌──────────┐ └─────────┬────────────┘ │ │ │
│eMK.CV(K)│ │ │ ┌──────────┐
└─────┬────┘ ┌───────────────┐ │ Digital │
(DES/CDMF│ PU Key Token │ Signature │
Key) │ └────────┬───────┘ │ └─────┬─────┘ │
┌───┴──────────────│──────┐ │ ┌────────────┘
┌────────────────────────┐ │ ┌─────────────────────┐
│PKA_Symmetric_Key_Export │ │Digital_Signature_Verify├┐
│PKA_Symmetric_Key_Generate├┐ │ └┬───────────────────────┘│
└┬─────────────────────────┘│ └───────────┬────────────┘
└─────────┬────────────────┘
yes/no
┌────────┐
│ePU(K),CV│ ┌─────────────────┘
└────┬────┘ │(Private key)
││
││
┌──────────────────────┐
│PKA_Symmetric_Key_Import├┐ ┌───────────────┐
└┬───────────────────────┘│ │Designates Verb├┐
└─────────┬──────────────┘ └┬──────────────┘│
└───────────────┘
┌─────────┐
│eMK.CV(K)│ ┌───────────────┐
└──────────┘ │Data Structure │
(DES/CDMF Key) └───────────────┘
Figure 3-2. PKA96 Verbs with Key-Token Flow
Key Generation

You generate RSA public-private key-pairs using the PKA_Key_Generate verb.

You specify certain facts about the desired key in a “skeleton key token” that you

can create using the PKA_Key_Token_Build verb.

When generating the key-pair you must determine:

The key-length

How, or if, the private key should be encrypted

If the key should be retained within the Coprocessor, and if so, its name (label)

The form of the private key: modular-exponent or Chinese Remainder

A key name if access-control on the name will be employed

Whether the key should be usable in symmetric key-exchange operations

Whether the key should be usable in digital signature generation operations.

3-2 IBM 4758 CCA Basic Services, Release 2.54, February 2005