This library implements some hash and cryptographic algorithms.

Dependents:   ES_CW2_Starter_JIN EMBEDDED_CW2 EMBEDDED_CW2_Final Spinnybois ... more

Fork of Crypto by Francois Berder

Committer:
estott
Date:
Fri Mar 09 10:10:16 2018 +0000
Revision:
15:634f9c4cbab1
Parent:
9:e34e076fb223
Reduced flash footprint by removing __forceinline directive in SHA2_32.c

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