Lines Matching refs:ad

477 static int sa_set_sc_enc(struct algo_data *ad, const u8 *key, u16 key_sz,
486 mci = ad->mci_enc;
488 mci = ad->mci_dec;
494 if (ad->inv_key && !enc) {
506 static void sa_set_sc_auth(struct algo_data *ad, const u8 *key, u16 key_sz,
515 sc_buf[1] |= ad->auth_ctrl;
518 if (ad->keyed_mac) {
519 ad->prep_iopad(ad, key, key_sz, ipad, opad);
522 memcpy(&sc_buf[32], ipad, ad->hash_size);
524 memcpy(&sc_buf[64], opad, ad->hash_size);
696 struct algo_data *ad, u8 enc, u32 *swinfo)
706 if (ad->auth_eng.eng_id) {
708 first_engine = ad->enc_eng.eng_id;
710 first_engine = ad->auth_eng.eng_id;
713 auth_sc_offset = enc_sc_offset + ad->enc_eng.sc_size;
715 if (!ad->hash_size)
717 ad->hash_size = roundup(ad->hash_size, 8);
719 } else if (ad->enc_eng.eng_id && !ad->auth_eng.eng_id) {
721 first_engine = ad->enc_eng.eng_id;
723 ad->hash_size = ad->iv_out_size;
735 if (ad->enc_eng.sc_size) {
736 if (sa_set_sc_enc(ad, enc_key, enc_key_sz, enc,
742 if (ad->auth_eng.sc_size)
743 sa_set_sc_auth(ad, auth_key, auth_key_sz,
753 SA_SW_INFO_FLAG_EVICT, ad->hash_size, swinfo);
859 unsigned int keylen, struct algo_data *ad)
870 ad->enc_eng.eng_id = SA_ENG_ID_EM1;
871 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
874 cfg.enc_eng_id = ad->enc_eng.eng_id;
887 if (sa_init_sc(&ctx->enc, key, keylen, NULL, 0, ad, 1,
900 if (sa_init_sc(&ctx->dec, key, keylen, NULL, 0, ad, 0,
904 cfg.enc_eng_id = ad->enc_eng.eng_id;
912 ctx->iv_idx = ad->iv_idx;
924 struct algo_data ad = { 0 };
931 ad.mci_enc = mci_cbc_enc_array[key_idx];
932 ad.mci_dec = mci_cbc_dec_array[key_idx];
933 ad.inv_key = true;
934 ad.ealg_id = SA_EALG_ID_AES_CBC;
935 ad.iv_idx = 4;
936 ad.iv_out_size = 16;
938 return sa_cipher_setkey(tfm, key, keylen, &ad);
944 struct algo_data ad = { 0 };
951 ad.mci_enc = mci_ecb_enc_array[key_idx];
952 ad.mci_dec = mci_ecb_dec_array[key_idx];
953 ad.inv_key = true;
954 ad.ealg_id = SA_EALG_ID_AES_ECB;
956 return sa_cipher_setkey(tfm, key, keylen, &ad);
962 struct algo_data ad = { 0 };
964 ad.mci_enc = mci_cbc_3des_enc_array;
965 ad.mci_dec = mci_cbc_3des_dec_array;
966 ad.ealg_id = SA_EALG_ID_3DES_CBC;
967 ad.iv_idx = 6;
968 ad.iv_out_size = 8;
970 return sa_cipher_setkey(tfm, key, keylen, &ad);
976 struct algo_data ad = { 0 };
978 ad.mci_enc = mci_ecb_3des_enc_array;
979 ad.mci_dec = mci_ecb_3des_dec_array;
981 return sa_cipher_setkey(tfm, key, keylen, &ad);
1429 static int sa_sha_setup(struct sa_tfm_ctx *ctx, struct algo_data *ad)
1435 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
1436 ad->auth_eng.eng_id = SA_ENG_ID_AM1;
1437 ad->auth_eng.sc_size = SA_CTX_AUTH_TYPE2_SZ;
1441 cfg.aalg = ad->aalg_id;
1442 cfg.enc_eng_id = ad->enc_eng.eng_id;
1443 cfg.auth_eng_id = ad->auth_eng.eng_id;
1449 if (sa_init_sc(&ctx->enc, NULL, 0, NULL, 0, ad, 0,
1605 struct algo_data ad = { 0 };
1610 ad.aalg_id = SA_AALG_ID_SHA1;
1611 ad.hash_size = SHA1_DIGEST_SIZE;
1612 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA1;
1614 sa_sha_setup(ctx, &ad);
1621 struct algo_data ad = { 0 };
1626 ad.aalg_id = SA_AALG_ID_SHA2_256;
1627 ad.hash_size = SHA256_DIGEST_SIZE;
1628 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA256;
1630 sa_sha_setup(ctx, &ad);
1637 struct algo_data ad = { 0 };
1642 ad.aalg_id = SA_AALG_ID_SHA2_512;
1643 ad.hash_size = SHA512_DIGEST_SIZE;
1644 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA512;
1646 sa_sha_setup(ctx, &ad);
1781 struct algo_data *ad)
1797 ad->ctx = ctx;
1798 ad->enc_eng.eng_id = SA_ENG_ID_EM1;
1799 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
1800 ad->auth_eng.eng_id = SA_ENG_ID_AM1;
1801 ad->auth_eng.sc_size = SA_CTX_AUTH_TYPE2_SZ;
1802 ad->mci_enc = mci_cbc_enc_no_iv_array[key_idx];
1803 ad->mci_dec = mci_cbc_dec_no_iv_array[key_idx];
1804 ad->inv_key = true;
1805 ad->keyed_mac = true;
1806 ad->ealg_id = SA_EALG_ID_AES_CBC;
1807 ad->prep_iopad = sa_prepare_iopads;
1811 cfg.aalg = ad->aalg_id;
1812 cfg.enc_eng_id = ad->enc_eng.eng_id;
1813 cfg.auth_eng_id = ad->auth_eng.eng_id;
1821 ad, 1, &ctx->enc.epib[1]))
1835 ad, 0, &ctx->dec.epib[1]))
1865 struct algo_data ad = { 0 };
1867 ad.ealg_id = SA_EALG_ID_AES_CBC;
1868 ad.aalg_id = SA_AALG_ID_HMAC_SHA1;
1869 ad.hash_size = SHA1_DIGEST_SIZE;
1870 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA1;
1872 return sa_aead_setkey(authenc, key, keylen, &ad);
1878 struct algo_data ad = { 0 };
1880 ad.ealg_id = SA_EALG_ID_AES_CBC;
1881 ad.aalg_id = SA_AALG_ID_HMAC_SHA2_256;
1882 ad.hash_size = SHA256_DIGEST_SIZE;
1883 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA256;
1885 return sa_aead_setkey(authenc, key, keylen, &ad);