Lines Matching refs:aead
4 #include <crypto/aead.h>
46 static void *esp_alloc_tmp(struct crypto_aead *aead, int nfrags, int extralen)
52 len += crypto_aead_ivsize(aead);
55 len += crypto_aead_alignmask(aead) &
60 len += sizeof(struct aead_request) + crypto_aead_reqsize(aead);
73 static inline u8 *esp_tmp_iv(struct crypto_aead *aead, void *tmp, int extralen)
75 return crypto_aead_ivsize(aead) ?
77 crypto_aead_alignmask(aead) + 1) : tmp + extralen;
80 static inline struct aead_request *esp_tmp_req(struct crypto_aead *aead, u8 *iv)
84 req = (void *)PTR_ALIGN(iv + crypto_aead_ivsize(aead),
86 aead_request_set_tfm(req, aead);
90 static inline struct scatterlist *esp_req_sg(struct crypto_aead *aead,
94 crypto_aead_reqsize(aead),
101 struct crypto_aead *aead = x->data;
111 iv = esp_tmp_iv(aead, tmp, extralen);
112 req = esp_tmp_req(aead, iv);
545 struct crypto_aead *aead;
559 aead = x->data;
560 alen = crypto_aead_authsize(aead);
561 ivlen = crypto_aead_ivsize(aead);
563 tmp = esp_alloc_tmp(aead, esp->nfrags + 2, extralen);
568 iv = esp_tmp_iv(aead, tmp, extralen);
569 req = esp_tmp_req(aead, iv);
570 sg = esp_req_sg(aead, req);
662 struct crypto_aead *aead;
672 aead = x->data;
673 alen = crypto_aead_authsize(aead);
684 blksize = ALIGN(crypto_aead_blocksize(aead), 4);
711 struct crypto_aead *aead = x->data;
718 alen = crypto_aead_authsize(aead);
719 hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
759 struct crypto_aead *aead = x->data;
760 int hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
889 struct crypto_aead *aead = x->data;
892 int ivlen = crypto_aead_ivsize(aead);
938 tmp = esp_alloc_tmp(aead, nfrags, seqhilen);
944 iv = esp_tmp_iv(aead, tmp, seqhilen);
945 req = esp_tmp_req(aead, iv);
946 sg = esp_req_sg(aead, req);
1013 struct crypto_aead *aead = x->data;
1015 if (!aead)
1018 crypto_free_aead(aead);
1024 struct crypto_aead *aead;
1029 x->geniv, x->aead->alg_name) >= CRYPTO_MAX_ALG_NAME)
1032 aead = crypto_alloc_aead(aead_name, 0, 0);
1033 err = PTR_ERR(aead);
1034 if (IS_ERR(aead))
1037 x->data = aead;
1039 err = crypto_aead_setkey(aead, x->aead->alg_key,
1040 (x->aead->alg_key_len + 7) / 8);
1044 err = crypto_aead_setauthsize(aead, x->aead->alg_icv_len / 8);
1054 struct crypto_aead *aead;
1087 aead = crypto_alloc_aead(authenc_name, 0, 0);
1088 err = PTR_ERR(aead);
1089 if (IS_ERR(aead))
1092 x->data = aead;
1119 crypto_aead_authsize(aead)) {
1122 crypto_aead_authsize(aead),
1128 aead, x->aalg->alg_trunc_len / 8);
1136 err = crypto_aead_setkey(aead, key, keylen);
1147 struct crypto_aead *aead;
1153 if (x->aead)
1161 aead = x->data;
1164 crypto_aead_ivsize(aead);
1193 align = ALIGN(crypto_aead_blocksize(aead), 4);
1194 x->props.trailer_len = align + 1 + crypto_aead_authsize(aead);