freebsd-skq/sys/opencrypto
John Baldwin 9b774dc0c5 Add support to the crypto framework for separate AAD buffers.
This permits requests to provide the AAD in a separate side buffer
instead of as a region in the crypto request input buffer.  This is
useful when the main data buffer might not contain the full AAD
(e.g. for TLS or IPsec with ESN).

Unlike separate IVs which are constrained in size and stored in an
array in struct cryptop, separate AAD is provided by the caller
setting a new crp_aad pointer to the buffer.  The caller must ensure
the pointer remains valid and the buffer contents static until the
request is completed (e.g. when the callback routine is invoked).

As with separate output buffers, not all drivers support this feature.
Consumers must request use of this feature via a new session flag.

To aid in driver testing, kern.crypto.cryptodev_separate_aad can be
set to force /dev/crypto requests to use a separate AAD buffer.

Discussed with:	cem
Sponsored by:	Chelsio Communications
Differential Revision:	https://reviews.freebsd.org/D25288
2020-06-22 23:20:43 +00:00
..
_cryptodev.h OpenCrypto: Convert sessions to opaque handles instead of integers 2018-07-18 00:56:25 +00:00
cbc_mac.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
cbc_mac.h Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
criov.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
crypto.c Add support to the crypto framework for separate AAD buffers. 2020-06-22 23:20:43 +00:00
cryptodeflate.c Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, 2019-08-01 06:35:33 +00:00
cryptodev_if.m Refactor driver and consumer interfaces for OCF (in-kernel crypto). 2020-03-27 18:25:23 +00:00
cryptodev.c Add support to the crypto framework for separate AAD buffers. 2020-06-22 23:20:43 +00:00
cryptodev.h Add support to the crypto framework for separate AAD buffers. 2020-06-22 23:20:43 +00:00
cryptosoft.c Add support to the crypto framework for separate AAD buffers. 2020-06-22 23:20:43 +00:00
deflate.h Allow Kernel to link in both legacy libkern/zlib and new sys/contrib/zlib, 2019-08-01 06:35:33 +00:00
gfmult.c
gfmult.h
gmac.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
gmac.h Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
ktls_ocf.c Fix a regression in r361804 for TLS 1.3. 2020-06-12 22:27:26 +00:00
rmd160.c
rmd160.h
xform_aes_icm.c Improve support for stream ciphers in the software encryption interface. 2020-05-22 16:29:09 +00:00
xform_aes_xts.c Various cleanups to the software encryption transform interface. 2020-05-20 21:21:01 +00:00
xform_auth.h Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_cbc_mac.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_cml.c Various cleanups to the software encryption transform interface. 2020-05-20 21:21:01 +00:00
xform_comp.h Various cleanups to the software encryption transform interface. 2020-05-20 21:21:01 +00:00
xform_deflate.c
xform_enc.h Improve support for stream ciphers in the software encryption interface. 2020-05-22 16:29:09 +00:00
xform_gmac.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_null.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_poly1305.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_poly1305.h Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_rijndael.c Various cleanups to the software encryption transform interface. 2020-05-20 21:21:01 +00:00
xform_rmd160.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_sha1.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform_sha2.c Adjust crypto_apply function callbacks for OCF. 2020-06-10 21:18:19 +00:00
xform.c Remove MD5 HMAC from OCF. 2020-05-11 22:08:08 +00:00
xform.h Remove MD5 HMAC from OCF. 2020-05-11 22:08:08 +00:00