cbc_setiv.c 647 B

12345678910111213141516171819202122232425262728
  1. /* LibTomCrypt, modular cryptographic library -- Tom St Denis
  2. *
  3. * LibTomCrypt is a library that provides various cryptographic
  4. * algorithms in a highly modular and flexible manner.
  5. *
  6. * The library is free for all purposes without any express
  7. * guarantee it works.
  8. *
  9. * Tom St Denis, [email protected], http://libtomcrypt.org
  10. */
  11. #include "mycrypt.h"
  12. #ifdef CBC
  13. int cbc_setiv(const unsigned char *IV, unsigned long len, symmetric_CBC *cbc)
  14. {
  15. _ARGCHK(IV != NULL);
  16. _ARGCHK(cbc != NULL);
  17. if (len != (unsigned long)cbc->blocklen) {
  18. return CRYPT_INVALID_ARG;
  19. }
  20. XMEMCPY(cbc->IV, IV, len);
  21. return CRYPT_OK;
  22. }
  23. #endif