Decrypts a small amount of data on a decrypt stream.
NOTE
To use AES for one record ciphers, you must first create
an AES key, which is stored in the logical name table
(encrypted). The key name of an AES key is specified as
an address of a descriptor that contains the ASCII text for
the selected AESmmmkkk (mode and key size) algorithm, for
example, AESCBC256. The input and output buffers (descriptor
addresses) are also provided.
Format
ENCRYPT$DECRYPT_ONE_RECORD input, output, key-name, algorithm
1 – Arguments
input
type: char_string
access: read only
mechanism: by descriptor
Ciphertext record to be decrypted. The input argument is the
address of a string descriptor pointing to a byte-aligned buffer
containing the input record to be decrypted.
output
type: char_string
access: write only
mechanism: by descriptor
Plaintext record resulting when ENCRYPT$DECRYPT_ONE_RECORD
completes execution. The output argument is the address of a
string descriptor pointing to a byte-aligned buffer that will
contain the plaintext record.
If the descriptor is dynamic and insufficient space is allocated
to contain the output record, storage is allocated from dynamic
memory. If insufficient space exists to contain the output of the
operation, an error is returned.
The ENCRYPT$DECRYPT_ONE_RECORD routine adjusts the length of the
output descriptor, if possible, to reflect the actual length of
the output string.
key-name
type: char_string
access: read only
mechanism: by descriptor
Key used to initialize the decrypt stream. The key-name argument
is the address of a string descriptor pointing to the name of the
previously defined user key to be used.
algorithm
type: char_string
access: read only
mechanism: by descriptor
Algorithm used for the decryption operation. The algorithm
argument is the address of a string descriptor pointing to
a code for the selected algorithm. The algorithm code is an
ASCII string. Specify the descriptor type value as one of the
following:
o DSC$K_DTYPE_T (text)
o DSC$K_DTYPE_VT (varying text)
o DSC$K_DTYPE_Z (unspecified)
For DES, the following algorithms are valid:
o DESCBC (default)
o DESECB
o DESCFB
For AES, the following algorithms are valid:
o Cipher block chaining:
AESCBC128 (default)
AESCBC192
AESCBC256
o Electronic code book:
AESECB128
AESECB192
AESECB256
o Cipher feedback:
AESCFB128
AESCFB192
AESCFB256
o Output feedback:
AESOFB128
AESOFB192
AESOFB256