|
Wireshark 4.5.0
The Wireshark network protocol analyzer
|
#include "dot11decrypt_int.h"Go to the source code of this file.
Functions | |
| void | dot11decrypt_construct_aad (PDOT11DECRYPT_MAC_FRAME wh, uint8_t *aad, size_t *aad_len) |
| bool | dot11decrypt_prf (const uint8_t *key, size_t key_len, const char *label, const uint8_t *context, size_t context_len, int hash_algo, uint8_t *output, size_t output_len) |
| bool | dot11decrypt_kdf (const uint8_t *key, size_t key_len, const char *label, const uint8_t *context, size_t context_len, int hash_algo, uint8_t *output, size_t output_len) |
| bool | dot11decrypt_derive_pmk_r0 (const uint8_t *xxkey, size_t xxkey_len, const uint8_t *ssid, size_t ssid_len, const uint8_t mdid[2], const uint8_t *r0kh_id, size_t r0kh_id_len, const uint8_t s0kh_id[DOT11DECRYPT_MAC_LEN], int hash_algo, uint8_t *pmk_r0, size_t *pmk_r0_len, uint8_t pmk_r0_name[16]) |
| bool | dot11decrypt_derive_pmk_r1 (const uint8_t *pmk_r0, size_t pmk_r0_len, const uint8_t *pmk_r0_name, const uint8_t *r1kh_id, const uint8_t *s1kh_id, int hash_algo, uint8_t *pmk_r1, size_t *pmk_r1_len, uint8_t *pmk_r1_name) |
| bool | dot11decrypt_derive_ft_ptk (const uint8_t *pmk_r1, size_t pmk_r1_len, const uint8_t *pmk_r1_name, const uint8_t *snonce, const uint8_t *anonce, const uint8_t *bssid, const uint8_t *sta_addr, int hash_algo, uint8_t *ptk, const size_t ptk_len, uint8_t *ptk_name) |
Copyright (c) 2002-2005 Sam Leffler, Errno Consulting Copyright (c) 2006 CACE Technologies, Davis (California) All rights reserved.
SPDX-License-Identifier: (BSD-3-Clause OR GPL-2.0-only)
| bool dot11decrypt_derive_pmk_r0 | ( | const uint8_t * | xxkey, |
| size_t | xxkey_len, | ||
| const uint8_t * | ssid, | ||
| size_t | ssid_len, | ||
| const uint8_t | mdid[2], | ||
| const uint8_t * | r0kh_id, | ||
| size_t | r0kh_id_len, | ||
| const uint8_t | s0kh_id[DOT11DECRYPT_MAC_LEN], | ||
| int | hash_algo, | ||
| uint8_t * | pmk_r0, | ||
| size_t * | pmk_r0_len, | ||
| uint8_t | pmk_r0_name[16] | ||
| ) |
Derive PMK-R0 and PMKR0Name. See IEEE 802.11-2016 12.7.1.7.3 PMK-R0
| xxkey | PSK / MPMK or certain part of MSK. | |
| xxkey_len | Length of xxkey in bytes. | |
| ssid | SSID | |
| ssid_len | Length of SSID in bytes. | |
| mdid | MDID (Mobility Domain Identifier). | |
| r0kh_id | PMK-R0 key holder identifier in the Authenticator. | |
| r0kh_id_len | Length of r0kh_id in bytes. | |
| s0kh_id | PMK-R0 key holder in the Supplicant (STA mac address) | |
| hash_algo | Hash algorithm to use for the KDF. See gcrypt available hash algorithms: https://gnupg.org/documentation/manuals/gcrypt/Available-hash-algorithms.html | |
| [out] | pmk_r0 | Pairwise master key, first level |
| pmk_r0_len | Length of pmk_r0 in bytes. | |
| [out] | pmk_r0_name | Pairwise master key (PMK) R0 name. |
| bool dot11decrypt_derive_pmk_r1 | ( | const uint8_t * | pmk_r0, |
| size_t | pmk_r0_len, | ||
| const uint8_t * | pmk_r0_name, | ||
| const uint8_t * | r1kh_id, | ||
| const uint8_t * | s1kh_id, | ||
| int | hash_algo, | ||
| uint8_t * | pmk_r1, | ||
| size_t * | pmk_r1_len, | ||
| uint8_t * | pmk_r1_name | ||
| ) |
Derive PMK-R1 and PMKR1Name. See IEEE 802.11-2016 12.7.1.7.4 PMK-R1
| bool dot11decrypt_kdf | ( | const uint8_t * | key, |
| size_t | key_len, | ||
| const char * | label, | ||
| const uint8_t * | context, | ||
| size_t | context_len, | ||
| int | hash_algo, | ||
| uint8_t * | output, | ||
| size_t | output_len | ||
| ) |
12.7.1.7.2 Key derivation function (KDF)
| key | Derivation input key. | |
| key_len | Length of the key in bytes. | |
| label | A string identifying the purpose of the keys derived using this KDF. | |
| context | Provides context to identify the derived key. | |
| context_len | Length of context in bytes. | |
| hash_algo | Hash algorithm to use for the KDF. See gcrypt available hash algorithms: https://gnupg.org/documentation/manuals/gcrypt/Available-hash-algorithms.html | |
| [out] | output | Derived key. |
| output_len | Length of derived key in bytes. |