• Ard Biesheuvel's avatar
    crypto: morus/generic - fix for big endian systems · 5a8dedfa
    Ard Biesheuvel authored
    Omit the endian swabbing when folding the lengths of the assoc and
    crypt input buffers into the state to finalize the tag. This is not
    necessary given that the memory representation of the state is in
    machine native endianness already.
    This fixes an error reported by tcrypt running on a big endian system:
      alg: aead: Test 2 failed on encryption for morus640-generic
      00000000: a8 30 ef fb e6 26 eb 23 b0 87 dd 98 57 f3 e1 4b
      00000010: 21
      alg: aead: Test 2 failed on encryption for morus1280-generic
      00000000: 88 19 1b fb 1c 29 49 0e ee 82 2f cb 97 a6 a5 ee
      00000010: 5f
    Fixes: 396be41f ("crypto: morus - Add generic MORUS AEAD implementations")
    Cc: <stable@vger.kernel.org> # v4.18+
    Reviewed-by: default avatarOndrej Mosnacek <omosnace@redhat.com>
    Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
morus1280.c 14.1 KB