1 /* LibTomCrypt, modular cryptographic library -- Tom St Denis */ 2 /* SPDX-License-Identifier: Unlicense */ 3 #include "tomcrypt_private.h" 4 5 /** 6 @file cbc_done.c 7 CBC implementation, finish chain, Tom St Denis 8 */ 9 10 #ifdef LTC_CBC_MODE 11 12 /** Terminate the chain 13 @param cbc The CBC chain to terminate 14 @return CRYPT_OK on success 15 */ cbc_done(symmetric_CBC * cbc)16int cbc_done(symmetric_CBC *cbc) 17 { 18 int err; 19 LTC_ARGCHK(cbc != NULL); 20 21 if ((err = cipher_is_valid(cbc->cipher)) != CRYPT_OK) { 22 return err; 23 } 24 cipher_descriptor[cbc->cipher]->done(&cbc->key); 25 return CRYPT_OK; 26 } 27 28 29 30 #endif 31