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:
feb11
Date:
Sat Sep 14 18:21:32 2013 +0000
Revision:
7:2dbbdfb08123
Parent:
MD5.h@6:19aa835f2bbb
added DES (not tested yet)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:7a1237bd2d13 1 #ifndef MD5_H
feb11 0:7a1237bd2d13 2 #define MD5_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 MD5 : public HashAlgorithm
feb11 0:7a1237bd2d13 8 {
feb11 0:7a1237bd2d13 9 public :
feb11 0:7a1237bd2d13 10
feb11 0:7a1237bd2d13 11 MD5();
feb11 0:7a1237bd2d13 12
feb11 0:7a1237bd2d13 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
feb11 0:7a1237bd2d13 21 static void computeRounds(uint32_t *a2, uint32_t *b2, uint32_t *c2, uint32_t *d2, uint8_t *buffer);
feb11 0:7a1237bd2d13 22
feb11 0:7a1237bd2d13 23 uint32_t a,b,c,d;
feb11 0:7a1237bd2d13 24 uint32_t totalBufferLength;
feb11 0:7a1237bd2d13 25 uint8_t buffer[64];
feb11 0:7a1237bd2d13 26 uint8_t bufferLength;
feb11 0:7a1237bd2d13 27 };
feb11 0:7a1237bd2d13 28
feb11 0:7a1237bd2d13 29 #endif