diff options
author | slvr <slvr@unsafeio.com> | 2013-08-14 14:46:29 +0100 |
---|---|---|
committer | slvr <slvr@unsafeio.com> | 2013-08-14 14:46:29 +0100 |
commit | a854a730ecd3b92426914d9bc30713ade92d5727 (patch) | |
tree | d0ba363ce482ca6d2e2986b68028c600a017ed90 /auto_tests | |
parent | ee34b51c24acfcee7c155b3b056a16dded8a27bc (diff) |
Reduced redundant code, added new crypto test
Diffstat (limited to 'auto_tests')
-rw-r--r-- | auto_tests/crypto_test.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/auto_tests/crypto_test.c b/auto_tests/crypto_test.c index 9ac81349..8b5397e4 100644 --- a/auto_tests/crypto_test.c +++ b/auto_tests/crypto_test.c | |||
@@ -197,6 +197,43 @@ START_TEST(test_endtoend) | |||
197 | } | 197 | } |
198 | END_TEST | 198 | END_TEST |
199 | 199 | ||
200 | START_TEST(test_large_data) | ||
201 | { | ||
202 | unsigned char k[crypto_box_BEFORENMBYTES]; | ||
203 | |||
204 | unsigned char n[crypto_box_NONCEBYTES]; | ||
205 | |||
206 | unsigned char m1[MAX_DATA_SIZE - ENCRYPTION_PADDING]; | ||
207 | unsigned char c1[sizeof(m1) + ENCRYPTION_PADDING]; | ||
208 | unsigned char m1prime[sizeof(m1)]; | ||
209 | |||
210 | unsigned char m2[MAX_DATA_SIZE]; | ||
211 | unsigned char c2[sizeof(m2) + ENCRYPTION_PADDING]; | ||
212 | |||
213 | int c1len, c2len; | ||
214 | int m1plen; | ||
215 | |||
216 | //Generate random messages | ||
217 | rand_bytes(m1, sizeof(m1)); | ||
218 | rand_bytes(m2, sizeof(m2)); | ||
219 | rand_bytes(n, crypto_box_NONCEBYTES); | ||
220 | |||
221 | //Generate key | ||
222 | rand_bytes(k, crypto_box_BEFORENMBYTES); | ||
223 | |||
224 | c1len = encrypt_data_fast(k, n, m1, sizeof(m1), c1); | ||
225 | c2len = encrypt_data_fast(k, n, m2, sizeof(m2), c2); | ||
226 | |||
227 | ck_assert_msg(c1len == sizeof(m1) + ENCRYPTION_PADDING, "Could not encrypt max size"); | ||
228 | ck_assert_msg(c2len == -1, "incorrectly succeeded encrypting massive size"); | ||
229 | |||
230 | m1plen = decrypt_data_fast(k, n, c1, c1len, m1prime); | ||
231 | |||
232 | ck_assert_msg(m1plen == sizeof(m1), "decrypted text lengths differ"); | ||
233 | ck_assert_msg(memcmp(m1prime, m1, sizeof(m1)) == 0, "decrypted texts differ"); | ||
234 | } | ||
235 | END_TEST | ||
236 | |||
200 | #define DEFTESTCASE(NAME) \ | 237 | #define DEFTESTCASE(NAME) \ |
201 | TCase *NAME = tcase_create(#NAME); \ | 238 | TCase *NAME = tcase_create(#NAME); \ |
202 | tcase_add_test(NAME, test_##NAME); \ | 239 | tcase_add_test(NAME, test_##NAME); \ |
@@ -209,6 +246,7 @@ Suite* crypto_suite(void) | |||
209 | DEFTESTCASE(known); | 246 | DEFTESTCASE(known); |
210 | DEFTESTCASE(fast_known); | 247 | DEFTESTCASE(fast_known); |
211 | DEFTESTCASE(endtoend); | 248 | DEFTESTCASE(endtoend); |
249 | DEFTESTCASE(large_data); | ||
212 | 250 | ||
213 | return s; | 251 | return s; |
214 | } | 252 | } |