diff options
author | Martin Willi <martin@strongswan.org> | 2006-05-10 07:32:34 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2006-05-10 07:32:34 +0000 |
commit | bc4a07a0adc9e31af75576477fbed488c31edaa4 (patch) | |
tree | 82a8ba5612c448b8db585b437fbbe38ef243a0ba /src/libfreeswan/libcrypto/libsha2/sha2.h | |
parent | 37a2b616e28649b6db7c87e96b375ba1176b52cc (diff) | |
download | strongswan-bc4a07a0adc9e31af75576477fbed488c31edaa4.tar.bz2 strongswan-bc4a07a0adc9e31af75576477fbed488c31edaa4.tar.xz |
- started to rebuild source layout
Diffstat (limited to 'src/libfreeswan/libcrypto/libsha2/sha2.h')
-rw-r--r-- | src/libfreeswan/libcrypto/libsha2/sha2.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/src/libfreeswan/libcrypto/libsha2/sha2.h b/src/libfreeswan/libcrypto/libsha2/sha2.h new file mode 100644 index 000000000..2dc03cfa8 --- /dev/null +++ b/src/libfreeswan/libcrypto/libsha2/sha2.h @@ -0,0 +1,52 @@ +#ifndef _SHA2_H +#define _SHA2_H +/* + * sha512.h + * + * Written by Jari Ruusu, April 16 2001 + * + * Copyright 2001 by Jari Ruusu. + * Redistribution of this file is permitted under the GNU Public License. + */ + +#ifdef __KERNEL__ +#include <linux/types.h> +#else +#include <sys/types.h> +#endif + +typedef struct { + unsigned char sha_out[64]; /* results are here, bytes 0...31 */ + u_int32_t sha_H[8]; + u_int64_t sha_blocks; + int sha_bufCnt; +} sha256_context; + +typedef struct { + unsigned char sha_out[128]; /* results are here, bytes 0...63 */ + u_int64_t sha_H[8]; + u_int64_t sha_blocks; + u_int64_t sha_blocksMSB; + int sha_bufCnt; +} sha512_context; + +/* no sha384_context, use sha512_context */ + +/* 256 bit hash, provides 128 bits of security against collision attacks */ +extern void sha256_init(sha256_context *); +extern void sha256_write(sha256_context *, const unsigned char *, int); +extern void sha256_final(sha256_context *); +extern void sha256_hash_buffer(unsigned char *, int, unsigned char *, int); + +/* 512 bit hash, provides 256 bits of security against collision attacks */ +extern void sha512_init(sha512_context *); +extern void sha512_write(sha512_context *, const unsigned char *, int); +extern void sha512_final(sha512_context *); +extern void sha512_hash_buffer(unsigned char *, int, unsigned char *, int); + +/* 384 bit hash, provides 192 bits of security against collision attacks */ +extern void sha384_init(sha512_context *); +/* no sha384_write(), use sha512_write() */ +/* no sha384_final(), use sha512_final(), result in ctx->sha_out[0...47] */ +extern void sha384_hash_buffer(unsigned char *, int, unsigned char *, int); +#endif /* _SHA2_H */ |