Remove unused pkg dependancy
[platform/upstream/iotivity.git] / extlibs / tinydtls / tests / cbc_aes128-test.c
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4
5 #include "debug.h"
6 #include "numeric.h"
7 #include "crypto.h"
8
9 #include "cbc_aes128-testdata.c"
10
11 void 
12 dump(unsigned char *buf, size_t len) {
13   size_t i = 0;
14   while (i < len) {
15     printf("%02x ", buf[i++]);
16     if (i % 4 == 0)
17       printf(" ");
18     if (i % 16 == 0)
19       printf("\n\t");
20   }
21   printf("\n");
22 }
23
24 int main(int argc, char **argv) {
25   int len, n;
26
27   for (n = 0; n < sizeof(data)/sizeof(struct test_vector); ++n) {
28     dtls_cipher_context_t *cipher;
29
30     cipher = dtls_new_cipher(&ciphers[AES128],
31                              data[n].key,
32                              sizeof(data[n].key));
33     
34     if (!cipher) {
35       fprintf(stderr, "cannot set key\n");
36       exit(-1);
37     }
38
39     dtls_init_cipher(cipher, data[n].nonce, sizeof(data[n].nonce));
40
41     if (data[n].M == 0)
42       len = dtls_encrypt(cipher, data[n].msg, data[n].lm);
43     else
44       len = dtls_decrypt(cipher, data[n].msg, data[n].lm);
45
46     printf("Packet Vector #%d ", n+1);
47     if (len != data[n].r_lm
48         || memcmp(data[n].msg, data[n].result, len))
49       printf("FAILED, ");
50     else 
51       printf("OK, ");
52     
53     printf("result is (total length = %d):\n\t", (int)len);
54     dump(data[n].msg, len);
55
56     free(cipher);
57   }
58
59   return 0;
60 }