Expand the XTS documentation
authorMatt Caswell <matt@openssl.org>
Thu, 2 Apr 2020 08:58:59 +0000 (09:58 +0100)
committerMatt Caswell <matt@openssl.org>
Fri, 3 Apr 2020 10:13:16 +0000 (11:13 +0100)
Explain that XTS does not support streaming, and that the IV value is the
tweak.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/11461)

doc/man3/EVP_aes_128_gcm.pod

index 1ca893a738a8ac056860bd2202d129d0befc1aaf..56ae74040a5cf945422c5aae5380bfdf9fa03aad 100644 (file)
@@ -160,6 +160,13 @@ In particular, XTS-AES-128 (B<EVP_aes_128_xts>) takes input of a 256-bit key to
 achieve AES 128-bit security, and XTS-AES-256 (B<EVP_aes_256_xts>) takes input
 of a 512-bit key to achieve AES 256-bit security.
 
 achieve AES 128-bit security, and XTS-AES-256 (B<EVP_aes_256_xts>) takes input
 of a 512-bit key to achieve AES 256-bit security.
 
+The XTS implementation in OpenSSL does not support streaming. That is there must
+only be one L<EVP_EncryptUpdate(3)> call per L<EVP_EncryptInit_ex(3)> call (and
+similarly with the "Decrypt" functions).
+
+The I<iv> parameter to L<EVP_EncryptInit_ex(3)> or L<EVP_DecryptInit_ex(3)> is
+the XTS "tweak" value.
+
 =back
 
 =head1 RETURN VALUES
 =back
 
 =head1 RETURN VALUES