f5c5ebb133
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 |
||
---|---|---|
.. | ||
cast.c | ||
cast.h | ||
castsb.h | ||
criov.c | ||
crypto.c | ||
cryptodeflate.c | ||
cryptodev_if.m | ||
cryptodev.c | ||
cryptodev.h | ||
cryptosoft.c | ||
cryptosoft.h | ||
deflate.h | ||
gfmult.c | ||
gfmult.h | ||
gmac.c | ||
gmac.h | ||
rmd160.c | ||
rmd160.h | ||
skipjack.c | ||
skipjack.h | ||
xform_aes_icm.c | ||
xform_aes_xts.c | ||
xform_auth.h | ||
xform_blf.c | ||
xform_cast5.c | ||
xform_cml.c | ||
xform_comp.h | ||
xform_deflate.c | ||
xform_des1.c | ||
xform_des3.c | ||
xform_enc.h | ||
xform_gmac.c | ||
xform_md5.c | ||
xform_null.c | ||
xform_rijndael.c | ||
xform_rmd160.c | ||
xform_sha1.c | ||
xform_sha2.c | ||
xform_skipjack.c | ||
xform_userland.h | ||
xform.c | ||
xform.h |