Lines Matching refs:aead
16 #include <crypto/aead.h>
63 static void *esp_alloc_tmp(struct crypto_aead *aead, int nfrags, int seqihlen)
69 len += crypto_aead_ivsize(aead);
72 len += crypto_aead_alignmask(aead) &
77 len += sizeof(struct aead_request) + crypto_aead_reqsize(aead);
90 static inline u8 *esp_tmp_iv(struct crypto_aead *aead, void *tmp, int seqhilen)
92 return crypto_aead_ivsize(aead) ?
94 crypto_aead_alignmask(aead) + 1) : tmp + seqhilen;
97 static inline struct aead_request *esp_tmp_req(struct crypto_aead *aead, u8 *iv)
101 req = (void *)PTR_ALIGN(iv + crypto_aead_ivsize(aead),
103 aead_request_set_tfm(req, aead);
107 static inline struct scatterlist *esp_req_sg(struct crypto_aead *aead,
111 crypto_aead_reqsize(aead),
117 struct crypto_aead *aead = x->data;
126 iv = esp_tmp_iv(aead, tmp, extralen);
127 req = esp_tmp_req(aead, iv);
580 struct crypto_aead *aead;
593 aead = x->data;
594 alen = crypto_aead_authsize(aead);
595 ivlen = crypto_aead_ivsize(aead);
597 tmp = esp_alloc_tmp(aead, esp->nfrags + 2, extralen);
602 iv = esp_tmp_iv(aead, tmp, extralen);
603 req = esp_tmp_req(aead, iv);
604 sg = esp_req_sg(aead, req);
697 struct crypto_aead *aead;
707 aead = x->data;
708 alen = crypto_aead_authsize(aead);
719 blksize = ALIGN(crypto_aead_blocksize(aead), 4);
745 struct crypto_aead *aead = x->data;
752 alen = crypto_aead_authsize(aead);
753 hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
787 struct crypto_aead *aead = x->data;
788 int hlen = sizeof(struct ip_esp_hdr) + crypto_aead_ivsize(aead);
924 struct crypto_aead *aead = x->data;
927 int ivlen = crypto_aead_ivsize(aead);
977 tmp = esp_alloc_tmp(aead, nfrags, seqhilen);
983 iv = esp_tmp_iv(aead, tmp, seqhilen);
984 req = esp_tmp_req(aead, iv);
985 sg = esp_req_sg(aead, req);
1048 struct crypto_aead *aead = x->data;
1050 if (!aead)
1053 crypto_free_aead(aead);
1059 struct crypto_aead *aead;
1063 x->geniv, x->aead->alg_name) >= CRYPTO_MAX_ALG_NAME) {
1068 aead = crypto_alloc_aead(aead_name, 0, 0);
1069 err = PTR_ERR(aead);
1070 if (IS_ERR(aead))
1073 x->data = aead;
1075 err = crypto_aead_setkey(aead, x->aead->alg_key,
1076 (x->aead->alg_key_len + 7) / 8);
1080 err = crypto_aead_setauthsize(aead, x->aead->alg_icv_len / 8);
1094 struct crypto_aead *aead;
1127 aead = crypto_alloc_aead(authenc_name, 0, 0);
1128 err = PTR_ERR(aead);
1129 if (IS_ERR(aead)) {
1134 x->data = aead;
1161 crypto_aead_authsize(aead)) {
1167 aead, x->aalg->alg_trunc_len / 8);
1177 err = crypto_aead_setkey(aead, key, keylen);
1188 struct crypto_aead *aead;
1194 if (x->aead) {
1206 aead = x->data;
1209 crypto_aead_ivsize(aead);
1249 align = ALIGN(crypto_aead_blocksize(aead), 4);
1250 x->props.trailer_len = align + 1 + crypto_aead_authsize(aead);