crypto: aegis/generic - fix for big endian systems
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Mon, 1 Oct 2018 08:36:38 +0000 (10:36 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 8 Oct 2018 05:44:53 +0000 (13:44 +0800)
commit4a34e3c2f2f48f47213702a84a123af0fe21ad60
tree7aa30c05b6323f47a335c2852b29ef3d647f34ac
parent5a8dedfa3276e88c5865f265195d63d72aec3e72
crypto: aegis/generic - fix for big endian systems

Use the correct __le32 annotation and accessors to perform the
single round of AES encryption performed inside the AEGIS transform.
Otherwise, tcrypt reports:

  alg: aead: Test 1 failed on encryption for aegis128-generic
  00000000: 6c 25 25 4a 3c 10 1d 27 2b c1 d4 84 9a ef 7f 6e
  alg: aead: Test 1 failed on encryption for aegis128l-generic
  00000000: cd c6 e3 b8 a0 70 9d 8e c2 4f 6f fe 71 42 df 28
  alg: aead: Test 1 failed on encryption for aegis256-generic
  00000000: aa ed 07 b1 96 1d e9 e6 f2 ed b5 8e 1c 5f dc 1c

Fixes: f606a88e5823 ("crypto: aegis - Add generic AEGIS AEAD implementations")
Cc: <stable@vger.kernel.org> # v4.18+
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Ondrej Mosnacek <omosnace@redhat.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/aegis.h