]> git.ipfire.org Git - thirdparty/nettle.git/blame - pbkdf2-hmac-sha1.c
More NEWS entries for nettle-3.10.
[thirdparty/nettle.git] / pbkdf2-hmac-sha1.c
CommitLineData
90320ba2 1/* pbkdf2-hmac-sha1.c
90112edb
NM
2
3 PKCS #5 PBKDF2 used with HMAC-SHA1, see RFC 2898.
4
5 Copyright (C) 2012 Simon Josefsson
6
7 This file is part of GNU Nettle.
8
9 GNU Nettle is free software: you can redistribute it and/or
10 modify it under the terms of either:
11
12 * the GNU Lesser General Public License as published by the Free
13 Software Foundation; either version 3 of the License, or (at your
14 option) any later version.
15
16 or
17
18 * the GNU General Public License as published by the Free
19 Software Foundation; either version 2 of the License, or (at your
20 option) any later version.
21
22 or both in parallel, as here.
23
24 GNU Nettle is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
27 General Public License for more details.
28
29 You should have received copies of the GNU General Public License and
30 the GNU Lesser General Public License along with this program. If
31 not, see http://www.gnu.org/licenses/.
32*/
90320ba2
SJ
33
34#if HAVE_CONFIG_H
35# include "config.h"
36#endif
37
38#include "pbkdf2.h"
39
40#include "hmac.h"
41
42void
95ce5d75 43pbkdf2_hmac_sha1 (size_t key_length, const uint8_t *key,
90320ba2 44 unsigned iterations,
95ce5d75
NM
45 size_t salt_length, const uint8_t *salt,
46 size_t length, uint8_t *dst)
90320ba2
SJ
47{
48 struct hmac_sha1_ctx sha1ctx;
49
50 hmac_sha1_set_key (&sha1ctx, key_length, key);
51 PBKDF2 (&sha1ctx, hmac_sha1_update, hmac_sha1_digest,
52 SHA1_DIGEST_SIZE, iterations, salt_length, salt, length, dst);
53}