Annotation of embedaddon/bird/lib/sha512.h, revision 1.1
1.1 ! misho 1: /*
! 2: * BIRD Library -- SHA-512 and SHA-384 Hash Functions
! 3: *
! 4: * (c) 2015 CZ.NIC z.s.p.o.
! 5: *
! 6: * Based on the code from libgcrypt-1.6.0, which is
! 7: * (c) 2003, 2006, 2008, 2009 Free Software Foundation, Inc.
! 8: *
! 9: * Can be freely distributed and used under the terms of the GNU GPL.
! 10: */
! 11:
! 12: #ifndef _BIRD_SHA512_H_
! 13: #define _BIRD_SHA512_H_
! 14:
! 15: #include "nest/bird.h"
! 16:
! 17:
! 18: #define SHA384_SIZE 48
! 19: #define SHA384_HEX_SIZE 97
! 20: #define SHA384_BLOCK_SIZE 128
! 21:
! 22: #define SHA512_SIZE 64
! 23: #define SHA512_HEX_SIZE 129
! 24: #define SHA512_BLOCK_SIZE 128
! 25:
! 26:
! 27: struct hash_context;
! 28:
! 29: struct sha512_context {
! 30: u64 h0, h1, h2, h3, h4, h5, h6, h7;
! 31: byte buf[SHA512_BLOCK_SIZE];
! 32: uint nblocks;
! 33: uint count;
! 34: };
! 35:
! 36: #define sha384_context sha512_context
! 37:
! 38:
! 39: void sha512_init(struct hash_context *ctx);
! 40: void sha384_init(struct hash_context *ctx);
! 41:
! 42: void sha512_update(struct hash_context *ctx, const byte *buf, uint len);
! 43: #define sha384_update sha512_update
! 44:
! 45: byte *sha512_final(struct hash_context *ctx);
! 46: #define sha384_final sha512_final
! 47:
! 48:
! 49: #endif /* _BIRD_SHA512_H_ */
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>