]> git.cryptolib.org Git - avr-crypto-lib.git/blobdiff - test_src/main-arcfour-test.c
rcfour optimized++; memxor optimized++
[avr-crypto-lib.git] / test_src / main-arcfour-test.c
index 7ebe5277b9db008026b693f2657dd9b9cbca1edc..009366f29c993276a61367d5e74f95bad6c52048 100644 (file)
 
 #include "arcfour.h"
 #include "nessie_stream_test.h"
+#include "cli.h"
+#include "performance_test.h"
 
+#include <stdlib.h>
 #include <stdint.h>
 #include <string.h>
 
@@ -56,15 +59,31 @@ void testrun_nessie_arcfour(void){
 }
 
 void testrun_performance_arcfour(void){
-       nessie_stream_ctx.outsize_b = 8; /* actually unused */
-       nessie_stream_ctx.keysize_b = 128; /* this is theone we have refrence vectors for */
-       nessie_stream_ctx.ivsize_b = (uint16_t)-1;
-       nessie_stream_ctx.name = cipher_name;
-       nessie_stream_ctx.ctx_size_B = sizeof(arcfour_ctx_t);
-       nessie_stream_ctx.cipher_genctx = (nessie_stream_genctx_fpt)arcfour_genctx_dummy;
-       nessie_stream_ctx.cipher_enc = (nessie_stream_genenc_fpt)arcfour_gen;
+       uint64_t t;
+       char str[16];
+       uint8_t key[16];
+       arcfour_ctx_t ctx;
        
-       nessie_stream_run();    
+       calibrateTimer();
+       print_overhead();       
+       
+       memset(key,  0, 16);
+       
+       startTimer(1);
+       arcfour_init(key, 16, &ctx);
+       t = stopTimer();
+       uart_putstr_P(PSTR("\r\n\tctx-gen time: "));
+       ultoa((unsigned long)t, str, 10);
+       uart_putstr(str);       
+       
+       startTimer(1);
+       arcfour_gen(&ctx);
+       t = stopTimer();
+       uart_putstr_P(PSTR("\r\n\tencrypt time: "));
+       ultoa((unsigned long)t, str, 10);
+       uart_putstr(str);       
+       
+       uart_putstr_P(PSTR("\r\n"));    
 }
 
 
@@ -75,18 +94,21 @@ void testrun_performance_arcfour(void){
 int main (void){
        char  str[20];
        DEBUG_INIT();
-       uart_putstr("\r\n");
-
+       
        uart_putstr_P(PSTR("\r\n\r\nCrypto-VS ("));
        uart_putstr(cipher_name);
        uart_putstr_P(PSTR(")\r\nloaded and running\r\n"));
 
-restart:
+       PGM_P    u   = PSTR("nessie\0test\0performance\0");
+       void_fpt v[] = {testrun_nessie_arcfour, 
+                           testrun_nessie_arcfour, 
+                           testrun_performance_arcfour};
+
        while(1){ 
-               if (!getnextwordn(str,20))  {DEBUG_S("DBG: W1\r\n"); goto error;}
-               if (strcmp(str, "nessie")) {DEBUG_S("DBG: 1b\r\n"); goto error;}
-                       testrun_nessie_arcfour();
-               goto restart;           
+               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");