X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=khazad%2Fkhazad.c;h=a5681b5feee5d003a79ed8a495c948c3e8f991c1;hb=refs%2Fheads%2Fbigint2-dev;hp=a1343ce6eda39b56ad6b63c66c9d6131e7abe43d;hpb=62d7d4d281af70bc2f56fb3baa86a6915e126240;p=avr-crypto-lib.git diff --git a/khazad/khazad.c b/khazad/khazad.c index a1343ce..a5681b5 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 }, @@ -126,7 +126,7 @@ static uint8_t h[8][4] PROGMEM = { { 0x7B, 0x86, 0x54, 0x31 } }; -static void theta(uint8_t* a){ +static void theta(uint8_t *a){ uint8_t i,j,x,accu; uint8_t c[8]; uint8_t *hp; @@ -146,15 +146,15 @@ static void theta(uint8_t* a){ /******************************************************************************/ -static void khazad_round(uint8_t* a, const uint8_t* k){ - gamma(a); +static void khazad_round(uint8_t *a, const uint8_t *k){ + gamma_1(a); theta(a); memxor(a, k, 8); } /******************************************************************************/ -void khazad_init(const void* key, khazad_ctx_t* ctx){ +void khazad_init(const void *key, khazad_ctx_t *ctx){ uint8_t c[8]; uint8_t i,r=0; for(i=0; i<8; ++i){ @@ -182,26 +182,26 @@ void khazad_init(const void* key, khazad_ctx_t* ctx){ /******************************************************************************/ -void khazad_enc(void* buffer, const khazad_ctx_t* ctx){ +void khazad_enc(void *buffer, const khazad_ctx_t *ctx){ uint8_t r; memxor(buffer, ctx->k[0], 8); for(r=1; r<8; ++r){ khazad_round(buffer, ctx->k[r]); } - gamma(buffer); + gamma_1(buffer); memxor(buffer, ctx->k[8], 8); } /******************************************************************************/ -void khazad_dec(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); }