X-Git-Url: https://git.cryptolib.org/?p=avr-crypto-lib.git;a=blobdiff_plain;f=test_src%2Fmain-des-test.c;h=27546716c68f35f7a599e08e9057fb8116267367;hp=f6d237c7e58e270894049714c21b9a07311a731b;hb=4b5da1dc27a791b5c448274a3db09cd035b33493;hpb=6483e60140be5fe4ab60de85cdf679fc0518dc99 diff --git a/test_src/main-des-test.c b/test_src/main-des-test.c index f6d237c..2754671 100644 --- a/test_src/main-des-test.c +++ b/test_src/main-des-test.c @@ -1,7 +1,7 @@ /* main-des-test.c */ /* This file is part of the AVR-Crypto-Lib. - Copyright (C) 2008 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 @@ -21,57 +21,55 @@ * */ -#include "config.h" - -#include "uart_i.h" -#include "debug.h" +#include "main-test-common.h" #include "des.h" -#include "nessie_bc_test.h" -#include "cli.h" #include "performance_test.h" #include "bcal-performance.h" +#include "bcal-nessie.h" #include "bcal_des.h" +#include "bcal_tdes.h" +#include "bcal_tdes2.h" -#include -#include -#include - -char* algo_name = "DES"; +char *algo_name = "DES"; -const bcdesc_t* algolist[] PROGMEM = { +const bcdesc_t *const algolist[] PROGMEM = { (bcdesc_t*)&des_desc, + (bcdesc_t*)&tdes2_desc, + (bcdesc_t*)&tdes_desc, NULL }; /***************************************************************************** * additional validation-functions * *****************************************************************************/ -void des_init_dummy(const void* key, uint16_t keysize_b, void* ctx){ - memcpy(ctx, key, 8); -} -void des_enc_dummy(void* buffer, void* ctx){ - des_enc(buffer, buffer, ctx); -} - -void des_dec_dummy(void* buffer, void* ctx){ - des_dec(buffer, buffer, ctx); -} - -void testrun_nessie_des(void){ - nessie_bc_init(); - nessie_bc_ctx.blocksize_B = 8; - nessie_bc_ctx.keysize_b = 64; - nessie_bc_ctx.name = algo_name; - nessie_bc_ctx.ctx_size_B = 8; - nessie_bc_ctx.cipher_enc = (nessie_bc_enc_fpt)des_enc_dummy; - nessie_bc_ctx.cipher_dec = (nessie_bc_dec_fpt)des_dec_dummy; - nessie_bc_ctx.cipher_genctx = (nessie_bc_gen_fpt)des_init_dummy; - - nessie_bc_run(); +void testrun_nessie_des(const char *param){ + if(!param){ + bcal_nessie_multiple(algolist); + }else{ + uint8_t i=0; + bcdesc_t *ptr; + for(;;){ + ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]); + if(ptr == NULL){ + cli_putstr_P(PSTR("\r\nunknown algorithm: ")); + cli_putstr(param); + cli_putstr_P(PSTR("\r\navailable algorithms are:")); + i = 0; + while((ptr = (bcdesc_t*)pgm_read_word(&algolist[i++]))){ + cli_putstr_P(PSTR("\r\n\t")); + cli_putstr_P((const char*)pgm_read_word(&ptr->name)); + } + return; + } + if(!strcmp_P(param, (const char*)pgm_read_word(&ptr->name))){ + bcal_nessie(ptr); + return; + } + } + } } - void testrun_performance_des(void){ bcal_performance_multiple(algolist); } @@ -84,23 +82,21 @@ const char test_str[] PROGMEM = "test"; const char performance_str[] PROGMEM = "performance"; const char echo_str[] PROGMEM = "echo"; -cmdlist_entry_t cmdlist[] PROGMEM = { - { nessie_str, NULL, testrun_nessie_des }, - { test_str, NULL, testrun_nessie_des }, +const cmdlist_entry_t cmdlist[] PROGMEM = { + { nessie_str, (void*)1, (void_fpt)testrun_nessie_des }, + { test_str, (void*)1, (void_fpt)testrun_nessie_des }, { performance_str, NULL, testrun_performance_des}, { 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; +int main(void) { + main_setup(); + for(;;){ - cli_putstr_P(PSTR("\r\n\r\nCrypto-VS (")); - cli_putstr(algo_name); - cli_putstr_P(PSTR(")\r\nloaded and running\r\n")); + welcome_msg(algo_name); cmd_interface(cmdlist); - } + } + } +