HardenedBSD/tests/sys/opencrypto/Makefile
Conrad Meyer 0e33efe4e4 Import Blake2 algorithms (blake2b, blake2s) from libb2
The upstream repository is on github BLAKE2/libb2.  Files landed in
sys/contrib/libb2 are the unmodified upstream files, except for one
difference:  secure_zero_memory's contents have been replaced with
explicit_bzero() only because the previous implementation broke powerpc
link.  Preferential use of explicit_bzero() is in progress upstream, so
it is anticipated we will be able to drop this diff in the future.

sys/crypto/blake2 contains the source files needed to port libb2 to our
build system, a wrapped (limited) variant of the algorithm to match the API
of our auth_transform softcrypto abstraction, incorporation into the Open
Crypto Framework (OCF) cryptosoft(4) driver, as well as an x86 SSE/AVX
accelerated OCF driver, blake2(4).

Optimized variants of blake2 are compiled for a number of x86 machines
(anything from SSE2 to AVX + XOP).  On those machines, FPU context will need
to be explicitly saved before using blake2(4)-provided algorithms directly.
Use via cryptodev / OCF saves FPU state automatically, and use via the
auth_transform softcrypto abstraction does not use FPU.

The intent of the OCF driver is mostly to enable testing in userspace via
/dev/crypto.  ATF tests are added with published KAT test vectors to
validate correctness.

Reviewed by:	jhb, markj
Obtained from:	github BLAKE2/libb2
Differential Revision:	https://reviews.freebsd.org/D14662
2018-03-21 16:18:14 +00:00

26 lines
501 B
Makefile

# $FreeBSD$
PACKAGE= tests
TESTSDIR= ${TESTSBASE}/sys/opencrypto
BINDIR= ${TESTSDIR}
CFLAGS+= -I${SRCTOP}/tests
CFLAGS.blake2_test.c += -I${SRCTOP}/sys/opencrypto
CFLAGS.blake2_test.c += -I${SRCTOP}/sys/contrib/libb2
ATF_TESTS_C+= blake2_test
PLAIN_TESTS_SH= runtests
TEST_METADATA.runtests+= required_programs="python"
TEST_METADATA.runtests+= required_user="root"
PYMODULES= cryptodev.py cryptodevh.py cryptotest.py dpkt.py
${PACKAGE}FILES+= ${PYMODULES}
WARNS?= 6
.include <bsd.test.mk>