X-Git-Url: https://git.cryptolib.org/?a=blobdiff_plain;f=main-present-test.c;h=4c739bcd2f8436d20f215fcea0ee85af36e85cbc;hb=4d76909e4282baf1420ee309e270384246b241b8;hp=bcb0e5490b26449e0471057e9473d4e4cb14a40a;hpb=b567660a247f4d4a15de45db334add3581a7524d;p=avr-crypto-lib.git
diff --git a/main-present-test.c b/main-present-test.c
index bcb0e54..4c739bc 100644
--- a/main-present-test.c
+++ b/main-present-test.c
@@ -1,3 +1,21 @@
+/* main-present-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 .
+*/
/*
* present test-suit
*
@@ -11,7 +29,9 @@
#include "present.h"
#include "nessie_bc_test.h"
#include "cli.h"
+#include "performance_test.h"
+#include
#include
#include
@@ -74,12 +94,39 @@ void testrun_self_present(void){
}
+void testrun_performance_present(void){
+ uint64_t t;
+ uint8_t key[10], data[8];
+ present_ctx_t ctx;
+
+ calibrateTimer();
+ print_overhead();
+
+ memset(key, 0, 10);
+ memset(data, 0, 8);
+
+ startTimer(1);
+ present_init(key, 80, &ctx);
+ t = stopTimer();
+ print_time_P(PSTR("\tctx-gen time: "),t);
+
+ startTimer(1);
+ present_enc(data, &ctx);
+ t = stopTimer();
+ print_time_P(PSTR("\tencrypt time: "), t);
+
+ startTimer(1);
+ present_dec(data, &ctx);
+ t = stopTimer();
+ print_time_P(PSTR("\tdecrypt time: "), t);
+
+ uart_putstr_P(PSTR("\r\n"));
+}
+
/*****************************************************************************
* main *
*****************************************************************************/
-typedef void(*void_fpt)(void);
-
int main (void){
char str[20];
DEBUG_INIT();
@@ -89,8 +136,8 @@ int main (void){
uart_putstr(cipher_name);
uart_putstr_P(PSTR(")\r\nloaded and running\r\n"));
- PGM_P u = PSTR("nessie\0test\0");
- void_fpt v[] = {testrun_nessie_present, testrun_self_present};
+ PGM_P u = PSTR("nessie\0test\0performance\0");
+ void_fpt v[] = {testrun_nessie_present, testrun_self_present, testrun_performance_present};
while(1){
if (!getnextwordn(str,20)){DEBUG_S("DBG: W1\r\n"); goto error;}