AI_RSAPrivateBSAFE1

AI_RSAPrivateBSAFE1

Purpose:

Deprecated. This AI is included only for backward compatibility.

Type of information this allows you to use:

the encryption type parameter (pad, pad with checksum, or raw) for performing RSA private-key encryption as defined by BSAFE 1.x.

Format of info supplied to B_SetAlgorithmInfo:

pointer to a B_BSAFE1_ENCRYPTION_PARAMS structure:

typedef struct {

 

int encryptionType;

/* encryption type */

}B_BSAFE1_ENCRYPTION_PARAMS;

encryptionType should be set to B_BSAFE1_PAD for pad mode, B_BSAFE1_PAD_CHECKSUM for pad with checksum mode, or B_BSAFE1_RAW for raw mode.

Format of info returned by B_GetAlgorithmInfo:

pointer to a B_BSAFE1_ENCRYPTION_PARAMS structure (see above).

Crypto-C procedures to use with algorithm object:

B_EncryptInit, B_EncryptUpdate, B_EncryptFinal, B_DecryptInit,

B_DecryptUpdate, and B_DecryptFinal. Note that for pad mode or pad with checksum mode, B_EncryptUpdate, and B_EncryptFinal require a random algorithm. You may pass (B_ALGORITHM_OBJ)NULL_PTR for the randomAlgorithm argument in B_DecryptUpdate and B_DecryptFinal.

Notes:

If the input and output buffers of the RSA operation are interpreted as integers, the BSAFE 1.x format puts the least significant byte of the integer at the beginning of the buffer. This is in reverse order from algorithms in BSAFE 2.1 and later, such as AI_RSAPrivate and AI_PKCS_RSAPrivate, which put the most significant byte of the

2 1 2

R S A B S A F E C r y p t o - C L i b r a r y R e f e r e n c e M a n u a l

Page 222
Image 222
RSA Security 5 manual AIRSAPrivateBSAFE1, Pointer to a BBSAFE1ENCRYPTIONPARAMS structure see above