Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Nicolas Mora
nettle
Commits
21f197b9
Commit
21f197b9
authored
Sep 03, 2016
by
Niels Möller
Browse files
Test for memeql_sec.
parent
1a0a8dce
Changes
4
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
21f197b9
...
...
@@ -51,6 +51,10 @@
* memops.h: New header file, generalizing memxor.h.
* testsuite/memeql-test.c (test_main): New test case.
(memeql_sec_for_test): Wrapper to get valgrind to check for
side-channel silence.
2016-08-29 Niels Möller <nisse@lysator.liu.se>
* sexp-format.c (strlen_u8): New helper function.
...
...
testsuite/.test-rules.make
View file @
21f197b9
...
...
@@ -46,6 +46,9 @@ md5-test$(EXEEXT): md5-test.$(OBJEXT)
md5-compat-test$(EXEEXT)
:
md5-compat-test.$(OBJEXT)
$(LINK)
md5-compat-test.
$(OBJEXT)
$(TEST_OBJS)
-o
md5-compat-test
$(EXEEXT)
memeql-test$(EXEEXT)
:
memeql-test.$(OBJEXT)
$(LINK)
memeql-test.
$(OBJEXT)
$(TEST_OBJS)
-o
memeql-test
$(EXEEXT)
memxor-test$(EXEEXT)
:
memxor-test.$(OBJEXT)
$(LINK)
memxor-test.
$(OBJEXT)
$(TEST_OBJS)
-o
memxor-test
$(EXEEXT)
...
...
testsuite/Makefile.in
View file @
21f197b9
...
...
@@ -16,7 +16,7 @@ TS_NETTLE_SOURCES = aes-test.c arcfour-test.c arctwo-test.c \
camellia-test.c chacha-test.c
\
des-test.c des3-test.c des-compat-test.c
\
md2-test.c md4-test.c md5-test.c md5-compat-test.c
\
memxor-test.c gosthash94-test.c
\
memeql-test.c
memxor-test.c gosthash94-test.c
\
ripemd160-test.c
\
salsa20-test.c
\
sha1-test.c sha224-test.c sha256-test.c
\
...
...
testsuite/memeql-test.c
0 → 100644
View file @
21f197b9
#include "testutils.h"
#include "knuth-lfib.h"
#include "memops.h"
#if HAVE_VALGRIND_MEMCHECK_H
# include <valgrind/memcheck.h>
static
int
memeql_sec_for_test
(
const
void
*
a
,
const
void
*
b
,
size_t
n
)
{
int
res
;
/* Makes valgrind trigger on any branches depending on the input
data. */
VALGRIND_MAKE_MEM_UNDEFINED
(
a
,
n
);
VALGRIND_MAKE_MEM_UNDEFINED
(
b
,
n
);
res
=
memeql_sec
(
a
,
b
,
n
);
VALGRIND_MAKE_MEM_DEFINED
(
&
res
,
sizeof
(
res
));
return
res
;
}
#else
#define memeql_sec_for_test memeql_sec
#endif
#define MAX_SIZE 50
void
test_main
(
void
)
{
uint8_t
orig
[
MAX_SIZE
];
uint8_t
a
[
MAX_SIZE
];
uint8_t
b
[
MAX_SIZE
];
struct
knuth_lfib_ctx
random_ctx
;
knuth_lfib_init
(
&
random_ctx
,
11
);
size_t
size
;
for
(
size
=
0
;
size
<
50
;
size
++
)
{
size_t
i
;
uint8_t
bit
;
knuth_lfib_random
(
&
random_ctx
,
size
,
orig
);
memcpy
(
a
,
orig
,
size
);
memcpy
(
b
,
orig
,
size
);
ASSERT
(
memeql_sec_for_test
(
a
,
b
,
size
));
for
(
i
=
0
;
i
<
size
;
i
++
)
for
(
bit
=
0x80
;
bit
;
bit
>>=
1
)
{
b
[
i
]
=
orig
[
i
]
^
bit
;
ASSERT
(
!
memeql_sec_for_test
(
a
,
b
,
size
));
b
[
i
]
=
orig
[
i
];
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment