From 782a34f76f5255ea8b4e5c7e8e8faa62a075beee Mon Sep 17 00:00:00 2001 From: Tomas Mraz Date: Wed, 13 Dec 2023 10:06:59 +0100 Subject: AES: Document that the XTS, SIV, WRAP modes do not support streaming Reviewed-by: Shane Lontis Reviewed-by: Tom Cosgrove (Merged from https://github.com/openssl/openssl/pull/23028) (cherry picked from commit 8f0f814d791e0825b96c30494594de619da3e5a5) --- doc/man7/EVP_CIPHER-AES.pod | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/man7/EVP_CIPHER-AES.pod b/doc/man7/EVP_CIPHER-AES.pod index fa1eaa843b..7bd3746c9b 100644 --- a/doc/man7/EVP_CIPHER-AES.pod +++ b/doc/man7/EVP_CIPHER-AES.pod @@ -63,6 +63,19 @@ FIPS provider: This implementation supports the parameters described in L. +=head1 NOTES + +The AES-SIV and AES-WRAP mode implementations do not support streaming. That +means to obtain correct results there can be only one L +or L call after the initialization of the context. + +The AES-XTS implementations allow streaming to be performed, but each +L or L call requires each input +to be a multiple of the blocksize. Only the final EVP_EncryptUpdate() or +EVP_DecryptUpdate() call can optionally have an input that is not a multiple +of the blocksize but is larger than one block. In that case ciphertext +stealing (CTS) is used to fill the block. + =head1 SEE ALSO L, L, L -- cgit v1.2.3