7 #include "serial-tools.h"
12 #include "nessie_bc_test.h"
13 #include "performance_test.h"
19 char* cipher_name = "XTEA";
21 void xtea_genctx_dummy(uint8_t* key, uint16_t keysize, void* ctx){
22 memcpy(ctx, key, (keysize+7)/8);
25 void xtea_enc_dummy(uint8_t* buffer, void* ctx){
26 xtea_enc((uint32_t*)buffer, (uint32_t*)buffer, ctx);
29 void xtea_dec_dummy(uint8_t* buffer, void* ctx){
30 xtea_dec((uint32_t*)buffer, (uint32_t*)buffer, ctx);
33 void testrun_nessie_xtea(void){
34 nessie_bc_ctx.blocksize_B = 8;
35 nessie_bc_ctx.keysize_b = 128;
36 nessie_bc_ctx.name = cipher_name;
37 nessie_bc_ctx.ctx_size_B = 128/8;
38 nessie_bc_ctx.cipher_enc = (nessie_bc_enc_fpt)xtea_enc_dummy;
39 nessie_bc_ctx.cipher_dec = (nessie_bc_dec_fpt)xtea_dec_dummy;
40 nessie_bc_ctx.cipher_genctx = (nessie_bc_gen_fpt)xtea_genctx_dummy;
45 void testrun_performance_xtea(void){
47 uint8_t key[16], data[8];
56 xtea_enc(data, data, key);
58 print_time_P(PSTR("\tencrypt time: "), t);
61 xtea_dec(data, data, key);
63 print_time_P(PSTR("\tdecrypt time: "), t);
65 uart_putstr_P(PSTR("\r\n"));
68 /*****************************************************************************
70 *****************************************************************************/
77 uart_putstr_P(PSTR("\r\n\r\nCrypto-VS ("));
78 uart_putstr(cipher_name);
79 uart_putstr_P(PSTR(")\r\nloaded and running\r\n"));
81 PGM_P u = PSTR("nessie\0test\0performance\0");
82 void_fpt v[] = {testrun_nessie_xtea, testrun_nessie_xtea, testrun_performance_xtea};
85 if (!getnextwordn(str,20)){DEBUG_S("DBG: W1\r\n"); goto error;}
86 if(execcommand_d0_P(str, u, v)<0){
87 uart_putstr_P(PSTR("\r\nunknown command\r\n"));
91 uart_putstr("ERROR\r\n");