Lines Matching refs:ad

503 static int sa_set_sc_enc(struct algo_data *ad, const u8 *key, u16 key_sz,
512 mci = ad->mci_enc;
514 mci = ad->mci_dec;
520 if (ad->inv_key && !enc) {
532 static void sa_set_sc_auth(struct algo_data *ad, const u8 *key, u16 key_sz,
542 sc_buf[1] |= ad->auth_ctrl;
545 if (ad->keyed_mac)
546 ad->prep_iopad(ad, key, key_sz, ipad, opad);
719 struct algo_data *ad, u8 enc, u32 *swinfo)
729 if (ad->auth_eng.eng_id) {
731 first_engine = ad->enc_eng.eng_id;
733 first_engine = ad->auth_eng.eng_id;
736 auth_sc_offset = enc_sc_offset + ad->enc_eng.sc_size;
738 if (!ad->hash_size)
740 ad->hash_size = roundup(ad->hash_size, 8);
742 } else if (ad->enc_eng.eng_id && !ad->auth_eng.eng_id) {
744 first_engine = ad->enc_eng.eng_id;
746 ad->hash_size = ad->iv_out_size;
758 if (ad->enc_eng.sc_size) {
759 if (sa_set_sc_enc(ad, enc_key, enc_key_sz, enc,
765 if (ad->auth_eng.sc_size)
766 sa_set_sc_auth(ad, auth_key, auth_key_sz,
776 SA_SW_INFO_FLAG_EVICT, ad->hash_size, swinfo);
886 unsigned int keylen, struct algo_data *ad)
898 ad->enc_eng.eng_id = SA_ENG_ID_EM1;
899 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
902 cfg.enc_eng_id = ad->enc_eng.eng_id;
914 ad, 1, &ctx->enc.epib[1]))
927 ad, 0, &ctx->dec.epib[1]))
930 cfg.enc_eng_id = ad->enc_eng.eng_id;
938 ctx->iv_idx = ad->iv_idx;
950 struct algo_data ad = { 0 };
957 ad.mci_enc = mci_cbc_enc_array[key_idx];
958 ad.mci_dec = mci_cbc_dec_array[key_idx];
959 ad.inv_key = true;
960 ad.ealg_id = SA_EALG_ID_AES_CBC;
961 ad.iv_idx = 4;
962 ad.iv_out_size = 16;
964 return sa_cipher_setkey(tfm, key, keylen, &ad);
970 struct algo_data ad = { 0 };
977 ad.mci_enc = mci_ecb_enc_array[key_idx];
978 ad.mci_dec = mci_ecb_dec_array[key_idx];
979 ad.inv_key = true;
980 ad.ealg_id = SA_EALG_ID_AES_ECB;
982 return sa_cipher_setkey(tfm, key, keylen, &ad);
988 struct algo_data ad = { 0 };
990 ad.mci_enc = mci_cbc_3des_enc_array;
991 ad.mci_dec = mci_cbc_3des_dec_array;
992 ad.ealg_id = SA_EALG_ID_3DES_CBC;
993 ad.iv_idx = 6;
994 ad.iv_out_size = 8;
996 return sa_cipher_setkey(tfm, key, keylen, &ad);
1002 struct algo_data ad = { 0 };
1004 ad.mci_enc = mci_ecb_3des_enc_array;
1005 ad.mci_dec = mci_ecb_3des_dec_array;
1007 return sa_cipher_setkey(tfm, key, keylen, &ad);
1452 static int sa_sha_setup(struct sa_tfm_ctx *ctx, struct algo_data *ad)
1458 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
1459 ad->auth_eng.eng_id = SA_ENG_ID_AM1;
1460 ad->auth_eng.sc_size = SA_CTX_AUTH_TYPE2_SZ;
1464 cfg.aalg = ad->aalg_id;
1465 cfg.enc_eng_id = ad->enc_eng.eng_id;
1466 cfg.auth_eng_id = ad->auth_eng.eng_id;
1474 ad, 0, &ctx->enc.epib[1]))
1629 struct algo_data ad = { 0 };
1634 ad.aalg_id = SA_AALG_ID_SHA1;
1635 ad.hash_size = SHA1_DIGEST_SIZE;
1636 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA1;
1638 sa_sha_setup(ctx, &ad);
1645 struct algo_data ad = { 0 };
1650 ad.aalg_id = SA_AALG_ID_SHA2_256;
1651 ad.hash_size = SHA256_DIGEST_SIZE;
1652 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA256;
1654 sa_sha_setup(ctx, &ad);
1661 struct algo_data ad = { 0 };
1666 ad.aalg_id = SA_AALG_ID_SHA2_512;
1667 ad.hash_size = SHA512_DIGEST_SIZE;
1668 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA512;
1670 sa_sha_setup(ctx, &ad);
1802 struct algo_data *ad)
1818 ad->ctx = ctx;
1819 ad->enc_eng.eng_id = SA_ENG_ID_EM1;
1820 ad->enc_eng.sc_size = SA_CTX_ENC_TYPE1_SZ;
1821 ad->auth_eng.eng_id = SA_ENG_ID_AM1;
1822 ad->auth_eng.sc_size = SA_CTX_AUTH_TYPE2_SZ;
1823 ad->mci_enc = mci_cbc_enc_no_iv_array[key_idx];
1824 ad->mci_dec = mci_cbc_dec_no_iv_array[key_idx];
1825 ad->inv_key = true;
1826 ad->keyed_mac = true;
1827 ad->ealg_id = SA_EALG_ID_AES_CBC;
1828 ad->prep_iopad = sa_prepare_iopads;
1832 cfg.aalg = ad->aalg_id;
1833 cfg.enc_eng_id = ad->enc_eng.eng_id;
1834 cfg.auth_eng_id = ad->auth_eng.eng_id;
1842 ad, 1, &ctx->enc.epib[1]))
1856 ad, 0, &ctx->dec.epib[1]))
1886 struct algo_data ad = { 0 };
1888 ad.ealg_id = SA_EALG_ID_AES_CBC;
1889 ad.aalg_id = SA_AALG_ID_HMAC_SHA1;
1890 ad.hash_size = SHA1_DIGEST_SIZE;
1891 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA1;
1893 return sa_aead_setkey(authenc, key, keylen, &ad);
1899 struct algo_data ad = { 0 };
1901 ad.ealg_id = SA_EALG_ID_AES_CBC;
1902 ad.aalg_id = SA_AALG_ID_HMAC_SHA2_256;
1903 ad.hash_size = SHA256_DIGEST_SIZE;
1904 ad.auth_ctrl = SA_AUTH_SW_CTRL_SHA256;
1906 return sa_aead_setkey(authenc, key, keylen, &ad);