Lines Matching refs:req

68 static int ccm_init_mac(struct aead_request *req, u8 maciv[], u32 msglen)  in ccm_init_mac()  argument
70 struct crypto_aead *aead = crypto_aead_reqtfm(req); in ccm_init_mac()
72 u32 l = req->iv[0] + 1; in ccm_init_mac()
89 memcpy(maciv, req->iv, AES_BLOCK_SIZE - l); in ccm_init_mac()
99 if (req->assoclen) in ccm_init_mac()
102 memset(&req->iv[AES_BLOCK_SIZE - l], 0, l); in ccm_init_mac()
106 static void ccm_calculate_auth_mac(struct aead_request *req, u8 mac[]) in ccm_calculate_auth_mac() argument
108 struct crypto_aead *aead = crypto_aead_reqtfm(req); in ccm_calculate_auth_mac()
112 u32 len = req->assoclen; in ccm_calculate_auth_mac()
127 scatterwalk_start(&walk, req->src); in ccm_calculate_auth_mac()
148 static int ccm_encrypt(struct aead_request *req) in ccm_encrypt() argument
150 struct crypto_aead *aead = crypto_aead_reqtfm(req); in ccm_encrypt()
152 struct blkcipher_desc desc = { .info = req->iv }; in ccm_encrypt()
160 u32 len = req->cryptlen; in ccm_encrypt()
163 err = ccm_init_mac(req, mac, len); in ccm_encrypt()
169 if (req->assoclen) in ccm_encrypt()
170 ccm_calculate_auth_mac(req, mac); in ccm_encrypt()
173 memcpy(buf, req->iv, AES_BLOCK_SIZE); in ccm_encrypt()
175 src = scatterwalk_ffwd(srcbuf, req->src, req->assoclen); in ccm_encrypt()
177 if (req->src != req->dst) in ccm_encrypt()
178 dst = scatterwalk_ffwd(dstbuf, req->dst, req->assoclen); in ccm_encrypt()
206 scatterwalk_map_and_copy(mac, dst, req->cryptlen, in ccm_encrypt()
212 static int ccm_decrypt(struct aead_request *req) in ccm_decrypt() argument
214 struct crypto_aead *aead = crypto_aead_reqtfm(req); in ccm_decrypt()
217 struct blkcipher_desc desc = { .info = req->iv }; in ccm_decrypt()
225 u32 len = req->cryptlen - authsize; in ccm_decrypt()
228 err = ccm_init_mac(req, mac, len); in ccm_decrypt()
234 if (req->assoclen) in ccm_decrypt()
235 ccm_calculate_auth_mac(req, mac); in ccm_decrypt()
238 memcpy(buf, req->iv, AES_BLOCK_SIZE); in ccm_decrypt()
240 src = scatterwalk_ffwd(srcbuf, req->src, req->assoclen); in ccm_decrypt()
242 if (req->src != req->dst) in ccm_decrypt()
243 dst = scatterwalk_ffwd(dstbuf, req->dst, req->assoclen); in ccm_decrypt()
271 scatterwalk_map_and_copy(buf, src, req->cryptlen - authsize, in ccm_decrypt()