TAY

Fork of Crypto_light by Edward Stott

Committer:
feb11
Date:
Sat Sep 14 18:21:32 2013 +0000
Revision:
7:2dbbdfb08123
Parent:
SHA1.h@6:19aa835f2bbb
added DES (not tested yet)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feb11 0:7a1237bd2d13 1 #ifndef SHA1_H
feb11 0:7a1237bd2d13 2 #define SHA1_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 SHA1 : public HashAlgorithm
feb11 0:7a1237bd2d13 8 {
feb11 0:7a1237bd2d13 9 public :
feb11 0:7a1237bd2d13 10
feb11 0:7a1237bd2d13 11 SHA1();
feb11 6:19aa835f2bbb 12
feb11 6:19aa835f2bbb 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 static void computeBlock(uint32_t *h02, uint32_t *h12, uint32_t *h22, uint32_t *h32, uint32_t *h42, uint8_t *buffer);
feb11 0:7a1237bd2d13 21
feb11 0:7a1237bd2d13 22 uint32_t h0, h1, h2, h3, h4;
feb11 0:7a1237bd2d13 23 uint32_t totalBufferLength;
feb11 0:7a1237bd2d13 24 uint8_t buffer[64];
feb11 0:7a1237bd2d13 25 uint8_t bufferLength;
feb11 0:7a1237bd2d13 26 };
feb11 0:7a1237bd2d13 27
feb11 0:7a1237bd2d13 28 #endif