Lines Matching refs:axf
287 swcr_authprepare(struct auth_hash *axf, struct swcr_auth *sw, in swcr_authprepare() argument
291 switch (axf->type) { in swcr_authprepare()
299 hmac_init_ipad(axf, key, klen, sw->sw_ictx); in swcr_authprepare()
300 hmac_init_opad(axf, key, klen, sw->sw_octx); in swcr_authprepare()
305 axf->Setkey(sw->sw_ictx, key, klen); in swcr_authprepare()
306 axf->Init(sw->sw_ictx); in swcr_authprepare()
309 panic("%s: algorithm %d doesn't use keys", __func__, axf->type); in swcr_authprepare()
322 struct auth_hash *axf; in swcr_authcompute() local
328 axf = sw->sw_axf; in swcr_authcompute()
332 swcr_authprepare(axf, sw, crp->crp_auth_key, in swcr_authcompute()
336 bcopy(sw->sw_ictx, &ctx, axf->ctxsize); in swcr_authcompute()
339 err = axf->Update(&ctx, crp->crp_aad, crp->crp_aad_length); in swcr_authcompute()
342 axf->Update, &ctx); in swcr_authcompute()
350 axf->Update, &ctx); in swcr_authcompute()
353 crp->crp_payload_length, axf->Update, &ctx); in swcr_authcompute()
358 axf->Update(&ctx, crp->crp_esn, 4); in swcr_authcompute()
360 axf->Final(aalg, &ctx); in swcr_authcompute()
362 bcopy(sw->sw_octx, &ctx, axf->ctxsize); in swcr_authcompute()
363 axf->Update(&ctx, aalg, axf->hashsize); in swcr_authcompute()
364 axf->Final(aalg, &ctx); in swcr_authcompute()
398 struct auth_hash *axf; in swcr_gmac() local
403 axf = swa->sw_axf; in swcr_gmac()
405 bcopy(swa->sw_ictx, &ctx, axf->ctxsize); in swcr_gmac()
407 KASSERT(axf->blocksize == blksz, ("%s: axf block size mismatch", in swcr_gmac()
414 axf->Reinit(&ctx, iv, ivlen); in swcr_gmac()
428 axf->Update(&ctx, inblk, len); in swcr_gmac()
433 axf->Update(&ctx, blk, blksz); in swcr_gmac()
440 axf->Update(&ctx, blk, blksz); in swcr_gmac()
443 axf->Final(tag, &ctx); in swcr_gmac()
477 struct auth_hash *axf; in swcr_gcm() local
483 axf = swa->sw_axf; in swcr_gcm()
485 bcopy(swa->sw_ictx, &ctx, axf->ctxsize); in swcr_gcm()
487 KASSERT(axf->blocksize == blksz, ("%s: axf block size mismatch", in swcr_gcm()
492 KASSERT(axf->blocksize == exf->native_blocksize, in swcr_gcm()
503 axf->Reinit(&ctx, iv, ivlen); in swcr_gcm()
509 axf->Update(&ctx, crp->crp_aad, len); in swcr_gcm()
514 axf->Update(&ctx, blk, blksz); in swcr_gcm()
531 axf->Update(&ctx, inblk, len); in swcr_gcm()
536 axf->Update(&ctx, blk, blksz); in swcr_gcm()
564 axf->Update(&ctx, outblk, blksz); in swcr_gcm()
570 axf->Update(&ctx, inblk, blksz); in swcr_gcm()
579 axf->Update(&ctx, blk, resid); in swcr_gcm()
588 axf->Update(&ctx, blk, blksz); in swcr_gcm()
591 axf->Final(tag, &ctx); in swcr_gcm()
654 struct auth_hash *axf; in swcr_ccm_cbc_mac() local
658 axf = swa->sw_axf; in swcr_ccm_cbc_mac()
660 bcopy(swa->sw_ictx, &ctx, axf->ctxsize); in swcr_ccm_cbc_mac()
673 axf->Reinit(&ctx, iv, ivlen); in swcr_ccm_cbc_mac()
675 error = axf->Update(&ctx, crp->crp_aad, crp->crp_aad_length); in swcr_ccm_cbc_mac()
678 crp->crp_payload_length, axf->Update, &ctx); in swcr_ccm_cbc_mac()
683 axf->Final(tag, &ctx); in swcr_ccm_cbc_mac()
715 struct auth_hash *axf; in swcr_ccm() local
720 axf = swa->sw_axf; in swcr_ccm()
722 bcopy(swa->sw_ictx, &ctx, axf->ctxsize); in swcr_ccm()
724 KASSERT(axf->blocksize == blksz, ("%s: axf block size mismatch", in swcr_ccm()
729 KASSERT(axf->blocksize == exf->native_blocksize, in swcr_ccm()
747 axf->Reinit(&ctx, iv, ivlen); in swcr_ccm()
751 error = axf->Update(&ctx, crp->crp_aad, crp->crp_aad_length); in swcr_ccm()
754 crp->crp_aad_length, axf->Update, &ctx); in swcr_ccm()
781 axf->Update(&ctx, inblk, blksz); in swcr_ccm()
797 axf->Update(&ctx, blk, blksz); in swcr_ccm()
803 axf->Update(&ctx, blk, resid); in swcr_ccm()
808 axf->Update(&ctx, blk, resid); in swcr_ccm()
813 axf->Final(tag, &ctx); in swcr_ccm()
1007 struct auth_hash *axf; in swcr_setup_auth() local
1011 axf = crypto_auth_hash(csp); in swcr_setup_auth()
1012 swa->sw_axf = axf; in swcr_setup_auth()
1013 if (csp->csp_auth_mlen < 0 || csp->csp_auth_mlen > axf->hashsize) in swcr_setup_auth()
1016 swa->sw_mlen = axf->hashsize; in swcr_setup_auth()
1019 swa->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); in swcr_setup_auth()
1031 swa->sw_octx = malloc(axf->ctxsize, M_CRYPTO_DATA, in swcr_setup_auth()
1037 swcr_authprepare(axf, swa, csp->csp_auth_key, in swcr_setup_auth()
1049 axf->Init(swa->sw_ictx); in swcr_setup_auth()
1054 axf->Init(swa->sw_ictx); in swcr_setup_auth()
1055 axf->Setkey(swa->sw_ictx, csp->csp_auth_key, in swcr_setup_auth()
1068 axf->Setkey(swa->sw_ictx, csp->csp_auth_key, in swcr_setup_auth()
1070 axf->Init(swa->sw_ictx); in swcr_setup_auth()
1075 axf->Init(swa->sw_ictx); in swcr_setup_auth()
1076 axf->Setkey(swa->sw_ictx, csp->csp_auth_key, in swcr_setup_auth()
1091 struct auth_hash *axf; in swcr_setup_gcm() local
1100 axf = &auth_hash_nist_gmac_aes_128; in swcr_setup_gcm()
1103 axf = &auth_hash_nist_gmac_aes_192; in swcr_setup_gcm()
1106 axf = &auth_hash_nist_gmac_aes_256; in swcr_setup_gcm()
1111 swa->sw_axf = axf; in swcr_setup_gcm()
1112 if (csp->csp_auth_mlen < 0 || csp->csp_auth_mlen > axf->hashsize) in swcr_setup_gcm()
1115 swa->sw_mlen = axf->hashsize; in swcr_setup_gcm()
1118 swa->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); in swcr_setup_gcm()
1121 axf->Init(swa->sw_ictx); in swcr_setup_gcm()
1123 axf->Setkey(swa->sw_ictx, csp->csp_cipher_key, in swcr_setup_gcm()
1135 struct auth_hash *axf; in swcr_setup_ccm() local
1144 axf = &auth_hash_ccm_cbc_mac_128; in swcr_setup_ccm()
1147 axf = &auth_hash_ccm_cbc_mac_192; in swcr_setup_ccm()
1150 axf = &auth_hash_ccm_cbc_mac_256; in swcr_setup_ccm()
1155 swa->sw_axf = axf; in swcr_setup_ccm()
1156 if (csp->csp_auth_mlen < 0 || csp->csp_auth_mlen > axf->hashsize) in swcr_setup_ccm()
1159 swa->sw_mlen = axf->hashsize; in swcr_setup_ccm()
1162 swa->sw_ictx = malloc(axf->ctxsize, M_CRYPTO_DATA, M_NOWAIT); in swcr_setup_ccm()
1165 axf->Init(swa->sw_ictx); in swcr_setup_ccm()
1167 axf->Setkey(swa->sw_ictx, csp->csp_cipher_key, in swcr_setup_ccm()
1177 struct auth_hash *axf; in swcr_auth_supported() local
1179 axf = crypto_auth_hash(csp); in swcr_auth_supported()
1180 if (axf == NULL) in swcr_auth_supported()