Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 1 | /* |
| 2 | * SHA256 hash implementation and interface functions |
Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 3 | * Copyright (c) 2003-2011, Jouni Malinen <j@w1.fi> |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 4 | * |
Dmitry Shmidt | c5ec7f5 | 2012-03-06 16:33:24 -0800 | [diff] [blame^] | 5 | * This software may be distributed under the terms of the BSD license. |
| 6 | * See README for more details. |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 7 | */ |
| 8 | |
| 9 | #ifndef SHA256_H |
| 10 | #define SHA256_H |
| 11 | |
| 12 | #define SHA256_MAC_LEN 32 |
| 13 | |
| 14 | void hmac_sha256_vector(const u8 *key, size_t key_len, size_t num_elem, |
| 15 | const u8 *addr[], const size_t *len, u8 *mac); |
| 16 | void hmac_sha256(const u8 *key, size_t key_len, const u8 *data, |
| 17 | size_t data_len, u8 *mac); |
| 18 | void sha256_prf(const u8 *key, size_t key_len, const char *label, |
| 19 | const u8 *data, size_t data_len, u8 *buf, size_t buf_len); |
Dmitry Shmidt | 1f69aa5 | 2012-01-24 16:10:04 -0800 | [diff] [blame] | 20 | void tls_prf_sha256(const u8 *secret, size_t secret_len, |
| 21 | const char *label, const u8 *seed, size_t seed_len, |
| 22 | u8 *out, size_t outlen); |
Dmitry Shmidt | 8d520ff | 2011-05-09 14:06:53 -0700 | [diff] [blame] | 23 | |
| 24 | #endif /* SHA256_H */ |