- 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"));
+ r = memcmp(data, buffer, 8);
+ cli_putstr_P(PSTR(" decrypt: "));
+ if(r){
+ cli_putstr_P(PSTR("fail"));
+ }else{
+ cli_putstr_P(PSTR("ok"));
+ }
+ return r;
+}
+
+void testrun_nist_vectors(void){
+ uint8_t key[10];
+ uint8_t data[8];
+ uint8_t i;
+
+ cli_putstr_P(PSTR("\r\n\r\n=== NIST vectors run 1 ==="));
+ memset(key, 0, 10);
+ for(i=0; i<64; ++i){
+ memset(data, 0, 8);
+ data[i>>3] |= 0x80 >> (i & 7);
+ cli_putstr_P(PSTR("\r\n round: 0x"));
+ cli_hexdump_byte(i);
+ test_enc(data, key);
+ }
+
+ cli_putstr_P(PSTR("\r\n\r\n=== NIST vectors run 2 ==="));
+ memset(data, 0, 8);
+ for(i=0; i<80; ++i){
+ memset(key, 0, 10);
+ key[i>>3] |= 0x80 >> (i & 7);
+ cli_putstr_P(PSTR("\r\n round: 0x"));
+ cli_hexdump_byte(i);
+ test_enc(data, key);
+ }