Fork of François Berder Crypto, fixed AES CBC and small rework
Dependents: AES_example shaun_larada Smartage
Fork of Crypto by
hash/SHA1.h@16:4399e2e6260b, 2015-01-28 (annotated)
- Committer:
- Geremia
- Date:
- Wed Jan 28 17:55:13 2015 +0000
- Revision:
- 16:4399e2e6260b
- Parent:
- 7:2dbbdfb08123
AES: bugfixed CBC, added PCBC (i could add CFB and OFB if needed), added public setIV(), moved keyExpansion() to public, in and out buffers can be the same
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
feb11 | 0:7a1237bd2d13 | 1 | #ifndef SHA1_H |
feb11 | 0:7a1237bd2d13 | 2 | #define SHA1_H |
feb11 | 0:7a1237bd2d13 | 3 | |
feb11 | 0:7a1237bd2d13 | 4 | #include "HashAlgorithm.h" |
feb11 | 0:7a1237bd2d13 | 5 | |
feb11 | 0:7a1237bd2d13 | 6 | |
feb11 | 0:7a1237bd2d13 | 7 | class SHA1 : public HashAlgorithm |
feb11 | 0:7a1237bd2d13 | 8 | { |
feb11 | 0:7a1237bd2d13 | 9 | public : |
feb11 | 0:7a1237bd2d13 | 10 | |
feb11 | 0:7a1237bd2d13 | 11 | SHA1(); |
feb11 | 6:19aa835f2bbb | 12 | |
feb11 | 6:19aa835f2bbb | 13 | virtual uint8_t outputSize() const; |
feb11 | 6:19aa835f2bbb | 14 | virtual void update(uint8_t *data, uint32_t length); |
feb11 | 6:19aa835f2bbb | 15 | virtual void finalize(uint8_t *hash); |
feb11 | 0:7a1237bd2d13 | 16 | |
feb11 | 6:19aa835f2bbb | 17 | static void computeHash(uint8_t *hash, uint8_t *data, uint32_t length); |
feb11 | 0:7a1237bd2d13 | 18 | |
feb11 | 0:7a1237bd2d13 | 19 | private : |
feb11 | 0:7a1237bd2d13 | 20 | static void computeBlock(uint32_t *h02, uint32_t *h12, uint32_t *h22, uint32_t *h32, uint32_t *h42, uint8_t *buffer); |
feb11 | 0:7a1237bd2d13 | 21 | |
feb11 | 0:7a1237bd2d13 | 22 | uint32_t h0, h1, h2, h3, h4; |
feb11 | 0:7a1237bd2d13 | 23 | uint32_t totalBufferLength; |
feb11 | 0:7a1237bd2d13 | 24 | uint8_t buffer[64]; |
feb11 | 0:7a1237bd2d13 | 25 | uint8_t bufferLength; |
feb11 | 0:7a1237bd2d13 | 26 | }; |
feb11 | 0:7a1237bd2d13 | 27 | |
feb11 | 0:7a1237bd2d13 | 28 | #endif |