TAY

Fork of Crypto_light by Edward Stott

Committer:
feb11
Date:
Thu Sep 12 15:08:51 2013 +0000
Revision:
5:06cd9c8afa0b
Parent:
0:7a1237bd2d13
Child:
6:19aa835f2bbb
change API & small improvements in SHA-2

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 0:7a1237bd2d13 12
feb11 5:06cd9c8afa0b 13 virtual void update(uint8_t *in, uint32_t length);
feb11 5:06cd9c8afa0b 14 virtual void finalize(uint8_t *out);
feb11 0:7a1237bd2d13 15 virtual uint8_t outputSize() const;
feb11 0:7a1237bd2d13 16
feb11 0:7a1237bd2d13 17 static void computeDigest(uint8_t *digest, uint8_t *in, 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