[PATCH v5 0/2] generic: test HCTR2 filename encryption

Nathan Huckleberry
2022-08-03T22:41:41Z

This patchset is not intended to be accepted yet. It is reliant on HCTR2
support in the kernel which has not yet been accepted. See the HCTR2 patchset
here: https://lore.kernel.org/all/20220520181501.2159644-1-nhuck@google.com/

HCTR2 is a new wide-block encryption mode that can used for filename encryption
in fscrypt. This patchset adds a reference implementation of HCTR2 to the
fscrypt testing utility and adds tests for filename encryption with HCTR2.

More information on HCTR2 can be found here: "Length-preserving encryption with
HCTR2": https://ia.cr/2021/1441

Changes in v5:
* Added links to relevant references for POLYVAL and HCTR2
* Removed POLYVAL partial block handling
* Referenced HCTR2 commit in test

Changes in v4:
* Add helper functions for HCTR2 hashing
* Fix accumulator alignment bug
* Small style fixes

Changes in v3:
* Consolidate tests into one file

Changes in v2:
* Use POLYVAL multiplication directly instead of using GHASH trick
* Split reference implementation and tests into two patches
* Remove v1 policy tests
* Various small style fixes

Nathan Huckleberry (2):
fscrypt-crypt-util: add HCTR2 implementation
generic: add tests for fscrypt policies with HCTR2

common/encrypt | 2 +
src/fscrypt-crypt-util.c | 358 ++++++++++++++++++++++++++++++++-------
tests/generic/900 | 31 ++++
tests/generic/900.out | 16 ++
4 files changed, 350 insertions(+), 57 deletions(-)
create mode 100755 tests/generic/900
create mode 100644 tests/generic/900.out

--
2.37.1.455.g008518b4e5-goog