1 /* 2 * Copyright 2008, Jouni Malinen <j@w1.fi> 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 9 #ifndef AES_CMAC_H 10 #define AES_CMAC_H 11 12 #include <linux/crypto.h> 13 14 void gf_mulx(u8 *pad); 15 void aes_cmac_vector(struct crypto_cipher *tfm, size_t num_elem, 16 const u8 *addr[], const size_t *len, u8 *mac, 17 size_t mac_len); 18 struct crypto_cipher *ieee80211_aes_cmac_key_setup(const u8 key[], 19 size_t key_len); 20 void ieee80211_aes_cmac(struct crypto_cipher *tfm, const u8 *aad, 21 const u8 *data, size_t data_len, u8 *mic); 22 void ieee80211_aes_cmac_256(struct crypto_cipher *tfm, const u8 *aad, 23 const u8 *data, size_t data_len, u8 *mic); 24 void ieee80211_aes_cmac_key_free(struct crypto_cipher *tfm); 25 26 #endif /* AES_CMAC_H */ 27