SEC: voidify mac interface.
authorrasky <rasky@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 30 Sep 2010 11:55:32 +0000 (11:55 +0000)
committerrasky <rasky@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 30 Sep 2010 11:55:32 +0000 (11:55 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4378 38d2e660-2303-0410-9eaa-f027e97ec537

bertos/sec/mac.h
bertos/sec/mac/hmac.c

index 2fac40b8cf90d93c96bcaafea987f2c64b9c8b87..a9fc9eb7a2f02aef3fcf674f18a5ce3bfedf64ef 100644 (file)
@@ -32,7 +32,7 @@
  *
  * \brief Generic interface for message authentication algorithms.
  * \author Giovanni Bajo <rasky@develer.com>
- * 
+ *
  */
 
 #ifndef SEC_MAC_H
 typedef struct Mac {
        uint8_t digest_len;
        uint8_t key_len;
-       
-       void (*set_key)(struct Mac *m, const uint8_t* key, size_t len); 
+
+       void (*set_key)(struct Mac *m, const void *key, size_t len);
        void (*begin)(struct Mac *m);
-       void (*update)(struct Mac *m, const uint8_t *data, size_t len);
+       void (*update)(struct Mac *m, const void *data, size_t len);
        uint8_t* (*final)(struct Mac *m);
 } Mac;
 
index 1616ec445ce4ffef2788f3006c0d2e2bf96d2d2a..bbedca5e3b1f0b5ddc5ba0820f5978cdc81d130a 100644 (file)
@@ -32,7 +32,7 @@
  *
  * \brief HMAC implementation
  * \author Giovanni Bajo <rasky@develer.com>
- * 
+ *
  */
 
 #include "hmac.h"
 #include <string.h>
 
 
-static void HMAC_set_key(Mac *m, const uint8_t *key, size_t key_len)
+static void HMAC_set_key(Mac *m, const void *key, size_t key_len)
 {
        HMAC_Context *ctx = (HMAC_Context *)m;
 
        memset(ctx->key, 0, ctx->m.key_len);
        if (key_len <= ctx->m.key_len)
-               memcpy(ctx->key, key, key_len);         
+               memcpy(ctx->key, key, key_len);
        else
        {
                hash_begin(ctx->h);
                hash_update(ctx->h, key, key_len);
                memcpy(ctx->key, hash_final(ctx->h), hash_digest_len(ctx->h));
        }
-       
+
        xor_block_const(ctx->key, ctx->key, 0x5C, ctx->m.key_len);
 }
 
@@ -61,13 +61,13 @@ static void HMAC_begin(Mac *m)
 {
        HMAC_Context *ctx = (HMAC_Context *)m;
        int klen = ctx->m.key_len;
-       
+
        xor_block_const(ctx->key, ctx->key, 0x36^0x5C, klen);
        hash_begin(ctx->h);
        hash_update(ctx->h, ctx->key, klen);
 }
 
-static void HMAC_update(Mac *m, const uint8_t *data, size_t len)
+static void HMAC_update(Mac *m, const void *data, size_t len)
 {
        HMAC_Context *ctx = (HMAC_Context *)m;
        hash_update(ctx->h, data, len);
@@ -80,12 +80,12 @@ static uint8_t *HMAC_final(Mac *m)
 
        uint8_t temp[hlen];
        memcpy(temp, hash_final(ctx->h), hlen);
-       
+
        xor_block_const(ctx->key, ctx->key, 0x5C^0x36, ctx->m.key_len);
        hash_begin(ctx->h);
        hash_update(ctx->h, ctx->key, ctx->m.key_len);
        hash_update(ctx->h, temp, hlen);
-       
+
        PURGE(temp);
        return hash_final(ctx->h);
 }
@@ -100,6 +100,6 @@ void HMAC_init(HMAC_Context *ctx, Hash *h)
        ctx->m.set_key = HMAC_set_key;
        ctx->m.begin = HMAC_begin;
        ctx->m.update = HMAC_update;
-       ctx->m.final = HMAC_final;      
+       ctx->m.final = HMAC_final;
        ASSERT(sizeof(ctx->key) >= ctx->m.key_len);
 }