123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167 |
- #ifndef POLARSSL_SHA4_H
- #define POLARSSL_SHA4_H
- #include <string.h>
- #if defined(_MSC_VER) || defined(__WATCOMC__)
- #define UL64(x) x##ui64
- #define int64 __int64
- #else
- #define UL64(x) x##ULL
- #define int64 long long
- #endif
- typedef struct
- {
- unsigned int64 total[2];
- unsigned int64 state[8];
- unsigned char buffer[128];
- unsigned char ipad[128];
- unsigned char opad[128];
- int is384;
- }
- sha4_context;
- #ifdef __cplusplus
- extern "C" {
- #endif
- void sha4_starts( sha4_context *ctx, int is384 );
- void sha4_update( sha4_context *ctx, const unsigned char *input, size_t ilen );
- void sha4_finish( sha4_context *ctx, unsigned char output[64] );
- void sha4( const unsigned char *input, size_t ilen,
- unsigned char output[64], int is384 );
- int sha4_file( const char *path, unsigned char output[64], int is384 );
- void sha4_hmac_starts( sha4_context *ctx, const unsigned char *key, size_t keylen,
- int is384 );
- void sha4_hmac_update( sha4_context *ctx, const unsigned char *input, size_t ilen );
- void sha4_hmac_finish( sha4_context *ctx, unsigned char output[64] );
- void sha4_hmac_reset( sha4_context *ctx );
- void sha4_hmac( const unsigned char *key, size_t keylen,
- const unsigned char *input, size_t ilen,
- unsigned char output[64], int is384 );
- int sha4_self_test( int verbose );
- #ifdef __cplusplus
- }
- #endif
- #endif
|