Files
data-lite-c/Sources/DataLiteC/libtomcrypt/modes/cbc/cbc_setiv.c
2025-10-24 19:33:21 +03:00

33 lines
711 B
C

/* LibTomCrypt, modular cryptographic library -- Tom St Denis */
/* SPDX-License-Identifier: Unlicense */
#include "tomcrypt_private.h"
/**
@file cbc_setiv.c
CBC implementation, set IV, Tom St Denis
*/
#ifdef LTC_CBC_MODE
/**
Set an initialization vector
@param IV The initialization vector
@param len The length of the vector (in octets)
@param cbc The CBC state
@return CRYPT_OK if successful
*/
int cbc_setiv(const unsigned char *IV, unsigned long len, symmetric_CBC *cbc)
{
LTC_ARGCHK(IV != NULL);
LTC_ARGCHK(cbc != NULL);
if (len != (unsigned long)cbc->ecb.blocklen) {
return CRYPT_INVALID_ARG;
}
XMEMCPY(cbc->IV, IV, len);
return CRYPT_OK;
}
#endif