X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=khazad%2Fkhazad.c;h=9da7dea7c3348a07eee5d4d0e0078b94864957f1;hb=cc6b183296a5852449e3324737e2a2dece788786;hp=a1343ce6eda39b56ad6b63c66c9d6131e7abe43d;hpb=62d7d4d281af70bc2f56fb3baa86a6915e126240;p=avr-crypto-lib.git diff --git a/khazad/khazad.c b/khazad/khazad.c index a1343ce..9da7dea 100644 --- a/khazad/khazad.c +++ b/khazad/khazad.c @@ -68,7 +68,7 @@ Q: 9x Ex 5x 6x Ax 2x 3x Cx Fx 0x 4x Dx 7x Bx 1x 8x */ -static uint8_t pq_lut[16] PROGMEM = { +static const uint8_t pq_lut[16] PROGMEM = { 0x39, 0xFE, 0xE5, 0x06, 0x5A, 0x42, 0xB3, 0xCC, 0xDF, 0xA0, 0x94, 0x6D, 0x77, 0x8B, 0x21, 0x18 }; @@ -92,7 +92,7 @@ uint8_t khazad_sbox(uint8_t a){ return b|c; } -static void gamma(uint8_t* a){ +static void gamma_1(uint8_t* a){ uint8_t i; for(i=0; i<8; ++i){ *a = khazad_sbox(*a); @@ -115,7 +115,7 @@ static void gamma(uint8_t* a){ * 07x 0Bx 08x 06x 05x 04x 03x 01x */ -static uint8_t h[8][4] PROGMEM = { +static const uint8_t h[8][4] PROGMEM = { { 0x13, 0x45, 0x68, 0xB7 }, { 0x31, 0x54, 0x86, 0x7B }, { 0x45, 0x13, 0xB7, 0x68 }, @@ -147,7 +147,7 @@ static void theta(uint8_t* a){ /******************************************************************************/ static void khazad_round(uint8_t* a, const uint8_t* k){ - gamma(a); + gamma_1(a); theta(a); memxor(a, k, 8); } @@ -188,7 +188,7 @@ void khazad_enc(void* buffer, const khazad_ctx_t* ctx){ for(r=1; r<8; ++r){ khazad_round(buffer, ctx->k[r]); } - gamma(buffer); + gamma_1(buffer); memxor(buffer, ctx->k[8], 8); } @@ -197,11 +197,11 @@ void khazad_enc(void* buffer, const khazad_ctx_t* ctx){ void khazad_dec(void* buffer, const khazad_ctx_t* ctx){ uint8_t r=7; memxor(buffer, ctx->k[8], 8); - gamma(buffer); + gamma_1(buffer); do{ memxor(buffer, ctx->k[r--], 8); theta(buffer); - gamma(buffer); + gamma_1(buffer); }while(r); memxor(buffer, ctx->k[0], 8); }