freebsd-dev/sys/contrib
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
..
alpine-hal
ck Define CK_MD_TSO for the relevant arches (i386, amd64 and sparc64). 2018-02-16 17:50:06 +00:00
cloudabi Import the latest CloudABI definitions, v0.18. 2017-11-21 20:46:21 +00:00
dev Merge ACPICA 20180313. 2018-03-14 23:45:48 +00:00
edk2
ena-com Rework printouts and logging level in ENA driver 2017-11-09 13:30:39 +00:00
ipfilter/netinet style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
libb2 Import Blake2 algorithms (blake2b, blake2s) from libb2 2018-03-21 16:18:14 +00:00
libfdt MFV r328490: Update libfdt to github:f1879e1 2018-01-27 21:25:45 +00:00
libnv Add SPDX tags for nv(9). 2018-01-27 12:58:21 +00:00
ncsw Rename a couple files to not conflict with ZFS filenames 2017-11-01 03:09:16 +00:00
ngatm
octeon-sdk Use the correct board name for the Ubiquiti Unifi Security Gateway 2017-11-14 03:21:39 +00:00
rdma/krping Compile fixes for 32-bit architectures. 2017-11-24 12:08:50 +00:00
v4l
vchiq/interface vchiq: Use mallocarray() to provide kcalloc() 2018-01-07 13:41:06 +00:00
x86emu
xz-embedded
zstd lib(private)zstd: Fix riscv build 2018-03-18 03:42:57 +00:00