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