Add sha256 implementation (from Gnuk)
[gnuk/neug.git] / src / sha256.h
1 #define SHA256_DIGEST_SIZE  32
2 #define SHA256_BLOCK_SIZE   64
3
4 typedef struct
5 {
6   uint32_t total[2];
7   uint32_t state[8];
8   uint32_t wbuf[16];
9 } sha256_context;
10
11 extern void sha256 (const unsigned char *input, unsigned int ilen,
12                     unsigned char output[32]);
13 extern void sha256_start (sha256_context *ctx);
14 extern void sha256_finish (sha256_context *ctx, unsigned char output[32]);
15 extern void sha256_update (sha256_context *ctx, const unsigned char *input,
16                            unsigned int ilen);
17 extern void sha256_process (sha256_context *ctx);