#include #include #include "cipher.h" #include "debug.h" #include "test-helpers.h" FILE *DUMP; struct vector { char *name; uint8_t key[KEY_BYTES]; uint8_t tweak[TWEAK_BYTES]; uint8_t message[BLOCK_BYTES]; }; typedef struct vector vector; const vector VECTORS[] = { { .name = "order", .key = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, }, .tweak = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, }, .message = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f } } }; int main(int argc, char **argv) { if (argc < 3) { fprintf(stderr, "usage: %s OUTPUT-FOLDER PREFIX\n", argv[0]); return 1; } for (const vector *v=VECTORS; vname); debug_dump_buffer("message", BLOCK_BYTES, v->message, 0); debug_dump_buffer("key", KEY_BYTES, v->key, 0); debug_dump_buffer("tweak", TWEAK_BYTES, v->tweak, 0); uint8_t ciphertext[BLOCK_BYTES]; lilliput_tbc_encrypt(v->key, v->tweak, v->message, ciphertext); debug_dump_buffer("ciphertext", BLOCK_BYTES, ciphertext, 0); fclose(DUMP); } }