Mercurial > dropbear
comparison libtomcrypt/src/mac/xcbc/xcbc_test.c @ 1478:3a933956437e coverity
update coverity
author | Matt Johnston <matt@ucc.asn.au> |
---|---|
date | Fri, 09 Feb 2018 23:49:22 +0800 |
parents | 6dba84798cd5 |
children |
comparison
equal
deleted
inserted
replaced
1439:8d24733026c5 | 1478:3a933956437e |
---|---|
3 * LibTomCrypt is a library that provides various cryptographic | 3 * LibTomCrypt is a library that provides various cryptographic |
4 * algorithms in a highly modular and flexible manner. | 4 * algorithms in a highly modular and flexible manner. |
5 * | 5 * |
6 * The library is free for all purposes without any express | 6 * The library is free for all purposes without any express |
7 * guarantee it works. | 7 * guarantee it works. |
8 * | |
9 * Tom St Denis, [email protected], http://libtom.org | |
10 */ | 8 */ |
11 #include "tomcrypt.h" | 9 #include "tomcrypt.h" |
12 | 10 |
13 /** | 11 /** |
14 @file xcbc_test.c | 12 @file xcbc_test.c |
29 int msglen; | 27 int msglen; |
30 unsigned char K[16], M[34], T[16]; | 28 unsigned char K[16], M[34], T[16]; |
31 } tests[] = { | 29 } tests[] = { |
32 { | 30 { |
33 0, | 31 0, |
34 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 32 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
35 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 33 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
36 | 34 |
37 { 0 }, | 35 { 0 }, |
38 | 36 |
39 { 0x75, 0xf0, 0x25, 0x1d, 0x52, 0x8a, 0xc0, 0x1c, | 37 { 0x75, 0xf0, 0x25, 0x1d, 0x52, 0x8a, 0xc0, 0x1c, |
40 0x45, 0x73, 0xdf, 0xd5, 0x84, 0xd7, 0x9f, 0x29 } | 38 0x45, 0x73, 0xdf, 0xd5, 0x84, 0xd7, 0x9f, 0x29 } |
41 }, | 39 }, |
42 | 40 |
43 { | 41 { |
44 3, | 42 3, |
45 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 43 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
46 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 44 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
47 | 45 |
48 { 0x00, 0x01, 0x02 }, | 46 { 0x00, 0x01, 0x02 }, |
49 | 47 |
50 { 0x5b, 0x37, 0x65, 0x80, 0xae, 0x2f, 0x19, 0xaf, | 48 { 0x5b, 0x37, 0x65, 0x80, 0xae, 0x2f, 0x19, 0xaf, |
51 0xe7, 0x21, 0x9c, 0xee, 0xf1, 0x72, 0x75, 0x6f } | 49 0xe7, 0x21, 0x9c, 0xee, 0xf1, 0x72, 0x75, 0x6f } |
52 }, | 50 }, |
53 | 51 |
54 { | 52 { |
55 16, | 53 16, |
56 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 54 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
57 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 55 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
58 | 56 |
59 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 57 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
60 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 58 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
61 | 59 |
62 { 0xd2, 0xa2, 0x46, 0xfa, 0x34, 0x9b, 0x68, 0xa7, | 60 { 0xd2, 0xa2, 0x46, 0xfa, 0x34, 0x9b, 0x68, 0xa7, |
63 0x99, 0x98, 0xa4, 0x39, 0x4f, 0xf7, 0xa2, 0x63 } | 61 0x99, 0x98, 0xa4, 0x39, 0x4f, 0xf7, 0xa2, 0x63 } |
64 }, | 62 }, |
65 | 63 |
66 { | 64 { |
67 32, | 65 32, |
68 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 66 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
69 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 67 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
70 | 68 |
71 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 69 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
72 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | 70 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, |
73 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | 71 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, |
74 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f }, | 72 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f }, |
75 | 73 |
76 { 0xf5, 0x4f, 0x0e, 0xc8, 0xd2, 0xb9, 0xf3, 0xd3, | 74 { 0xf5, 0x4f, 0x0e, 0xc8, 0xd2, 0xb9, 0xf3, 0xd3, |
77 0x68, 0x07, 0x73, 0x4b, 0xd5, 0x28, 0x3f, 0xd4 } | 75 0x68, 0x07, 0x73, 0x4b, 0xd5, 0x28, 0x3f, 0xd4 } |
78 }, | 76 }, |
79 | 77 |
80 { | 78 { |
81 34, | 79 34, |
82 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 80 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
83 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, | 81 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f }, |
84 | 82 |
85 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, | 83 { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, |
86 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, | 84 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, |
87 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, | 85 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, |
88 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, | 86 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d, 0x1e, 0x1f, |
89 0x20, 0x21 }, | 87 0x20, 0x21 }, |
90 | 88 |
91 { 0xbe, 0xcb, 0xb3, 0xbc, 0xcd, 0xb5, 0x18, 0xa3, | 89 { 0xbe, 0xcb, 0xb3, 0xbc, 0xcd, 0xb5, 0x18, 0xa3, |
92 0x06, 0x77, 0xd5, 0x48, 0x1f, 0xb6, 0xb4, 0xd8 }, | 90 0x06, 0x77, 0xd5, 0x48, 0x1f, 0xb6, 0xb4, 0xd8 }, |
93 }, | 91 }, |
94 | 92 |
95 | 93 |
96 | 94 |
97 }; | 95 }; |
98 unsigned char T[16]; | 96 unsigned char T[16]; |
99 unsigned long taglen; | 97 unsigned long taglen; |
100 int err, x, idx; | 98 int err, x, idx; |
101 | 99 |
102 /* AES can be under rijndael or aes... try to find it */ | 100 /* AES can be under rijndael or aes... try to find it */ |
103 if ((idx = find_cipher("aes")) == -1) { | 101 if ((idx = find_cipher("aes")) == -1) { |
104 if ((idx = find_cipher("rijndael")) == -1) { | 102 if ((idx = find_cipher("rijndael")) == -1) { |
105 return CRYPT_NOP; | 103 return CRYPT_NOP; |
106 } | 104 } |
107 } | 105 } |
109 for (x = 0; x < (int)(sizeof(tests)/sizeof(tests[0])); x++) { | 107 for (x = 0; x < (int)(sizeof(tests)/sizeof(tests[0])); x++) { |
110 taglen = 16; | 108 taglen = 16; |
111 if ((err = xcbc_memory(idx, tests[x].K, 16, tests[x].M, tests[x].msglen, T, &taglen)) != CRYPT_OK) { | 109 if ((err = xcbc_memory(idx, tests[x].K, 16, tests[x].M, tests[x].msglen, T, &taglen)) != CRYPT_OK) { |
112 return err; | 110 return err; |
113 } | 111 } |
114 if (taglen != 16 || XMEMCMP(T, tests[x].T, 16)) { | 112 if (compare_testvector(T, taglen, tests[x].T, 16, "XCBC", x)) { |
115 return CRYPT_FAIL_TESTVECTOR; | 113 return CRYPT_FAIL_TESTVECTOR; |
116 } | 114 } |
117 } | 115 } |
118 | 116 |
119 return CRYPT_OK; | 117 return CRYPT_OK; |
120 #endif | 118 #endif |
121 } | 119 } |
122 | 120 |
123 #endif | 121 #endif |
124 | 122 |
125 /* $Source$ */ | 123 /* ref: $Format:%D$ */ |
126 /* $Revision$ */ | 124 /* git commit: $Format:%H$ */ |
127 /* $Date$ */ | 125 /* commit time: $Format:%ai$ */ |
128 | 126 |