| OLD | NEW | 
|---|
| 1 /* Software-Based Trusted Platform Module (TPM) Emulator for Linux | 1 /* Software-based Trusted Platform Module (TPM) Emulator | 
| 2  * Copyright (C) 2004 Mario Strasser <mast@gmx.net>, | 2  * Copyright (C) 2004-2010 Mario Strasser <mast@gmx.net> | 
| 3  * | 3  * | 
| 4  * This module is free software; you can redistribute it and/or modify | 4  * This module is free software; you can redistribute it and/or modify | 
| 5  * it under the terms of the GNU General Public License as published | 5  * it under the terms of the GNU General Public License as published | 
| 6  * by the Free Software Foundation; either version 2 of the License, | 6  * by the Free Software Foundation; either version 2 of the License, | 
| 7  * or (at your option) any later version. | 7  * or (at your option) any later version. | 
| 8  * | 8  * | 
| 9  * This module is distributed in the hope that it will be useful, | 9  * This module is distributed in the hope that it will be useful, | 
| 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10  * but WITHOUT ANY WARRANTY; without even the implied warranty of | 
| 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
| 12  * GNU General Public License for more details. | 12  * GNU General Public License for more details. | 
| 13  * | 13  * | 
| 14  * $Id$ | 14  * $Id: hmac.h 364 2010-02-11 10:24:45Z mast $ | 
| 15  */ | 15  */ | 
| 16 | 16 | 
| 17 #ifndef _HMAC_H_ | 17 #ifndef _HMAC_H_ | 
| 18 #define _HMAC_H_ | 18 #define _HMAC_H_ | 
| 19 | 19 | 
| 20 #include <stddef.h> | 20 #include <stddef.h> | 
| 21 #include <stdint.h> | 21 #include <stdint.h> | 
| 22 #include "sha1.h" | 22 #include "sha1.h" | 
| 23 | 23 | 
| 24 #define HMAC_PAD_LENGTH 64 | 24 #define HMAC_PAD_LENGTH 64 | 
| 25 | 25 | 
| 26 typedef struct { | 26 typedef struct { | 
| 27   tpm_sha1_ctx_t ctx; | 27   tpm_sha1_ctx_t ctx; | 
| 28   uint8_t k_opad[HMAC_PAD_LENGTH]; | 28   uint8_t k_opad[HMAC_PAD_LENGTH]; | 
| 29 } tpm_hmac_ctx_t; | 29 } tpm_hmac_ctx_t; | 
| 30 | 30 | 
| 31 void tpm_hmac_init(tpm_hmac_ctx_t *ctx, const uint8_t *key, size_t key_len); | 31 void tpm_hmac_init(tpm_hmac_ctx_t *ctx, const uint8_t *key, size_t key_len); | 
| 32 | 32 | 
| 33 void tpm_hmac_update(tpm_hmac_ctx_t *ctx, const uint8_t *data, size_t length); | 33 void tpm_hmac_update(tpm_hmac_ctx_t *ctx, const uint8_t *data, size_t length); | 
| 34 | 34 | 
| 35 void tpm_hmac_final(tpm_hmac_ctx_t *ctx, uint8_t *digest); | 35 void tpm_hmac_final(tpm_hmac_ctx_t *ctx, uint8_t *digest); | 
| 36 | 36 | 
| 37 #endif /* _HMAC_H_ */ | 37 #endif /* _HMAC_H_ */ | 
| 38 | 38 | 
| OLD | NEW | 
|---|