File:
[ELWIX - Embedded LightWeight unIX -] /
libaitio /
example /
aes.c
Revision
1.2:
download - view:
text,
annotated -
select for diffs -
revision graph
Mon Oct 31 13:53:50 2011 UTC (12 years, 9 months ago) by
misho
Branches:
MAIN
CVS tags:
io5_4,
io5_3,
io5_2,
io5_1,
io5_0,
io4_1,
io4_0,
io3_9,
io3_8,
io3_7,
io3_6,
io3_5,
io3_4,
io3_3,
io3_2,
io3_1,
io2_8,
io2_7,
io2_6,
io2_5,
io2_4,
io2_3,
io2_2,
IO5_3,
IO5_2,
IO5_1,
IO5_0,
IO4_1,
IO4_0,
IO3_9,
IO3_8,
IO3_7,
IO3_6,
IO3_5,
IO3_4,
IO3_3,
IO3_2,
IO3_1,
IO3_0,
IO2_7,
IO2_6,
IO2_5,
IO2_4,
IO2_3,
IO2_2,
IO2_1,
HEAD
ver 2.1
1: #include <stdio.h>
2: #include <string.h>
3: #include <aitio.h>
4:
5:
6: int
7: main(int argc, char **argv)
8: {
9: char *str2 = NULL, *str = NULL;
10: int i, n;
11: char ivec[16];
12:
13: if (argc < 4)
14: return 1;
15:
16: printf("String=%s\nKey=%s IV=%s\n\n", argv[1], argv[2], argv[3]);
17: /* encode */
18: memset(ivec, 0, sizeof ivec);
19: strlcpy(ivec, argv[3], sizeof ivec);
20: printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(argv[1], strlen(argv[1]), (u_char**) &str, argv[2], ivec)));
21: printf("Cipher: ");
22: for (i = 0; i < n; i++)
23: printf("%02hhx", str[i]);
24: printf("\n");
25:
26: /* decode */
27: memset(ivec, 0, sizeof ivec);
28: strlcpy(ivec, argv[3], sizeof ivec);
29: printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES(str, n, (u_char**) &str2, argv[2], ivec)));
30: printf("Plain: ");
31: for (i = 0; i < n; i++)
32: printf("%c", str2[i]);
33: printf("\n");
34:
35: printf("\n\n");
36: if (!strcmp(argv[1], str2))
37: printf("%s == %s ... Test passed\n", argv[1], str2);
38: else
39: printf("%s != %s ... Test FAILED\n", argv[1], str2);
40:
41: if (str)
42: free(str);
43: if (str2)
44: free(str2);
45:
46: return 0;
47: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>