Embedded systems coursework 2.
Fork of Crypto_light by
MD2.h@1:14a7cea431aa, 2013-09-09 (annotated)
- Committer:
- feb11
- Date:
- Mon Sep 09 12:15:26 2013 +0000
- Revision:
- 1:14a7cea431aa
- Parent:
- 0:7a1237bd2d13
- Child:
- 5:06cd9c8afa0b
remove dynamic memory allocation in MD2, MD5 and SHA-1
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 void add(uint8_t *in, uint32_t length); |
feb11 | 0:7a1237bd2d13 | 13 | virtual void computeDigest(uint8_t *out); |
feb11 | 0:7a1237bd2d13 | 14 | virtual uint8_t outputSize() const; |
feb11 | 0:7a1237bd2d13 | 15 | |
feb11 | 0:7a1237bd2d13 | 16 | static void computeDigest(uint8_t *digest, uint8_t *in, 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 |