ltq-deu: aes-ctr: process all input data
authorMathias Kresin <dev@kresin.me>
Sun, 18 Apr 2021 12:37:24 +0000 (14:37 +0200)
committerHauke Mehrtens <hauke@hauke-m.de>
Wed, 5 Jan 2022 22:05:38 +0000 (23:05 +0100)
commit17656f21f36b6d33fd55d1b63435e85cc79865de
tree0cb21adc1db3ecf69fb08415248c6e51e712ce38
parentab270c6fbc38f81669529300daee85b809111c39
ltq-deu: aes-ctr: process all input data

Even if the minimum blocksize is set to 16 (AES_BLOCK_SIZE), the crypto
manager tests pass 499 bytes of data to the aes-ctr encryption, from
which only 496 bytes are actually encrypted.

Reading the comment regarding the minimum blocksize, it only states that
it's the "smallest possible unit which can be transformed with this
algorithm". Which doesn't necessarily mean, the data have to be a
multiple of the minimal blocksize.

All kernel hardware crypto driver enforce a minimum blocksize of 1,
which perfect fine works for the lantiq data encryption unit as well.

Lower the blocksize limit to 1, to process not padded data as well.
In AES for processing the remaining bytes, uninitialized pointers
were used.
This patch fixes using uninitialized pointers and wrong offsets.

Signed-off-by: Mathias Kresin <dev@kresin.me>
[fix commit title prefix]
Signed-off-by: Daniel Kestrel <kestrel1974@t-online.de>
package/kernel/lantiq/ltq-deu/src/ifxmips_aes.c