]> git.cryptolib.org Git - avr-crypto-lib.git/blob - twister-big.h
now comes twister-512
[avr-crypto-lib.git] / twister-big.h
1 /* twister-big.h */
2
3 #ifndef TWISTER_BIG_H_
4 #define TWISTER_BIG_H_
5
6 #include <stdint.h>
7 #include "twister.h"
8
9 typedef uint8_t twister384_hash_t[384/8];
10 typedef uint8_t twister512_hash_t[512/8];
11
12 typedef struct {
13         twister_state_t    state;
14         twister_checksum_t checksum;
15 } twister_big_ctx_t;
16
17 typedef twister_big_ctx_t twister384_ctx_t;
18 typedef twister_big_ctx_t twister512_ctx_t;
19
20 void twister_big_nextBlock(twister_big_ctx_t* ctx, void* msg);
21 void twister_big_init(twister_big_ctx_t* ctx, uint16_t hashsize_b);
22 void twister_big_lastBlock(twister_big_ctx_t* ctx, void* msg, uint16_t length_b);
23 void twister_big_ctx2hash(void* dest, twister_big_ctx_t* ctx, uint16_t hashsize_b);
24
25
26 void twister384_init(twister384_ctx_t* ctx);
27 void twister384_nextBlock(twister384_ctx_t* ctx, void* msg);
28 void twister384_lastBlock(twister384_ctx_t* ctx, void* msg, uint16_t length_b);
29 void twister384_ctx2hash(void* dest, twister384_ctx_t* ctx);
30 void twister384(void* dest, void* msg, uint32_t msg_length_b);
31
32 void twister512_init(twister512_ctx_t* ctx);
33 void twister512_nextBlock(twister512_ctx_t* ctx, void* msg);
34 void twister512_lastBlock(twister512_ctx_t* ctx, void* msg, uint16_t length_b);
35 void twister512_ctx2hash(void* dest, twister512_ctx_t* ctx);
36 void twister512(void* dest, void* msg, uint32_t msg_length_b);
37
38
39 #endif /* TWISTER_BIG_H_ */
40