File:
[ELWIX - Embedded LightWeight unIX -] /
libaitio /
example /
aes.c
Revision
1.3:
download - view:
text,
annotated -
select for diffs -
revision graph
Wed Jun 26 22:48:53 2013 UTC (11 years ago) by
misho
Branches:
MAIN
CVS tags:
io7_4,
io7_3,
io7_2,
io7_1,
io7_0,
io6_9,
io6_8,
io6_7,
io6_6,
io6_5,
io6_4,
io6_3,
io6_2,
io6_1,
io6_0,
io5_9,
io5_8,
io5_7,
io5_6,
io5_5,
IO7_3,
IO7_2,
IO7_1,
IO7_0,
IO6_9,
IO6_8,
IO6_7,
IO6_6,
IO6_5,
IO6_4,
IO6_3,
IO6_2,
IO6_1,
IO6_0,
IO5_9,
IO5_8,
IO5_7,
IO5_6,
IO5_5,
IO5_4,
HEAD
version 5.4
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: u_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((char*) ivec, argv[3], sizeof ivec);
20: printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES((u_char*) argv[1], strlen(argv[1]),
21: (u_char**) &str, (u_char*) argv[2], ivec)));
22: printf("Cipher: ");
23: for (i = 0; i < n; i++)
24: printf("%02hhx", str[i]);
25: printf("\n");
26:
27: /* decode */
28: memset(ivec, 0, sizeof ivec);
29: strlcpy((char*) ivec, argv[3], sizeof ivec);
30: printf("io_ctr_AES() -> %d\n", (n = io_ctr_AES((u_char*) str, n,
31: (u_char**) &str2, (u_char*) argv[2], ivec)));
32: printf("Plain: ");
33: for (i = 0; i < n; i++)
34: printf("%c", str2[i]);
35: printf("\n");
36:
37: printf("\n\n");
38: if (!strcmp(argv[1], str2))
39: printf("%s == %s ... Test passed\n", argv[1], str2);
40: else
41: printf("%s != %s ... Test FAILED\n", argv[1], str2);
42:
43: if (str)
44: free(str);
45: if (str2)
46: free(str2);
47:
48: return 0;
49: }
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>