diff options
Diffstat (limited to 'web/server/h2o/libh2o/deps/picotls/deps/cifra/src/testnorx.c')
-rw-r--r-- | web/server/h2o/libh2o/deps/picotls/deps/cifra/src/testnorx.c | 118 |
1 files changed, 0 insertions, 118 deletions
diff --git a/web/server/h2o/libh2o/deps/picotls/deps/cifra/src/testnorx.c b/web/server/h2o/libh2o/deps/picotls/deps/cifra/src/testnorx.c deleted file mode 100644 index b18393f5d..000000000 --- a/web/server/h2o/libh2o/deps/picotls/deps/cifra/src/testnorx.c +++ /dev/null @@ -1,118 +0,0 @@ -/* - * cifra - embedded cryptography library - * Written in 2014 by Joseph Birr-Pixton <jpixton@gmail.com> - * - * To the extent possible under law, the author(s) have dedicated all - * copyright and related and neighboring rights to this software to the - * public domain worldwide. This software is distributed without any - * warranty. - * - * You should have received a copy of the CC0 Public Domain Dedication - * along with this software. If not, see - * <http://creativecommons.org/publicdomain/zero/1.0/>. - */ - -#include "norx.h" -#include "handy.h" -#include "cutest.h" -#include "testutil.h" - -static void test_vector(void) -{ - uint8_t K[16], N[8], A[128], M[128], Z[128], C[128], T[16]; - - /* This is from the v2.0 paper, section A.2. */ - - unhex(K, sizeof K, "000102030405060708090a0b0c0d0e0f"); - unhex(N, sizeof N, "f0e0d0c0b0a09080"); - - for (unsigned i = 0; i < 128; i++) - { - A[i] = M[i] = Z[i] = i; - } - - cf_norx32_encrypt(K, N, - A, sizeof A, - M, sizeof M, - Z, sizeof Z, - C, T); - - uint8_t expect_C[128], expect_T[16]; - - unhex(expect_C, sizeof expect_C, "f4afc8e66d2d80de0a7f719c899624c9ad896ec7c61739d5376d0648c7bcb204e57db05c6f83b3ff4315e8a4ef2f2c855f21ea4c51ac6de575773ba548f36e636a13b979d953bb91298ea4a6e2aa27402991e0da541997825407b2f12441de3ae6c5dbfe41b12f1480d234832765111e4c09deef9fe3971618d2217c4b77921e"); - unhex(expect_T, sizeof expect_T, "7810131eea2eab1e5da05d23d4e3cb99"); - - TEST_CHECK(memcmp(C, expect_C, sizeof C) == 0); - TEST_CHECK(memcmp(T, expect_T, sizeof T) == 0); - - uint8_t M2[128]; - TEST_CHECK(0 == - cf_norx32_decrypt(K, N, - A, sizeof A, - C, sizeof C, - Z, sizeof Z, - T, - M2)); - - TEST_CHECK(memcmp(M, M2, sizeof M) == 0); - T[0] ^= 0xff; - - TEST_CHECK(cf_norx32_decrypt(K, N, - A, sizeof A, - C, sizeof C, - Z, sizeof Z, - T, - M2)); -} - -#include "testnorx.katdata.inc" - -static void test_kat(void) -{ - uint8_t K[16], N[16], H[256], W[256]; - const uint8_t *kats = kat_data; - -#define FILL(arr, c) \ - do { \ - for (size_t i = 0; i < sizeof arr; i++) \ - arr[i] = (i * c + 123) & 0xff; \ - } while (0) - FILL(N, 181); - FILL(K, 191); - FILL(H, 193); - FILL(W, 197); -#undef FILL - - for (size_t i = 0; i < sizeof W; i++) - { - uint8_t C[256]; - uint8_t A[16]; - - cf_norx32_encrypt(K, N, - H, i, - W, i, - NULL, 0, - C, A); - - TEST_CHECK(memcmp(kats, C, i) == 0); - kats += i; - TEST_CHECK(memcmp(kats, A, sizeof A) == 0); - kats += sizeof A; - - uint8_t M[256] = { 0 }; - TEST_CHECK(0 == cf_norx32_decrypt(K, N, - H, i, - C, i, - NULL, 0, - A, M)); - - TEST_CHECK(0 == memcmp(M, W, i)); - } -} - -TEST_LIST = { - { "vector", test_vector }, - { "kat", test_kat }, - { 0 } -}; - |