AI_RSAPublicBSAFE1

AI_RSAPublicBSAFE1

Purpose:

Deprecated. This AI is included only for backward compatibility.

Type of information this allows you to use:

the decryption type parameter (pad, pad with checksum, or raw) for performing RSA public-key decryption 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_RSAPublic and AI_PKCS_RSAPublic, which put the most significant byte of the

2 1 6

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 226
Image 226
RSA Security 5 manual AIRSAPublicBSAFE1, Pointer to a BBSAFE1ENCRYPTIONPARAMS structure see above