Loading test/build.info +1 −1 Original line number Diff line number Diff line Loading @@ -358,7 +358,7 @@ IF[{- !$disabled{tests} -}] INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include DEPEND[poly1305_internal_test]=../libcrypto.a SOURCE[chacha_internal_test]=chacha_internal_test.c SOURCE[chacha_internal_test]=chacha_internal_test.c testutil.c test_main.c INCLUDE[chacha_internal_test]=.. ../include ../crypto/include DEPEND[chacha_internal_test]=../libcrypto.a Loading test/chacha_internal_test.c +24 −25 Original line number Diff line number Diff line Loading @@ -12,10 +12,10 @@ * complete 32-byte blocks. This test goes per byte... */ #include <stdio.h> #include <string.h> #include <openssl/opensslconf.h> #include "test_main.h" #include "testutil.h" #include "internal/chacha.h" const static unsigned int key[] = { Loading Loading @@ -158,17 +158,11 @@ const static unsigned char ref[] = { 0xd3, 0x3e, 0xa2, 0x15, 0x5d, 0x10, 0x5d, 0x4e }; int main(void) static int test_cha_cha_internal(int n) { unsigned char buf[sizeof(ref)]; unsigned int i,j; int ret = 0; #ifdef CPUID_OBJ OPENSSL_cpuid_setup(); #endif unsigned int i = n + 1, j; for (i = 1; i <= sizeof(ref); i++) { memset(buf, 0, i); memcpy(buf + i, ref + i, sizeof(ref) - i); Loading @@ -178,14 +172,19 @@ int main(void) * Idea behind checking for whole sizeof(ref) is that if * ChaCha20_ctr32 oversteps i-th byte, then we'd know */ for (j = 0; j < sizeof(ref); j++) { if (buf[j] != ref[j]) { fprintf(stderr, "%u failed at %u (%02x)\n", i, j, buf[j]); ret = 1; break; } for (j = 0; j < sizeof(ref); j++) if (!TEST_uchar_eq(buf[j], ref[j])) { TEST_info("%d failed at %u (%02x)\n", i, j, buf[j]); return 0; } return 1; } return ret; void register_tests(void) { #ifdef CPUID_OBJ OPENSSL_cpuid_setup(); #endif ADD_ALL_TESTS(test_cha_cha_internal, sizeof(ref)); } Loading
test/build.info +1 −1 Original line number Diff line number Diff line Loading @@ -358,7 +358,7 @@ IF[{- !$disabled{tests} -}] INCLUDE[poly1305_internal_test]=.. ../include ../crypto/include DEPEND[poly1305_internal_test]=../libcrypto.a SOURCE[chacha_internal_test]=chacha_internal_test.c SOURCE[chacha_internal_test]=chacha_internal_test.c testutil.c test_main.c INCLUDE[chacha_internal_test]=.. ../include ../crypto/include DEPEND[chacha_internal_test]=../libcrypto.a Loading
test/chacha_internal_test.c +24 −25 Original line number Diff line number Diff line Loading @@ -12,10 +12,10 @@ * complete 32-byte blocks. This test goes per byte... */ #include <stdio.h> #include <string.h> #include <openssl/opensslconf.h> #include "test_main.h" #include "testutil.h" #include "internal/chacha.h" const static unsigned int key[] = { Loading Loading @@ -158,17 +158,11 @@ const static unsigned char ref[] = { 0xd3, 0x3e, 0xa2, 0x15, 0x5d, 0x10, 0x5d, 0x4e }; int main(void) static int test_cha_cha_internal(int n) { unsigned char buf[sizeof(ref)]; unsigned int i,j; int ret = 0; #ifdef CPUID_OBJ OPENSSL_cpuid_setup(); #endif unsigned int i = n + 1, j; for (i = 1; i <= sizeof(ref); i++) { memset(buf, 0, i); memcpy(buf + i, ref + i, sizeof(ref) - i); Loading @@ -178,14 +172,19 @@ int main(void) * Idea behind checking for whole sizeof(ref) is that if * ChaCha20_ctr32 oversteps i-th byte, then we'd know */ for (j = 0; j < sizeof(ref); j++) { if (buf[j] != ref[j]) { fprintf(stderr, "%u failed at %u (%02x)\n", i, j, buf[j]); ret = 1; break; } for (j = 0; j < sizeof(ref); j++) if (!TEST_uchar_eq(buf[j], ref[j])) { TEST_info("%d failed at %u (%02x)\n", i, j, buf[j]); return 0; } return 1; } return ret; void register_tests(void) { #ifdef CPUID_OBJ OPENSSL_cpuid_setup(); #endif ADD_ALL_TESTS(test_cha_cha_internal, sizeof(ref)); }