CCA Release 2.54 Decipher
Decipher (CSNBDEC)
Platform/
Product
OS/2 AIX Win NT/
2000
OS/400
IBM 4758-2/23 X X X X
The Decipher verb uses the Data Encryption Standard (DES) or the Commercial
Data Masking Facility (CDMF) algorithm and a cipher key to decipher data
(ciphertext). This verb results in data called plaintext.
Performance can be enhanced if you align the start of the plaintext and ciphertext
variables on a four-byte boundary.
Both single-DES and triple-DES are performed based on the length of the key.
DATA, CIPHER, and DECIPHER key types can be used. For additional information
about the ciphering verbs, see “Ensuring Data Confidentiality” on page 6-1.
Restrictions
The starting address of plaintext cannot begin within the ciphertext variable.
The text_length variable is restricted to a maximum value of 32MB - 8 bytes, and
to 64MB - 8 bytes in the OS/400 environment.
The installed Function Control Vector regulates the maximum data ciphering
capability to one of CDMF, single-DES, or triple-DES.
Format
CSNBDEC
return_code Output Integer
reason_code Output Integer
exit_data_length In/Output Integer
exit_data In/Output String exit_data_length bytes
key_identifier Input String 64 bytes
text_length In/Output Integer
ciphertext Input String text_length bytes
initialization_vector Input String 8 bytes
rule_array_count Input Integer zero, one, two, or three
rule_array Input String
array
rule_array_count * 8 bytes
chaining_vector In/Output String 18 bytes
plaintext Output String text_length bytes
Parameters
For the definitions of the return_code, reason_code, exit_data_length, and exit_data
parameters, see “Parameters Common to All Verbs” on page 1-11.
key_identifier
The key_identifier parameter is a pointer to a string variable containing an
internal key-token or a key label of an internal key-token record in key storage.
text_length
The text_length parameter is a pointer to an integer variable. On input, the
text_length variable contains the number of bytes of data in the ciphertext
variable. On output, the text_length variable contains the number of bytes of
data in the plaintext variable.
Chapter 6. Data Confidentiality and Data Integrity 6-5