modifying some nessie test suits (mac & hash) to use less RAM

This commit is contained in:
bg 2009-03-01 19:29:27 +00:00
parent 170835f03e
commit 65b5512d92
58 changed files with 337 additions and 131 deletions

View File

@ -19,8 +19,8 @@
#ifndef __CONFIG_H__
#define __CONFIG_H__
#include <avr/io.h>
#define F_CPU 20000000
// #define F_CPU 16000000 /* Oszillator-Frequenz in Hz */
// #define F_CPU 20000000
#define F_CPU 16000000 /* Oszillator-Frequenz in Hz */
// #define F_CPU 14745600

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := A5_1.o
$(ALGO_NAME)_TEST_BIN := main-a5_1-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,7 +8,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := aes_enc-asm.o aes_dec-asm.o aes_sbox-asm.o aes_invsbox-asm.o \
aes_keyschedule-asm.o
$(ALGO_NAME)_TEST_BIN := main-aes-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -8,7 +8,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := aes_enc-asm.o aes_dec-asm_faster.o aes_sbox-asm.o aes_invsbox-asm.o \
aes_keyschedule-asm.o
$(ALGO_NAME)_TEST_BIN := main-aes-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -10,7 +10,7 @@ $(ALGO_NAME)_OBJ := aes_enc.o aes_dec.o aes_sbox.o aes_invsbox.o \
aes128_enc.o aes128_dec.o aes192_enc.o aes192_dec.o \
aes256_enc.o aes256_dec.o
$(ALGO_NAME)_TEST_BIN := main-aes-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := arcfour-asm.o
$(ALGO_NAME)_TEST_BIN := main-arcfour-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o \
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := arcfour.o
$(ALGO_NAME)_TEST_BIN := main-arcfour-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o \
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := camellia128-stub.o camellia-asm.o
$(ALGO_NAME)_TEST_BIN := main-camellia-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o \
nessie_common.o cli.o string-extras.o performance_test.o
dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := cast5.o
$(ALGO_NAME)_TEST_BIN := main-cast5-test.o debug.o uart.o hexdigit_tab.o serial-tools.o cli.o string-extras.o\
nessie_bc_test.o nessie_common.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_TEST_BIN := main-des-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := grain.o
$(ALGO_NAME)_TEST_BIN := main-grain-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o \
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ MACS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := hmac-md5.o md5-asm.o
$(ALGO_NAME)_TEST_BIN := main-hmac-md5-test.o debug.o uart.o hexdigit_tab.o serial-tools.o cli.o string-extras.o \
nessie_mac_test.o nessie_common.o base64_enc.o base64_dec.o
nessie_mac_test.o dbz_strings.o nessie_common.o base64_enc.o base64_dec.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ MACS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := hmac-sha1.o sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-hmac-sha1-test.o debug.o uart.o hexdigit_tab.o serial-tools.o cli.o string-extras.o \
nessie_mac_test.o nessie_common.o
nessie_mac_test.o dbz_strings.o nessie_common.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ MACS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := hmac-sha256.o sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-hmac-sha256-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_mac_test.o nessie_common.o cli.o string-extras.o
nessie_mac_test.o dbz_strings.o nessie_common.o cli.o string-extras.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := md5.o
$(ALGO_NAME)_TEST_BIN := main-md5-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := md5-asm.o
$(ALGO_NAME)_TEST_BIN := main-md5-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := mugi.o gf256mul.o aes_sbox.o
$(ALGO_NAME)_TEST_BIN := main-mugi-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o \
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := noekeon_asm.o
$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := noekeon.o
$(ALGO_NAME)_TEST_BIN := main-noekeon-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -7,7 +7,7 @@ MACS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := noekeon_asm.o omac_noekeon.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-omac-noekeon-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_mac_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_mac_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -7,7 +7,7 @@ MACS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := noekeon_asm.o omac_noekeon_C.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-omac-noekeon-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_mac_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_mac_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := present.o
$(ALGO_NAME)_TEST_BIN := main-present-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -8,7 +8,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := rc5.o
$(ALGO_NAME)_TEST_BIN := main-rc5-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o \
nessie_common.o cli.o string-extras.o performance_test.o
dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := rc6.o
$(ALGO_NAME)_TEST_BIN := main-rc6-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := test nessie
$(ALGO_NAME)_PERFORMANCE_TEST := performance

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := seed-asm.o
$(ALGO_NAME)_TEST_BIN := main-seed-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o \
nessie_bc_test.o dbz_strings.o nessie_common.o \
cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := seed_C.o
$(ALGO_NAME)_TEST_BIN := main-seed-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o \
nessie_bc_test.o dbz_strings.o nessie_common.o \
cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-bitslice-asm.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := serpent-sboxes-bitslice-asm.o serpent-asm.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-fast.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := serpent-asm.o serpent-sboxes-small.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := serpent.o serpent-sboxes_c.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-serpent-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-sha1-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o \
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o hfal-basic.o hfal_sha1.o shavs.o dump.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := sha1.o
$(ALGO_NAME)_TEST_BIN := main-sha1-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o \
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o hfal-basic.o hfal_sha1.o shavs.o dump.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o \
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o \
hfal-basic.o hfal_sha256.o shavs.o dump.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := sha256.o
$(ALGO_NAME)_TEST_BIN := main-sha256-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o \
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o \
hfal-basic.o hfal_sha256.o shavs.o dump.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := shabea.o sha256-asm.o memxor.o
$(ALGO_NAME)_TEST_BIN := main-shabea-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := shacal1_enc.o sha1-asm.o
$(ALGO_NAME)_TEST_BIN := main-shacal1_enc-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -7,7 +7,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := shacal2_enc.o sha256-asm.o
$(ALGO_NAME)_TEST_BIN := main-shacal2_enc-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := skipjack.o
$(ALGO_NAME)_TEST_BIN := main-skipjack-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o \
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := des.o
$(ALGO_NAME)_TEST_BIN := main-tdes-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ STREAM_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := trivium.o
$(ALGO_NAME)_TEST_BIN := main-trivium-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_stream_test.o nessie_common.o cli.o string-extras.o \
nessie_stream_test.o dbz_strings.o nessie_common.o cli.o string-extras.o \
performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister-small-asm.o twister-asm.o twister224.o
$(ALGO_NAME)_TEST_BIN := main-twister224-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister.o twister-small.o memxor.o gf256mul.o
$(ALGO_NAME)_TEST_BIN := main-twister224-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister-asm.o twister-small-asm.o twister256.o
$(ALGO_NAME)_TEST_BIN := main-twister256-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister.o twister-small.o memxor.o gf256mul.o
$(ALGO_NAME)_TEST_BIN := main-twister256-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister-asm.o twister-big-asm.o twister384.o
$(ALGO_NAME)_TEST_BIN := main-twister384-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister.o twister-big.o memxor.o gf256mul.o
$(ALGO_NAME)_TEST_BIN := main-twister384-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister-asm.o twister-big-asm.o twister512.o
$(ALGO_NAME)_TEST_BIN := main-twister512-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ HASHES += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := twister.o twister-big.o memxor.o gf256mul.o
$(ALGO_NAME)_TEST_BIN := main-twister512-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_hash_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_hash_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := xtea-asm.o
$(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

View File

@ -6,7 +6,7 @@ BLOCK_CIPHERS += $(ALGO_NAME)
$(ALGO_NAME)_OBJ := xtea.o
$(ALGO_NAME)_TEST_BIN := main-xtea-test.o debug.o uart.o hexdigit_tab.o serial-tools.o \
nessie_bc_test.o nessie_common.o cli.o string-extras.o performance_test.o
nessie_bc_test.o dbz_strings.o nessie_common.o cli.o string-extras.o performance_test.o
$(ALGO_NAME)_NESSIE_TEST := "nessie"
$(ALGO_NAME)_PERFORMANCE_TEST := "performance"

95
test_src/dbz_strings.c Normal file
View File

@ -0,0 +1,95 @@
/* dbz_strings.c */
/*
* This file is part of AnonAccess, an access system which can be used
* to open door or doing other things with an anonymity featured
* account managment.
* Copyright (C) 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
*/
/*
* author: Daniel Otte
* email: daniel.otte@rub.de
* license: GPLv3
*
* */
#include <stdint.h>
#include <string.h>
#include <avr/pgmspace.h>
/******************************************************************************/
uint8_t dbz_strcount(const char* str){
uint8_t ret=1;
if(*str=='\0' && *(str+1)=='\0')
return 0;
for(;;){
while(*str++)
;
if(*str=='\0')
return ret;
++ret;
}
}
/******************************************************************************/
void dbz_splitup(char* dbzstr, char** strings){
if(*dbzstr=='\0' && *(dbzstr+1)=='\0')
return;
*strings++ = dbzstr;
for(;;){
while(*dbzstr++)
;
if(*dbzstr=='\0')
return;
*strings++ = dbzstr;
}
}
/******************************************************************************/
uint8_t dbz_strcount_P(PGM_P str){
uint8_t ret=1;
if(pgm_read_byte(str)=='\0' && pgm_read_byte(str+1)=='\0')
return 0;
for(;;){
while(pgm_read_byte(str++))
;
if(pgm_read_byte(str)=='\0')
return ret;
++ret;
}
}
/******************************************************************************/
void dbz_splitup_P(PGM_P dbzstr, PGM_P* strings){
if(pgm_read_byte(dbzstr)=='\0' && pgm_read_byte(dbzstr+1)=='\0')
return;
*strings++ = dbzstr;
for(;;){
while(pgm_read_byte(dbzstr++))
;
if(pgm_read_byte(dbzstr)=='\0')
return;
*strings++ = dbzstr;
}
}
/******************************************************************************/

75
test_src/dbz_strings.h Normal file
View File

@ -0,0 +1,75 @@
/* dbz_strings.h */
/*
* This file is part of AnonAccess, an access system which can be used
* to open door or doing other things with an anonymity featured
* account managment.
* Copyright (C) 2006, 2007, 2008, 2009 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 <http://www.gnu.org/licenses/>.
*/
#ifndef DBZ_STRINGS_H_
#define DBZ_STRINGS_H_
/** \file dbz_strings.h
* \author Daniel Otte
* \email daniel.otte@rub.de
* \license GPLv3 or later
* \brief functions for handling of double-zero-terminated strings
*
*/
#include <stdint.h>
#include <avr/pgmspace.h>
/** \fn uint8_t dbz_strcount(const char* str)
* \brief count stings in dbz-terminated string
*
* Count the single zero terminated string in a
* double terminated string
* \param str pointer to the double-zero-terminated string
*/
uint8_t dbz_strcount(const char* str);
/** \fn void dbz_splitup(char* dbzstr, char** strings)
* \brief split up a dbz-terminated string
*
* Fills an array with pointers to the single terminated string
* in a double-zero-terminated string
* \param dbzstr pointer to the double-zero-terminated string
* \param strings pointer to the array of strings (char pointers)
*/
void dbz_splitup(char* dbzstr, char** strings);
/** \fn uint8_t dbz_strcount_P(PGM_P str)
* \brief count stings in dbz-terminated string in flash
*
* Count the single zero terminated string in a
* double terminated string which is placed in flash (progmem)
* \param str pointer to the double-zero-terminated string in flash
*/
uint8_t dbz_strcount_P(PGM_P str);
/** \fn void dbz_splitup_P(PGM_P dbzstr, PGM_P* strings)
* \brief split up a dbz-terminated string in flash
*
* Fills an array with pointers (PGM_P) to the single terminated string
* in a double-zero-terminated string which is placed in flash
* \param dbzstr pointer to the double-zero-terminated string in flash
* \param strings pointer to the array of strings (PGM_P)
*/
void dbz_splitup_P(PGM_P dbzstr, PGM_P* strings);
#endif /*DBZ_STRINGS_H_*/

View File

@ -30,6 +30,19 @@ char hexdigit_tab_P[] PROGMEM =
'8','9','A','B',
'C','D','E','F'};
char hexdigit_tab_uc_P[] PROGMEM =
{'0','1','2','3',
'4','5','6','7',
'8','9','A','B',
'C','D','E','F'};
char hexdigit_tab_lc_P[] PROGMEM =
{'0','1','2','3',
'4','5','6','7',
'8','9','a','b',
'c','d','e','f'};

View File

@ -24,5 +24,6 @@
#define HEXDIGIT_TAB_H_
extern char hexdigit_tab_P[];
extern char hexdigit_tab_uc_P[];
extern char hexdigit_tab_lc_P[];
#endif /*HEXDIGIT_TAB_H_*/

View File

@ -31,7 +31,7 @@
#include <avr/pgmspace.h>
#include <stdlib.h> /* utoa() */
#include "nessie_common.h"
#include "hexdigit_tab.h"
#ifdef NESSIE_ALIVE
void nessie_send_alive(void){
@ -39,20 +39,16 @@ void nessie_send_alive(void){
}
void nessie_send_alive_a(uint16_t i){
if((i&63)==63)
if((i&31)==0)
NESSIE_PUTC(NESSIE_ALIVE_CHAR);
}
#endif
void nessie_print_block(uint8_t* block, uint16_t blocksize_bit){
char tab [] = {'0', '1', '2', '3',
'4', '5', '6', '7',
'8', '9', 'A', 'B',
'C', 'D', 'E', 'F'};
uint16_t i;
for(i=0; i<(blocksize_bit+7)/8; ++i){
NESSIE_PUTC(tab[(block[i])>>4]);
NESSIE_PUTC(tab[(block[i])&0xf]);
NESSIE_PUTC(pgm_read_byte(hexdigit_tab_uc_P+((block[i])>>4)));
NESSIE_PUTC(pgm_read_byte(hexdigit_tab_uc_P+((block[i])&0xf)));
}
}
@ -136,7 +132,7 @@ void nessie_print_header(char* name,
uint16_t i;
NESSIE_PUTSTR_P(PSTR("\r\n\r\n"
"********************************************************************************\r\n"
"* micro-crypt - crypto primitives for microcontrolles by Daniel Otte *\r\n"
"* AVR-Crypto-Lib - crypto primitives for AVR microcontrolles by Daniel Otte *\r\n"
"********************************************************************************\r\n"
"\r\n"));
NESSIE_PUTSTR_P(PSTR("Primitive Name: "));

View File

@ -29,26 +29,32 @@
#include <string.h>
#include "nessie_hash_test.h"
#include "nessie_common.h"
#include "uart.h"
#include "dbz_strings.h"
nessie_hash_ctx_t nessie_hash_ctx;
#define HASHSIZE_B ((nessie_hash_ctx.hashsize_b+7)/8)
#define BLOCKSIZE_B (nessie_hash_ctx.blocksize_B)
static
void ascii_hash(char* data, char* desc){
void ascii_hash_P(PGM_P data, PGM_P desc){
uint8_t ctx[nessie_hash_ctx.ctx_size_B];
uint8_t hash[(nessie_hash_ctx.hashsize_b+7)/8];
uint8_t hash[HASHSIZE_B];
uint16_t sl;
uint8_t buffer[BLOCKSIZE_B];
NESSIE_PUTSTR_P(PSTR("\r\n message="));
NESSIE_PUTSTR(desc);
NESSIE_PUTSTR_P(desc);
nessie_hash_ctx.hash_init(ctx);
sl = strlen(data);
while(sl>=nessie_hash_ctx.blocksize_B){
nessie_hash_ctx.hash_next(data, ctx);
data += nessie_hash_ctx.blocksize_B;
sl -= nessie_hash_ctx.blocksize_B;
sl = strlen_P(data);
while(sl>=BLOCKSIZE_B){
memcpy_P(buffer, data, BLOCKSIZE_B);
nessie_hash_ctx.hash_next(buffer, ctx);
data += BLOCKSIZE_B;
sl -= BLOCKSIZE_B;
}
nessie_hash_ctx.hash_last(data, sl*8, ctx);
memcpy_P(buffer, data, sl);
nessie_hash_ctx.hash_last(buffer, sl*8, ctx);
nessie_hash_ctx.hash_conv(hash, ctx);
nessie_print_item("hash", hash, (nessie_hash_ctx.hashsize_b+7)/8);
}
@ -206,26 +212,34 @@ void nessie_hash_run(void){
nessie_print_header(nessie_hash_ctx.name, 0, 0, nessie_hash_ctx.hashsize_b, 0, 0);
/* test set 1 */
char* challange[8][2]= {
{"", "\"\" (empty string)"},
{"a", "\"a\""},
{"abc", "\"abc\""},
{"message digest", "\"message digest\""},
{"abcdefghijklmnopqrstuvwxyz","\"abcdefghijklmnopqrstuvwxyz\""},
{"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
"\"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\""},
{"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789" , "\"A...Za...z0...9\""},
{"1234567890" "1234567890" "1234567890" "1234567890"
"1234567890" "1234567890" "1234567890" "1234567890",
"8 times \"1234567890\""}
};
char* challange_dbz= PSTR(
"\0"
"\"\" (empty string)\0"
"a\0"
"\"a\"\0"
"abc\0"
"\"abc\"\0"
"message digest\0"
"\"message digest\"\0"
"abcdefghijklmnopqrstuvwxyz\0"
"\"abcdefghijklmnopqrstuvwxyz\"\0"
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\0"
"\"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\"\0"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789\0"
"\"A...Za...z0...9\"\0"
"1234567890123456789012345678901234567890"
"1234567890123456789012345678901234567890\0"
"8 times \"1234567890\"\0"
);
PGM_P challange[16];
set=1;
nessie_print_setheader(set);
dbz_splitup_P(challange_dbz, challange);
for(i=0; i<8; ++i){
nessie_print_set_vector(set, i);
ascii_hash(challange[i][0], challange[i][1]);
ascii_hash_P(challange[2*i], challange[2*i+1]);
}
nessie_print_set_vector(set, i);
amillion_hash();

View File

@ -28,35 +28,47 @@
#include <stdint.h>
#include <string.h>
#include <stdlib.h>
#include <avr/pgmspace.h>
#include "nessie_mac_test.h"
#include "nessie_common.h"
#include "dbz_strings.h"
#include "uart.h"
nessie_mac_ctx_t nessie_mac_ctx;
#define KEYSIZE_B ((nessie_mac_ctx.keysize_b+7)/8)
#define MACSIZE_B ((nessie_mac_ctx.macsize_b+7)/8)
#define KEYSIZE_B ((nessie_mac_ctx.keysize_b+7)/8)
#define MACSIZE_B ((nessie_mac_ctx.macsize_b+7)/8)
#define BLOCKSIZE_B (nessie_mac_ctx.blocksize_B)
#define PRINTKEY nessie_print_item("key", key, KEYSIZE_B)
#define PRINTMAC nessie_print_item("MAC", mac, MACSIZE_B)
static uint8_t keyproto[] PROGMEM = {
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef };
static
void ascii_mac(char* data, char* desc, uint8_t* key){
void ascii_mac_P(PGM_P data, PGM_P desc, uint8_t* key){
uint8_t ctx[nessie_mac_ctx.ctx_size_B];
uint8_t mac[MACSIZE_B];
uint16_t sl;
uint8_t buffer[BLOCKSIZE_B];
NESSIE_PUTSTR_P(PSTR("\r\n message="));
NESSIE_PUTSTR(desc);
NESSIE_PUTSTR_P(desc);
PRINTKEY;
nessie_mac_ctx.mac_init(ctx, key, nessie_mac_ctx.keysize_b);
sl = strlen(data);
sl = strlen_P(data);
while(sl>nessie_mac_ctx.blocksize_B){
nessie_mac_ctx.mac_next(ctx, data);
data += nessie_mac_ctx.blocksize_B;
sl -= nessie_mac_ctx.blocksize_B;
memcpy_P(buffer, data, BLOCKSIZE_B);
nessie_mac_ctx.mac_next(ctx, buffer);
data += BLOCKSIZE_B;
sl -= BLOCKSIZE_B;
}
nessie_mac_ctx.mac_last(ctx, data, sl*8);
memcpy_P(buffer, data, sl);
nessie_mac_ctx.mac_last(ctx, buffer, sl*8);
nessie_mac_ctx.mac_conv(mac, ctx);
PRINTMAC;
}
@ -169,11 +181,6 @@ void tv4_mac(void){
uint8_t ctx[nessie_mac_ctx.ctx_size_B];
uint8_t mac[MACSIZE_B];
uint8_t block[MACSIZE_B];
uint8_t core_key[] = {
0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
0x88, 0x99, 0xAA, 0xBB, 0xCC, 0xDD, 0xEE, 0xFF,
0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF
};
uint8_t key[KEYSIZE_B];
uint16_t n=MACSIZE_B*8;
uint32_t i;
@ -185,7 +192,7 @@ void tv4_mac(void){
NESSIE_PUTSTR_P(PSTR(" zero bits"));
memset(block, 0, MACSIZE_B);
for(i=0; i<KEYSIZE_B; ++i)
key[i] = core_key[i%(3*8)];
key[i] = pgm_read_byte(&(keyproto[i%(3*8)]));
nessie_print_item("key", key, KEYSIZE_B);
nessie_mac_ctx.mac_init(ctx, key, nessie_mac_ctx.keysize_b);
while(n>nessie_mac_ctx.blocksize_B*8){
@ -200,65 +207,70 @@ void tv4_mac(void){
nessie_mac_ctx.mac_last(ctx, mac, nessie_mac_ctx.macsize_b);
nessie_mac_ctx.mac_conv(mac, ctx);
NESSIE_SEND_ALIVE_A(i);
NESSIE_SEND_ALIVE_A(i+32);
}
nessie_print_item("iterated 100000 times", mac, MACSIZE_B);
}
void nessie_mac_run(void){
uint16_t i;
uint8_t set;
uint8_t keyproto[] = {0x00, 0x11, 0x22, 0x33, 0x44, 0x55, 0x66, 0x77,
0x88, 0x99, 0xaa, 0xbb, 0xcc, 0xdd, 0xee, 0xff,
0x01, 0x23, 0x45, 0x67, 0x89, 0xab, 0xcd, 0xef };
uint8_t key[KEYSIZE_B];
nessie_print_header(nessie_mac_ctx.name, nessie_mac_ctx.keysize_b, 0, 0,
nessie_mac_ctx.macsize_b, 0);
/* test set 1 */
char* challange[10][2]= {
{"", "\"\" (empty string)"},
{"a", "\"a\""},
{"abc", "\"abc\""},
{"message digest", "\"message digest\""},
{"abcdefghijklmnopqrstuvwxyz","\"abcdefghijklmnopqrstuvwxyz\""},
{"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq",
"\"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\""},
{"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789" , "\"A...Za...z0...9\""},
{"1234567890" "1234567890" "1234567890" "1234567890"
"1234567890" "1234567890" "1234567890" "1234567890",
"8 times \"1234567890\""},
{"Now is the time for all ", "\"Now is the time for all \""},
{"Now is the time for it", "\"Now is the time for it\""}
};
char* challange_dbz= PSTR(
"\0"
"\"\" (empty string)\0"
"a\0"
"\"a\"\0"
"abc\0"
"\"abc\"\0"
"message digest\0"
"\"message digest\"\0"
"abcdefghijklmnopqrstuvwxyz\0"
"\"abcdefghijklmnopqrstuvwxyz\"\0"
"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\0"
"\"abcdbcdecdefdefgefghfghighijhijkijkljklmklmnlmnomnopnopq\"\0"
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"0123456789\0"
"\"A...Za...z0...9\"\0"
"1234567890123456789012345678901234567890"
"1234567890123456789012345678901234567890\0"
"8 times \"1234567890\"\0"
"Now is the time for all \0"
"\"Now is the time for all \"\0"
"Now is the time for it\0"
"\"Now is the time for it\"\0"
);
set=1;
nessie_print_setheader(set);
for(i=0; i<KEYSIZE_B; ++i){
key[i] = keyproto[i%sizeof(keyproto)];
key[i] = pgm_read_byte(&(keyproto[i%sizeof(keyproto)]));
}
PGM_P challange[20];
dbz_splitup_P(challange_dbz, challange);
for(i=0; i<10; ++i){
nessie_print_set_vector(set, i);
ascii_mac(challange[i][0], challange[i][1], key);
ascii_mac_P(challange[2*i], challange[2*i+1], key);
}
nessie_print_set_vector(set, i);
amillion_mac(key);
for(i=0; i<KEYSIZE_B; ++i){
key[i] = keyproto[16+i%8];
key[i] = pgm_read_byte(&(keyproto[0x10+i%0x8]));
}
for(i=0; i<10; ++i){
nessie_print_set_vector(set, 11+i);
ascii_mac(challange[i][0], challange[i][1], key);
ascii_mac_P(challange[2*i], challange[2*i+1], key);
}
nessie_print_set_vector(set, 11+i);
amillion_mac(key);
/* test set 2 */
set=2;
for(i=0; i<KEYSIZE_B; ++i){
key[i] = keyproto[i%sizeof(keyproto)];
key[i] = pgm_read_byte(&(keyproto[i%sizeof(keyproto)]));
}
nessie_print_setheader(set);
for(i=0; i<1024; ++i){
@ -286,7 +298,7 @@ void nessie_mac_run(void){
nessie_print_set_vector(set, i);
memset(key, 0, KEYSIZE_B);
key[i>>3]=0x80>>(i&0x7);
ascii_mac("ABC", "\"ABC\"", key);
ascii_mac_P(PSTR("ABC"), PSTR("\"ABC\""), key);
}
nessie_print_footer();
}