mirror of
https://github.com/veracrypt/VeraCrypt.git
synced 2025-11-13 03:48:26 -06:00
Add SHA-256 source specific for upcoming bootloader build because of its small size. It was derived from the libtomcrypt public domain source.
This commit is contained in:
55
src/Crypto/Sha2Small.h
Normal file
55
src/Crypto/Sha2Small.h
Normal file
@@ -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 */
|
||||
/******************************************************************************/
|
||||
|
||||
Reference in New Issue
Block a user