[PATCH 0/9] Remove per-architecture poly1305 shash glue code
From: Eric Biggers
Date: Sun Apr 13 2025 - 00:55:51 EST
This series removes the per-architecture poly1305 shash glue code and
re-implements the poly1305 shashes on top of the Poly1305 library
functions. This ends up being much simpler, and it is how it should
have been done originally. This follows similar changes to crc32,
crc32c, and chacha20.
This series also makes the Poly1305 library be optimized on PowerPC.
Previously the PowerPC-optimized Poly1305 code only supported shash.
Eric Biggers (9):
crypto: powerpc/poly1305 - implement library instead of shash
crypto: poly1305 - centralize the shash wrappers for arch code
crypto: arm/poly1305 - remove redundant shash algorithm
crypto: arm64/poly1305 - remove redundant shash algorithm
crypto: mips/poly1305 - drop redundant dependency on CONFIG_MIPS
crypto: mips/poly1305 - remove redundant shash algorithm
crypto: x86/poly1305 - remove redundant shash algorithm
crypto: x86/poly1305 - don't select CRYPTO_LIB_POLY1305_GENERIC
crypto: poly1305 - remove rset and sset fields of poly1305_desc_ctx
arch/arm/crypto/Kconfig | 6 -
arch/arm/crypto/poly1305-glue.c | 170 ++----------------------
arch/arm64/crypto/Kconfig | 6 -
arch/arm64/crypto/poly1305-glue.c | 143 ++------------------
arch/mips/crypto/Kconfig | 6 -
arch/mips/crypto/poly1305-glue.c | 120 +----------------
arch/powerpc/crypto/Kconfig | 11 +-
arch/powerpc/crypto/poly1305-p10-glue.c | 134 ++++++-------------
arch/x86/crypto/Kconfig | 8 --
arch/x86/crypto/poly1305_glue.c | 99 ++------------
crypto/Makefile | 3 +-
crypto/poly1305.c | 153 +++++++++++++++++++++
crypto/poly1305_generic.c | 149 ---------------------
include/crypto/poly1305.h | 13 +-
lib/crypto/poly1305.c | 2 -
15 files changed, 242 insertions(+), 781 deletions(-)
create mode 100644 crypto/poly1305.c
delete mode 100644 crypto/poly1305_generic.c
base-commit: 3be3f70ee95da03a87d94c4a714ee679a5c7b34d
--
2.49.0