AI_DES_CBCPadPEM,

AI_DES_CBCPadPEM

AI_DES_CBCPadPEM

Purpose:

This AI is similar to AI_DES_CBCPadIV8 except that it uses the format defined in the Privacy Enhanced Mail protocol (PEM). This AI allows you to parse and create PEM algorithm identifiers. First, you call B_SetAlgorithmInfo to initialize an algorithm object from the encoded algorithm identifier that includes the initialization vector. Alternatively, you call B_GetAlgorithmInfo with this AI to create an encoded algorithm identifier from an algorithm object created using

AI_DES_CBCPadIV8 or AI_DES_CBCPadBER. Also see AI_DES_CBCPadIV8.

Type of information this allows you to use:

an RFC 1423 identifier that specifies the DES-CBC With Padding encryption algorithm as defined in FIPS PUB 46-1 and FIPS PUB 81, with padding scheme defined in RFC 1423. This algorithm info type is intended to process the value of a DEK-Info field in a PEM encapsulated header.

Format of info supplied to B_SetAlgorithmInfo:

pointer to a null-terminated string (char *) that gives the DES-CBC identifier and 8- byte initialization vector, for example, “DES-CBC, 0123456789ABCDEF”. Space and tab characters are removed from the string before it is copied to the algorithm object.

B_SetAlgorithmInfo returns BE_WRONG_ALGORITHM_INFO if the algorithm identifier specifies an identifier other than DES-CBC.

Format of info returned by B_GetAlgorithmInfo:

pointer to a null-terminated string that gives the DES-CBC identifier and 8-byte 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.

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

29

Page 39
Image 39
RSA Security 5 manual AIDESCBCPadPEM