AI_DES_CBCPadBER

AI_DES_CBCPadBER

Purpose:

This AI is similar to AI_DES_CBCPadIV8 except that it uses the ASN.1 BER format. This AI allows you to parse and create ASN.1 algorithm identifiers such as those used in PKCS #7 and other protocols. You call B_SetAlgorithmInfo to initialize an algorithm object from the encoded algorithm identifier, which includes the initialization vector. Alternatively, you call B_GetAlgorithmInfo with this AI to create an encoded algorithm identifier from an algorithm object created with AI_DES_CBCPadBER, AI_DES_CBCPadIV8, or AI_DES_CBCPadPEM. The OID for this algorithm—excluding the tag and length bytes—in decimal, is “43, 14, 3, 2, 7”. Also see AI_DES_CBCPadIV8.

Type of information this allows you to use:

the encoded algorithm 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 PKCS #5 and desCBC algorithm identifier defined in [NIST91].

Format of info supplied to B_SetAlgorithmInfo:

pointer to an ITEM structure that gives the address and length of the BER-encoded algorithm identifier. The encoding is converted to DER before it is copied to the algorithm object. B_SetAlgorithmInfo returns BE_WRONG_ALGORITHM_INFO if the algorithm identifier specifies an algorithm other than DES-CBC With Padding.

Format of info returned by B_GetAlgorithmInfo:

pointer to an ITEM structure that gives the address and length of the DER-encoded algorithm identifier.

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.

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

25

Page 35
Image 35
RSA Security 5 manual AIDESCBCPadBER