X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=threefish1024_enc.c;h=4f6f9d46daaa3654fda2d7c986d6e83edced3b15;hb=4147d732efd04605764a2820d4478f33a0cdf1fa;hp=2fa1957b1995c8437649b5f47375e155e0cda71f;hpb=92725df162cf1ce83c4bd002fdaff69707e5f310;p=avr-crypto-lib.git diff --git a/threefish1024_enc.c b/threefish1024_enc.c index 2fa1957..4f6f9d4 100644 --- a/threefish1024_enc.c +++ b/threefish1024_enc.c @@ -30,16 +30,6 @@ #include #include "threefish.h" -#define X0 (((uint64_t*)data)[0]) -#define X1 (((uint64_t*)data)[1]) -static -void mix(void* data, uint8_t rot){ - uint64_t x; - x = X1; - X0 += x; - X1 = ((x<>(64-rot))) ^ X0; -} - #define X(a) (((uint64_t*)data)[(a)]) static @@ -108,14 +98,14 @@ void threefish1024_enc(void* data, threefish1024_ctx_t* ctx){ add_key_16(data, ctx, s); ++s; } - mix((uint8_t*)data + 0, r0[i%8]); - mix((uint8_t*)data + 16, r1[i%8]); - mix((uint8_t*)data + 32, r2[i%8]); - mix((uint8_t*)data + 48, r3[i%8]); - mix((uint8_t*)data + 64, r4[i%8]); - mix((uint8_t*)data + 80, r5[i%8]); - mix((uint8_t*)data + 96, r6[i%8]); - mix((uint8_t*)data +112, r7[i%8]); + threefish_mix((uint8_t*)data + 0, r0[i%8]); + threefish_mix((uint8_t*)data + 16, r1[i%8]); + threefish_mix((uint8_t*)data + 32, r2[i%8]); + threefish_mix((uint8_t*)data + 48, r3[i%8]); + threefish_mix((uint8_t*)data + 64, r4[i%8]); + threefish_mix((uint8_t*)data + 80, r5[i%8]); + threefish_mix((uint8_t*)data + 96, r6[i%8]); + threefish_mix((uint8_t*)data +112, r7[i%8]); permute_16(data); ++i; }while(i!=80);