33 lines
734 B
C
33 lines
734 B
C
/* LibTomCrypt, modular cryptographic library -- Tom St Denis */
|
|
/* SPDX-License-Identifier: Unlicense */
|
|
|
|
/**
|
|
@file gcm_reset.c
|
|
GCM implementation, reset a used state so it can accept IV data, by Tom St Denis
|
|
*/
|
|
#include "tomcrypt_private.h"
|
|
|
|
#ifdef LTC_GCM_MODE
|
|
|
|
/**
|
|
Reset a GCM state to as if you just called gcm_init(). This saves the initialization time.
|
|
@param gcm The GCM state to reset
|
|
@return CRYPT_OK on success
|
|
*/
|
|
int gcm_reset(gcm_state *gcm)
|
|
{
|
|
LTC_ARGCHK(gcm != NULL);
|
|
|
|
zeromem(gcm->buf, sizeof(gcm->buf));
|
|
zeromem(gcm->X, sizeof(gcm->X));
|
|
gcm->mode = LTC_GCM_MODE_IV;
|
|
gcm->ivmode = 0;
|
|
gcm->buflen = 0;
|
|
gcm->totlen = 0;
|
|
gcm->pttotlen = 0;
|
|
|
|
return CRYPT_OK;
|
|
}
|
|
|
|
#endif
|