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, tomstdenis (at) gmail.com, http://libtomcrypt.com 10 */ 11 12 /** 13 @file gcm_reset.c 14 GCM implementation, reset a used state so it can accept IV data, by Tom St Denis 15 */ 16 #include "tomcrypt.h" 17 18 #ifdef GCM_MODE 19 20 /** 21 Reset a GCM state to as if you just called gcm_init(). This saves the initialization time. 22 @param gcm The GCM state to reset 23 @return CRYPT_OK on success 24 */ 25 int gcm_reset(gcm_state *gcm) 26 { 27 LTC_ARGCHK(gcm != NULL); 28 29 zeromem(gcm->buf, sizeof(gcm->buf)); 30 zeromem(gcm->X, sizeof(gcm->X)); 31 gcm->mode = GCM_MODE_IV; 32 gcm->ivmode = 0; 33 gcm->buflen = 0; 34 gcm->totlen = 0; 35 gcm->pttotlen = 0; 36 37 return CRYPT_OK; 38 } 39 40 #endif 41 42 /* $Source: /cvs/libtom/libtomcrypt/src/encauth/gcm/gcm_reset.c,v $ */ 43 /* $Revision: 1.4 $ */ 44 /* $Date: 2006/03/31 14:15:35 $ */ 45