| 
    libosmogsm 1.11.0.52-28973f
    
   Osmocom GSM library 
   | 
 
Go to the source code of this file.
Macros | |
| #define | SHA256_MAC_LEN 32 | 
Functions | |
| void | hmac_sha256_vector (const u8 *key, size_t key_len, size_t num_elem, const u8 *addr[], const size_t *len, u8 *mac) | 
| hmac_sha256_vector - HMAC-SHA256 over data vector (RFC 2104) @key: Key for HMAC operations @key_len: Length of the key in bytes @num_elem: Number of elements in the data vector @addr: Pointers to the data areas @len: Lengths of the data blocks @mac: Buffer for the hash (32 bytes)  More... | |
| void | hmac_sha256 (const u8 *key, size_t key_len, const u8 *data, size_t data_len, u8 *mac) | 
| hmac_sha256 - HMAC-SHA256 over data buffer (RFC 2104) @key: Key for HMAC operations @key_len: Length of the key in bytes @data: Pointers to the data area @data_len: Length of the data area @mac: Buffer for the hash (20 bytes)  More... | |
| void | sha256_prf (const u8 *key, size_t key_len, const char *label, const u8 *data, size_t data_len, u8 *buf, size_t buf_len) | 
| sha256_prf - SHA256-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2) @key: Key for PRF @key_len: Length of the key in bytes @label: A unique label for each purpose of the PRF @data: Extra data to bind into the key @data_len: Length of the data @buf: Buffer for the generated pseudo-random key @buf_len: Number of bytes of key to generate  More... | |
| void | tls_prf_sha256 (const u8 *secret, size_t secret_len, const char *label, const u8 *seed, size_t seed_len, u8 *out, size_t outlen) | 
| #define SHA256_MAC_LEN 32 | 
hmac_sha256 - HMAC-SHA256 over data buffer (RFC 2104) @key: Key for HMAC operations @key_len: Length of the key in bytes @data: Pointers to the data area @data_len: Length of the data area @mac: Buffer for the hash (20 bytes)
References data, and hmac_sha256_vector().
| void hmac_sha256_vector | ( | const u8 * | key, | 
| size_t | key_len, | ||
| size_t | num_elem, | ||
| const u8 * | addr[], | ||
| const size_t * | len, | ||
| u8 * | mac | ||
| ) | 
hmac_sha256_vector - HMAC-SHA256 over data vector (RFC 2104) @key: Key for HMAC operations @key_len: Length of the key in bytes @num_elem: Number of elements in the data vector @addr: Pointers to the data areas @len: Lengths of the data blocks @mac: Buffer for the hash (32 bytes)
References len, os_memcpy, os_memset, SHA256_MAC_LEN, and sha256_vector().
Referenced by hmac_sha256(), and sha256_prf().
| void sha256_prf | ( | const u8 * | key, | 
| size_t | key_len, | ||
| const char * | label, | ||
| const u8 * | data, | ||
| size_t | data_len, | ||
| u8 * | buf, | ||
| size_t | buf_len | ||
| ) | 
sha256_prf - SHA256-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2) @key: Key for PRF @key_len: Length of the key in bytes @label: A unique label for each purpose of the PRF @data: Extra data to bind into the key @data_len: Length of the data @buf: Buffer for the generated pseudo-random key @buf_len: Number of bytes of key to generate
This function is used to derive new, cryptographically separate keys from a given key.
References data, hmac_sha256_vector(), len, os_memcpy, os_strlen, SHA256_MAC_LEN, and WPA_PUT_LE16.