X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=libtomcrypt%2Fsrc%2Fmac%2Fomac%2Fomac_process.c;fp=libtomcrypt%2Fsrc%2Fmac%2Fomac%2Fomac_process.c;h=0000000000000000000000000000000000000000;hp=4ae2bd11c5219fcc2a9067dca23565c9d1dff5fc;hb=92a317bb7300b241022d2be78814136d08dfcd34;hpb=d6319f7ea0a76de91bc01d9734d235b494c40198 diff --git a/libtomcrypt/src/mac/omac/omac_process.c b/libtomcrypt/src/mac/omac/omac_process.c deleted file mode 100644 index 4ae2bd1..0000000 --- a/libtomcrypt/src/mac/omac/omac_process.c +++ /dev/null @@ -1,90 +0,0 @@ -/* LibTomCrypt, modular cryptographic library -- Tom St Denis - * - * LibTomCrypt is a library that provides various cryptographic - * algorithms in a highly modular and flexible manner. - * - * The library is free for all purposes without any express - * guarantee it works. - */ -#include "tomcrypt.h" - -/** - @file omac_process.c - OMAC1 support, process data, Tom St Denis -*/ - - -#ifdef LTC_OMAC - -/** - Process data through OMAC - @param omac The OMAC state - @param in The input data to send through OMAC - @param inlen The length of the input (octets) - @return CRYPT_OK if successful -*/ -int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen) -{ - unsigned long n, x; - int err; - - LTC_ARGCHK(omac != NULL); - LTC_ARGCHK(in != NULL); - if ((err = cipher_is_valid(omac->cipher_idx)) != CRYPT_OK) { - return err; - } - - if ((omac->buflen > (int)sizeof(omac->block)) || (omac->buflen < 0) || - (omac->blklen > (int)sizeof(omac->block)) || (omac->buflen > omac->blklen)) { - return CRYPT_INVALID_ARG; - } - -#ifdef LTC_FAST - { - unsigned long blklen = cipher_descriptor[omac->cipher_idx].block_length; - - if (omac->buflen == 0 && inlen > blklen) { - unsigned long y; - for (x = 0; x < (inlen - blklen); x += blklen) { - for (y = 0; y < blklen; y += sizeof(LTC_FAST_TYPE)) { - *(LTC_FAST_TYPE_PTR_CAST(&omac->prev[y])) ^= *(LTC_FAST_TYPE_PTR_CAST(&in[y])); - } - in += blklen; - if ((err = cipher_descriptor[omac->cipher_idx].ecb_encrypt(omac->prev, omac->prev, &omac->key)) != CRYPT_OK) { - return err; - } - } - inlen -= x; - } - } -#endif - - while (inlen != 0) { - /* ok if the block is full we xor in prev, encrypt and replace prev */ - if (omac->buflen == omac->blklen) { - for (x = 0; x < (unsigned long)omac->blklen; x++) { - omac->block[x] ^= omac->prev[x]; - } - if ((err = cipher_descriptor[omac->cipher_idx].ecb_encrypt(omac->block, omac->prev, &omac->key)) != CRYPT_OK) { - return err; - } - omac->buflen = 0; - } - - /* add bytes */ - n = MIN(inlen, (unsigned long)(omac->blklen - omac->buflen)); - XMEMCPY(omac->block + omac->buflen, in, n); - omac->buflen += n; - inlen -= n; - in += n; - } - - return CRYPT_OK; -} - -#endif - - -/* ref: $Format:%D$ */ -/* git commit: $Format:%H$ */ -/* commit time: $Format:%ai$ */