AI_DES_CBC_IV8

AI_DES_CBC_IV8

Purpose:

This AI allows you to perform DES encryption or decryption in CBC mode with an 8- byte initialization vector on data that is a multiple of 8 bytes long. No padding will be performed. See AI_DES_CBCPadIV8 for the same algorithm type with padding.

Type of information this allows you to use:

an 8-byte initialization vector for the DES-CBC encryption algorithm as defined in FIPS PUB 46-1 and FIPS PUB 81.

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.

Input constraints:

During encryption, this algorithm does not pad the output. Thus, you must provide

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

23

Page 33
Image 33
RSA Security 5 manual AIDESCBCIV8