Lines Matching defs:dctx
399 struct vmac_desc_ctx *dctx,
405 u64 ch = dctx->polytmp[0];
406 u64 cl = dctx->polytmp[1];
409 if (!dctx->first_block_processed) {
410 dctx->first_block_processed = true;
425 dctx->polytmp[0] = ch;
426 dctx->polytmp[1] = cl;
482 struct vmac_desc_ctx *dctx = shash_desc_ctx(desc);
484 dctx->partial_size = 0;
485 dctx->first_block_processed = false;
486 memcpy(dctx->polytmp, tctx->polykey, sizeof(dctx->polytmp));
487 dctx->nonce_size = 0;
494 struct vmac_desc_ctx *dctx = shash_desc_ctx(desc);
498 if (dctx->nonce_size < VMAC_NONCEBYTES) {
499 n = min(len, VMAC_NONCEBYTES - dctx->nonce_size);
500 memcpy(&dctx->nonce.bytes[dctx->nonce_size], p, n);
501 dctx->nonce_size += n;
506 if (dctx->partial_size) {
507 n = min(len, VMAC_NHBYTES - dctx->partial_size);
508 memcpy(&dctx->partial[dctx->partial_size], p, n);
509 dctx->partial_size += n;
512 if (dctx->partial_size == VMAC_NHBYTES) {
513 vhash_blocks(tctx, dctx, dctx->partial_words, 1);
514 dctx->partial_size = 0;
521 vhash_blocks(tctx, dctx, (const __le64 *)p, n / VMAC_NHBYTES);
527 memcpy(dctx->partial, p, len);
528 dctx->partial_size = len;
535 struct vmac_desc_ctx *dctx)
537 unsigned int partial = dctx->partial_size;
538 u64 ch = dctx->polytmp[0];
539 u64 cl = dctx->polytmp[1];
547 memset(&dctx->partial[partial], 0, n - partial);
548 nh_16(dctx->partial_words, tctx->nhkey, n / 8, rh, rl);
550 if (dctx->first_block_processed)
564 struct vmac_desc_ctx *dctx = shash_desc_ctx(desc);
568 if (dctx->nonce_size != VMAC_NONCEBYTES)
577 if (dctx->nonce.bytes[0] & 0x80)
581 hash = vhash_final(tctx, dctx);
585 index = dctx->nonce.bytes[VMAC_NONCEBYTES - 1] & 1;
586 dctx->nonce.bytes[VMAC_NONCEBYTES - 1] &= ~1;
587 crypto_cipher_encrypt_one(tctx->cipher, dctx->nonce.bytes,
588 dctx->nonce.bytes);
589 pad = be64_to_cpu(dctx->nonce.pads[index]);