sphlib
|
00001 /* $Id: sph_luffa.h 154 2010-04-26 17:00:24Z tp $ */ 00036 #ifndef SPH_LUFFA_H__ 00037 #define SPH_LUFFA_H__ 00038 00039 #include <stddef.h> 00040 #include "sph_types.h" 00041 00045 #define SPH_SIZE_luffa224 224 00046 00050 #define SPH_SIZE_luffa256 256 00051 00055 #define SPH_SIZE_luffa384 384 00056 00060 #define SPH_SIZE_luffa512 512 00061 00072 typedef struct { 00073 #ifndef DOXYGEN_IGNORE 00074 unsigned char buf[32]; /* first field, for alignment */ 00075 size_t ptr; 00076 sph_u32 V[3][8]; 00077 #endif 00078 } sph_luffa224_context; 00079 00084 typedef sph_luffa224_context sph_luffa256_context; 00085 00089 typedef struct { 00090 #ifndef DOXYGEN_IGNORE 00091 unsigned char buf[32]; /* first field, for alignment */ 00092 size_t ptr; 00093 sph_u32 V[4][8]; 00094 #endif 00095 } sph_luffa384_context; 00096 00100 typedef struct { 00101 #ifndef DOXYGEN_IGNORE 00102 unsigned char buf[32]; /* first field, for alignment */ 00103 size_t ptr; 00104 sph_u32 V[5][8]; 00105 #endif 00106 } sph_luffa512_context; 00107 00114 void sph_luffa224_init(void *cc); 00115 00124 void sph_luffa224(void *cc, const void *data, size_t len); 00125 00135 void sph_luffa224_close(void *cc, void *dst); 00136 00150 void sph_luffa224_addbits_and_close( 00151 void *cc, unsigned ub, unsigned n, void *dst); 00152 00159 void sph_luffa256_init(void *cc); 00160 00169 void sph_luffa256(void *cc, const void *data, size_t len); 00170 00180 void sph_luffa256_close(void *cc, void *dst); 00181 00195 void sph_luffa256_addbits_and_close( 00196 void *cc, unsigned ub, unsigned n, void *dst); 00197 00204 void sph_luffa384_init(void *cc); 00205 00214 void sph_luffa384(void *cc, const void *data, size_t len); 00215 00225 void sph_luffa384_close(void *cc, void *dst); 00226 00240 void sph_luffa384_addbits_and_close( 00241 void *cc, unsigned ub, unsigned n, void *dst); 00242 00249 void sph_luffa512_init(void *cc); 00250 00259 void sph_luffa512(void *cc, const void *data, size_t len); 00260 00270 void sph_luffa512_close(void *cc, void *dst); 00271 00285 void sph_luffa512_addbits_and_close( 00286 void *cc, unsigned ub, unsigned n, void *dst); 00287 00288 #endif