aboutsummaryrefslogtreecommitdiff
path: root/sha2.h
diff options
context:
space:
mode:
Diffstat (limited to 'sha2.h')
-rw-r--r--sha2.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/sha2.h b/sha2.h
index 01cf08b..704fb2f 100644
--- a/sha2.h
+++ b/sha2.h
@@ -31,4 +31,32 @@ void sha224_push(sha224_t * const, const uint8_t *, size_t);
void sha224_fini(sha224_t * const, uint8_t * const);
void sha224(const uint8_t * const, const size_t, uint8_t * const);
+
+#define SHA512_HASH_SIZE 64
+
+typedef struct {
+ uint8_t buf[128];
+ size_t buf_len;
+
+ uint64_t h[8];
+
+ uint64_t num_bytes;
+} sha512_t;
+
+void sha512_init(sha512_t * const);
+void sha512_push(sha512_t * const, const uint8_t *, size_t);
+void sha512_fini(sha512_t * const, uint8_t * const);
+void sha512(const uint8_t * const, const size_t, uint8_t * const);
+
+#define SHA384_HASH_SIZE 48
+
+typedef struct {
+ sha512_t ctx;
+} sha384_t;
+
+void sha384_init(sha384_t * const);
+void sha384_push(sha384_t * const, const uint8_t *, size_t);
+void sha384_fini(sha384_t * const, uint8_t * const);
+void sha384(const uint8_t * const, const size_t, uint8_t * const);
+
#endif /* SHA2_H_ */