From: Eric Biggers <ebiggers@kernel.org>
To: fstests@vger.kernel.org
Cc: linux-fscrypt@vger.kernel.org
Subject: [PATCH 3/3] fscrypt-crypt-util: fix XTS self-test with latest OpenSSL
Date: Sun, 19 Mar 2023 12:38:47 -0700 [thread overview]
Message-ID: <20230319193847.106872-4-ebiggers@kernel.org> (raw)
In-Reply-To: <20230319193847.106872-1-ebiggers@kernel.org>
From: Eric Biggers <ebiggers@google.com>
In OpenSSL 3.0, XTS encryption fails if the message is zero-length.
Therefore, update test_aes_256_xts() to not test this case.
This only affects the algorithm self-tests within fscrypt-crypt-util,
which are not compiled by default.
Signed-off-by: Eric Biggers <ebiggers@google.com>
---
src/fscrypt-crypt-util.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/src/fscrypt-crypt-util.c b/src/fscrypt-crypt-util.c
index 040b80c0..6edf0047 100644
--- a/src/fscrypt-crypt-util.c
+++ b/src/fscrypt-crypt-util.c
@@ -1107,12 +1107,16 @@ static void test_aes_256_xts(void)
while (num_tests--) {
u8 key[2 * AES_256_KEY_SIZE];
u8 iv[AES_BLOCK_SIZE];
- u8 ptext[512];
+ u8 ptext[32 * AES_BLOCK_SIZE];
u8 ctext[sizeof(ptext)];
u8 ref_ctext[sizeof(ptext)];
u8 decrypted[sizeof(ptext)];
- const size_t datalen = ROUND_DOWN(rand() % (1 + sizeof(ptext)),
- AES_BLOCK_SIZE);
+ // Don't test message lengths that aren't a multiple of the AES
+ // block size, since support for that is not implemented here.
+ // Also don't test zero-length messages, since OpenSSL 3.0 and
+ // later returns an error for those.
+ const size_t datalen = AES_BLOCK_SIZE *
+ (1 + rand() % (sizeof(ptext) / AES_BLOCK_SIZE));
int outl, res;
rand_bytes(key, sizeof(key));
--
2.40.0
next prev parent reply other threads:[~2023-03-19 19:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-19 19:38 [PATCH 0/3] xfstests: make fscrypt-crypt-util self-tests work with OpenSSL 3.0 Eric Biggers
2023-03-19 19:38 ` [PATCH 1/3] fscrypt-crypt-util: fix HKDF self-test with latest OpenSSL Eric Biggers
2023-03-19 19:38 ` [PATCH 2/3] fscrypt-crypt-util: use OpenSSL EVP API for AES self-tests Eric Biggers
2023-03-19 19:38 ` Eric Biggers [this message]
2023-03-20 14:03 ` [PATCH 0/3] xfstests: make fscrypt-crypt-util self-tests work with OpenSSL 3.0 Zorro Lang
2023-03-20 16:20 ` Eric Biggers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230319193847.106872-4-ebiggers@kernel.org \
--to=ebiggers@kernel.org \
--cc=fstests@vger.kernel.org \
--cc=linux-fscrypt@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.