AI_DES_EDE3_CBC_IV8

AI_DES_EDE3_CBC_IV8

Purpose:

This AI allows you to perform three-key DES in encrypt-decrypt-encrypt mode as defined in ANSI X9.17 using the outer-CBC mode. This AI is initialized with an 8-byte IV and operates on data that is an exact multiple of 8 bytes long. No padding will be performed. See AI_DES_EDE3_CBCPadIV8 for the same algorithm type with padding.

Type of information this allows you to use:

an 8-byte initialization vector for the DES-EDE3-CBC encryption algorithm.

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_EDE3_CBC_ENCRYPT for encryption and AM_DES_EDE3_CBC_DECRYPT for

decryption.

Key info types for keyObject in B_EncryptInit or B_DecryptInit:

KI_DES24Strong, KI_24Byte, or KI_Item (if the length of the ITEM is 24).

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

31

Page 41
Image 41
RSA Security 5 manual AIDESEDE3CBCIV8, Decryption