2 * SHA1 hash implementation and interface functions
3 * Copyright (c) 2003-2009, Jouni Malinen <j@w1.fi>
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License version 2 as
7 * published by the Free Software Foundation.
9 * Alternatively, this software may be distributed under the terms of BSD
12 * See README and COPYING for more details.
18 #define SHA1_MAC_LEN 20
20 int hmac_sha1_vector(const u8
*key
, size_t key_len
, size_t num_elem
,
21 const u8
*addr
[], const size_t *len
, u8
*mac
);
22 int hmac_sha1(const u8
*key
, size_t key_len
, const u8
*data
, size_t data_len
,
24 int sha1_prf(const u8
*key
, size_t key_len
, const char *label
,
25 const u8
*data
, size_t data_len
, u8
*buf
, size_t buf_len
);
26 int sha1_t_prf(const u8
*key
, size_t key_len
, const char *label
,
27 const u8
*seed
, size_t seed_len
, u8
*buf
, size_t buf_len
);
28 int __must_check
tls_prf(const u8
*secret
, size_t secret_len
,
29 const char *label
, const u8
*seed
, size_t seed_len
,
30 u8
*out
, size_t outlen
);
31 int pbkdf2_sha1(const char *passphrase
, const char *ssid
, size_t ssid_len
,
32 int iterations
, u8
*buf
, size_t buflen
);