version 1.1, 2011/10/07 09:14:40
|
version 1.2, 2011/10/31 13:53:50
|
Line 0
|
Line 1
|
|
#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; |
|
} |