AI_DES_CBCPadIV8

AI_DES_CBCPadIV8

Purpose:

This AI allows you to perform DES encryption or decryption in CBC mode with an 8- byte initialization vector on data that is of any byte length. The padding mode is PKCS #5, which makes the ciphertext 1 to 8 bytes longer than the plaintext. See AI_DES_CBC_IV8 for the same algorithm type with no padding. See AI_DES_CBCPadBER for the same algorithm type with BER encoding.

Type of information this allows you to use:

an 8-byte initialization vector for the DES-CBC With Padding encryption algorithm as defined in FIPS PUB 46-1 and FIPS PUB 81, with padding scheme defined in PKCS #5.

Format of info supplied to B_SetAlgorithmInfo:

pointer to an unsigned char array that holds the 8 bytes of the initialization vector.

Format of info returned by B_GetAlgorithmInfo:

pointer to an unsigned char array that holds the 8 bytes of the initialization vector.

Crypto-C procedures to use with algorithm object:

B_EncryptInit, B_EncryptUpdate, B_EncryptFinal, B_DecryptInit,

B_DecryptUpdate, and B_DecryptFinal. You may pass (B_ALGORITHM_OBJ)NULL_PTR for all randomAlgorithm arguments.

Algorithm methods to include in application’s algorithm chooser:

AM_DES_CBC_ENCRYPT for encryption and AM_DES_CBC_DECRYPT for decryption.

Key info types for keyObject in B_EncryptInit or B_DecryptInit:

KI_DES8Strong, KI_DES8, KI_8Byte, KI_Item (if the length of the ITEM is 8), or KI_DES_BSAFE1.

C h a p t e r 2 A l g o r i t h m I n f o Ty p e s

27

Page 37
Image 37
RSA Security 5 manual AIDESCBCPadIV8