1. 03 Feb, 2017 12 commits
  2. 02 Feb, 2017 2 commits
  3. 23 Jan, 2017 16 commits
  4. 13 Jan, 2017 9 commits
  5. 12 Jan, 2017 1 commit
    • Ard Biesheuvel's avatar
      crypto: arm64/aes - reimplement bit-sliced ARM/NEON implementation for arm64 · 1abee99e
      Ard Biesheuvel authored
      This is a reimplementation of the NEON version of the bit-sliced AES
      algorithm. This code is heavily based on Andy Polyakov's OpenSSL version
      for ARM, which is also available in the kernel. This is an alternative for
      the existing NEON implementation for arm64 authored by me, which suffers
      from poor performance due to its reliance on the pathologically slow four
      register variant of the tbl/tbx NEON instruction.
      
      This version is about ~30% (*) faster than the generic C code, but only in
      cases where the input can be 8x interleaved (this is a fundamental property
      of bit slicing). For this reason, only the chaining modes ECB, XTS and CTR
      are implemented. (The significance of ECB is that it could potentially be
      used by other chaining modes)
      
      * Measured on Cortex-A57. Note that this is still an order of magnitude
        slower than the implementations that use the dedicated AES instructions
        introduced in ARMv8, but those are part of an optional extension, and so
        it is good to have a fallback.
      Signed-off-by: default avatarArd Biesheuvel <ard.biesheuvel@linaro.org>
      Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
      1abee99e