|
@@ -27,7 +27,7 @@
|
|
|
*/
|
|
|
int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
|
|
|
{
|
|
|
- unsigned long n, x, blklen;
|
|
|
+ unsigned long n, x;
|
|
|
int err;
|
|
|
|
|
|
LTC_ARGCHK(omac != NULL);
|
|
@@ -42,20 +42,23 @@ int omac_process(omac_state *omac, const unsigned char *in, unsigned long inlen)
|
|
|
}
|
|
|
|
|
|
#ifdef LTC_FAST
|
|
|
- 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*)(&omac->prev[y])) ^= *((LTC_FAST_TYPE*)(&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;
|
|
|
- }
|
|
|
+ {
|
|
|
+ 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*)(&omac->prev[y])) ^= *((LTC_FAST_TYPE*)(&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) {
|