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.