]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - khazad/khazad.c
some fixes, mainly at rsaes-pkcs1v15
[avr-crypto-lib.git] / khazad / khazad.c
index a1343ce6eda39b56ad6b63c66c9d6131e7abe43d..9da7dea7c3348a07eee5d4d0e0078b94864957f1 100644 (file)
@@ -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);
 }