SHA-256 hash implementation and interface functions. More...
#include "includes.h"#include "common.h"#include "sha256.h"#include "crypto.h"
Go to the source code of this file.
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 over data vector (RFC 2104). | |
| void | hmac_sha256 (const u8 *key, size_t key_len, const u8 *data, size_t data_len, u8 *mac) |
| HMAC-SHA256 over data buffer (RFC 2104). | |
| 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-based Pseudo-Random Function (IEEE 802.11r, 8.5.1.5.2). | |
SHA-256 hash implementation and interface functions.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 as published by the Free Software Foundation.
Alternatively, this software may be distributed under the terms of BSD license.
See README and COPYING for more details.
Definition in file sha256.c.
| void hmac_sha256 | ( | const u8 * | key, | |
| size_t | key_len, | |||
| const u8 * | data, | |||
| size_t | data_len, | |||
| u8 * | mac | |||
| ) |
| 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 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) |
Definition at line 33 of file sha256.c.

| 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-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.
Definition at line 126 of file sha256.c.

1.6.1