diff options
author | Allan Jude <allanjude@FreeBSD.org> | 2015-12-27 17:33:59 +0000 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2022-09-08 16:14:56 +0200 |
commit | 225e7b9e75c8bb52230cb6c13494a1d33d00638a (patch) | |
tree | 5a8fd298e9b55cc203a302caa8c2f35c61a3905f /cpukit/include/sha256.h | |
parent | minimum: Do not use unified work areas (diff) | |
download | rtems-225e7b9e75c8bb52230cb6c13494a1d33d00638a.tar.bz2 |
Replace sys/crypto/sha2/sha2.c with lib/libmd/sha512c.c
cperciva's libmd implementation is 5-30% faster
The same was done for SHA256 previously in r263218
cperciva's implementation was lacking SHA-384 which I implemented, validated against OpenSSL and the NIST documentation
Extend sbin/md5 to create sha384(1)
Chase dependancies on sys/crypto/sha2/sha2.{c,h} and replace them with sha512{c.c,.h}
Reviewed by: cperciva, des, delphij
Approved by: secteam, bapt (mentor)
MFC after: 2 weeks
Sponsored by: ScaleEngine Inc.
Differential Revision: https://reviews.freebsd.org/D3929
Diffstat (limited to 'cpukit/include/sha256.h')
-rw-r--r-- | cpukit/include/sha256.h | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/cpukit/include/sha256.h b/cpukit/include/sha256.h index 1b6a4f4c57..9deed91255 100644 --- a/cpukit/include/sha256.h +++ b/cpukit/include/sha256.h @@ -29,22 +29,31 @@ #ifndef _SHA256_H_ #define _SHA256_H_ +#ifndef _KERNEL #include <sys/types.h> +#endif + +#define SHA256_BLOCK_LENGTH 64 +#define SHA256_DIGEST_LENGTH 32 +#define SHA256_DIGEST_STRING_LENGTH (SHA256_DIGEST_LENGTH * 2 + 1) typedef struct SHA256Context { uint32_t state[8]; uint64_t count; - unsigned char buf[64]; + uint8_t buf[SHA256_BLOCK_LENGTH]; } SHA256_CTX; __BEGIN_DECLS + void SHA256_Init(SHA256_CTX *); void SHA256_Update(SHA256_CTX *, const void *, size_t); -void SHA256_Final(unsigned char [32], SHA256_CTX *); +void SHA256_Final(unsigned char [SHA256_DIGEST_LENGTH], SHA256_CTX *); +#ifndef _KERNEL char *SHA256_End(SHA256_CTX *, char *); +char *SHA256_Data(const void *, unsigned int, char *); char *SHA256_File(const char *, char *); char *SHA256_FileChunk(const char *, char *, off_t, off_t); -char *SHA256_Data(const void *, unsigned int, char *); +#endif __END_DECLS #endif /* !_SHA256_H_ */ |