aes_ccm.h 869 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * Copyright 2003-2004, Instant802 Networks, Inc.
  3. * Copyright 2006, Devicescape Software, Inc.
  4. *
  5. * This program is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU General Public License version 2 as
  7. * published by the Free Software Foundation.
  8. */
  9. #ifndef AES_CCM_H
  10. #define AES_CCM_H
  11. #include <linux/crypto.h>
  12. #define CCM_AAD_LEN 32
  13. struct crypto_aead *ieee80211_aes_key_setup_encrypt(const u8 key[],
  14. size_t key_len,
  15. size_t mic_len);
  16. int ieee80211_aes_ccm_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
  17. u8 *data, size_t data_len, u8 *mic,
  18. size_t mic_len);
  19. int ieee80211_aes_ccm_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
  20. u8 *data, size_t data_len, u8 *mic,
  21. size_t mic_len);
  22. void ieee80211_aes_key_free(struct crypto_aead *tfm);
  23. #endif /* AES_CCM_H */