[digest] Add HMAC-SHA1 based pseudorandom function and PBKDF2
[gpxe.git] / src / include / gpxe / sha1.h
1 #ifndef _GPXE_SHA1_H
2 #define _GPXE_SHA1_H
3
4 FILE_LICENCE ( GPL2_OR_LATER );
5
6 #include "crypto/axtls/crypto.h"
7
8 struct digest_algorithm;
9
10 #define SHA1_CTX_SIZE sizeof ( SHA1_CTX )
11 #define SHA1_DIGEST_SIZE SHA1_SIZE
12
13 extern struct digest_algorithm sha1_algorithm;
14
15 /* SHA1-wrapping functions defined in sha1extra.c: */
16
17 void prf_sha1 ( const void *key, size_t key_len, const char *label,
18                 const void *data, size_t data_len, void *prf, size_t prf_len );
19
20 void pbkdf2_sha1 ( const void *passphrase, size_t pass_len,
21                    const void *salt, size_t salt_len,
22                    int iterations, void *key, size_t key_len );
23
24 #endif /* _GPXE_SHA1_H */