X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=test_src%2Fmain-twister224-test.c;h=e38fc88447b04f46eea0d9d4d5d60c8b33301c81;hb=5c68d38237aa51b91a26309c24e8e38c7fbdffbe;hp=0cf3d6a4c3dbd21e9df68edb705a3302a5fb2603;hpb=4469def3e210fc904cfefc5b158fc6d4dc5f6e47;p=avr-crypto-lib.git diff --git a/test_src/main-twister224-test.c b/test_src/main-twister224-test.c index 0cf3d6a..e38fc88 100644 --- a/test_src/main-twister224-test.c +++ b/test_src/main-twister224-test.c @@ -1,6 +1,6 @@ /* main-twister224-test.c */ /* - This file is part of the Crypto-avr-lib/microcrypt-lib. + This file is part of the AVR-Crypto-Lib. Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) This program is free software: you can redistribute it and/or modify @@ -30,6 +30,8 @@ #include "nessie_hash_test.h" #include "performance_test.h" +#include + #include #include #include @@ -44,14 +46,6 @@ void twister224_init_dummy(void* ctx){ twister_small_init(ctx, 224); } -void twister224_next_dummy(void* buffer, void* ctx){ - twister_small_nextBlock(ctx, buffer); -} - -void twister224_last_dummy(void* buffer, uint16_t size_b, void* ctx){ - twister_small_lastBlock(ctx, buffer, size_b); -} - void twister224_ctx2hash_dummy(void* buffer, void* ctx){ twister_small_ctx2hash(buffer, ctx, 224); } @@ -63,8 +57,8 @@ void testrun_nessie_twister224(void){ nessie_hash_ctx.ctx_size_B = sizeof(twister_state_t); nessie_hash_ctx.name = algo_name; nessie_hash_ctx.hash_init = (nessie_hash_init_fpt)twister224_init_dummy; - nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister224_next_dummy; - nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister224_last_dummy; + nessie_hash_ctx.hash_next = (nessie_hash_next_fpt)twister_small_nextBlock; + nessie_hash_ctx.hash_last = (nessie_hash_last_fpt)twister_small_lastBlock; nessie_hash_ctx.hash_conv = (nessie_hash_conv_fpt)twister224_ctx2hash_dummy; nessie_hash_run(); @@ -86,39 +80,40 @@ void testrun_twister224(void){ "12345678901234567890123456789012345678901234567890123456789012345678901234567890"}; uint32_t i; - uart_putstr_P(PSTR("\r\n=== TWISTER-224 test suit (MD5 test values) ===")); + cli_putstr_P(PSTR("\r\n=== TWISTER-224 test suit (MD5 test values) ===")); for(i=0; i<7; ++i){ - uart_putstr_P(PSTR("\r\n TWISTER-224 (\"")); - uart_putstr(testv[i]); - uart_putstr_P(PSTR("\") = \r\n\t")); + cli_putstr_P(PSTR("\r\n TWISTER-224 (\"")); + cli_putstr(testv[i]); + cli_putstr_P(PSTR("\") = \r\n\t")); twister224(&hash, testv[i], strlen(testv[i])*8); - uart_hexdump(hash, 224/8); + cli_hexdump(hash, 224/8); } - uart_putstr_P(PSTR("\r\n\r\n=== TWISTER-224 test suit (short test values) ===")); + cli_putstr_P(PSTR("\r\n\r\n=== TWISTER-224 test suit (short test values) ===")); uint8_t stestv[]= {0x00, 0x00, 0xC0, 0xC0, 0x80, 0x48, 0x50}; uint8_t stestl[]= { 0, 1, 2, 3, 4, 5, 6}; for(i=0; i<7; ++i){ - uart_putstr_P(PSTR("\r\n TWISTER-224 (\"")); - uart_hexdump(&(stestv[i]), 1); - uart_putstr_P(PSTR("\") = \r\n\t")); + cli_putstr_P(PSTR("\r\n TWISTER-224 (\"")); + cli_hexdump(&(stestv[i]), 1); + cli_putstr_P(PSTR("\") = \r\n\t")); twister224(&hash, &(stestv[i]), stestl[i]); - uart_hexdump(hash, 224/8); + cli_hexdump(hash, 224/8); } - - uart_putstr_P(PSTR("\r\n\r\n=== TWISTER-224 test suit (long test) ===")); +#ifdef TWISTER_LONGTEST + cli_putstr_P(PSTR("\r\n\r\n=== TWISTER-224 test suit (long test) ===")); char* ltest= "abcdefghbcdefghicdefghijdefghijk" "efghijklfghijklmghijklmnhijklmno"; twister224_ctx_t ctx; twister224_init(&ctx); - uart_putstr_P(PSTR("\r\n TWISTER-224 ( 16777216 x \"")); - uart_putstr(ltest); - uart_putstr_P(PSTR("\") = \r\n\t")); + cli_putstr_P(PSTR("\r\n TWISTER-224 ( 16777216 x \"")); + cli_putstr(ltest); + cli_putstr_P(PSTR("\") = \r\n\t")); for(i=0; i<16777216; ++i){ twister224_nextBlock(&ctx, ltest); } - twister224_ctx2hash(hash, &ctx) - uart_hexdump(hash, 224/8); + twister224_ctx2hash(hash, &ctx); + cli_hexdump(hash, 224/8); +#endif } @@ -127,7 +122,7 @@ void testrun_performance_twister224(void){ char str[16]; uint8_t data[64]; twister_state_t ctx; - + volatile uint16_t i; calibrateTimer(); print_overhead(); @@ -136,34 +131,48 @@ void testrun_performance_twister224(void){ startTimer(1); twister_small_init(&ctx, 224); t = stopTimer(); - uart_putstr_P(PSTR("\r\n\tctx-gen time: ")); + cli_putstr_P(PSTR("\r\n\tctx-gen time: ")); ultoa((unsigned long)t, str, 10); - uart_putstr(str); + cli_putstr(str); + i=3000; + while(i--) + _delay_ms(1); startTimer(1); twister_small_nextBlock(&ctx, data); t = stopTimer(); - uart_putstr_P(PSTR("\r\n\tone-block time: ")); + cli_putstr_P(PSTR("\r\n\tone-block time: ")); ultoa((unsigned long)t, str, 10); - uart_putstr(str); + cli_putstr(str); + i=3000; + while(i--) + _delay_ms(1); startTimer(1); twister_small_lastBlock(&ctx, data, 0); t = stopTimer(); - uart_putstr_P(PSTR("\r\n\tlast block time: ")); + cli_putstr_P(PSTR("\r\n\tlast block time: ")); ultoa((unsigned long)t, str, 10); - uart_putstr(str); - + cli_putstr(str); + + i=3000; + while(i--) + _delay_ms(1); + startTimer(1); twister_small_ctx2hash(data, &ctx, 224); t = stopTimer(); - uart_putstr_P(PSTR("\r\n\tctx2hash time: ")); + cli_putstr_P(PSTR("\r\n\tctx2hash time: ")); ultoa((unsigned long)t, str, 10); - uart_putstr(str); + cli_putstr(str); - uart_putstr_P(PSTR("\r\n")); + i=3000; + while(i--) + _delay_ms(1); + + cli_putstr_P(PSTR("\r\n")); } @@ -171,29 +180,28 @@ void testrun_performance_twister224(void){ * main * *****************************************************************************/ -int main (void){ - char str[20]; +const char nessie_str[] PROGMEM = "nessie"; +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_twister224}, + { test_str, NULL, testrun_twister224}, + { performance_str, NULL, testrun_performance_twister224}, + { echo_str, (void*)1, (void_fpt)echo_ctrl}, + { NULL, NULL, NULL} +}; + +int main (void){ DEBUG_INIT(); - uart_putstr_P(PSTR("\r\n")); - - uart_putstr_P(PSTR("\r\n\r\nCrypto-VS (")); - uart_putstr(algo_name); - uart_putstr_P(PSTR(")\r\nloaded and running\r\n")); - PGM_P u = PSTR("nessie\0test\0performance\0"); - void_fpt v[] = { testrun_nessie_twister224, - testrun_twister224, - testrun_performance_twister224 }; - - while(1){ - if (!getnextwordn(str,20)){DEBUG_S("DBG: W1\r\n"); goto error;} - if(execcommand_d0_P(str, u, v)<0){ - uart_putstr_P(PSTR("\r\nunknown command\r\n")); - } - continue; - error: - uart_putstr("ERROR\r\n"); + + cli_rx = uart_getc; + cli_tx = uart_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); } } -