CKM_SEED_CBC_PAD
Supported Operations
Encrypt and Decrypt |
Yes |
Sign and Verify |
No |
SignRecover and VerifyRecover |
No |
Digest |
No |
Generate Key/Key-Pair |
No |
Wrap and Unwrap |
Yes |
Derive |
No |
FIPS-approved |
No |
Key Size Range (bytes) and Parameters
Minimum | 16 |
FIPS Minimum |
N/A |
Maximum | 16 |
Parameter | 16 bytes |
Description
SEED-CBC with PKCS padding, denoted CKM_SEED_CBC_PAD
, is a mechanism for single and multiple part encryption and decryption; key wrapping; and key unwrapping, based on the KISA (Korean Information Security Agency) SEED specification, cipher-block chaining mode and the block cipher padding method detailed in PKCS #7.
It has a single parameter; a 16-byte initialization vector.
The PKCS padding in this mechanism allows the length of the plaintext value to be recovered from the ciphertext value. Therefore, when unwrapping keys with this mechanism, no value should be specified for the CKA_VALUE_LEN
attribute.
In addition to being able to wrap and unwrap secret keys, this mechanism can wrap and unwrap RSA, Diffie-Hellman, X9.42 Diffie-Hellman, and DSA private keys.
Constraints on key types and the length of data are summarized in the following table. The data length constraints do not apply to the wrapping and unwrapping of private keys.
Function |
Key Tpe |
Input Length |
Output Length |
---|---|---|---|
C_Encrypt | CKK_SEED
|
Any |
This is the input length plus one, rounded up to a multiple of the block size. |
C_Decrypt | CKK_SEED
|
Multiple of block size |
Between 1 and block size bytes shorter than input length. |
C_WrapKey | CKK_SEED
|
Any |
This is the input length plus one, rounded up to a multiple of the block size. |
C_UnwrapKey | CKK_SEED
|
Multiple of block size |
Between 1 and block length bytes shorter than input length. |
Return to SafeNet ProtectToolkit-C Mechanisms