Fork of François Berder Crypto, fixed AES CBC and small rework
Dependents: AES_example shaun_larada Smartage
Fork of Crypto by
hash/MD2.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 MD2_H |
feb11 | 0:7a1237bd2d13 | 2 | #define MD2_H |
feb11 | 0:7a1237bd2d13 | 3 | |
feb11 | 0:7a1237bd2d13 | 4 | #include "HashAlgorithm.h" |
feb11 | 0:7a1237bd2d13 | 5 | |
feb11 | 0:7a1237bd2d13 | 6 | class MD2 : public HashAlgorithm |
feb11 | 0:7a1237bd2d13 | 7 | { |
feb11 | 0:7a1237bd2d13 | 8 | public : |
feb11 | 0:7a1237bd2d13 | 9 | |
feb11 | 0:7a1237bd2d13 | 10 | MD2(); |
feb11 | 0:7a1237bd2d13 | 11 | |
feb11 | 0:7a1237bd2d13 | 12 | virtual uint8_t outputSize() const; |
feb11 | 6:19aa835f2bbb | 13 | virtual void update(uint8_t *data, uint32_t length); |
feb11 | 6:19aa835f2bbb | 14 | virtual void finalize(uint8_t *hash); |
feb11 | 0:7a1237bd2d13 | 15 | |
feb11 | 6:19aa835f2bbb | 16 | static void computeHash(uint8_t *hash, uint8_t *data, uint32_t length); |
feb11 | 0:7a1237bd2d13 | 17 | |
feb11 | 0:7a1237bd2d13 | 18 | private : |
feb11 | 1:14a7cea431aa | 19 | |
feb11 | 1:14a7cea431aa | 20 | static void computeBlock(uint8_t *checksum, uint8_t *x, uint8_t *l2, uint8_t *buffer2); |
feb11 | 0:7a1237bd2d13 | 21 | |
feb11 | 0:7a1237bd2d13 | 22 | uint8_t bufferLength; |
feb11 | 0:7a1237bd2d13 | 23 | uint8_t l; |
feb11 | 0:7a1237bd2d13 | 24 | uint8_t buffer[16]; |
feb11 | 0:7a1237bd2d13 | 25 | uint8_t checksum[16]; |
feb11 | 0:7a1237bd2d13 | 26 | uint8_t x[48]; |
feb11 | 0:7a1237bd2d13 | 27 | }; |
feb11 | 0:7a1237bd2d13 | 28 | |
feb11 | 0:7a1237bd2d13 | 29 | |
feb11 | 0:7a1237bd2d13 | 30 | #endif |