#include <stdio.h>
#include <string.h>
#include <aitio.h>
int
main(int argc, char **argv)
{
char *str2 = NULL, *str = NULL;
int i, n;
char ivec[16];
if (argc < 4)
return 1;
printf("String=%s\nKey=%s IV=%s\n\n", argv[1], argv[2], argv[3]);
/* encode */
memset(ivec, 0, sizeof ivec);
strlcpy(ivec, argv[3], sizeof ivec);
printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(argv[1], strlen(argv[1]), (u_char**) &str, argv[2], ivec)));
printf("Cipher: ");
for (i = 0; i < n; i++)
printf("%02hhx", str[i]);
printf("\n");
/* decode */
memset(ivec, 0, sizeof ivec);
strlcpy(ivec, argv[3], sizeof ivec);
printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(str, n, (u_char**) &str2, argv[2], ivec)));
printf("Plain: ");
for (i = 0; i < n; i++)
printf("%c", str2[i]);
printf("\n");
printf("\n\n");
if (!strcmp(argv[1], str2))
printf("%s == %s ... Test passed\n", argv[1], str2);
else
printf("%s != %s ... Test FAILED\n", argv[1], str2);
if (str)
free(str);
if (str2)
free(str2);
return 0;
}
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>