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