Fork of François Berder Crypto, fixed AES CBC and small rework

Dependents:   AES_example shaun_larada Smartage

Fork of Crypto by Francois Berder

Committer:
Geremia
Date:
Wed Jan 28 17:55:13 2015 +0000
Revision:
16:4399e2e6260b
Parent:
9:e34e076fb223
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?

UserRevisionLine numberNew contents of line
feb11 9:e34e076fb223 1 #ifndef MD4_H
feb11 9:e34e076fb223 2 #define MD4_H
feb11 9:e34e076fb223 3
feb11 9:e34e076fb223 4 #include "HashAlgorithm.h"
feb11 9:e34e076fb223 5
feb11 9:e34e076fb223 6 class MD4: public HashAlgorithm
feb11 9:e34e076fb223 7 {
feb11 9:e34e076fb223 8 public :
feb11 9:e34e076fb223 9
feb11 9:e34e076fb223 10 MD4();
feb11 9:e34e076fb223 11
feb11 9:e34e076fb223 12 virtual uint8_t outputSize() const;
feb11 9:e34e076fb223 13 virtual void update(uint8_t *data, uint32_t length);
feb11 9:e34e076fb223 14 virtual void finalize(uint8_t *hash);
feb11 9:e34e076fb223 15
feb11 9:e34e076fb223 16 static void computeHash(uint8_t *hash, uint8_t *data, uint32_t length);
feb11 9:e34e076fb223 17
feb11 9:e34e076fb223 18 private :
feb11 9:e34e076fb223 19
feb11 9:e34e076fb223 20 static void computeRounds(uint32_t *a2, uint32_t *b2, uint32_t *c2, uint32_t *d2, uint8_t *buffer);
feb11 9:e34e076fb223 21
feb11 9:e34e076fb223 22 uint32_t a,b,c,d;
feb11 9:e34e076fb223 23 uint32_t totalBufferLength;
feb11 9:e34e076fb223 24 uint8_t buffer[64];
feb11 9:e34e076fb223 25 uint8_t bufferLength;
feb11 9:e34e076fb223 26 };
feb11 9:e34e076fb223 27
feb11 9:e34e076fb223 28 #endif