fixing lot of typos, camellia_C now seems to work

This commit is contained in:
bg 2008-12-10 15:18:23 +00:00
parent 12883cff6e
commit 9b567bc05f
38 changed files with 155 additions and 223 deletions

View File

@ -407,26 +407,26 @@ B1 = 18
B2 = 19 B2 = 19
.global camellia128_keyop_rot15 .global camellia128_keyop_rot15
camellia128_keyop_rot15: camellia128_keyop_rot15:
movw r30, r24 ; Z points at LSB of kl ;-- 0 movw r30, r24 ; Z points at LSB of kl ;-- 0
ldi r22, 2 ldi r22, 2
2: adiw r30, 15 ;-- 15 2: adiw r30, 15 ;-- 15
ld r21, Z ld r21, Z
ld r20, -Z ;-- 14 ld r20, -Z ;-- 14
movw B1, r20 ; store Backup of the 2 MSB of kl movw B1, r20 ; store Backup of the 2 MSB of kl
ror r20 ror r20
ldi r21, 14 ldi r21, 14
1: ld r20, -Z ;-- 13..0 1: ld r20, -Z ;-- 13..0
ror r20 ror r20
std Z+2, r20 ;-- (15..2) std Z+2, r20 ;-- (15..2)
dec r21 dec r21
brne 1b brne 1b
ror B2 ror B2
ror B1 ror B1
st Z+, B1 ;-- 1 st Z+, B1 ;-- 1
st Z, B2 st Z, B2
adiw r30, 15 ;-- 16 adiw r30, 15 ;-- 16
dec r22 dec r22
brne 2b brne 2b
@ -513,26 +513,26 @@ B1 = 18
B2 = 19 B2 = 19
.global camellia128_keyop_inv_rot15 .global camellia128_keyop_inv_rot15
camellia128_keyop_inv_rot15: camellia128_keyop_inv_rot15:
movw r30, r24 ; Z points at LSB of kl ;-- 0 movw r30, r24 ; Z points at LSB of kl ;-- 0
movw r26, r24 ; X also movw r26, r24 ; X also
ldi r22, 2 ldi r22, 2
2: ;-- 0 2: ;-- 0
ld r20, Z+ ;-- 0/1 ld r20, Z+ ;-- 0/1
ld r21, Z+ ;-- 1/2 ld r21, Z+ ;-- 1/2
movw B1, r20 ; store Backup of the 2 LSB of kl movw B1, r20 ; store Backup of the 2 LSB of kl
rol r21 rol r21
ldi r20, 14 ldi r20, 14
1: ld r21, Z+ ;-- 2/14..3/16 1: ld r21, Z+ ;-- 2/14..3/16
rol r21 rol r21
st X+, r21 ;-- (0..13)/(1..14) st X+, r21 ;-- (0..13)/(1..14)
dec r20 dec r20
brne 1b brne 1b
rol B1 rol B1
rol B2 rol B2
st X+, B1 ;-- 14/15 st X+, B1 ;-- 14/15
st X+, B2 ;-- 15/16 st X+, B2 ;-- 15/16
dec r22 dec r22
brne 2b brne 2b

View File

@ -29,7 +29,7 @@ typedef struct camellia128_ctx_s{
}camellia128_ctx_t; }camellia128_ctx_t;
void camellia128_init(const uint8_t* key, camellia128_ctx_t* s); void camellia128_init(const void* key, camellia128_ctx_t* s);
void camellia128_enc(void* block, const camellia128_ctx_t* s); void camellia128_enc(void* block, const camellia128_ctx_t* s);
void camellia128_dec(void* block, const camellia128_ctx_t* s); void camellia128_dec(void* block, const camellia128_ctx_t* s);

View File

@ -1,4 +1,4 @@
/* camellia.c */ /* camellia128-stub.c */
/* /*
This file is part of the Crypto-avr-lib/microcrypt-lib. This file is part of the Crypto-avr-lib/microcrypt-lib.
Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de)
@ -27,10 +27,11 @@
#include <avr/io.h> #include <avr/io.h>
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
#include "camellia.h" #include "camellia.h"
#include "uart.h" #if 0
#include "debug.h" #include "uart.h"
#include <util/delay.h> #include "debug.h"
#include <util/delay.h>
#endif
/*****************************************************************************/ /*****************************************************************************/
uint64_t camellia_f(uint64_t x, uint64_t k); uint64_t camellia_f(uint64_t x, uint64_t k);
/*****************************************************************************/ /*****************************************************************************/
@ -69,7 +70,7 @@ uint32_t PROGMEM camellia_sigma[12]={ /* 48 byte table */
/*****************************************************************************/ /*****************************************************************************/
/*
void camellia128_ctx_dump(camellia128_ctx_t *s){ void camellia128_ctx_dump(camellia128_ctx_t *s){
uart_putstr_P(PSTR("\r\n==State Dump==")); uart_putstr_P(PSTR("\r\n==State Dump=="));
uart_putstr_P(PSTR("\n\rKAl: ")); uart_hexdump(&(s->kal), 8); uart_putstr_P(PSTR("\n\rKAl: ")); uart_hexdump(&(s->kal), 8);
@ -78,22 +79,24 @@ void camellia128_ctx_dump(camellia128_ctx_t *s){
uart_putstr_P(PSTR("\n\rKLr: ")); uart_hexdump(&(s->klr), 8); uart_putstr_P(PSTR("\n\rKLr: ")); uart_hexdump(&(s->klr), 8);
return; return;
} }
*/
/*****************************************************************************/ /*****************************************************************************/
/* extern prog_uint64_t camellia_sigma[6]; */ /* extern prog_uint64_t camellia_sigma[6]; */
void camellia128_init(const uint8_t* key, camellia128_ctx_t* s){ void camellia128_init(const void* key, camellia128_ctx_t* s){
uint8_t i; uint8_t i;
s->kll = 0; /* ((uint64_t*)key)[0]; */ s->kll = 0; /* ((uint64_t*)key)[0]; */
/* load the key, endian-adjusted, to kll,klr */ /* load the key, endian-adjusted, to kll,klr */
for(i=0; i<8; ++i){ for(i=0; i<8; ++i){
s->kll <<= 8; s->kll <<= 8;
s->kll |= *key++; s->kll |= *((uint8_t*)key);
key = (uint8_t*)key+1;
} }
for(i=0; i<8; ++i){ for(i=0; i<8; ++i){
s->klr <<= 8; s->klr <<= 8;
s->klr |= *key++; s->klr |= *((uint8_t*)key);
key = (uint8_t*)key+1;
} }
s->kal = s->kll; s->kal = s->kll;

View File

@ -27,10 +27,11 @@
#include <avr/io.h> #include <avr/io.h>
#include <avr/pgmspace.h> #include <avr/pgmspace.h>
#include "camellia.h" #include "camellia.h"
#include "uart.h" #if 0
#include "debug.h" #include "uart.h"
#include <util/delay.h> #include "debug.h"
#include <util/delay.h>
#endif
/*****************************************************************************/ /*****************************************************************************/
uint8_t rol(uint8_t a, uint8_t n){return ((a<<n) | (a>>(8-n)));} uint8_t rol(uint8_t a, uint8_t n){return ((a<<n) | (a>>(8-n)));}
@ -54,22 +55,22 @@ uint64_t rol64(uint64_t a, uint8_t n){
/*****************************************************************************/ /*****************************************************************************/
uint8_t camellia_s1_table[256] PROGMEM = { uint8_t camellia_s1_table[256] PROGMEM = {
112, 130, 44, 236, 179, 39, 192, 229, 228, 133, 87, 53, 234, 12, 174, 65, 112, 130, 44, 236, 179, 39, 192, 229, 228, 133, 87, 53, 234, 12, 174, 65,
35, 239, 107, 147, 69, 25, 165, 33, 237, 14, 79, 78, 29, 101, 146, 189, 35, 239, 107, 147, 69, 25, 165, 33, 237, 14, 79, 78, 29, 101, 146, 189,
134, 184, 175, 143, 124, 235, 31, 206, 62, 48, 220, 95, 94, 197, 11, 26, 134, 184, 175, 143, 124, 235, 31, 206, 62, 48, 220, 95, 94, 197, 11, 26,
166, 225, 57, 202, 213, 71, 93, 61, 217, 1, 90, 214, 81, 86, 108, 77, 166, 225, 57, 202, 213, 71, 93, 61, 217, 1, 90, 214, 81, 86, 108, 77,
139, 13, 154, 102, 251, 204, 176, 45, 116, 18, 43, 32, 240, 177, 132, 153, 139, 13, 154, 102, 251, 204, 176, 45, 116, 18, 43, 32, 240, 177, 132, 153,
223, 76, 203, 194, 52, 126, 118, 5, 109, 183, 169, 49, 209, 23, 4, 215, 223, 76, 203, 194, 52, 126, 118, 5, 109, 183, 169, 49, 209, 23, 4, 215,
20, 88, 58, 97, 222, 27, 17, 28, 50, 15, 156, 22, 83, 24, 242, 34, 20, 88, 58, 97, 222, 27, 17, 28, 50, 15, 156, 22, 83, 24, 242, 34,
254, 68, 207, 178, 195, 181, 122, 145, 36, 8, 232, 168, 96, 252, 105, 80, 254, 68, 207, 178, 195, 181, 122, 145, 36, 8, 232, 168, 96, 252, 105, 80,
170, 208, 160, 125, 161, 137, 98, 151, 84, 91, 30, 149, 224, 255, 100, 210, 170, 208, 160, 125, 161, 137, 98, 151, 84, 91, 30, 149, 224, 255, 100, 210,
16, 196, 0, 72, 163, 247, 117, 219, 138, 3, 230, 218, 9, 63, 221, 148, 16, 196, 0, 72, 163, 247, 117, 219, 138, 3, 230, 218, 9, 63, 221, 148,
135, 92, 131, 2, 205, 74, 144, 51, 115, 103, 246, 243, 157, 127, 191, 226, 135, 92, 131, 2, 205, 74, 144, 51, 115, 103, 246, 243, 157, 127, 191, 226,
82, 155, 216, 38, 200, 55, 198, 59, 129, 150, 111, 75, 19, 190, 99, 46, 82, 155, 216, 38, 200, 55, 198, 59, 129, 150, 111, 75, 19, 190, 99, 46,
233, 121, 167, 140, 159, 110, 188, 142, 41, 245, 249, 182, 47, 253, 180, 89, 233, 121, 167, 140, 159, 110, 188, 142, 41, 245, 249, 182, 47, 253, 180, 89,
120, 152, 6, 106, 231, 70, 113, 186, 212, 37, 171, 66, 136, 162, 141, 250, 120, 152, 6, 106, 231, 70, 113, 186, 212, 37, 171, 66, 136, 162, 141, 250,
114, 7, 185, 85, 248, 238, 172, 10, 54, 73, 42, 104, 60, 56, 241, 164, 114, 7, 185, 85, 248, 238, 172, 10, 54, 73, 42, 104, 60, 56, 241, 164,
64, 40, 211, 123, 187, 201, 67, 193, 21, 227, 173, 244, 119, 199, 128, 158 64, 40, 211, 123, 187, 201, 67, 193, 21, 227, 173, 244, 119, 199, 128, 158
}; };
/*****************************************************************************/ /*****************************************************************************/
@ -155,29 +156,24 @@ uint64_t camellia_p(uint64_t d){
uint64_t camellia_f(uint64_t x, uint64_t k){ uint64_t camellia_f(uint64_t x, uint64_t k){
uint64_t y; uint64_t y;
y = camellia_p(camellia_s(x ^ k)); y = camellia_p(camellia_s(x ^ k));
/*
uart_putstr("\r\nEfunc X=");
uart_hexdump(&(x), 8);
uart_putstr(" K=");
uart_hexdump(&(k), 8);
uart_putstr(" Y=");
uart_hexdump(&(y), 8);
*/
return y; return y;
} }
/*****************************************************************************/ /*****************************************************************************/
uint64_t camellia_fl(uint64_t x, uint64_t k){ uint64_t camellia_fl(uint64_t x, uint64_t k){
uint64_t lx[1], lk[1], y[1]; // uint64_t lx, lk, y;
lx[0]=x; lk[0] = k; uint32_t lx[2], lk[2], yr, yl;
lx[0]=(uint32_t)x;
lx[1]=(uint32_t)(x>>32);
lk[0]=(uint32_t)k;
lk[1]=(uint32_t)(k>>32);
#define Y ((uint32_t*)y) #define Y ((uint32_t*)y)
#define X ((uint32_t*)lx) #define X ((uint32_t*)lx)
#define K ((uint32_t*)lk) #define K ((uint32_t*)lk)
Y[0] = rol32((X[1]) & K[1] ,1) ^ (X[0]); /* Yr */ yr = rol32((X[1]) & (K[1]) ,1) ^ (X[0]); /* Yr */
Y[1] = (Y[0] | K[0]) ^ (X[1]); /* Yl */ yl = (yr | K[0]) ^ (X[1]); /* Yl */
/* /*
uart_putstr("\r\nFL("); uart_putstr("\r\nFL(");
@ -190,15 +186,18 @@ uint64_t camellia_fl(uint64_t x, uint64_t k){
#undef K #undef K
#undef X #undef X
#undef Y #undef Y
return y[0]; return (((uint64_t)yl)<<32 | yr);
} }
/*****************************************************************************/ /*****************************************************************************/
uint64_t camellia_fl_inv(uint64_t y, uint64_t k){ uint64_t camellia_fl_inv(uint64_t y, uint64_t k){
//volatile uint32_t xl, xr; //volatile uint32_t xl, xr;
volatile uint64_t ly[1], lk[1], x[1]; uint32_t ly[2], lk[2], x[2];
ly[0]=y; lk[0] = k; ly[0]=(uint32_t)y;
ly[1]=(uint32_t)(y>>32);
lk[0]=(uint32_t)k;
lk[1]=(uint32_t)(k>>32);
#define Y ((uint32_t*)ly) #define Y ((uint32_t*)ly)
#define X ((uint32_t*)x) #define X ((uint32_t*)x)
#define K ((uint32_t*)lk) #define K ((uint32_t*)lk)
@ -216,7 +215,7 @@ uint64_t camellia_fl_inv(uint64_t y, uint64_t k){
#undef K #undef K
#undef X #undef X
#undef Y #undef Y
return x[0]; return ((uint64_t)(x[1]))<<32 | x[0];
} }
/*****************************************************************************/ /*****************************************************************************/
@ -231,7 +230,7 @@ uint64_t camellia_sigma[6]={
}; };
/*****************************************************************************/ /*****************************************************************************/
#if 0
void camellia128_ctx_dump(camellia128_ctx_t *s){ void camellia128_ctx_dump(camellia128_ctx_t *s){
uart_putstr("\r\n==State Dump=="); uart_putstr("\r\n==State Dump==");
uart_putstr("\n\rKAl: "); uart_hexdump(&(s->kal), 8); uart_putstr("\n\rKAl: "); uart_hexdump(&(s->kal), 8);
@ -240,21 +239,23 @@ void camellia128_ctx_dump(camellia128_ctx_t *s){
uart_putstr("\n\rKLr: "); uart_hexdump(&(s->klr), 8); uart_putstr("\n\rKLr: "); uart_hexdump(&(s->klr), 8);
return; return;
} }
#endif
/*****************************************************************************/ /*****************************************************************************/
void camellia128_init(const uint8_t* key, camellia128_ctx_t* s){ void camellia128_init(const void* key, camellia128_ctx_t* s){
uint8_t i; uint8_t i;
s->kll = 0; //((uint64_t*)key)[0]; s->kll = 0; //((uint64_t*)key)[0];
/* load the key, endian-adjusted, to kll,klr */ /* load the key, endian-adjusted, to kll,klr */
for(i=0; i<8; ++i){ for(i=0; i<8; ++i){
s->kll <<= 8; s->kll <<= 8;
s->kll |= *key++; s->kll |= *((uint8_t*)key);
key = (uint8_t*)key+1;
} }
for(i=0; i<8; ++i){ for(i=0; i<8; ++i){
s->klr <<= 8; s->klr <<= 8;
s->klr |= *key++; s->klr |= *((uint8_t*)key);
key = (uint8_t*)key+1;
} }
s->kal = s->kll; s->kal = s->kll;
@ -309,31 +310,31 @@ void camellia128_keyop_inv(camellia128_ctx_t* s, int8_t q){
#define SEL_KA 1 #define SEL_KA 1
#define SEL_KL 0 #define SEL_KL 0
#define KEY_POSTC1 0x00 #define KEY_POSTC1 0x00
#define KEY_POSTC2 0x01 #define KEY_POSTC2 0x01
#define KEY_INC2 0x02 #define KEY_INC2 0x02
#define KEY_DIR 0x04 #define KEY_DIR 0x04
#define KEY_DIR_NORM 0x00 #define KEY_DIR_NORM 0x00
#define KEY_DIR_INV 0x04 #define KEY_DIR_INV 0x04
#define KEY_AMMOUNT 0x08 #define KEY_AMMOUNT 0x08
#define KEY_ROL17 0x08 #define KEY_ROL17 0x08
#define KEY_ROL15 0x00 #define KEY_ROL15 0x00
void camellia_6rounds(const camellia128_ctx_t* s, uint64_t* bl, uint64_t* br, uint8_t roundop, uint8_t keychoice){ void camellia_6rounds(const camellia128_ctx_t* s, uint64_t* bl, uint64_t* br, uint8_t roundop, uint8_t keychoice){
uint8_t i; uint8_t i;
uint64_t* k[4]; uint64_t* k[4];
k[0] = &(s->kll); k[0] = &(((camellia128_ctx_t*)s)->kll);
k[1] = &(s->klr); k[1] = &(((camellia128_ctx_t*)s)->klr);
k[2] = &(s->kal); k[2] = &(((camellia128_ctx_t*)s)->kal);
k[3] = &(s->kar); k[3] = &(((camellia128_ctx_t*)s)->kar);
for(i=0; i<3; ++i){ /* each cycle */ for(i=0; i<3; ++i){ /* each cycle */
br[0] ^= camellia_f(bl[0],*(k[(keychoice&1)*2+((roundop&KEY_DIR)?1:0)])); br[0] ^= camellia_f(bl[0],*(k[(keychoice&1)*2+((roundop&KEY_DIR)?1:0)]));
keychoice >>= 1; keychoice >>= 1;
if((i == 1) && (roundop&KEY_INC2)){ if((i == 1) && (roundop&KEY_INC2)){
((roundop&KEY_DIR)?camellia128_keyop_inv:camellia128_keyop)(s,(roundop&KEY_AMMOUNT)?1:-1); ((roundop&KEY_DIR)?camellia128_keyop_inv:camellia128_keyop)(((camellia128_ctx_t*)s),(roundop&KEY_AMMOUNT)?1:-1);
} }
bl[0] ^= camellia_f(br[0],*(k[(keychoice&1)*2+((roundop&KEY_DIR)?0:1)])); bl[0] ^= camellia_f(br[0],*(k[(keychoice&1)*2+((roundop&KEY_DIR)?0:1)]));
@ -341,7 +342,7 @@ void camellia_6rounds(const camellia128_ctx_t* s, uint64_t* bl, uint64_t* br, ui
/* check if we should do some keyop */ /* check if we should do some keyop */
if((i == (roundop&1)) && (!(roundop&KEY_INC2)) ){ if((i == (roundop&1)) && (!(roundop&KEY_INC2)) ){
((roundop&KEY_DIR)?camellia128_keyop_inv:camellia128_keyop)(s,(roundop&KEY_AMMOUNT)?1:-1); ((roundop&KEY_DIR)?camellia128_keyop_inv:camellia128_keyop)(((camellia128_ctx_t*)s),(roundop&KEY_AMMOUNT)?1:-1);
/* isn't it fuckin nice what we can do in C?! */ /* isn't it fuckin nice what we can do in C?! */
} }
} }
@ -349,6 +350,16 @@ void camellia_6rounds(const camellia128_ctx_t* s, uint64_t* bl, uint64_t* br, ui
/*****************************************************************************/ /*****************************************************************************/
void change_endian(void* data, uint8_t length){
uint8_t i,a;
for(i=0; i<length/2; ++i){
a = ((uint8_t*)data)[i];
((uint8_t*)data)[i] = ((uint8_t*)data)[length-i-1];
((uint8_t*)data)[length-i-1] = a;
}
}
/*****************************************************************************/
void camellia128_enc(void* block, const camellia128_ctx_t* s){ void camellia128_enc(void* block, const camellia128_ctx_t* s){
@ -361,32 +372,15 @@ void camellia128_enc(void* block, const camellia128_ctx_t* s){
*/ */
uint64_t temp64; uint64_t temp64;
temp64 = BL; change_endian(&BL, 64/8);
BL = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */ change_endian(&BR, 64/8);
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
temp64 = BR;
BR = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
/* Prewhitening */ /* Prewhitening */
BL ^= s->kll; BL ^= s->kll;
BR ^= s->klr; BR ^= s->klr;
/* the first 6 */ /* the first 6 */
/*
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->kar);
camellia128_keyop(s, -1);
BR ^= camellia_f(BL, s->kll);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->kar);
*/
camellia_6rounds(s, &BL, &BR, KEY_ROL15 | KEY_DIR_NORM | KEY_POSTC1 , 0x33); camellia_6rounds(s, &BL, &BR, KEY_ROL15 | KEY_DIR_NORM | KEY_POSTC1 , 0x33);
/* FL injection */ /* FL injection */
camellia128_keyop((camellia128_ctx_t*)s, -1); camellia128_keyop((camellia128_ctx_t*)s, -1);
@ -394,14 +388,6 @@ void camellia128_enc(void* block, const camellia128_ctx_t* s){
BR = camellia_fl_inv(BR, s->kar); BR = camellia_fl_inv(BR, s->kar);
camellia128_keyop((camellia128_ctx_t*)s, -1); camellia128_keyop((camellia128_ctx_t*)s, -1);
/* middle 6 */ /* middle 6 */
/* BR ^= camellia_f(BL, s->kll);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kal);
camellia128_keyop(s, -1);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->kar);
/*/
camellia_6rounds(s, &BL, &BR, KEY_ROL15 | KEY_DIR_NORM | KEY_INC2 , 0x34); camellia_6rounds(s, &BL, &BR, KEY_ROL15 | KEY_DIR_NORM | KEY_INC2 , 0x34);
/* FL injection */ /* FL injection */
camellia128_keyop((camellia128_ctx_t*)s, 1); camellia128_keyop((camellia128_ctx_t*)s, 1);
@ -409,15 +395,6 @@ void camellia128_enc(void* block, const camellia128_ctx_t* s){
BR = camellia_fl_inv(BR, s->klr); BR = camellia_fl_inv(BR, s->klr);
camellia128_keyop((camellia128_ctx_t*)s, 1); camellia128_keyop((camellia128_ctx_t*)s, 1);
/* last 6 */ /* last 6 */
/* BR ^= camellia_f(BL, s->kll);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->kar);
camellia128_keyop(s, 1);
BR ^= camellia_f(BL, s->kll);
BL ^= camellia_f(BR, s->klr);
*/
camellia_6rounds(s, &BL, &BR, KEY_ROL17 | KEY_DIR_NORM | KEY_POSTC2 , 0x0C); camellia_6rounds(s, &BL, &BR, KEY_ROL17 | KEY_DIR_NORM | KEY_POSTC2 , 0x0C);
/* Postwhitening */ /* Postwhitening */
BR ^= s->kal; BR ^= s->kal;
@ -427,16 +404,10 @@ void camellia128_enc(void* block, const camellia128_ctx_t* s){
BR = BL; BR = BL;
BL = temp64; BL = temp64;
camellia128_keyop((camellia128_ctx_t*)s,1);
BL = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */ change_endian(&BL, 64/8);
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */ change_endian(&BR, 64/8);
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
temp64 = BR;
BR = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
#undef BL #undef BL
#undef BR #undef BR
@ -455,67 +426,28 @@ void camellia128_dec(void* block, const camellia128_ctx_t* s){
*/ */
uint64_t temp64; uint64_t temp64;
change_endian(&BL, 64/8);
temp64 = BL; change_endian(&BR, 64/8);
BL = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
temp64 = BR;
BR = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
camellia128_keyop_inv((camellia128_ctx_t*)s, 1); camellia128_keyop_inv((camellia128_ctx_t*)s, 1);
/* Prewhitening */ /* Prewhitening */
BR ^= s->kal; /* kw3 */ BR ^= s->kal; /* kw3 */
BL ^= s->kar; /* kw4 */ BL ^= s->kar; /* kw4 */
/* the first 6 */ /* the first 6 */
/*
BL ^= camellia_f(BR, s->klr); /* k18 * /
BR ^= camellia_f(BL, s->kll); /* k17 * /
camellia128_keyop_inv(s, 1);
BL ^= camellia_f(BR, s->kar);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kll);
*/
camellia_6rounds(s, &BR, &BL, KEY_ROL17 | KEY_DIR_INV | KEY_POSTC1 , 0x0C); camellia_6rounds(s, &BR, &BL, KEY_ROL17 | KEY_DIR_INV | KEY_POSTC1 , 0x0C);
/* FL injection */ /* FL injection */
camellia128_keyop_inv((camellia128_ctx_t*)s, 1); camellia128_keyop_inv((camellia128_ctx_t*)s, 1);
BR = camellia_fl(BR, s->klr); BR = camellia_fl(BR, s->klr);
BL = camellia_fl_inv(BL, s->kll); BL = camellia_fl_inv(BL, s->kll);
camellia128_keyop_inv((camellia128_ctx_t*)s, 1); camellia128_keyop_inv((camellia128_ctx_t*)s, 1);
/* middle 6 */ /* middle 6 */
/* BL ^= camellia_f(BR, s->kar);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->klr);
camellia128_keyop_inv(s, -1);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kll);
*/
camellia_6rounds(s, &BR, &BL, KEY_ROL15 | KEY_DIR_INV | KEY_INC2 , 0x0B); camellia_6rounds(s, &BR, &BL, KEY_ROL15 | KEY_DIR_INV | KEY_INC2 , 0x0B);
/* FL injection */ /* FL injection */
camellia128_keyop_inv(s, -1); camellia128_keyop_inv((camellia128_ctx_t*)s, -1);
BR = camellia_fl(BR, s->kar); BR = camellia_fl(BR, s->kar);
BL = camellia_fl_inv(BL, s->kal); BL = camellia_fl_inv(BL, s->kal);
camellia128_keyop_inv((camellia128_ctx_t*)s, -1); camellia128_keyop_inv((camellia128_ctx_t*)s, -1);
/* last 6 */ /* last 6 */
/*
BL ^= camellia_f(BR, s->kar);
BR ^= camellia_f(BL, s->kal);
BL ^= camellia_f(BR, s->klr);
BR ^= camellia_f(BL, s->kll);
camellia128_keyop_inv(s, -1);
BL ^= camellia_f(BR, s->kar);
BR ^= camellia_f(BL, s->kal);
/*/
camellia_6rounds(s, &BR, &BL, KEY_ROL15 | KEY_DIR_INV | KEY_POSTC2 , 0x33); camellia_6rounds(s, &BR, &BL, KEY_ROL15 | KEY_DIR_INV | KEY_POSTC2 , 0x33);
/* Postwhitening */ /* Postwhitening */
@ -525,20 +457,14 @@ void camellia128_dec(void* block, const camellia128_ctx_t* s){
temp64 = BR; temp64 = BR;
BR = BL; BR = BL;
BL = temp64; BL = temp64;
BL = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */ change_endian(&BL, 64/8);
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */ change_endian(&BR, 64/8);
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
temp64 = BR;
BR = temp64 >> 56 | temp64 << 56 /* swap the most out bytes (1 & 8) */
| (temp64 & (0xffLL<<48))>>(5*8) | (temp64 & (0xffLL<< 8))<<(5*8) /* 2 & 7 */
| (temp64 & (0xffLL<<40))>>(3*8) | (temp64 & (0xffLL<<16))<<(3*8) /* 3 & 6 */
| (temp64 & (0xffLL<<32))>>(1*8) | (temp64 & (0xffLL<<24))<<(1*8); /* 4 & 5 */
} }
/*****************************************************************************/ /*****************************************************************************/
/*****************************************************************************/ /*****************************************************************************/

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := A5_1.o
$(ALGO_NAME)_TEST_BIN := main-a5_1-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-a5_1-test.o debug.o uart.o serial-tools.o \
nessie_stream_test.o nessie_common.o nessie_stream_test.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-arcfour-test.o debug.o uart.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o \ nessie_stream_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-arcfour-test.o debug.o uart.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o \ nessie_stream_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -4,10 +4,10 @@ ALGO_NAME := CAMELLIA
# comment out the following line for removement of Camellia from the build process # comment out the following line for removement of Camellia from the build process
BLOCK_CIPHERS += $(ALGO_NAME) BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := camellia.o camellia-asm.o $(ALGO_NAME)_OBJ := camellia128-stub.o camellia-asm.o
$(ALGO_NAME)_TEST_BIN := main-camellia-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-camellia-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o \ nessie_bc_test.o \
nessie_common.o cli.o performance_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := cast5.o
$(ALGO_NAME)_TEST_BIN := main-cast5-test.o debug.o uart.o serial-tools.o cli.o\ $(ALGO_NAME)_TEST_BIN := main-cast5-test.o debug.o uart.o serial-tools.o cli.o\
nessie_bc_test.o nessie_common.o performance_test.o nessie_bc_test.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_TEST_BIN := main-des-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-des-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-entropium-test.o debug.o uart.o serial-tools.o \
cli.o performance_test.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-grain-test.o debug.o uart.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o \ nessie_stream_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := hmac-sha1.o sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-hmac-sha1-test.o debug.o uart.o serial-tools.o cli.o \ $(ALGO_NAME)_TEST_BIN := main-hmac-sha1-test.o debug.o uart.o serial-tools.o cli.o \
nessie_mac_test.o nessie_common.o nessie_mac_test.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := hmac-sha256.o sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-hmac-sha256-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-hmac-sha256-test.o debug.o uart.o serial-tools.o \
nessie_mac_test.o nessie_common.o cli.o nessie_mac_test.o nessie_common.o cli.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := md5.o
$(ALGO_NAME)_TEST_BIN := main-md5-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-md5-test.o debug.o uart.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o performance_test.o nessie_hash_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := noekeon_asm.o
$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie $(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PEROFRMANCE_TEST := performance $(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := noekeon.o
$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie $(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PEROFRMANCE_TEST := performance $(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := present.o
$(ALGO_NAME)_TEST_BIN := main-present-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-present-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -10,5 +10,5 @@ $(ALGO_NAME)_TEST_BIN := main-rc5-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o \ nessie_bc_test.o \
nessie_common.o cli.o performance_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie $(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PEROFRMANCE_TEST := performance $(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := rc6.o
$(ALGO_NAME)_TEST_BIN := main-rc6-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-rc6-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie $(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PEROFRMANCE_TEST := performance $(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-seed-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o \ nessie_bc_test.o nessie_common.o \
cli.o performance_test.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-bitslice.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-fast.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-small.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := serpent.o serpent-sboxes_c.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-sha1-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-sha1-test.o debug.o uart.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o performance_test.o nessie_hash_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-sha1-test.o debug.o uart.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o \ nessie_hash_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o performance_test.o nessie_hash_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := sha256.o
$(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o performance_test.o nessie_hash_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := shabea.o sha256-asm.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-shabea-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-shabea-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := shacal1_enc.o sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-shacal1_enc-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-shacal1_enc-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_OBJ := shacal2_enc.o sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-shacal2_enc-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-shacal2_enc-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-skipjack-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o \ nessie_bc_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_TEST_BIN := main-tdes-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-tdes-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -9,5 +9,5 @@ $(ALGO_NAME)_TEST_BIN := main-trivium-test.o debug.o uart.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o \ nessie_stream_test.o nessie_common.o cli.o \
performance_test.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := xtea-asm.o
$(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,5 +8,5 @@ $(ALGO_NAME)_OBJ := xtea.o
$(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o serial-tools.o \ $(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o performance_test.o nessie_bc_test.o nessie_common.o cli.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie" $(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PEROFRMANCE_TEST := "performance" $(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -115,15 +115,15 @@ void testrun_camellia(void){
0x89, 0xab, 0xcd, 0xef, 0x89, 0xab, 0xcd, 0xef,
0xfe, 0xdc, 0xba, 0x98, 0xfe, 0xdc, 0xba, 0x98,
0x76, 0x54, 0x32, 0x10 }; 0x76, 0x54, 0x32, 0x10 };
/*
uint8_t data[16] = { uint8_t key[16] = { 0x01, 0x23, 0x45, 0x67,
0x10, 0x32, 0x54, 0x76, 0x89, 0xab, 0xcd, 0xef,
0x98, 0xba, 0xdc, 0xfe, 0xfe, 0xdc, 0xba, 0x98,
0xfe, 0xcd, 0xab, 0x89 0x76, 0x54, 0x32, 0x10 };
0x67, 0x89, 0x67, 0x01};
*/
camellia128_ctx_t ctx; camellia128_ctx_t ctx;
camellia128_init(data, &ctx); camellia128_init(key, &ctx);
uart_putstr_P(PSTR("\r\n key: ")); uart_putstr_P(PSTR("\r\n key: "));
uart_hexdump(data, 16); uart_hexdump(data, 16);
uart_putstr_P(PSTR("\r\n plaintext: ")); uart_putstr_P(PSTR("\r\n plaintext: "));
@ -131,6 +131,9 @@ void testrun_camellia(void){
camellia128_enc(data, &ctx); camellia128_enc(data, &ctx);
uart_putstr_P(PSTR("\r\n ciphertext: ")); uart_putstr_P(PSTR("\r\n ciphertext: "));
uart_hexdump(data, 16); uart_hexdump(data, 16);
camellia128_dec(data, &ctx);
uart_putstr_P(PSTR("\r\n decrypted: "));
uart_hexdump(data, 16);
} }