*
*/
-#include "config.h"
-
-#include "uart_i.h"
-#include "debug.h"
+#include "main-test-common.h"
#include "noekeon.h"
#include "noekeon_prng.h"
#include "bigint.h"
#include "bigint_io.h"
-#include "cli.h"
#include "performance_test.h"
-#include <stdint.h>
-#include <string.h>
-#include <stdlib.h>
-
char* algo_name = "BigInt";
/*****************************************************************************
bigint_print_hex(&b);
cli_putstr_P(PSTR(" = "));
uint8_t *c_b;
- c_b = malloc(((a.length_B>b.length_B)?a.length_B:b.length_B)+2);
+ c_b = malloc(((a.length_W>b.length_W)?a.length_W:b.length_W)+2);
if(c_b==NULL){
cli_putstr_P(PSTR("\n\rERROR: Out of memory!"));
free(a.wordv);
return;
}
*/
- cli_putstr_P(PSTR("\r\n "));
- bigint_print_hex(&a);
- cli_putstr_P(PSTR(" + "));
- bigint_print_hex(&b);
- cli_putstr_P(PSTR("<<8*"));
- cli_hexdump_rev(&scale, 2);
- cli_putstr_P(PSTR(" = "));
uint8_t *c_b;
- c_b = malloc(((a.length_B>(b.length_B+scale))?a.length_B:(b.length_B+scale))+2);
+ c_b = malloc(((a.length_W>(b.length_W+scale))?a.length_W:(b.length_W+scale))+2);
if(c_b==NULL){
cli_putstr_P(PSTR("\n\rERROR: Out of memory!"));
free(a.wordv);
c.wordv = c_b;
bigint_copy(&c, &a);
bigint_add_scale_u(&c, &b, scale);
+ cli_putstr_P(PSTR("\r\n "));
+ bigint_print_hex(&a);
+ cli_putstr_P(PSTR(" + "));
+ bigint_print_hex(&b);
+ cli_putstr_P(PSTR("<<8*"));
+ cli_hexdump_rev(&scale, 2);
+ cli_putstr_P(PSTR(" = "));
bigint_print_hex(&c);
cli_putstr_P(PSTR("\r\n"));
free(a.wordv);
bigint_print_hex(&b);
cli_putstr_P(PSTR(" = "));
uint8_t *c_b;
- c_b = malloc((((a.length_B>b.length_B)?a.length_B:b.length_B)+1)*2);
+ c_b = malloc((((a.length_W>b.length_W)?a.length_W:b.length_W)+1)*2);
if(c_b==NULL){
cli_putstr_P(PSTR("\n\rERROR: Out of memory!"));
free(a.wordv);
bigint_print_hex(&a);
cli_putstr_P(PSTR("**2 = "));
uint8_t *c_b;
- c_b = malloc(a.length_B*2);
+ c_b = malloc(a.length_W*2);
if(c_b==NULL){
cli_putstr_P(PSTR("\n\rERROR: Out of memory!"));
free(a.wordv);
cli_putstr_P(PSTR("\r\n end expmod test"));
return;
}
- d_b = malloc(c.length_B);
+ d_b = malloc(c.length_W);
if(d_b==NULL){
cli_putstr_P(PSTR("\n\rERROR: Out of memory!"));
free(a.wordv);
cli_putstr_P(PSTR("\r\n end gcdext test"));
return;
}
- c.wordv = malloc((a.length_B<b.length_B)?a.length_B:b.length_B);
- d.wordv = malloc(1+(a.length_B>b.length_B)?a.length_B:b.length_B);
- e.wordv = malloc(1+(a.length_B>b.length_B)?a.length_B:b.length_B);
+ c.wordv = malloc((a.length_W<b.length_W)?a.length_W:b.length_W);
+ d.wordv = malloc(1+(a.length_W>b.length_W)?a.length_W:b.length_W);
+ e.wordv = malloc(1+(a.length_W>b.length_W)?a.length_W:b.length_W);
cli_putstr_P(PSTR("\r\n gcdext( "));
bigint_print_hex(&a);
a.wordv=a_b;
b.wordv=b_b;
c.wordv=c_b;
- a.length_B = 1;
- b.length_B = 1;
+ a.length_W = 1;
+ b.length_W = 1;
a_b[0] = 1;
b_b[0] = 2;
bigint_add_u(&c, &a, &b);
a.wordv=a_b;
b.wordv=b_b;
c.wordv=c_b;
- a.length_B = 5;
- b.length_B = 5;
+ a.length_W = 5;
+ b.length_W = 5;
bigint_adjust(&a);
bigint_adjust(&b);
bigint_mul_s(&c, &a, &b);
a.wordv=a_b;
b.wordv=b_b;
c.wordv=c_b;
- a.length_B = 8;
- b.length_B = 8;
+ a.length_W = 8;
+ b.length_W = 8;
a.info=0x80;
bigint_adjust(&a);
bigint_adjust(&b);
// f4 b86a 2220 0774 437d 70e6 **2 = e9f00f29ca1c876a7a682bd1e04f6925caffd6660ea4
/*
-uint8_t square_test_data[] PROGMEM = {
+const uint8_t square_test_data[] PROGMEM = {
0xA0, 0x3C, 0x23, 0x9F, 0x7A, 0xFC, 0x60, 0xEB, 0x96, 0xC2, 0xA8, 0xAC, 0xC3, 0xC9, 0x9E, 0xEC,
0x4A, 0xF0, 0x1C, 0xB2, 0x36, 0x68, 0xD6, 0x4D, 0x3E, 0x4F, 0x8E, 0x55, 0xEA, 0x52, 0x46, 0x68,
0x6E, 0x18, 0x88, 0x37, 0x03, 0x70, 0xBD, 0x01, 0x60, 0xE2, 0xD6, 0x12, 0xA0, 0x0E, 0xD2, 0x72,
uint8_t c_b[22];
a.wordv=a_b;
c.wordv=c_b;
- a.length_B = 11;
+ a.length_W = 11;
a.info=0x00;
bigint_adjust(&a);
bigint_square(&c, &a);
uint8_t b_b[2] = {0x52, 0x27};
uint8_t c_b[2];
a.wordv=a_b;
- a.length_B = 2;
+ a.length_W = 2;
a.info=0x00;
bigint_adjust(&a);
b.wordv=b_b;
- b.length_B = 2;
+ b.length_W = 2;
b.info=0x00;
bigint_adjust(&b);
c.wordv = c_b;
uint8_t b_b[5] = {0x72, 0x7D, 0x57, 0xAC, 0X6F};
uint8_t c_b[6], d_b[6], e_b[6];
a.wordv=a_b;
- a.length_B = 5;
+ a.length_W = 5;
a.info=0x00;
bigint_adjust(&a);
b.wordv=b_b;
- b.length_B = 5;
+ b.length_W = 5;
b.info=0x00;
bigint_adjust(&b);
c.wordv = c_b;
const char performance_str[] PROGMEM = "performance";
const char echo_str[] PROGMEM = "echo";
-cmdlist_entry_t cmdlist[] PROGMEM = {
+const cmdlist_entry_t cmdlist[] PROGMEM = {
{ add_test_str, NULL, test_add_bigint },
{ add_scale_test_str, NULL, test_add_scale_bigint },
{ mul_test_str, NULL, test_mul_bigint },
};
int main (void){
- DEBUG_INIT();
-
- cli_rx = (cli_rx_fpt)uart0_getc;
- cli_tx = (cli_tx_fpt)uart0_putc;
- for(;;){
- cli_putstr_P(PSTR("\r\n\r\nCrypto-VS ("));
- cli_putstr(algo_name);
- cli_putstr_P(PSTR(")\r\nloaded and running\r\n"));
+ main_setup();
+
+ for(;;){
+ welcome_msg(algo_name);
cmd_interface(cmdlist);
}
}