]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - md5.c
new OMAC (CMAC) with Noekeon; + some bug fixes for the nessie test-env
[avr-crypto-lib.git] / md5.c
diff --git a/md5.c b/md5.c
index 5edb36b84f30d34bfa4d64ed50c53003ccc8c49c..88f4f6871e7e140ad23ef0edf380f3ec33a6871b 100644 (file)
--- a/md5.c
+++ b/md5.c
@@ -20,9 +20,8 @@
  * \file       md5.c
  * \author     Daniel Otte
  * \date       2006-07-31
- * \par License:
- * GPLv3 or later
- * \brief Implementation of the MD5 hash algorithm as described in RFC 1321
+ * \license GPLv3 or later
+ * \brief   Implementation of the MD5 hash algorithm as described in RFC 1321
  * 
  */
 
@@ -132,32 +131,32 @@ void md5_nextBlock(md5_ctx_t *state, void* block){
        state->counter++;
 }
 
-void md5_lastBlock(md5_ctx_t *state, void* block, uint16_t length){
+void md5_lastBlock(md5_ctx_t *state, void* block, uint16_t length_b){
        uint16_t l;
        uint8_t b[64];
-       while (length >= 512){
+       while (length_b >= 512){
                md5_nextBlock(state, block);
-               length -= 512;
+               length_b -= 512;
                block = ((uint8_t*)block) + 512/8;
        }
        memset(b, 0, 64);
-       memcpy(b, block, length/8);
+       memcpy(b, block, length_b/8);
        /* insert padding one */
-       l=length/8;
-       if(length%8){
+       l=length_b/8;
+       if(length_b%8){
                uint8_t t;
                t = ((uint8_t*)block)[l];
-               t |= (0x80>>(length%8));
+               t |= (0x80>>(length_b%8));
                b[l]=t;
        }else{
                b[l]=0x80;
        }
        /* insert length value */
-       if(l+sizeof(uint64_t) > 512/8){
+       if(l+sizeof(uint64_t) >= 512/8){
                md5_nextBlock(state, b);
                state->counter--;
                memset(b, 0, 64);
        }
-       *((uint64_t*)&b[64-sizeof(uint64_t)]) = (state->counter * 512) + length;
+       *((uint64_t*)&b[64-sizeof(uint64_t)]) = (state->counter * 512) + length_b;
        md5_nextBlock(state, b);
 }