X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=test_src%2Fmain-threefish-test.c;h=45ecd0097430e2df31da1f3caeb413ad5403d5cf;hb=701cee0d98aab48dd3192c8cc7c77eb42581bc56;hp=fd233bd451e94a5f324a924c03848aefd4fd7934;hpb=302f07c97444e2f5f5560dc2fd9af58d4b591d45;p=avr-crypto-lib.git diff --git a/test_src/main-threefish-test.c b/test_src/main-threefish-test.c index fd233bd..45ecd00 100644 --- a/test_src/main-threefish-test.c +++ b/test_src/main-threefish-test.c @@ -27,9 +27,13 @@ #include "debug.h" #include "threefish.h" -#include "nessie_bc_test.h" #include "cli.h" #include "performance_test.h" +#include "bcal-performance.h" +#include "bcal-nessie.h" +#include "bcal_threefish256.h" +#include "bcal_threefish512.h" +#include "bcal_threefish1024.h" #include #include @@ -37,6 +41,12 @@ char* algo_name = "Threefish"; +const bcdesc_t* const algolist[] PROGMEM = { + (bcdesc_t*)&threefish256_desc, + (bcdesc_t*)&threefish512_desc, + (bcdesc_t*)&threefish1024_desc, + NULL +}; /***************************************************************************** * additional validation-functions * *****************************************************************************/ @@ -55,61 +65,8 @@ void threefish256_dump(threefish256_ctx_t* ctx){ } } -void threefish256_dummy_init(const uint8_t* key, uint16_t keysize_b, void* ctx){ - threefish256_init(key, NULL, ctx); -} - -void testrun_nessie_threefish256(void){ - nessie_bc_ctx.keysize_b = 256; - nessie_bc_ctx.blocksize_B = 32; - nessie_bc_ctx.ctx_size_B = sizeof(threefish256_ctx_t); - nessie_bc_ctx.name = "Threefish256"; - nessie_bc_ctx.cipher_genctx = threefish256_dummy_init; - nessie_bc_ctx.cipher_enc = (nessie_bc_enc_fpt)threefish256_enc; - nessie_bc_ctx.cipher_dec = (nessie_bc_dec_fpt)threefish256_dec; - nessie_bc_ctx.cipher_free = NULL; - - nessie_bc_run(); -} - -void threefish512_dummy_init(const uint8_t* key, uint16_t keysize_b, void* ctx){ - threefish512_init(key, NULL, ctx); -} - -void testrun_nessie_threefish512(void){ - nessie_bc_ctx.keysize_b = 512; - nessie_bc_ctx.blocksize_B = 64; - nessie_bc_ctx.ctx_size_B = sizeof(threefish512_ctx_t); - nessie_bc_ctx.name = "Threefish512"; - nessie_bc_ctx.cipher_genctx = threefish512_dummy_init; - nessie_bc_ctx.cipher_enc = (nessie_bc_enc_fpt)threefish512_enc; - nessie_bc_ctx.cipher_dec = (nessie_bc_dec_fpt)threefish512_dec; - nessie_bc_ctx.cipher_free = NULL; - - nessie_bc_run(); -} - -void threefish1024_dummy_init(const uint8_t* key, uint16_t keysize_b, void* ctx){ - threefish1024_init(key, NULL, ctx); -} - -void testrun_nessie_threefish1024(void){ - nessie_bc_ctx.keysize_b = 1024; - nessie_bc_ctx.blocksize_B = 128; - nessie_bc_ctx.ctx_size_B = sizeof(threefish1024_ctx_t); - nessie_bc_ctx.name = "Threefish1024"; - nessie_bc_ctx.cipher_genctx = threefish1024_dummy_init; - nessie_bc_ctx.cipher_enc = (nessie_bc_enc_fpt)threefish1024_enc; - nessie_bc_ctx.cipher_dec = (nessie_bc_dec_fpt)threefish1024_dec; - nessie_bc_ctx.cipher_free = NULL; - - nessie_bc_run(); -} - void testrun_nessie_threefish(void){ - testrun_nessie_threefish256(); - testrun_nessie_threefish512(); - testrun_nessie_threefish1024(); + bcal_nessie_multiple(algolist); } void testrun_stdtest_threefish256(void){ @@ -267,129 +224,8 @@ void testrun_stdtest_threefish(void){ testrun_stdtest_threefish1024(); } -void testrun_performance_threefish256(void){ - uint64_t t; - char str[16]; - uint8_t key[THREEFISH256_BLOCKSIZE_B]; - uint8_t data[THREEFISH256_BLOCKSIZE_B]; - uint8_t tweak[16]; - threefish256_ctx_t ctx; - - cli_putstr_P(PSTR("\r\nThreefish-256 performance:")); - - calibrateTimer(); - print_overhead(); - -// memset(key, 0, THREEFISH256_BLOCKSIZE_B); -// memset(tweak, 0, 16); - - startTimer(1); - threefish256_init(key, tweak, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tctx-gen time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish256_enc(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tencrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish256_dec(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tdecrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - cli_putstr_P(PSTR("\r\n")); -} - -void testrun_performance_threefish512(void){ - uint64_t t; - char str[16]; - uint8_t key[THREEFISH512_BLOCKSIZE_B]; - uint8_t data[THREEFISH512_BLOCKSIZE_B]; - uint8_t tweak[16]; - threefish512_ctx_t ctx; - - cli_putstr_P(PSTR("\r\nThreefish-512 performance:")); - - calibrateTimer(); - print_overhead(); - -// memset(key, 0, THREEFISH512_BLOCKSIZE_B); -// memset(tweak, 0, 16); - - startTimer(1); - threefish512_init(key, tweak, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tctx-gen time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish512_enc(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tencrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish512_dec(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tdecrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - cli_putstr_P(PSTR("\r\n")); -} - -void testrun_performance_threefish1024(void){ - uint64_t t; - char str[16]; - uint8_t key[THREEFISH1024_BLOCKSIZE_B]; - uint8_t data[THREEFISH1024_BLOCKSIZE_B]; - uint8_t tweak[16]; - threefish1024_ctx_t ctx; - - cli_putstr_P(PSTR("\r\nThreefish-1024 performance:")); - - calibrateTimer(); - print_overhead(); - -// memset(key, 0, THREEFISH1024_BLOCKSIZE_B); -// memset(tweak, 0, 16); - - startTimer(1); - threefish1024_init(key, tweak, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tctx-gen time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish1024_enc(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tencrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - startTimer(1); - threefish1024_dec(data, &ctx); - t = stopTimer(); - cli_putstr_P(PSTR("\r\n\tdecrypt time: ")); - ultoa((unsigned long)t, str, 10); - cli_putstr(str); - - cli_putstr_P(PSTR("\r\n")); -} - void testrun_performance_threefish(void){ - testrun_performance_threefish256(); - testrun_performance_threefish512(); - testrun_performance_threefish1024(); + bcal_performance_multiple(algolist); } void init_test(void){ @@ -418,7 +254,7 @@ const char inittest_str[] PROGMEM = "inittest"; 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_threefish}, { test_str, NULL, testrun_stdtest_threefish}, { test256_str, NULL, testrun_stdtest_threefish256},