2
* MD5 hash implementation and interface functions
3
* Copyright (c) 2003-2005, Jouni Malinen <jkmaline@cc.hut.fi>
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation.
9
* Alternatively, this software may be distributed under the terms of BSD
12
* See README and COPYING for more details.
6
#include <openssl/md5.h>
8
#define MD5Init MD5_Init
9
#define MD5Update MD5_Update
10
#define MD5Final MD5_Final
11
#define MD5Transform MD5_Transform
13
#define MD5_MAC_LEN MD5_DIGEST_LENGTH
15
#else /* EAP_TLS_FUNCS */
17
18
#define MD5_MAC_LEN 16
25
void MD5Init(struct MD5Context *context);
26
void MD5Update(struct MD5Context *context, unsigned char const *buf,
28
void MD5Final(unsigned char digest[16], struct MD5Context *context);
29
void MD5Transform(u32 buf[4], u32 const in[16]);
31
typedef struct MD5Context MD5_CTX;
33
#endif /* EAP_TLS_FUNCS */
36
void md5_mac(const u8 *key, size_t key_len, const u8 *data, size_t data_len,
38
20
void hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem,
39
21
const u8 *addr[], const size_t *len, u8 *mac);
40
22
void hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t data_len,