git: 33d56e57ece8 - main - crypto: Encrypt the XORed input block for Camellia-CBC.
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sat, 18 Dec 2021 00:48:41 UTC
The branch main has been updated by jhb: URL: https://cgit.FreeBSD.org/src/commit/?id=33d56e57ece8fd270ed98e5979b4e19b23891329 commit 33d56e57ece8fd270ed98e5979b4e19b23891329 Author: John Baldwin <jhb@FreeBSD.org> AuthorDate: 2021-12-18 00:46:09 +0000 Commit: John Baldwin <jhb@FreeBSD.org> CommitDate: 2021-12-18 00:46:09 +0000 crypto: Encrypt the XORed input block for Camellia-CBC. This fixes a regression in the previous change to move CBC chaining into enc_xform_camellia which passed the raw input into the encrypt function (thus not actually doing the chaining). This still works when using the same buffer for input and output which is why my initial testing with cryptocheck didn't catch it. Fixes: f84d708b484b crypto: Move CBC handling into enc_xform_camellia. Sponsored by: The FreeBSD Foundation --- sys/opencrypto/xform_cml.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/opencrypto/xform_cml.c b/sys/opencrypto/xform_cml.c index 8ab18142489c..af8ad22f9b18 100644 --- a/sys/opencrypto/xform_cml.c +++ b/sys/opencrypto/xform_cml.c @@ -88,7 +88,7 @@ cml_encrypt(void *vctx, const uint8_t *in, uint8_t *out) for (u_int i = 0; i < CAMELLIA_BLOCK_LEN; i++) out[i] = in[i] ^ ctx->iv[i]; - camellia_encrypt(&ctx->state, in, out); + camellia_encrypt(&ctx->state, out, out); memcpy(ctx->iv, out, CAMELLIA_BLOCK_LEN); }