B_GetAlgorithmInfo

AI_CBC_IV16

AI_CBC_IV16

Purpose:

This AI allows you to change the initialization vector (IV) for a CBC-mode cipher without creating a new algorithm object or binding in a new key. This increases the performance of applications that have a long-lived symmetric key (for example, an RC6 key) used to encrypt many blocks or messages, each with a unique IV.

Type of information this allows you to use:

a new 16-byte initialization vector for an existing CBC algorithm object previously initialized with one of the following AIs:

AI_RC6_CBC, AI_RC6_CBCPad

Format of info supplied to B_SetAlgorithmInfo:

pointer to a 16-byteunsigned char array containing the new initialization vector. This new initialization vector will not affect the current algorithm object until the next call to B_EncryptInit, B_EncryptFinal, B_DecryptInit, or B_DecryptFinal. After the new IV takes effect on the algorithm object, any results from a previous call to

on the algorithm object are undefined.

Format of info returned by B_GetAlgorithmInfo:

B_GetAlgorithmInfo is not supported for AI_CBC_IV16.

Crypto-C procedures to use with algorithm object:

B_SetAlgorithmInfo.

2 0

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 30
Image 30
RSA Security 5 manual AICBCIV16, On the algorithm object are undefined