11.22.1. BATON key generation
The BATON key generation mechanism, denoted CKM_BATON_KEY_GEN, is a key generation mechanism for BATON. The output of this mechanism is called a Message Encryption Key (MEK).
It does not have a parameter.
This mechanism contributes the CKA_CLASS, CKA_KEY_TYPE, and CKA_VALUE attributes to the new key.
11.22.2. BATON-ECB128
BATON-ECB128, denoted CKM_BATON_ECB128, is a mechanism for single- and multiple-part encryption and decryption with BATON in 128-bit electronic codebook mode.
It has a parameter, a 24-byte initialization vector. During an encryption operation, this IV is set to some value generated by the token—in other words, the application cannot specify a particular IV when encrypting. It can, of course, specify a particular IV when decrypting.
Constraints on key types and the length of data are summarized in the following table:
Table , BATON-ECB128: Data and Length
Function
|
Key type
|
Input length
|
Output length
|
Comments
|
C_Encrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
C_Decrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
| 11.22.3. BATON-ECB96
BATON-ECB96, denoted CKM_BATON_ECB96, is a mechanism for single- and multiple-part encryption and decryption with BATON in 96-bit electronic codebook mode.
It has a parameter, a 24-byte initialization vector. During an encryption operation, this IV is set to some value generated by the token—in other words, the application cannot specify a particular IV when encrypting. It can, of course, specify a particular IV when decrypting.
Constraints on key types and the length of data are summarized in the following table:
Table , BATON-ECB96: Data and Length
Function
|
Key type
|
Input length
|
Output length
|
Comments
|
C_Encrypt
|
BATON
|
multiple of 12
|
same as input length
|
no final part
|
C_Decrypt
|
BATON
|
multiple of 12
|
same as input length
|
no final part
| 11.22.4. BATON-CBC128
BATON-CBC128, denoted CKM_BATON_CBC128, is a mechanism for single- and multiple-part encryption and decryption with BATON in 128-bit cipher-block chaining mode.
It has a parameter, a 24-byte initialization vector. During an encryption operation, this IV is set to some value generated by the token—in other words, the application cannot specify a particular IV when encrypting. It can, of course, specify a particular IV when decrypting.
Constraints on key types and the length of data are summarized in the following table:
Table , BATON-CBC128: Data and Length
Function
|
Key type
|
Input length
|
Output length
|
Comments
|
C_Encrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
C_Decrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
BATON-COUNTER, denoted CKM_BATON_COUNTER, is a mechanism for single- and multiple-part encryption and decryption with BATON in counter mode.
It has a parameter, a 24-byte initialization vector. During an encryption operation, this IV is set to some value generated by the token—in other words, the application cannot specify a particular IV when encrypting. It can, of course, specify a particular IV when decrypting.
Constraints on key types and the length of data are summarized in the following table:
Table , BATON-COUNTER: Data and Length
Function
|
Key type
|
Input length
|
Output length
|
Comments
|
C_Encrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
C_Decrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
BATON-SHUFFLE, denoted CKM_BATON_SHUFFLE, is a mechanism for single- and multiple-part encryption and decryption with BATON in shuffle mode.
It has a parameter, a 24-byte initialization vector. During an encryption operation, this IV is set to some value generated by the token—in other words, the application cannot specify a particular IV when encrypting. It can, of course, specify a particular IV when decrypting.
Constraints on key types and the length of data are summarized in the following table:
Table , BATON-SHUFFLE: Data and Length
Function
|
Key type
|
Input length
|
Output length
|
Comments
|
C_Encrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
C_Decrypt
|
BATON
|
multiple of 16
|
same as input length
|
no final part
|
The BATON wrap and unwrap mechanism, denoted CKM_BATON_WRAP, is a function used to wrap and unwrap a secret key (MEK). It can wrap and unwrap SKIPJACK, BATON, and JUNIPER keys.
It has no parameters.
When used to unwrap a key, this mechanism contributes the CKA_CLASS, CKA_KEY_TYPE, and CKA_VALUE attributes to it.
Share with your friends: |