diff options
author | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2014-10-14 17:02:37 +0200 |
---|---|---|
committer | Mounir IDRASSI <mounir.idrassi@idrix.fr> | 2014-11-08 23:23:48 +0100 |
commit | bd7d151abf2c51e24a0dc60f7400c0388904c9f1 (patch) | |
tree | c2aec1f4d43ce1a077da23fec4c4eb71ac343790 /src/Crypto/Sha2Small.h | |
parent | 2fe23a3fa3e522951c1ee64c877d4256388f5363 (diff) | |
download | VeraCrypt-bd7d151abf2c51e24a0dc60f7400c0388904c9f1.tar.gz VeraCrypt-bd7d151abf2c51e24a0dc60f7400c0388904c9f1.zip |
Add SHA-256 source specific for upcoming bootloader build because of its small size. It was derived from the libtomcrypt public domain source.
Diffstat (limited to 'src/Crypto/Sha2Small.h')
-rw-r--r-- | src/Crypto/Sha2Small.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/Crypto/Sha2Small.h b/src/Crypto/Sha2Small.h new file mode 100644 index 00000000..2b79eaf4 --- /dev/null +++ b/src/Crypto/Sha2Small.h @@ -0,0 +1,55 @@ +/* LibTomCrypt, modular cryptographic library -- Tom St Denis + * + * LibTomCrypt is a library that provides various cryptographic + * algorithms in a highly modular and flexible manner. + * + * The library is free for all purposes without any express + * guarantee it works. + * + * Tom St Denis, tomstdenis@gmail.com, http://libtom.org + * + */ + +/* Adapted for VeraCrypt */ + +#ifndef _SHA2_SMALL_H
+#define _SHA2_SMALL_H + +#include "Common/Tcdefs.h"
+#include "Common/Endian.h" + +#define SHA256_DIGEST_SIZE 32
+#define SHA256_BLOCK_SIZE 64 + +#define VOID_RETURN void
+#define INT_RETURN int
+
+#if defined(__cplusplus)
+extern "C"
+{
+#endif + +typedef struct { + + uint32 highLength; + uint32 lowLength; + uint32 state[8]; + unsigned int curlen; + unsigned char buf[64]; +} sha256_ctx; + +/******************************************************************************/ + +VOID_RETURN sha256_begin(sha256_ctx* ctx);
+VOID_RETURN sha256_hash(unsigned char* data, unsigned int len, sha256_ctx* ctx);
+VOID_RETURN sha256_end(unsigned char* hval, sha256_ctx* ctx); + +#if defined(__cplusplus)
+}
+#endif + +/******************************************************************************/ + +#endif /* _h_PS_DIGEST */ +/******************************************************************************/ + |