sha256.h File Reference

SHA256 hash implementation and interface functions. More...

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#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 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).

Detailed Description

SHA256 hash implementation and interface functions.

Copyright
Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>

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.h.


Function Documentation

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).

Parameters:
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)

Definition at line 105 of file sha256.c.

Here is the call graph for this function:

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).

Parameters:
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.

Here is the call graph for this function:

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).

Parameters:
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.

Here is the call graph for this function:

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines

Generated on Sat Nov 21 23:19:57 2009 for hostapd by  doxygen 1.6.1