summaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorArd Biesheuvel <ard.biesheuvel@linaro.org>2017-07-24 11:28:18 +0100
committerHerbert Xu <herbert@gondor.apana.org.au>2017-08-04 09:27:25 +0800
commit03c9a333fef1bb0a67615b686a7342d853f1a460 (patch)
tree4e6464450d8176e49f1d2a959e24bb9209ce9466 /arch/arm
parent3759ee057261a45da0505e79084de8b6ac31c4a5 (diff)
downloadop-kernel-dev-03c9a333fef1bb0a67615b686a7342d853f1a460.zip
op-kernel-dev-03c9a333fef1bb0a67615b686a7342d853f1a460.tar.gz
crypto: arm64/ghash - add NEON accelerated fallback for 64-bit PMULL
Implement a NEON fallback for systems that do support NEON but have no support for the optional 64x64->128 polynomial multiplication instruction that is part of the ARMv8 Crypto Extensions. It is based on the paper "Fast Software Polynomial Multiplication on ARM Processors Using the NEON Engine" by Danilo Camara, Conrado Gouvea, Julio Lopez and Ricardo Dahab (https://hal.inria.fr/hal-01506572), but has been reworked extensively for the AArch64 ISA. On a low-end core such as the Cortex-A53 found in the Raspberry Pi3, the NEON based implementation is 4x faster than the table based one, and is time invariant as well, making it less vulnerable to timing attacks. When combined with the bit-sliced NEON implementation of AES-CTR, the AES-GCM performance increases by 2x (from 58 to 29 cycles per byte). Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'arch/arm')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud