00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00026 #ifndef _SHA256_H
00027 #define _SHA256_H
00028
00029 #include "beecrypt.h"
00030
00034 typedef struct
00035 {
00038 uint32_t h[8];
00041 uint32_t data[64];
00046 #if (MP_WBITS == 64)
00047 mpw length[1];
00048 #elif (MP_WBITS == 32)
00049 mpw length[2];
00050 #else
00051 # error
00052 #endif
00053
00057 uint32_t offset;
00058 } sha256Param;
00059
00060 #ifdef __cplusplus
00061 extern "C" {
00062 #endif
00063
00067 extern BEECRYPTAPI const hashFunction sha256;
00068
00074 BEECRYPTAPI
00075 void sha256Process(sha256Param* sp);
00076
00083 BEECRYPTAPI
00084 int sha256Reset (sha256Param* sp);
00085
00094 BEECRYPTAPI
00095 int sha256Update (sha256Param* sp, const byte* data, size_t size);
00096
00104 BEECRYPTAPI
00105 int sha256Digest (sha256Param* sp, byte* digest);
00106
00107 #ifdef __cplusplus
00108 }
00109 #endif
00110
00111 #endif