Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of Crypto_light by
Diff: SHA2_64.h
- Revision:
- 0:7a1237bd2d13
- Child:
- 5:06cd9c8afa0b
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/SHA2_64.h Sat Sep 07 23:47:28 2013 +0000
@@ -0,0 +1,40 @@
+#ifndef SHA2_64_H
+#define SHA2_64_H
+
+#include <stdint.h>
+
+enum SHA2_64_TYPE
+{
+ SHA_384,
+ SHA_512
+};
+
+class SHA2_64
+{
+ public :
+
+ SHA2_64(SHA2_64_TYPE type);
+ void add(uint8_t *in, uint32_t length);
+ void computeDigest(uint8_t *digest);
+ static void computeDigest(SHA2_64_TYPE type, uint8_t *digest, uint8_t *in, uint32_t length);
+
+ private :
+
+ static void computeBlock(uint64_t *h02,
+ uint64_t *h12,
+ uint64_t *h22,
+ uint64_t *h32,
+ uint64_t *h42,
+ uint64_t *h52,
+ uint64_t *h62,
+ uint64_t *h72,
+ uint8_t *buffer);
+
+ SHA2_64_TYPE type;
+ uint64_t h0, h1, h2, h3, h4, h5, h6, h7;
+ uint32_t totalBufferLength;
+ uint8_t buffer[128];
+ uint8_t bufferLength;
+};
+
+#endif
