sphlib

sph_shabal.h

Go to the documentation of this file.
00001 /* $Id: sph_shabal.h 175 2010-05-07 16:03:20Z tp $ */
00036 #ifndef SPH_SHABAL_H__
00037 #define SPH_SHABAL_H__
00038 
00039 #include <stddef.h>
00040 #include "sph_types.h"
00041 
00045 #define SPH_SIZE_shabal192   192
00046 
00050 #define SPH_SIZE_shabal224   224
00051 
00055 #define SPH_SIZE_shabal256   256
00056 
00060 #define SPH_SIZE_shabal384   384
00061 
00065 #define SPH_SIZE_shabal512   512
00066 
00077 typedef struct {
00078 #ifndef DOXYGEN_IGNORE
00079         unsigned char buf[64];    /* first field, for alignment */
00080         size_t ptr;
00081         sph_u32 A[12], B[16], C[16];
00082         sph_u32 Whigh, Wlow;
00083 #endif
00084 } sph_shabal_context;
00085 
00089 typedef sph_shabal_context sph_shabal192_context;
00090 
00094 typedef sph_shabal_context sph_shabal224_context;
00095 
00099 typedef sph_shabal_context sph_shabal256_context;
00100 
00104 typedef sph_shabal_context sph_shabal384_context;
00105 
00109 typedef sph_shabal_context sph_shabal512_context;
00110 
00117 void sph_shabal192_init(void *cc);
00118 
00127 void sph_shabal192(void *cc, const void *data, size_t len);
00128 
00138 void sph_shabal192_close(void *cc, void *dst);
00139 
00153 void sph_shabal192_addbits_and_close(
00154         void *cc, unsigned ub, unsigned n, void *dst);
00155 
00162 void sph_shabal224_init(void *cc);
00163 
00172 void sph_shabal224(void *cc, const void *data, size_t len);
00173 
00183 void sph_shabal224_close(void *cc, void *dst);
00184 
00198 void sph_shabal224_addbits_and_close(
00199         void *cc, unsigned ub, unsigned n, void *dst);
00200 
00207 void sph_shabal256_init(void *cc);
00208 
00217 void sph_shabal256(void *cc, const void *data, size_t len);
00218 
00228 void sph_shabal256_close(void *cc, void *dst);
00229 
00243 void sph_shabal256_addbits_and_close(
00244         void *cc, unsigned ub, unsigned n, void *dst);
00245 
00252 void sph_shabal384_init(void *cc);
00253 
00262 void sph_shabal384(void *cc, const void *data, size_t len);
00263 
00273 void sph_shabal384_close(void *cc, void *dst);
00274 
00288 void sph_shabal384_addbits_and_close(
00289         void *cc, unsigned ub, unsigned n, void *dst);
00290 
00297 void sph_shabal512_init(void *cc);
00298 
00307 void sph_shabal512(void *cc, const void *data, size_t len);
00308 
00318 void sph_shabal512_close(void *cc, void *dst);
00319 
00333 void sph_shabal512_addbits_and_close(
00334         void *cc, unsigned ub, unsigned n, void *dst);
00335 
00336 #endif