u64b_t
u64b_t X[SKEIN_256_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein_256_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
u64b_t w[SKEIN_512_STATE_WORDS];
int Skein_512_InitExt(Skein_512_Ctxt_t *ctx,size_t hashBitLen,u64b_t treeInfo, const u08b_t *key, size_t keyBytes)
u64b_t w[SKEIN_512_STATE_WORDS];
u64b_t X[SKEIN_512_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein_512_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
u64b_t w[SKEIN1024_STATE_WORDS];
u64b_t w[SKEIN_256_STATE_WORDS];
int Skein1024_InitExt(Skein1024_Ctxt_t *ctx,size_t hashBitLen,u64b_t treeInfo, const u08b_t *key, size_t keyBytes)
u64b_t w[SKEIN1024_STATE_WORDS];
u64b_t X[SKEIN1024_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein1024_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
u64b_t X[SKEIN_256_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein_256_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
u64b_t X[SKEIN_512_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein_512_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
u64b_t X[SKEIN1024_STATE_WORDS];
((u64b_t *)ctx->b)[0]= Skein_Swap64((u64b_t) i); /* build the counter block */
Skein1024_Process_Block(ctx,ctx->b,1,sizeof(u64b_t)); /* run "counter mode" */
int Skein_256_InitExt(Skein_256_Ctxt_t *ctx,size_t hashBitLen,u64b_t treeInfo, const u08b_t *key, size_t keyBytes)
u64b_t w[SKEIN_256_STATE_WORDS];
int Skein_256_InitExt(Skein_256_Ctxt_t *ctx, size_t hashBitLen, u64b_t treeInfo, const u08b_t *key, size_t keyBytes);
int Skein_512_InitExt(Skein_512_Ctxt_t *ctx, size_t hashBitLen, u64b_t treeInfo, const u08b_t *key, size_t keyBytes);
int Skein1024_InitExt(Skein1024_Ctxt_t *ctx, size_t hashBitLen, u64b_t treeInfo, const u08b_t *key, size_t keyBytes);
#define SKEIN_T1_FLAG_FIRST (((u64b_t) 1 ) << SKEIN_T1_POS_FIRST)
#define SKEIN_T1_FLAG_FINAL (((u64b_t) 1 ) << SKEIN_T1_POS_FINAL)
#define SKEIN_T1_FLAG_BIT_PAD (((u64b_t) 1 ) << SKEIN_T1_POS_BIT_PAD)
#define SKEIN_T1_TREE_LVL_MASK (((u64b_t)0x7F) << SKEIN_T1_POS_TREE_LVL)
#define SKEIN_T1_TREE_LEVEL(n) (((u64b_t) (n)) << SKEIN_T1_POS_TREE_LVL)
#define SKEIN_T1_BLK_TYPE(T) (((u64b_t) (SKEIN_BLK_TYPE_##T)) << SKEIN_T1_POS_BLK_TYPE)
#define SKEIN_MK_64(hi32,lo32) ((lo32) + (((u64b_t) (hi32)) << 32))
#define SKEIN_CFG_TREE_LEAF_SIZE_MSK (((u64b_t) 0xFF) << SKEIN_CFG_TREE_LEAF_SIZE_POS)
#define SKEIN_CFG_TREE_NODE_SIZE_MSK (((u64b_t) 0xFF) << SKEIN_CFG_TREE_NODE_SIZE_POS)
#define SKEIN_CFG_TREE_MAX_LEVEL_MSK (((u64b_t) 0xFF) << SKEIN_CFG_TREE_MAX_LEVEL_POS)
( (((u64b_t)(leaf )) << SKEIN_CFG_TREE_LEAF_SIZE_POS) | \
(((u64b_t)(node )) << SKEIN_CFG_TREE_NODE_SIZE_POS) | \
(((u64b_t)(maxLvl)) << SKEIN_CFG_TREE_MAX_LEVEL_POS) )
u64b_t T[SKEIN_MODIFIER_WORDS]; /* tweak words: T[0]=byte cnt, T[1]=flags */
u64b_t X[SKEIN_256_STATE_WORDS]; /* chaining variables */
u64b_t X[SKEIN_512_STATE_WORDS]; /* chaining variables */
u64b_t X[SKEIN1024_STATE_WORDS]; /* chaining variables */
u64b_t kw[WCNT+4+RCNT*2]; /* key schedule words : chaining vars + tweak + "rotation"*/
u64b_t kw[WCNT+4]; /* key schedule words : chaining vars + tweak */
u64b_t X0,X1,X2,X3,X4,X5,X6,X7; /* local copy of vars, for speed */
u64b_t w [WCNT]; /* local copy of input block */
const u64b_t *Xptr[8]; /* use for debugging (help compiler put Xn in registers) */
u64b_t kw[WCNT+4+RCNT*2]; /* key schedule words : chaining vars + tweak + "rotation"*/
u64b_t kw[WCNT+4]; /* key schedule words : chaining vars + tweak */
u64b_t X00,X01,X02,X03,X04,X05,X06,X07, /* local copy of vars, for speed */
u64b_t w [WCNT]; /* local copy of input block */
const u64b_t *Xptr[16]; /* use for debugging (help compiler put Xn in registers) */
u64b_t kw[WCNT+4+RCNT*2]; /* key schedule words : chaining vars + tweak + "rotation"*/
u64b_t kw[WCNT+4]; /* key schedule words : chaining vars + tweak */
u64b_t X0,X1,X2,X3; /* local copy of context vars, for speed */
u64b_t w [WCNT]; /* local copy of input block */
const u64b_t *Xptr[4]; /* use for debugging (help compiler put Xn in registers) */
u64b_t p[SKEIN_MAX_STATE_WORDS];
void Skein_Show_R_Ptr(uint_t bits,const Skein_Ctxt_Hdr_t *h,size_t r,const u64b_t *X_ptr[])
u64b_t X[SKEIN_MAX_STATE_WORDS];
void Skein_Show_Block(uint_t bits,const Skein_Ctxt_Hdr_t *h,const u64b_t *X,const u08b_t *blkPtr,
const u64b_t *wPtr, const u64b_t *ksPtr, const u64b_t *tsPtr)
static void Show64_step(size_t cnt,const u64b_t *X,size_t step)
static void Show64_flag(size_t cnt,const u64b_t *X)
X = (const u64b_t *) (xptr & ~1);
void Skein_Show_Round(uint_t bits,const Skein_Ctxt_Hdr_t *h,size_t r,const u64b_t *X)
void Skein_Show_Block(uint_t bits,const Skein_Ctxt_Hdr_t *h,const u64b_t *X,const u08b_t *blkPtr,
const u64b_t *wPtr,const u64b_t *ksPtr,const u64b_t *tsPtr);
void Skein_Show_Round(uint_t bits,const Skein_Ctxt_Hdr_t *h,size_t r,const u64b_t *X);
void Skein_Show_R_Ptr(uint_t bits,const Skein_Ctxt_Hdr_t *h,size_t r,const u64b_t *X_ptr[]);
const u64b_t SKEIN_512_IV_384[] =
const u64b_t SKEIN_512_IV_512[] =
const u64b_t SKEIN1024_IV_384[] =
const u64b_t SKEIN1024_IV_512[] =
const u64b_t SKEIN1024_IV_1024[] =
const u64b_t SKEIN_256_IV_128[] =
const u64b_t SKEIN_256_IV_160[] =
const u64b_t SKEIN_256_IV_224[] =
const u64b_t SKEIN_256_IV_256[] =
const u64b_t SKEIN_512_IV_128[] =
const u64b_t SKEIN_512_IV_160[] =
const u64b_t SKEIN_512_IV_224[] =
const u64b_t SKEIN_512_IV_256[] =
void Skein_Get64_LSB_First(u64b_t *dst,const u08b_t *src,size_t wCnt)
void Skein_Put64_LSB_First(u08b_t *dst,const u64b_t *src,size_t bCnt);
void Skein_Get64_LSB_First(u64b_t *dst,const u08b_t *src,size_t wCnt);
void Skein_Put64_LSB_First(u08b_t *dst,const u64b_t *src,size_t bCnt)