blob: c827e1d5de8b11a2b9cb8d0d17a7385e83bdd8bc [file] [log] [blame]
Jouni Malinen765cb462009-01-08 13:32:01 +02001/*
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
Jouni Malinen39404fe2016-10-27 00:42:05 +030014void gf_mulx(u8 *pad);
15void 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);
Jouni Malinen56c52da2015-01-24 19:52:08 +020018struct crypto_cipher *ieee80211_aes_cmac_key_setup(const u8 key[],
19 size_t key_len);
Johannes Berg75396ae2011-07-06 22:00:35 +020020void ieee80211_aes_cmac(struct crypto_cipher *tfm, const u8 *aad,
Jouni Malinen765cb462009-01-08 13:32:01 +020021 const u8 *data, size_t data_len, u8 *mic);
Jouni Malinen56c52da2015-01-24 19:52:08 +020022void ieee80211_aes_cmac_256(struct crypto_cipher *tfm, const u8 *aad,
23 const u8 *data, size_t data_len, u8 *mic);
Jouni Malinen765cb462009-01-08 13:32:01 +020024void ieee80211_aes_cmac_key_free(struct crypto_cipher *tfm);
25
26#endif /* AES_CMAC_H */