]> pd.if.org Git - zpackage/blob - crypto/libeddsa/lib/sha512.h
add package signing code
[zpackage] / crypto / libeddsa / lib / sha512.h
1 #ifndef SHA512_H
2 #define SHA512_H
3
4 #include <stddef.h>
5 #include <stdint.h>
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif
10
11 #define SHA512_BLOCK_SIZE       128
12 #define SHA512_HASH_LENGTH      64
13
14
15 struct sha512 {
16         uint64_t        state[8];
17         uint64_t        count;
18
19         uint8_t         buffer[SHA512_BLOCK_SIZE];
20         size_t          fill;
21 };
22
23 void sha512_init(struct sha512 *ctx);
24 void sha512_add(struct sha512 *ctx, const uint8_t *data, size_t len);
25 void sha512_final(struct sha512 *ctx, uint8_t out[SHA512_HASH_LENGTH]);
26
27 #ifdef __cplusplus
28 }
29 #endif
30
31 #endif