X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=main-noekeon-test.c;h=851c7bc663009bd4eabca77ed13a1b77575dac03;hb=4d76909e4282baf1420ee309e270384246b241b8;hp=43eb3a90fc5080d481644d5ff7ae179b4078c60c;hpb=9e7453525f32441ea49ef1d9b3248e94d9554eec;p=avr-crypto-lib.git diff --git a/main-noekeon-test.c b/main-noekeon-test.c index 43eb3a9..851c7bc 100644 --- a/main-noekeon-test.c +++ b/main-noekeon-test.c @@ -1,3 +1,21 @@ +/* main-noekeon-test.c */ +/* + This file is part of the Crypto-avr-lib/microcrypt-lib. + Copyright (C) 2008 Daniel Otte (daniel.otte@rub.de) + + 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 + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ /* * serpent test-suit * @@ -62,6 +80,12 @@ void testrun_nessie_noekeon_direct(void){ nessie_bc_run(); } +void testrun_nessie_noekeon(void){ + testrun_nessie_noekeon_direct(); + testrun_nessie_noekeon_indirect(); +} + + void testrun_stdtest_rundirect(void* data, void* key){ uart_putstr_P(PSTR("\r\n ")); uart_putstr_P(PSTR("k = ")); @@ -127,7 +151,6 @@ void testrun_stdtest_noekeon(void){ noekeon_enc(data, &ctx); testrun_stdtest_runindirect(data, key3); - uart_putstr_P(PSTR("\r\nTest vectors for block cipher Noekeon in Direct-Key Mode:\r\n")); memset(key, 0, 16); @@ -150,21 +173,13 @@ void testrun_stdtest_noekeon(void){ } void testrun_performance_noekeon(void){ - uint16_t i,c; uint64_t t; - char str[6]; + char str[16]; uint8_t key[16], data[16]; noekeon_ctx_t ctx; calibrateTimer(); - getOverhead(&c, &i); - uart_putstr_P(PSTR("\r\n\r\n=== benchmark ===")); - utoa(c, str, 10); - uart_putstr_P(PSTR("\r\n\tconst overhead: ")); - uart_putstr(str); - utoa(i, str, 10); - uart_putstr_P(PSTR("\r\n\tinterrupt overhead: ")); - uart_putstr(str); + print_overhead(); memset(key, 0, 16); memset(data, 0, 16); @@ -173,29 +188,29 @@ void testrun_performance_noekeon(void){ noekeon_init(key, &ctx); t = stopTimer(); uart_putstr_P(PSTR("\r\n\tctx-gen time: ")); - uart_hexdump(&t, 8); - + ultoa((unsigned long)t, str, 10); + uart_putstr(str); startTimer(1); - noekeon_enc(data, ctx); + noekeon_enc(data, &ctx); t = stopTimer(); uart_putstr_P(PSTR("\r\n\tencrypt time: ")); - uart_hexdump(&t, 8); - + ultoa((unsigned long)t, str, 10); + uart_putstr(str); startTimer(1); - noekeon_dec(data, ctx); + noekeon_dec(data, &ctx); t = stopTimer(); uart_putstr_P(PSTR("\r\n\tdecrypt time: ")); - uart_hexdump(&t, 8); + ultoa((unsigned long)t, str, 10); + uart_putstr(str); + uart_putstr_P(PSTR("\r\n")); } /***************************************************************************** * main * *****************************************************************************/ -typedef void(*void_fpt)(void); - int main (void){ char str[20]; DEBUG_INIT(); @@ -206,7 +221,7 @@ int main (void){ uart_putstr_P(PSTR(")\r\nloaded and running\r\n")); PGM_P u = PSTR("nessie\0test\0direct\0indirect\0performance\0"); - void_fpt v[] = {testrun_nessie_noekeon_direct, + void_fpt v[] = {testrun_nessie_noekeon, testrun_stdtest_noekeon, testrun_nessie_noekeon_direct, testrun_nessie_noekeon_indirect,