^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) /* SPDX-License-Identifier: GPL-2.0-only */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3) #ifndef _AEAD_API_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) #define _AEAD_API_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) #include <crypto/aead.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7) #include <linux/crypto.h>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9) struct crypto_aead *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) aead_key_setup_encrypt(const char *alg, const u8 key[],
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) size_t key_len, size_t mic_len);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13) int aead_encrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) size_t aad_len, u8 *data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15) size_t data_len, u8 *mic);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17) int aead_decrypt(struct crypto_aead *tfm, u8 *b_0, u8 *aad,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) size_t aad_len, u8 *data,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19) size_t data_len, u8 *mic);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21) void aead_key_free(struct crypto_aead *tfm);
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) #endif /* _AEAD_API_H */