sphlib
|
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