crypto: aegis - fix handling chunked inputs
authorEric Biggers <ebiggers@google.com>
Fri, 1 Feb 2019 07:51:36 +0000 (23:51 -0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 8 Feb 2019 07:30:08 +0000 (15:30 +0800)
commit0f533e67d26f228ea5dfdacc8a4bdeb487af5208
tree2124e65bceaf4d859803284f4e98f99beceee967
parent42e95d1f10dcf8b18b1d7f52f7068985b3dc5b79
crypto: aegis - fix handling chunked inputs

The generic AEGIS implementations all fail the improved AEAD tests
because they produce the wrong result with some data layouts.  The issue
is that they assume that if the skcipher_walk API gives 'nbytes' not
aligned to the walksize (a.k.a. walk.stride), then it is the end of the
data.  In fact, this can happen before the end.  Fix them.

Fixes: f606a88e5823 ("crypto: aegis - Add generic AEGIS AEAD implementations")
Cc: <stable@vger.kernel.org> # v4.18+
Cc: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@google.com>
Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/aegis128.c
crypto/aegis128l.c
crypto/aegis256.c