Linux cryptographic layer development
 help / color / mirror / Atom feed
* [PATCH crypto-next v3 0/3] crypto: poly1305 improvements
@ 2019-12-12 17:32 Jason A. Donenfeld
  2019-12-12 17:32 ` [PATCH crypto-next v3 1/3] crypto: poly1305 - add new 32 and 64-bit generic versions Jason A. Donenfeld
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Jason A. Donenfeld @ 2019-12-12 17:32 UTC (permalink / raw)
  To: linux-crypto; +Cc: Jason A. Donenfeld, Eric Biggers, Ard Biesheuvel

These are some improvements to the Poly1305 code that I think should be fairly
uncontroversial. The first part, the new C implementations, adds cleaner code
in two forms that can easily be compared and reviewed, and also results in
modest performance speedups. The second part, the new x86_64 implementation,
replaces an slow unvetted implementation with an extremely fast implementation
that has received many eyeballs. Finally, we fix up some deadcode.

Cc: Eric Biggers <ebiggers@kernel.org>
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>

Jason A. Donenfeld (3):
  crypto: poly1305 - add new 32 and 64-bit generic versions
  crypto: x86_64/poly1305 - add faster implementations
  crypto: arm/arm64/mips/poly1305 - remove redundant non-reduction from
    emit

 arch/arm/crypto/poly1305-glue.c        |   18 +-
 arch/arm64/crypto/poly1305-glue.c      |   18 +-
 arch/mips/crypto/poly1305-glue.c       |   18 +-
 arch/x86/crypto/Makefile               |   11 +-
 arch/x86/crypto/poly1305-avx2-x86_64.S |  390 ---
 arch/x86/crypto/poly1305-sse2-x86_64.S |  590 ----
 arch/x86/crypto/poly1305-x86_64.pl     | 4266 ++++++++++++++++++++++++
 arch/x86/crypto/poly1305_glue.c        |  308 +-
 crypto/adiantum.c                      |   10 +-
 crypto/nhpoly1305.c                    |    6 +-
 crypto/poly1305_generic.c              |   23 +
 include/crypto/internal/poly1305.h     |   39 +-
 include/crypto/nhpoly1305.h            |    2 +-
 include/crypto/poly1305.h              |   16 +-
 lib/crypto/Kconfig                     |    4 +-
 lib/crypto/Makefile                    |    4 +-
 lib/crypto/poly1305-donna32.c          |  204 ++
 lib/crypto/poly1305-donna64.c          |  185 +
 lib/crypto/poly1305.c                  |  160 +-
 19 files changed, 4910 insertions(+), 1362 deletions(-)
 delete mode 100644 arch/x86/crypto/poly1305-avx2-x86_64.S
 delete mode 100644 arch/x86/crypto/poly1305-sse2-x86_64.S
 create mode 100644 arch/x86/crypto/poly1305-x86_64.pl
 create mode 100644 lib/crypto/poly1305-donna32.c
 create mode 100644 lib/crypto/poly1305-donna64.c

-- 
2.24.1


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2019-12-13 20:38 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-12-12 17:32 [PATCH crypto-next v3 0/3] crypto: poly1305 improvements Jason A. Donenfeld
2019-12-12 17:32 ` [PATCH crypto-next v3 1/3] crypto: poly1305 - add new 32 and 64-bit generic versions Jason A. Donenfeld
2019-12-13  3:03   ` Eric Biggers
2019-12-13 15:26     ` Jason A. Donenfeld
2019-12-12 17:32 ` [PATCH crypto-next v3 2/3] crypto: x86_64/poly1305 - add faster implementations Jason A. Donenfeld
2019-12-13  3:04   ` Eric Biggers
2019-12-12 17:32 ` [PATCH crypto-next v3 3/3] crypto: arm/arm64/mips/poly1305 - remove redundant non-reduction from emit Jason A. Donenfeld

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox