sha384.hpp
Go to the documentation of this file.
1 
10 #ifndef _SHA384_H_
11 #define _SHA384_H_
12 
13 #include "shax.hpp"
14 
15 
16 namespace cryptoTools {
17 
24 class SHA384 : public SHAx
25 {
26 private:
30  uint64_t H[8];
31 
32 
36 
37  uint64_t a;
38  uint64_t b;
39  uint64_t c;
40  uint64_t d;
41  uint64_t e;
42  uint64_t f;
43  uint64_t g;
44  uint64_t h;
46 
50  std::vector<uint64_t> M;
51 
55  uint64_t l;
56 
57 public:
58  // Everything that is public is inherited from SHAx.
59  void preprocess(std::vector<uint8_t> initialMessage);
60  void round(unsigned int counter);
61  void hash(std::vector<uint8_t> initialMessage);
62  std::vector<uint8_t> getHash();
63  std::string getType();
64  uint32_t getHashLength();
65 };
66 
67 
68 } // closing namespace
69 
70 #endif
71 
72