]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - test_src/main-xtea-test.c
fixing some decryption bugs in GCM128
[avr-crypto-lib.git] / test_src / main-xtea-test.c
index bc13d95dcf1cf15942760dd3d905a90941145b3f..2371e1c0a66e828ca17eba2d79766e9cce51df0b 100644 (file)
  * 
 */
 
-#include "config.h"
-#include "serial-tools.h"
-#include "uart_i.h"
-#include "debug.h"
+
+#include "main-test-common.h"
 
 #include "xtea.h"
 #include "nessie_bc_test.h"
 #include "performance_test.h"
-#include "cli.h"
-
-#include <stdint.h>
-#include <string.h>
+#include "bcal-performance.h"
+#include "bcal-nessie.h"
+#include "bcal_xtea.h"
 
-charalgo_name = "XTEA";
+char *algo_name = "XTEA";
 
-void xtea_genctx_dummy(uint8_t* key, uint16_t keysize, void* ctx){
-       memcpy(ctx, key, (keysize+7)/8);
-}
-
-void xtea_enc_dummy(uint8_t* buffer, void* ctx){
-       xtea_enc((uint32_t*)buffer, (uint32_t*)buffer, ctx);
-}
+const bcdesc_t *const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const const algolist[] PROGMEM = {
+       (bcdesc_t*)&xtea_desc,
+       NULL
+};
 
-void xtea_dec_dummy(uint8_t* buffer, void* ctx){
-       xtea_dec((uint32_t*)buffer, (uint32_t*)buffer, ctx);
-}
+/******************************************************************************/
 
 void testrun_nessie_xtea(void){
-       nessie_bc_ctx.blocksize_B =   8;
-       nessie_bc_ctx.keysize_b   = 128;
-       nessie_bc_ctx.name        = algo_name;
-       nessie_bc_ctx.ctx_size_B  = 128/8;
-       nessie_bc_ctx.cipher_enc  = (nessie_bc_enc_fpt)xtea_enc_dummy;
-       nessie_bc_ctx.cipher_dec  = (nessie_bc_dec_fpt)xtea_dec_dummy;
-       nessie_bc_ctx.cipher_genctx  = (nessie_bc_gen_fpt)xtea_genctx_dummy;
-       
-       nessie_bc_run();        
+       bcal_nessie_multiple(algolist);
 }
 
 void testrun_performance_xtea(void){
-       uint64_t t;
-       uint8_t key[16], data[8];
-       
-       calibrateTimer();
-       print_overhead();
-       
-       memset(key,  0, 16);
-       memset(data, 0,  8);
-       
-       startTimer(1);
+       bcal_performance_multiple(algolist);
+}
+
+void test_xtea(void){
+       uint8_t key[16];
+       uint8_t data[8];
+
+       memset(key, 0, 16);
+       key[0] = 0x80;
+       memset(data, 0, 8);
+       cli_putstr_P(PSTR("\r\n*** XTEA test ***\r\n key:   "));
+       cli_hexdump(key, 16);
+       cli_putstr_P(PSTR("\r\n plain: "));
+       cli_hexdump(data, 8);
        xtea_enc(data, data, key);
-       t = stopTimer();
-       print_time_P(PSTR("\tencrypt time: "), t);
-       
-       startTimer(1);
+       cli_putstr_P(PSTR("\r\n crypt: "));
+       cli_hexdump(data, 8);
        xtea_dec(data, data, key);
-       t = stopTimer();
-       print_time_P(PSTR("\tdecrypt time: "), t);
-       
-       cli_putstr_P(PSTR("\r\n"));
+       cli_putstr_P(PSTR("\r\n plain: "));
+       cli_hexdump(data, 8);
 }
 
 /*****************************************************************************
@@ -92,23 +76,19 @@ const char test_str[]        PROGMEM = "test";
 const char performance_str[] PROGMEM = "performance";
 const char echo_str[]        PROGMEM = "echo";
 
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
        { nessie_str,      NULL, testrun_nessie_xtea},
-       { test_str,        NULL, testrun_nessie_xtea},
+       { test_str,        NULL, test_xtea},
        { performance_str, NULL, testrun_performance_xtea},
        { echo_str,    (void*)1, (void_fpt)echo_ctrl},
        { NULL,            NULL, NULL}
 };
 
 int main (void){
-       DEBUG_INIT();
-       
-       cli_rx = (cli_rx_fpt)uart0_getc;
-       cli_tx = (cli_tx_fpt)uart0_putc;                
-       for(;;){
-               cli_putstr_P(PSTR("\r\n\r\nCrypto-VS ("));
-               cli_putstr(algo_name);
-               cli_putstr_P(PSTR(")\r\nloaded and running\r\n"));
-               cmd_interface(cmdlist);
+    main_setup();
+
+    for(;;){
+        welcome_msg(algo_name);
+        cmd_interface(cmdlist);
        }
 }