Fork of François Berder Crypto, fixed AES CBC and small rework
Dependents: AES_example shaun_larada Smartage
Fork of Crypto by
SHA1.h@5:06cd9c8afa0b, 2013-09-12 (annotated)
- Committer:
- feb11
- Date:
- Thu Sep 12 15:08:51 2013 +0000
- Revision:
- 5:06cd9c8afa0b
- Parent:
- 0:7a1237bd2d13
- Child:
- 6:19aa835f2bbb
change API & small improvements in SHA-2
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 | 0:7a1237bd2d13 | 12 | |
feb11 | 5:06cd9c8afa0b | 13 | virtual void update(uint8_t *in, uint32_t length); |
feb11 | 5:06cd9c8afa0b | 14 | virtual void finalize(uint8_t *out); |
feb11 | 0:7a1237bd2d13 | 15 | virtual uint8_t outputSize() const; |
feb11 | 0:7a1237bd2d13 | 16 | |
feb11 | 0:7a1237bd2d13 | 17 | static void computeDigest(uint8_t *digest, uint8_t *in, 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 |