TAY
Fork of Crypto_light by
hash/SHA2_64.h@7:2dbbdfb08123, 2013-09-14 (annotated)
- Committer:
- feb11
- Date:
- Sat Sep 14 18:21:32 2013 +0000
- Revision:
- 7:2dbbdfb08123
- Parent:
- SHA2_64.h@6:19aa835f2bbb
added DES (not tested yet)
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
feb11 | 0:7a1237bd2d13 | 1 | #ifndef SHA2_64_H |
feb11 | 0:7a1237bd2d13 | 2 | #define SHA2_64_H |
feb11 | 0:7a1237bd2d13 | 3 | |
feb11 | 0:7a1237bd2d13 | 4 | #include <stdint.h> |
feb11 | 0:7a1237bd2d13 | 5 | |
feb11 | 0:7a1237bd2d13 | 6 | enum SHA2_64_TYPE |
feb11 | 0:7a1237bd2d13 | 7 | { |
feb11 | 0:7a1237bd2d13 | 8 | SHA_384, |
feb11 | 0:7a1237bd2d13 | 9 | SHA_512 |
feb11 | 0:7a1237bd2d13 | 10 | }; |
feb11 | 0:7a1237bd2d13 | 11 | |
feb11 | 0:7a1237bd2d13 | 12 | class SHA2_64 |
feb11 | 0:7a1237bd2d13 | 13 | { |
feb11 | 0:7a1237bd2d13 | 14 | public : |
feb11 | 0:7a1237bd2d13 | 15 | |
feb11 | 0:7a1237bd2d13 | 16 | SHA2_64(SHA2_64_TYPE type); |
feb11 | 6:19aa835f2bbb | 17 | |
feb11 | 6:19aa835f2bbb | 18 | void update(uint8_t *data, uint32_t length); |
feb11 | 6:19aa835f2bbb | 19 | void finalize(uint8_t *hash); |
feb11 | 6:19aa835f2bbb | 20 | |
feb11 | 6:19aa835f2bbb | 21 | static void computeHash(SHA2_64_TYPE type, uint8_t *hash, uint8_t *data, uint32_t length); |
feb11 | 0:7a1237bd2d13 | 22 | |
feb11 | 0:7a1237bd2d13 | 23 | private : |
feb11 | 0:7a1237bd2d13 | 24 | |
feb11 | 0:7a1237bd2d13 | 25 | static void computeBlock(uint64_t *h02, |
feb11 | 0:7a1237bd2d13 | 26 | uint64_t *h12, |
feb11 | 0:7a1237bd2d13 | 27 | uint64_t *h22, |
feb11 | 0:7a1237bd2d13 | 28 | uint64_t *h32, |
feb11 | 0:7a1237bd2d13 | 29 | uint64_t *h42, |
feb11 | 0:7a1237bd2d13 | 30 | uint64_t *h52, |
feb11 | 0:7a1237bd2d13 | 31 | uint64_t *h62, |
feb11 | 0:7a1237bd2d13 | 32 | uint64_t *h72, |
feb11 | 0:7a1237bd2d13 | 33 | uint8_t *buffer); |
feb11 | 0:7a1237bd2d13 | 34 | |
feb11 | 0:7a1237bd2d13 | 35 | SHA2_64_TYPE type; |
feb11 | 0:7a1237bd2d13 | 36 | uint64_t h0, h1, h2, h3, h4, h5, h6, h7; |
feb11 | 0:7a1237bd2d13 | 37 | uint32_t totalBufferLength; |
feb11 | 0:7a1237bd2d13 | 38 | uint8_t buffer[128]; |
feb11 | 0:7a1237bd2d13 | 39 | uint8_t bufferLength; |
feb11 | 0:7a1237bd2d13 | 40 | }; |
feb11 | 0:7a1237bd2d13 | 41 | |
feb11 | 0:7a1237bd2d13 | 42 | #endif |