v1: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg01601.html
v2: https://lists.gnu.org/archive/html/qemu-devel/2018-10/msg03159.html
The XTS cipher mode is significantly slower than CBC mode. This series
approximately doubles the XTS performance which will improve the I/O
rate for LUKS disks.
Changed in v3:
- Swap order of byteswapping calls in xts_mult_x
- Clarify arithmetic ops in xts_mult_x
- Do in-place encryption in some xts_tweak_encdec calls
Changed in v2:
- Use union for xts_uint128 to allow bytewise access without casts
- Use byteswapping for endian correct bit gf128 shifting
- Optimize for aligned buffers, with fallback for unaligned buffers
- Add tests for unaligned buffer usage
Daniel P. Berrangé (8):
crypto: expand algorithm coverage for cipher benchmark
crypto: remove code duplication in tweak encrypt/decrypt
crypto: introduce a xts_uint128 data type
crypto: convert xts_tweak_encdec to use xts_uint128 type
crypto: convert xts_mult_x to use xts_uint128 type
crypto: annotate xts_tweak_encdec as inlineable
crypto: refactor XTS cipher mode test suite
crypto: add testing for unaligned buffers with XTS cipher mode
crypto/xts.c | 200 +++++++++++++++-------------
tests/benchmark-crypto-cipher.c | 149 +++++++++++++++++----
tests/test-crypto-xts.c | 226 +++++++++++++++++++++++---------
3 files changed, 402 insertions(+), 173 deletions(-)
--
2.17.2