Lines Matching refs:req
61 static int ccm_init_mac(struct aead_request *req, u8 maciv[], u32 msglen)
63 struct crypto_aead *aead = crypto_aead_reqtfm(req);
65 u32 l = req->iv[0] + 1;
82 memcpy(maciv, req->iv, AES_BLOCK_SIZE - l);
92 if (req->assoclen)
95 memset(&req->iv[AES_BLOCK_SIZE - l], 0, l);
134 static void ccm_calculate_auth_mac(struct aead_request *req, u8 mac[])
136 struct crypto_aead *aead = crypto_aead_reqtfm(req);
140 u32 len = req->assoclen;
154 scatterwalk_start(&walk, req->src);
222 static int ccm_encrypt(struct aead_request *req)
224 struct crypto_aead *aead = crypto_aead_reqtfm(req);
229 u32 len = req->cryptlen;
232 err = ccm_init_mac(req, mac, len);
236 if (req->assoclen)
237 ccm_calculate_auth_mac(req, mac);
240 memcpy(buf, req->iv, AES_BLOCK_SIZE);
242 err = skcipher_walk_aead_encrypt(&walk, req, false);
273 scatterwalk_map_and_copy(mac, req->dst, req->assoclen + req->cryptlen,
279 static int ccm_decrypt(struct aead_request *req)
281 struct crypto_aead *aead = crypto_aead_reqtfm(req);
287 u32 len = req->cryptlen - authsize;
290 err = ccm_init_mac(req, mac, len);
294 if (req->assoclen)
295 ccm_calculate_auth_mac(req, mac);
298 memcpy(buf, req->iv, AES_BLOCK_SIZE);
300 err = skcipher_walk_aead_decrypt(&walk, req, false);
332 scatterwalk_map_and_copy(buf, req->src,
333 req->assoclen + req->cryptlen - authsize,