1189251Ssam/* 2189251Ssam * MD5 hash implementation and interface functions 3214734Srpaulo * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi> 4189251Ssam * 5189251Ssam * This program is free software; you can redistribute it and/or modify 6189251Ssam * it under the terms of the GNU General Public License version 2 as 7189251Ssam * published by the Free Software Foundation. 8189251Ssam * 9189251Ssam * Alternatively, this software may be distributed under the terms of BSD 10189251Ssam * license. 11189251Ssam * 12189251Ssam * See README and COPYING for more details. 13189251Ssam */ 14189251Ssam 15189251Ssam#ifndef MD5_H 16189251Ssam#define MD5_H 17189251Ssam 18189251Ssam#define MD5_MAC_LEN 16 19189251Ssam 20214734Srpauloint hmac_md5_vector(const u8 *key, size_t key_len, size_t num_elem, 21214734Srpaulo const u8 *addr[], const size_t *len, u8 *mac); 22214734Srpauloint hmac_md5(const u8 *key, size_t key_len, const u8 *data, size_t data_len, 23214734Srpaulo u8 *mac); 24214734Srpaulo#ifdef CONFIG_FIPS 25214734Srpauloint hmac_md5_vector_non_fips_allow(const u8 *key, size_t key_len, 26214734Srpaulo size_t num_elem, const u8 *addr[], 27214734Srpaulo const size_t *len, u8 *mac); 28214734Srpauloint hmac_md5_non_fips_allow(const u8 *key, size_t key_len, const u8 *data, 29214734Srpaulo size_t data_len, u8 *mac); 30214734Srpaulo#else /* CONFIG_FIPS */ 31214734Srpaulo#define hmac_md5_vector_non_fips_allow hmac_md5_vector 32214734Srpaulo#define hmac_md5_non_fips_allow hmac_md5 33214734Srpaulo#endif /* CONFIG_FIPS */ 34189251Ssam 35189251Ssam#endif /* MD5_H */ 36