Fork of François Berder Crypto, fixed AES CBC and small rework
Dependents: AES_example shaun_larada Smartage
Fork of Crypto by
Diff: SHA2_64.h
- Revision:
- 0:7a1237bd2d13
- Child:
- 5:06cd9c8afa0b
diff -r 000000000000 -r 7a1237bd2d13 SHA2_64.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/SHA2_64.h Sat Sep 07 23:47:28 2013 +0000 @@ -0,0 +1,40 @@ +#ifndef SHA2_64_H +#define SHA2_64_H + +#include <stdint.h> + +enum SHA2_64_TYPE +{ + SHA_384, + SHA_512 +}; + +class SHA2_64 +{ + public : + + SHA2_64(SHA2_64_TYPE type); + void add(uint8_t *in, uint32_t length); + void computeDigest(uint8_t *digest); + static void computeDigest(SHA2_64_TYPE type, uint8_t *digest, uint8_t *in, uint32_t length); + + private : + + static void computeBlock(uint64_t *h02, + uint64_t *h12, + uint64_t *h22, + uint64_t *h32, + uint64_t *h42, + uint64_t *h52, + uint64_t *h62, + uint64_t *h72, + uint8_t *buffer); + + SHA2_64_TYPE type; + uint64_t h0, h1, h2, h3, h4, h5, h6, h7; + uint32_t totalBufferLength; + uint8_t buffer[128]; + uint8_t bufferLength; +}; + +#endif