Herbert, all, This is the alternate approach you suggested for interleaving in generic chaining modes. The non-overlapping case seems an obvious win, but may benefit from a crypto_xor() optimized for larger sizes. For the inplace case, it is more problematic as we still require a block count for the chunk. Anyway, no performance numbers yet. I will post back once I produce any. -- Ard. Ard Biesheuvel (3): crypto: update generic ECB's driver_name to 'ecb_generic' crypto: use ECB to implement CBC decryption arm64: add Crypto Extensions based core AES cipher and 4-way ECB arch/arm64/Makefile | 1 + arch/arm64/crypto/Makefile | 13 ++ arch/arm64/crypto/aes-ce-cipher.c | 382 ++++++++++++++++++++++++++++++++++++++ crypto/Kconfig | 6 + crypto/cbc.c | 234 +++++++++++++++++++++-- crypto/ecb.c | 12 ++ 6 files changed, 635 insertions(+), 13 deletions(-) create mode 100644 arch/arm64/crypto/Makefile create mode 100644 arch/arm64/crypto/aes-ce-cipher.c -- 1.8.3.2 -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html