X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=skein%2Fthreefish512_dec.c;h=c5d9910019c82070d468267f95ec8418f61dc291;hb=3a9f9d918fb95474996af535c225a7e187d88372;hp=c535d33106c553a3d1acb95a70d21476fab336df;hpb=4f50c75ee5a6cc88bf7ea71957ed509e298e6c25;p=avr-crypto-lib.git diff --git a/skein/threefish512_dec.c b/skein/threefish512_dec.c index c535d33..c5d9910 100644 --- a/skein/threefish512_dec.c +++ b/skein/threefish512_dec.c @@ -21,9 +21,9 @@ * \email daniel.otte@rub.de * \date 2009-03-22 * \license GPLv3 or later - * - * - * + * + * + * */ #include @@ -35,7 +35,7 @@ static -void permute_inv8(void* data){ +void permute_inv8(void *data){ uint64_t t; t = X(6); X(6) = X(4); @@ -48,7 +48,7 @@ void permute_inv8(void* data){ } static -void add_key_8(void* data, const threefish512_ctx_t* ctx, uint8_t s){ +void add_key_8(void *data, const threefish512_ctx_t *ctx, uint8_t s){ uint8_t i; for(i=0; i<5; ++i){ X(i) -= ctx->k[(s+i)%9]; @@ -58,12 +58,19 @@ void add_key_8(void* data, const threefish512_ctx_t* ctx, uint8_t s){ X(7) -= ctx->k[(s+7)%9] + s; } -void threefish512_dec(void* data, const threefish512_ctx_t* ctx){ +void threefish512_dec(void *data, const threefish512_ctx_t *ctx){ uint8_t i=0,s=18; - uint8_t r0[8] = {33, 29, 39, 33, 26, 34, 48, 38}; + /* old round constants + uint8_t r0[8] = {33, 29, 39, 33, 26, 34, 48, 38}; uint8_t r1[8] = {51, 26, 27, 49, 12, 14, 20, 30}; uint8_t r2[8] = {39, 11, 41, 8, 58, 15, 43, 50}; uint8_t r3[8] = {35, 9, 14, 42, 7, 27, 31, 53}; + */ + uint8_t r0[8] = { 8, 25, 13, 39, 44, 17, 33, 46}; + uint8_t r1[8] = { 35, 29, 50, 30, 9, 49, 27, 36}; + uint8_t r2[8] = { 56, 39, 10, 34, 54, 36, 14, 19}; + uint8_t r3[8] = { 22, 43, 17, 24, 56, 39, 42, 37}; + do{ if(i%4==0){ add_key_8(data, ctx, s);