Lines Matching refs:enccrd
169 padlock_cipher_alloc(struct cryptodesc *enccrd, struct cryptop *crp,
185 addr = (u_char *)iov->iov_base + enccrd->crd_skip;
196 addr = malloc(enccrd->crd_len + 16, M_PADLOCK, M_NOWAIT);
201 padlock_cipher_process(struct padlock_session *ses, struct cryptodesc *enccrd,
210 buf = padlock_cipher_alloc(enccrd, crp, &allocated);
216 if ((enccrd->crd_flags & CRD_F_KEY_EXPLICIT) != 0) {
217 padlock_cipher_key_setup(ses, enccrd->crd_key,
218 enccrd->crd_klen);
226 if ((enccrd->crd_flags & CRD_F_ENCRYPT) != 0) {
229 if ((enccrd->crd_flags & CRD_F_IV_EXPLICIT) != 0)
230 bcopy(enccrd->crd_iv, ses->ses_iv, AES_BLOCK_LEN);
232 if ((enccrd->crd_flags & CRD_F_IV_PRESENT) == 0) {
234 enccrd->crd_inject, AES_BLOCK_LEN, ses->ses_iv);
239 if ((enccrd->crd_flags & CRD_F_IV_EXPLICIT) != 0)
240 bcopy(enccrd->crd_iv, ses->ses_iv, AES_BLOCK_LEN);
243 enccrd->crd_inject, AES_BLOCK_LEN, ses->ses_iv);
248 crypto_copydata(crp->crp_flags, crp->crp_buf, enccrd->crd_skip,
249 enccrd->crd_len, abuf);
257 padlock_cbc(abuf, abuf, enccrd->crd_len / AES_BLOCK_LEN, key, cw,
262 crypto_copyback(crp->crp_flags, crp->crp_buf, enccrd->crd_skip,
263 enccrd->crd_len, abuf);
267 if ((enccrd->crd_flags & CRD_F_ENCRYPT) != 0) {
269 enccrd->crd_skip + enccrd->crd_len - AES_BLOCK_LEN,
275 bzero(buf, enccrd->crd_len + 16);