#include <stdio.h>
#include <string.h>
#include "aes_cmac.h"
#include "aes128.h"
////////////////////////////////////////////////////////////////////////////////
void dump(const char *label,uint8 *dt,int len)
{
int i;
printf("%s",label);
for(i=0;i<len;i++)
{
printf("%02x",*dt++);
}
printf("\n");
}
////////////////////////////////////////////////////////////////////////////////
int main(int argc, char const* argv[])
{
char msg1[] = "01234567890123456789";
char msg2[] = "11234567890123456789";
char msg3[] = "01234567891123456789";
char msg4[] = "0123456789012345";
char msg5[] = "ABCDEFGHIJJJJJJ5";
char msg6[] = "ABCDEFGHIJJJJJJK";
char msg7[] = "ZBCDEFGHIJJJJJJK";
uint mac[4];
uint8 key[] = { 0x12, 0x34, 0x56, 0x78, 0xab, 0xcd, 0x56, 0x78,
0x00, 0x34, 0x00, 0x78, 0x00, 0x00, 0x56, 0x78,};
#define DUMP(msg) \
printf("%-30s- ", msg);\
memcpy(mac, (uint8*)AES_cmac(key, (uint *)msg, sizeof(msg)), aes_datalen);\
dump(#msg " CMAC = ", (uint8*)mac, aes_datalen);
DUMP(msg1);
DUMP(msg2);
DUMP(msg3);
DUMP(msg4);
DUMP(msg1);
DUMP(msg5);
DUMP(msg6);
DUMP(msg7);
DUMP(msg5);
return 0;
}
// vi:expandtab:foldmethod=syntax sw=2 ts=2