summaryrefslogtreecommitdiffstats
path: root/arch/arm64/crypto/ghash-ce-glue.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* arm64/crypto: improve performance of GHASH algorithmArd Biesheuvel2014-06-181-2/+2
| | | | | | | | | This patches modifies the GHASH secure hash implementation to switch to a faster, polynomial multiplication based reduction instead of one that uses shifts and rotates. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
* arm64/crypto: fix data corruption bug in GHASH algorithmArd Biesheuvel2014-06-181-0/+1
| | | | | | | | | | This fixes a bug in the GHASH algorithm resulting in the calculated hash to be incorrect if the input is presented in chunks whose size is not a multiple of 16 bytes. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Fixes: fdd2389457b2 ("arm64/crypto: GHASH secure hash using ARMv8 Crypto Extensions") Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
* arm64/crypto: GHASH secure hash using ARMv8 Crypto ExtensionsArd Biesheuvel2014-05-141-0/+155
This is a port to ARMv8 (Crypto Extensions) of the Intel implementation of the GHASH Secure Hash (used in the Galois/Counter chaining mode). It relies on the optional PMULL/PMULL2 instruction (polynomial multiply long, what Intel call carry-less multiply). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Herbert Xu <herbert@gondor.apana.org.au>