xref: /openbmc/linux/net/mac80211/aes_cmac.h (revision c51d39010a1bccc9c1294e2d7c00005aefeb2b5c)
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