diff options
author | iphydf <iphydf@users.noreply.github.com> | 2016-12-19 02:47:42 +0000 |
---|---|---|
committer | iphydf <iphydf@users.noreply.github.com> | 2016-12-22 10:26:59 +0000 |
commit | ce29c8e7ec91d95167b2dea3aee9fd1ae1aac254 (patch) | |
tree | a288df55c44e8edf816e6abbde19a70faef73394 /auto_tests/crypto_test.c | |
parent | 7122d2e862e028a730478d88cd61557fbed16ebf (diff) |
Wrap all sodium/nacl functions in crypto_core.c.
Diffstat (limited to 'auto_tests/crypto_test.c')
-rw-r--r-- | auto_tests/crypto_test.c | 88 |
1 files changed, 44 insertions, 44 deletions
diff --git a/auto_tests/crypto_test.c b/auto_tests/crypto_test.c index ce2101cc..c1003f80 100644 --- a/auto_tests/crypto_test.c +++ b/auto_tests/crypto_test.c | |||
@@ -91,8 +91,8 @@ START_TEST(test_known) | |||
91 | unsigned char m[131]; | 91 | unsigned char m[131]; |
92 | int clen, mlen; | 92 | int clen, mlen; |
93 | 93 | ||
94 | ck_assert_msg(sizeof(c) == sizeof(m) + crypto_box_MACBYTES * sizeof(unsigned char), | 94 | ck_assert_msg(sizeof(c) == sizeof(m) + CRYPTO_MAC_SIZE * sizeof(unsigned char), |
95 | "cyphertext should be crypto_box_MACBYTES bytes longer than plaintext"); | 95 | "cyphertext should be CRYPTO_MAC_SIZE bytes longer than plaintext"); |
96 | ck_assert_msg(sizeof(test_c) == sizeof(c), "sanity check failed"); | 96 | ck_assert_msg(sizeof(test_c) == sizeof(c), "sanity check failed"); |
97 | ck_assert_msg(sizeof(test_m) == sizeof(m), "sanity check failed"); | 97 | ck_assert_msg(sizeof(test_m) == sizeof(m), "sanity check failed"); |
98 | 98 | ||
@@ -110,15 +110,15 @@ END_TEST | |||
110 | 110 | ||
111 | START_TEST(test_fast_known) | 111 | START_TEST(test_fast_known) |
112 | { | 112 | { |
113 | unsigned char k[crypto_box_BEFORENMBYTES]; | 113 | unsigned char k[CRYPTO_SHARED_KEY_SIZE]; |
114 | unsigned char c[147]; | 114 | unsigned char c[147]; |
115 | unsigned char m[131]; | 115 | unsigned char m[131]; |
116 | int clen, mlen; | 116 | int clen, mlen; |
117 | 117 | ||
118 | encrypt_precompute(bobpk, alicesk, k); | 118 | encrypt_precompute(bobpk, alicesk, k); |
119 | 119 | ||
120 | ck_assert_msg(sizeof(c) == sizeof(m) + crypto_box_MACBYTES * sizeof(unsigned char), | 120 | ck_assert_msg(sizeof(c) == sizeof(m) + CRYPTO_MAC_SIZE * sizeof(unsigned char), |
121 | "cyphertext should be crypto_box_MACBYTES bytes longer than plaintext"); | 121 | "cyphertext should be CRYPTO_MAC_SIZE bytes longer than plaintext"); |
122 | ck_assert_msg(sizeof(test_c) == sizeof(c), "sanity check failed"); | 122 | ck_assert_msg(sizeof(test_c) == sizeof(c), "sanity check failed"); |
123 | ck_assert_msg(sizeof(test_m) == sizeof(m), "sanity check failed"); | 123 | ck_assert_msg(sizeof(test_m) == sizeof(m), "sanity check failed"); |
124 | 124 | ||
@@ -136,20 +136,20 @@ END_TEST | |||
136 | 136 | ||
137 | START_TEST(test_endtoend) | 137 | START_TEST(test_endtoend) |
138 | { | 138 | { |
139 | unsigned char pk1[crypto_box_PUBLICKEYBYTES]; | 139 | unsigned char pk1[CRYPTO_PUBLIC_KEY_SIZE]; |
140 | unsigned char sk1[crypto_box_SECRETKEYBYTES]; | 140 | unsigned char sk1[CRYPTO_SECRET_KEY_SIZE]; |
141 | unsigned char pk2[crypto_box_PUBLICKEYBYTES]; | 141 | unsigned char pk2[CRYPTO_PUBLIC_KEY_SIZE]; |
142 | unsigned char sk2[crypto_box_SECRETKEYBYTES]; | 142 | unsigned char sk2[CRYPTO_SECRET_KEY_SIZE]; |
143 | unsigned char k1[crypto_box_BEFORENMBYTES]; | 143 | unsigned char k1[CRYPTO_SHARED_KEY_SIZE]; |
144 | unsigned char k2[crypto_box_BEFORENMBYTES]; | 144 | unsigned char k2[CRYPTO_SHARED_KEY_SIZE]; |
145 | 145 | ||
146 | unsigned char n[crypto_box_NONCEBYTES]; | 146 | unsigned char n[CRYPTO_NONCE_SIZE]; |
147 | 147 | ||
148 | unsigned char m[500]; | 148 | unsigned char m[500]; |
149 | unsigned char c1[sizeof(m) + crypto_box_MACBYTES]; | 149 | unsigned char c1[sizeof(m) + CRYPTO_MAC_SIZE]; |
150 | unsigned char c2[sizeof(m) + crypto_box_MACBYTES]; | 150 | unsigned char c2[sizeof(m) + CRYPTO_MAC_SIZE]; |
151 | unsigned char c3[sizeof(m) + crypto_box_MACBYTES]; | 151 | unsigned char c3[sizeof(m) + CRYPTO_MAC_SIZE]; |
152 | unsigned char c4[sizeof(m) + crypto_box_MACBYTES]; | 152 | unsigned char c4[sizeof(m) + CRYPTO_MAC_SIZE]; |
153 | unsigned char m1[sizeof(m)]; | 153 | unsigned char m1[sizeof(m)]; |
154 | unsigned char m2[sizeof(m)]; | 154 | unsigned char m2[sizeof(m)]; |
155 | unsigned char m3[sizeof(m)]; | 155 | unsigned char m3[sizeof(m)]; |
@@ -166,17 +166,17 @@ START_TEST(test_endtoend) | |||
166 | //Generate random message (random length from 100 to 500) | 166 | //Generate random message (random length from 100 to 500) |
167 | mlen = (rand() % 400) + 100; | 167 | mlen = (rand() % 400) + 100; |
168 | rand_bytes(m, mlen); | 168 | rand_bytes(m, mlen); |
169 | rand_bytes(n, crypto_box_NONCEBYTES); | 169 | rand_bytes(n, CRYPTO_NONCE_SIZE); |
170 | 170 | ||
171 | //Generate keypairs | 171 | //Generate keypairs |
172 | crypto_box_keypair(pk1, sk1); | 172 | crypto_new_keypair(pk1, sk1); |
173 | crypto_box_keypair(pk2, sk2); | 173 | crypto_new_keypair(pk2, sk2); |
174 | 174 | ||
175 | //Precompute shared keys | 175 | //Precompute shared keys |
176 | encrypt_precompute(pk2, sk1, k1); | 176 | encrypt_precompute(pk2, sk1, k1); |
177 | encrypt_precompute(pk1, sk2, k2); | 177 | encrypt_precompute(pk1, sk2, k2); |
178 | 178 | ||
179 | ck_assert_msg(memcmp(k1, k2, crypto_box_BEFORENMBYTES) == 0, "encrypt_precompute: bad"); | 179 | ck_assert_msg(memcmp(k1, k2, CRYPTO_SHARED_KEY_SIZE) == 0, "encrypt_precompute: bad"); |
180 | 180 | ||
181 | //Encrypt all four ways | 181 | //Encrypt all four ways |
182 | c1len = encrypt_data(pk2, sk1, n, m, mlen, c1); | 182 | c1len = encrypt_data(pk2, sk1, n, m, mlen, c1); |
@@ -185,7 +185,7 @@ START_TEST(test_endtoend) | |||
185 | c4len = encrypt_data_symmetric(k2, n, m, mlen, c4); | 185 | c4len = encrypt_data_symmetric(k2, n, m, mlen, c4); |
186 | 186 | ||
187 | ck_assert_msg(c1len == c2len && c1len == c3len && c1len == c4len, "cyphertext lengths differ"); | 187 | ck_assert_msg(c1len == c2len && c1len == c3len && c1len == c4len, "cyphertext lengths differ"); |
188 | ck_assert_msg(c1len == mlen + (int)crypto_box_MACBYTES, "wrong cyphertext length"); | 188 | ck_assert_msg(c1len == mlen + (int)CRYPTO_MAC_SIZE, "wrong cyphertext length"); |
189 | ck_assert_msg(memcmp(c1, c2, c1len) == 0 && memcmp(c1, c3, c1len) == 0 | 189 | ck_assert_msg(memcmp(c1, c2, c1len) == 0 && memcmp(c1, c3, c1len) == 0 |
190 | && memcmp(c1, c4, c1len) == 0, "crypertexts differ"); | 190 | && memcmp(c1, c4, c1len) == 0, "crypertexts differ"); |
191 | 191 | ||
@@ -206,16 +206,16 @@ END_TEST | |||
206 | 206 | ||
207 | START_TEST(test_large_data) | 207 | START_TEST(test_large_data) |
208 | { | 208 | { |
209 | unsigned char k[crypto_box_BEFORENMBYTES]; | 209 | unsigned char k[CRYPTO_SHARED_KEY_SIZE]; |
210 | 210 | ||
211 | unsigned char n[crypto_box_NONCEBYTES]; | 211 | unsigned char n[CRYPTO_NONCE_SIZE]; |
212 | 212 | ||
213 | unsigned char m1[MAX_CRYPTO_PACKET_SIZE - crypto_box_MACBYTES]; | 213 | unsigned char m1[MAX_CRYPTO_PACKET_SIZE - CRYPTO_MAC_SIZE]; |
214 | unsigned char c1[sizeof(m1) + crypto_box_MACBYTES]; | 214 | unsigned char c1[sizeof(m1) + CRYPTO_MAC_SIZE]; |
215 | unsigned char m1prime[sizeof(m1)]; | 215 | unsigned char m1prime[sizeof(m1)]; |
216 | 216 | ||
217 | unsigned char m2[MAX_CRYPTO_PACKET_SIZE]; | 217 | unsigned char m2[MAX_CRYPTO_PACKET_SIZE]; |
218 | unsigned char c2[sizeof(m2) + crypto_box_MACBYTES]; | 218 | unsigned char c2[sizeof(m2) + CRYPTO_MAC_SIZE]; |
219 | 219 | ||
220 | int c1len, c2len; | 220 | int c1len, c2len; |
221 | int m1plen; | 221 | int m1plen; |
@@ -223,16 +223,16 @@ START_TEST(test_large_data) | |||
223 | //Generate random messages | 223 | //Generate random messages |
224 | rand_bytes(m1, sizeof(m1)); | 224 | rand_bytes(m1, sizeof(m1)); |
225 | rand_bytes(m2, sizeof(m2)); | 225 | rand_bytes(m2, sizeof(m2)); |
226 | rand_bytes(n, crypto_box_NONCEBYTES); | 226 | rand_bytes(n, CRYPTO_NONCE_SIZE); |
227 | 227 | ||
228 | //Generate key | 228 | //Generate key |
229 | rand_bytes(k, crypto_box_BEFORENMBYTES); | 229 | rand_bytes(k, CRYPTO_SHARED_KEY_SIZE); |
230 | 230 | ||
231 | c1len = encrypt_data_symmetric(k, n, m1, sizeof(m1), c1); | 231 | c1len = encrypt_data_symmetric(k, n, m1, sizeof(m1), c1); |
232 | c2len = encrypt_data_symmetric(k, n, m2, sizeof(m2), c2); | 232 | c2len = encrypt_data_symmetric(k, n, m2, sizeof(m2), c2); |
233 | 233 | ||
234 | ck_assert_msg(c1len == sizeof(m1) + crypto_box_MACBYTES, "could not encrypt"); | 234 | ck_assert_msg(c1len == sizeof(m1) + CRYPTO_MAC_SIZE, "could not encrypt"); |
235 | ck_assert_msg(c2len == sizeof(m2) + crypto_box_MACBYTES, "could not encrypt"); | 235 | ck_assert_msg(c2len == sizeof(m2) + CRYPTO_MAC_SIZE, "could not encrypt"); |
236 | 236 | ||
237 | m1plen = decrypt_data_symmetric(k, n, c1, c1len, m1prime); | 237 | m1plen = decrypt_data_symmetric(k, n, c1, c1len, m1prime); |
238 | 238 | ||
@@ -243,12 +243,12 @@ END_TEST | |||
243 | 243 | ||
244 | START_TEST(test_large_data_symmetric) | 244 | START_TEST(test_large_data_symmetric) |
245 | { | 245 | { |
246 | unsigned char k[crypto_box_KEYBYTES]; | 246 | unsigned char k[CRYPTO_SYMMETRIC_KEY_SIZE]; |
247 | 247 | ||
248 | unsigned char n[crypto_box_NONCEBYTES]; | 248 | unsigned char n[CRYPTO_NONCE_SIZE]; |
249 | 249 | ||
250 | unsigned char m1[16 * 16 * 16]; | 250 | unsigned char m1[16 * 16 * 16]; |
251 | unsigned char c1[sizeof(m1) + crypto_box_MACBYTES]; | 251 | unsigned char c1[sizeof(m1) + CRYPTO_MAC_SIZE]; |
252 | unsigned char m1prime[sizeof(m1)]; | 252 | unsigned char m1prime[sizeof(m1)]; |
253 | 253 | ||
254 | int c1len; | 254 | int c1len; |
@@ -256,13 +256,13 @@ START_TEST(test_large_data_symmetric) | |||
256 | 256 | ||
257 | //Generate random messages | 257 | //Generate random messages |
258 | rand_bytes(m1, sizeof(m1)); | 258 | rand_bytes(m1, sizeof(m1)); |
259 | rand_bytes(n, crypto_box_NONCEBYTES); | 259 | rand_bytes(n, CRYPTO_NONCE_SIZE); |
260 | 260 | ||
261 | //Generate key | 261 | //Generate key |
262 | new_symmetric_key(k); | 262 | new_symmetric_key(k); |
263 | 263 | ||
264 | c1len = encrypt_data_symmetric(k, n, m1, sizeof(m1), c1); | 264 | c1len = encrypt_data_symmetric(k, n, m1, sizeof(m1), c1); |
265 | ck_assert_msg(c1len == sizeof(m1) + crypto_box_MACBYTES, "could not encrypt data"); | 265 | ck_assert_msg(c1len == sizeof(m1) + CRYPTO_MAC_SIZE, "could not encrypt data"); |
266 | 266 | ||
267 | m1plen = decrypt_data_symmetric(k, n, c1, c1len, m1prime); | 267 | m1plen = decrypt_data_symmetric(k, n, c1, c1len, m1prime); |
268 | 268 | ||
@@ -274,14 +274,14 @@ END_TEST | |||
274 | static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) | 274 | static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) |
275 | { | 275 | { |
276 | uint32_t num1, num2; | 276 | uint32_t num1, num2; |
277 | memcpy(&num1, nonce + (crypto_box_NONCEBYTES - sizeof(num1)), sizeof(num1)); | 277 | memcpy(&num1, nonce + (CRYPTO_NONCE_SIZE - sizeof(num1)), sizeof(num1)); |
278 | num1 = ntohl(num1); | 278 | num1 = ntohl(num1); |
279 | num2 = num + num1; | 279 | num2 = num + num1; |
280 | 280 | ||
281 | if (num2 < num1) { | 281 | if (num2 < num1) { |
282 | uint32_t i; | 282 | uint32_t i; |
283 | 283 | ||
284 | for (i = crypto_box_NONCEBYTES - sizeof(num1); i != 0; --i) { | 284 | for (i = CRYPTO_NONCE_SIZE - sizeof(num1); i != 0; --i) { |
285 | ++nonce[i - 1]; | 285 | ++nonce[i - 1]; |
286 | 286 | ||
287 | if (nonce[i - 1] != 0) { | 287 | if (nonce[i - 1] != 0) { |
@@ -291,34 +291,34 @@ static void increment_nonce_number_cmp(uint8_t *nonce, uint32_t num) | |||
291 | } | 291 | } |
292 | 292 | ||
293 | num2 = htonl(num2); | 293 | num2 = htonl(num2); |
294 | memcpy(nonce + (crypto_box_NONCEBYTES - sizeof(num2)), &num2, sizeof(num2)); | 294 | memcpy(nonce + (CRYPTO_NONCE_SIZE - sizeof(num2)), &num2, sizeof(num2)); |
295 | } | 295 | } |
296 | 296 | ||
297 | START_TEST(test_increment_nonce) | 297 | START_TEST(test_increment_nonce) |
298 | { | 298 | { |
299 | long long unsigned int i; | 299 | long long unsigned int i; |
300 | 300 | ||
301 | uint8_t n[crypto_box_NONCEBYTES]; | 301 | uint8_t n[CRYPTO_NONCE_SIZE]; |
302 | 302 | ||
303 | for (i = 0; i < crypto_box_NONCEBYTES; ++i) { | 303 | for (i = 0; i < CRYPTO_NONCE_SIZE; ++i) { |
304 | n[i] = rand(); | 304 | n[i] = rand(); |
305 | } | 305 | } |
306 | 306 | ||
307 | uint8_t n1[crypto_box_NONCEBYTES]; | 307 | uint8_t n1[CRYPTO_NONCE_SIZE]; |
308 | 308 | ||
309 | memcpy(n1, n, crypto_box_NONCEBYTES); | 309 | memcpy(n1, n, CRYPTO_NONCE_SIZE); |
310 | 310 | ||
311 | for (i = 0; i < (1 << 18); ++i) { | 311 | for (i = 0; i < (1 << 18); ++i) { |
312 | increment_nonce_number_cmp(n, 1); | 312 | increment_nonce_number_cmp(n, 1); |
313 | increment_nonce(n1); | 313 | increment_nonce(n1); |
314 | ck_assert_msg(memcmp(n, n1, crypto_box_NONCEBYTES) == 0, "Bad increment_nonce function"); | 314 | ck_assert_msg(memcmp(n, n1, CRYPTO_NONCE_SIZE) == 0, "Bad increment_nonce function"); |
315 | } | 315 | } |
316 | 316 | ||
317 | for (i = 0; i < (1 << 18); ++i) { | 317 | for (i = 0; i < (1 << 18); ++i) { |
318 | uint32_t r = rand(); | 318 | uint32_t r = rand(); |
319 | increment_nonce_number_cmp(n, r); | 319 | increment_nonce_number_cmp(n, r); |
320 | increment_nonce_number(n1, r); | 320 | increment_nonce_number(n1, r); |
321 | ck_assert_msg(memcmp(n, n1, crypto_box_NONCEBYTES) == 0, "Bad increment_nonce_number function"); | 321 | ck_assert_msg(memcmp(n, n1, CRYPTO_NONCE_SIZE) == 0, "Bad increment_nonce_number function"); |
322 | } | 322 | } |
323 | } | 323 | } |
324 | END_TEST | 324 | END_TEST |