]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - khazad/khazad.c
fixing E-Mail-Address & Copyright
[avr-crypto-lib.git] / khazad / khazad.c
index a1343ce6eda39b56ad6b63c66c9d6131e7abe43d..c4fadb37b50c73bfbf1f0d138507a3ce6d4af318 100644 (file)
@@ -1,7 +1,7 @@
 /* khazad.c */
 /*
     This file is part of the AVR-Crypto-Lib.
-    Copyright (C) 2006-2011 Daniel Otte (daniel.otte@rub.de)
+    Copyright (C) 2006-2015 Daniel Otte (bg@nerilex.org)
 
     This program is free software: you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -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_ta){
+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);
 }