xref: /linux/net/mac80211/aes_gcm.h (revision a3a4a816b4b194c45d0217e8b9e08b2639802cda)
1 /*
2  * Copyright 2014-2015, Qualcomm Atheros, Inc.
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_GCM_H
10 #define AES_GCM_H
11 
12 #include <linux/crypto.h>
13 
14 #define GCM_AAD_LEN	32
15 
16 int ieee80211_aes_gcm_encrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad,
17 			      u8 *data, size_t data_len, u8 *mic);
18 int ieee80211_aes_gcm_decrypt(struct crypto_aead *tfm, u8 *j_0, u8 *aad,
19 			      u8 *data, size_t data_len, u8 *mic);
20 struct crypto_aead *ieee80211_aes_gcm_key_setup_encrypt(const u8 key[],
21 							size_t key_len);
22 void ieee80211_aes_gcm_key_free(struct crypto_aead *tfm);
23 
24 #endif /* AES_GCM_H */
25