Mercurial > dropbear
comparison libtomcrypt/demos/multi.c @ 330:5488db2e9e4e
merge of 332f709a4cb39cde4cedab7c3be89e05f3023067
and ca4ca78b82c5d430c69ce01bf794e8886ce81431
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Sat, 10 Jun 2006 16:39:40 +0000 |
parents | 1b9e69c058d2 |
children | 0cbe8f6dbf9e |
comparison
equal
deleted
inserted
replaced
329:8ed0dce45126 | 330:5488db2e9e4e |
---|---|
1 /* test the multi helpers... */ | |
2 #include <tomcrypt.h> | |
3 | |
4 int main(void) | |
5 { | |
6 unsigned char key[16], buf[2][MAXBLOCKSIZE]; | |
7 unsigned long len, len2; | |
8 | |
9 | |
10 /* register algos */ | |
11 register_hash(&sha256_desc); | |
12 register_cipher(&aes_desc); | |
13 | |
14 /* HASH testing */ | |
15 len = sizeof(buf[0]); | |
16 hash_memory(find_hash("sha256"), "hello", 5, buf[0], &len); | |
17 len2 = sizeof(buf[0]); | |
18 hash_memory_multi(find_hash("sha256"), buf[1], &len2, "hello", 5, NULL); | |
19 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
20 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
21 return EXIT_FAILURE; | |
22 } | |
23 len2 = sizeof(buf[0]); | |
24 hash_memory_multi(find_hash("sha256"), buf[1], &len2, "he", 2, "llo", 3, NULL); | |
25 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
26 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
27 return EXIT_FAILURE; | |
28 } | |
29 len2 = sizeof(buf[0]); | |
30 hash_memory_multi(find_hash("sha256"), buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL); | |
31 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
32 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
33 return EXIT_FAILURE; | |
34 } | |
35 | |
36 /* HMAC */ | |
37 len = sizeof(buf[0]); | |
38 hmac_memory(find_hash("sha256"), key, 16, "hello", 5, buf[0], &len); | |
39 len2 = sizeof(buf[0]); | |
40 hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "hello", 5, NULL); | |
41 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
42 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
43 return EXIT_FAILURE; | |
44 } | |
45 len2 = sizeof(buf[0]); | |
46 hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL); | |
47 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
48 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
49 return EXIT_FAILURE; | |
50 } | |
51 len2 = sizeof(buf[0]); | |
52 hmac_memory_multi(find_hash("sha256"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL); | |
53 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
54 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
55 return EXIT_FAILURE; | |
56 } | |
57 | |
58 /* OMAC */ | |
59 len = sizeof(buf[0]); | |
60 omac_memory(find_cipher("aes"), key, 16, "hello", 5, buf[0], &len); | |
61 len2 = sizeof(buf[0]); | |
62 omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "hello", 5, NULL); | |
63 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
64 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
65 return EXIT_FAILURE; | |
66 } | |
67 len2 = sizeof(buf[0]); | |
68 omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL); | |
69 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
70 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
71 return EXIT_FAILURE; | |
72 } | |
73 len2 = sizeof(buf[0]); | |
74 omac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL); | |
75 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
76 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
77 return EXIT_FAILURE; | |
78 } | |
79 | |
80 /* PMAC */ | |
81 len = sizeof(buf[0]); | |
82 pmac_memory(find_cipher("aes"), key, 16, "hello", 5, buf[0], &len); | |
83 len2 = sizeof(buf[0]); | |
84 pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "hello", 5, NULL); | |
85 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
86 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
87 return EXIT_FAILURE; | |
88 } | |
89 len2 = sizeof(buf[0]); | |
90 pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "he", 2, "llo", 3, NULL); | |
91 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
92 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
93 return EXIT_FAILURE; | |
94 } | |
95 len2 = sizeof(buf[0]); | |
96 pmac_memory_multi(find_cipher("aes"), key, 16, buf[1], &len2, "h", 1, "e", 1, "l", 1, "l", 1, "o", 1, NULL); | |
97 if (len != len2 || memcmp(buf[0], buf[1], len)) { | |
98 printf("Failed: %d %lu %lu\n", __LINE__, len, len2); | |
99 return EXIT_FAILURE; | |
100 } | |
101 | |
102 | |
103 printf("All passed\n"); | |
104 return EXIT_SUCCESS; | |
105 } | |
106 | |
107 | |
108 /* $Source: /cvs/libtom/libtomcrypt/demos/multi.c,v $ */ | |
109 /* $Revision: 1.2 $ */ | |
110 /* $Date: 2005/05/05 14:35:56 $ */ |