#include <crypto/internal/aead.h>
#include <crypto/internal/simd.h>
#include <crypto/internal/skcipher.h>
#include <crypto/scatterwalk.h>
#include <linux/module.h>
#include <asm/fpu/api.h>
#include <asm/cpu_device_id.h>
#define AEGIS128_BLOCK_ALIGN …
#define AEGIS128_BLOCK_SIZE …
#define AEGIS128_NONCE_SIZE …
#define AEGIS128_STATE_BLOCKS …
#define AEGIS128_KEY_SIZE …
#define AEGIS128_MIN_AUTH_SIZE …
#define AEGIS128_MAX_AUTH_SIZE …
asmlinkage void crypto_aegis128_aesni_init(void *state, void *key, void *iv);
asmlinkage void crypto_aegis128_aesni_ad(
void *state, unsigned int length, const void *data);
asmlinkage void crypto_aegis128_aesni_enc(
void *state, unsigned int length, const void *src, void *dst);
asmlinkage void crypto_aegis128_aesni_dec(
void *state, unsigned int length, const void *src, void *dst);
asmlinkage void crypto_aegis128_aesni_enc_tail(
void *state, unsigned int length, const void *src, void *dst);
asmlinkage void crypto_aegis128_aesni_dec_tail(
void *state, unsigned int length, const void *src, void *dst);
asmlinkage void crypto_aegis128_aesni_final(
void *state, void *tag_xor, unsigned int cryptlen,
unsigned int assoclen);
struct aegis_block { … };
struct aegis_state { … };
struct aegis_ctx { … };
struct aegis_crypt_ops { … };
static void crypto_aegis128_aesni_process_ad(
struct aegis_state *state, struct scatterlist *sg_src,
unsigned int assoclen)
{ … }
static void crypto_aegis128_aesni_process_crypt(
struct aegis_state *state, struct skcipher_walk *walk,
const struct aegis_crypt_ops *ops)
{ … }
static struct aegis_ctx *crypto_aegis128_aesni_ctx(struct crypto_aead *aead)
{ … }
static int crypto_aegis128_aesni_setkey(struct crypto_aead *aead, const u8 *key,
unsigned int keylen)
{ … }
static int crypto_aegis128_aesni_setauthsize(struct crypto_aead *tfm,
unsigned int authsize)
{ … }
static void crypto_aegis128_aesni_crypt(struct aead_request *req,
struct aegis_block *tag_xor,
unsigned int cryptlen,
const struct aegis_crypt_ops *ops)
{ … }
static int crypto_aegis128_aesni_encrypt(struct aead_request *req)
{ … }
static int crypto_aegis128_aesni_decrypt(struct aead_request *req)
{ … }
static int crypto_aegis128_aesni_init_tfm(struct crypto_aead *aead)
{ … }
static void crypto_aegis128_aesni_exit_tfm(struct crypto_aead *aead)
{ … }
static struct aead_alg crypto_aegis128_aesni_alg = …;
static struct simd_aead_alg *simd_alg;
static int __init crypto_aegis128_aesni_module_init(void)
{ … }
static void __exit crypto_aegis128_aesni_module_exit(void)
{ … }
module_init(…) …;
module_exit(crypto_aegis128_aesni_module_exit);
MODULE_LICENSE(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_ALIAS_CRYPTO(…) …;
MODULE_ALIAS_CRYPTO(…) …;