Lines Matching refs:aad
314 static void ccmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *b_0, u8 *aad) in ccmp_special_blocks() argument
362 put_unaligned_be16(len_a, &aad[0]); in ccmp_special_blocks()
363 put_unaligned(mask_fc, (__le16 *)&aad[2]); in ccmp_special_blocks()
364 memcpy(&aad[4], &hdr->addr1, 3 * ETH_ALEN); in ccmp_special_blocks()
367 aad[22] = *((u8 *) &hdr->seq_ctrl) & 0x0f; in ccmp_special_blocks()
368 aad[23] = 0; in ccmp_special_blocks()
371 memcpy(&aad[24], hdr->addr4, ETH_ALEN); in ccmp_special_blocks()
372 aad[30] = qos_tid; in ccmp_special_blocks()
373 aad[31] = 0; in ccmp_special_blocks()
375 memset(&aad[24], 0, ETH_ALEN + IEEE80211_QOS_CTL_LEN); in ccmp_special_blocks()
376 aad[24] = qos_tid; in ccmp_special_blocks()
415 u8 aad[CCM_AAD_LEN]; in ccmp_encrypt_skb() local
470 ccmp_special_blocks(skb, pn, b_0, aad); in ccmp_encrypt_skb()
471 return ieee80211_aes_ccm_encrypt(key->u.ccmp.tfm, b_0, aad, pos, len, in ccmp_encrypt_skb()
542 u8 aad[2 * AES_BLOCK_SIZE]; in ieee80211_crypto_ccmp_decrypt() local
545 ccmp_special_blocks(skb, pn, b_0, aad); in ieee80211_crypto_ccmp_decrypt()
548 key->u.ccmp.tfm, b_0, aad, in ieee80211_crypto_ccmp_decrypt()
567 static void gcmp_special_blocks(struct sk_buff *skb, u8 *pn, u8 *j_0, u8 *aad) in gcmp_special_blocks() argument
582 put_unaligned_be16(ieee80211_hdrlen(hdr->frame_control) - 2, &aad[0]); in gcmp_special_blocks()
593 put_unaligned(mask_fc, (__le16 *)&aad[2]); in gcmp_special_blocks()
594 memcpy(&aad[4], &hdr->addr1, 3 * ETH_ALEN); in gcmp_special_blocks()
597 aad[22] = *((u8 *)&hdr->seq_ctrl) & 0x0f; in gcmp_special_blocks()
598 aad[23] = 0; in gcmp_special_blocks()
606 memcpy(&aad[24], hdr->addr4, ETH_ALEN); in gcmp_special_blocks()
607 aad[30] = qos_tid; in gcmp_special_blocks()
608 aad[31] = 0; in gcmp_special_blocks()
610 memset(&aad[24], 0, ETH_ALEN + IEEE80211_QOS_CTL_LEN); in gcmp_special_blocks()
611 aad[24] = qos_tid; in gcmp_special_blocks()
646 u8 aad[GCM_AAD_LEN]; in gcmp_encrypt_skb() local
702 gcmp_special_blocks(skb, pn, j_0, aad); in gcmp_encrypt_skb()
703 return ieee80211_aes_gcm_encrypt(key->u.gcmp.tfm, j_0, aad, pos, len, in gcmp_encrypt_skb()
769 u8 aad[2 * AES_BLOCK_SIZE]; in ieee80211_crypto_gcmp_decrypt() local
772 gcmp_special_blocks(skb, pn, j_0, aad); in ieee80211_crypto_gcmp_decrypt()
775 key->u.gcmp.tfm, j_0, aad, in ieee80211_crypto_gcmp_decrypt()
893 static void bip_aad(struct sk_buff *skb, u8 *aad) in bip_aad() argument
905 put_unaligned(mask_fc, (__le16 *) &aad[0]); in bip_aad()
907 memcpy(aad + 2, &hdr->addr1, 3 * ETH_ALEN); in bip_aad()
939 u8 aad[20]; in ieee80211_crypto_aes_cmac_encrypt() local
969 bip_aad(skb, aad); in ieee80211_crypto_aes_cmac_encrypt()
974 ieee80211_aes_cmac(key->u.aes_cmac.tfm, aad, in ieee80211_crypto_aes_cmac_encrypt()
987 u8 aad[20]; in ieee80211_crypto_aes_cmac_256_encrypt() local
1013 bip_aad(skb, aad); in ieee80211_crypto_aes_cmac_256_encrypt()
1017 ieee80211_aes_cmac_256(key->u.aes_cmac.tfm, aad, in ieee80211_crypto_aes_cmac_256_encrypt()
1030 u8 aad[20], mic[8], ipn[6]; in ieee80211_crypto_aes_cmac_decrypt() local
1056 bip_aad(skb, aad); in ieee80211_crypto_aes_cmac_decrypt()
1057 ieee80211_aes_cmac(key->u.aes_cmac.tfm, aad, in ieee80211_crypto_aes_cmac_decrypt()
1080 u8 aad[20], mic[16], ipn[6]; in ieee80211_crypto_aes_cmac_256_decrypt() local
1106 bip_aad(skb, aad); in ieee80211_crypto_aes_cmac_256_decrypt()
1107 ieee80211_aes_cmac_256(key->u.aes_cmac.tfm, aad, in ieee80211_crypto_aes_cmac_256_decrypt()
1131 u8 aad[GMAC_AAD_LEN]; in ieee80211_crypto_aes_gmac_encrypt() local
1158 bip_aad(skb, aad); in ieee80211_crypto_aes_gmac_encrypt()
1165 if (ieee80211_aes_gmac(key->u.aes_gmac.tfm, aad, nonce, in ieee80211_crypto_aes_gmac_encrypt()
1179 u8 aad[GMAC_AAD_LEN], *mic, ipn[6], nonce[GMAC_NONCE_LEN]; in ieee80211_crypto_aes_gmac_decrypt() local
1205 bip_aad(skb, aad); in ieee80211_crypto_aes_gmac_decrypt()
1213 if (ieee80211_aes_gmac(key->u.aes_gmac.tfm, aad, nonce, in ieee80211_crypto_aes_gmac_decrypt()