Implement GCM ghash using Zbc and Zbkb extensions

A patchset in state Obsolete for linux-kernel

From: Heiko Stuebner <heiko.stuebner@...> Date: Sun, 9 Jul 2023 17:30:55 +0200

This was originally part of my vector crypto series, but was part of a separate openssl merge request implementing GCM ghash as using non-vector extensions. As that pull-request https://github.com/openssl/openssl/pull/20078 got merged recently into openssl, we could also check if this could go into the kernel as well and provide a base for further accelerated cryptographic support. changes in v6: - rebase on top of riscv/for-next - rebase on top of Samuel Ortiz Arch-random series https://lore.kernel.org/r/20230709115549.2666557-1-sameo@rivosinc.com as it has the nicer Zbc + Zbkb integration for extensions and hwprobe - update perl code with better licensing text (Eric) This was also merged into the original openSSL sources - add SPDX license identifier (Eric) - drop unneeded fallback element in the private struct (Herbert) Changes in v5: - rebased on top of 6.4-based riscv/next - code from openssl is now dual-licensed under Apache + BSD see https://github.com/openssl/openssl/pull/20649 - separate init functions instead of creating them with macros (Nathan) Changes in v4: - rebase on top of riscv/for-next - split out the scalar crypto implementation from the vector series - refresh code from openSSL to match exactly - Remove RFC label, as Zbc and Zbkb are ratified and the cryptographic code was merged into openSSL changes in v3: - rebase on top of 6.3-rc2 - rebase on top of vector-v14 patchset - add the missing Co-developed-by mentions to showcase the people that did the actual openSSL crypto code changes in v2: - rebased on 6.2 + zbb series, so don't include already applied changes anymore - refresh code picked from openssl as that side matures - more algorithms (SHA512, AES, SM3, SM4) Heiko Stuebner (3): RISC-V: expose Zbc as Kconfig option RISC-V: hook new crypto subdir into build-system RISC-V: crypto: add accelerated GCM GHASH implementation arch/riscv/Kbuild | 1 + arch/riscv/Kconfig | 23 ++ arch/riscv/crypto/Kconfig | 18 ++ arch/riscv/crypto/Makefile | 18 ++ arch/riscv/crypto/ghash-riscv64-glue.c | 291 +++++++++++++++++ arch/riscv/crypto/ghash-riscv64-zbc.pl | 430 +++++++++++++++++++++++++ arch/riscv/crypto/riscv.pm | 261 +++++++++++++++ crypto/Kconfig | 3 + 8 files changed, 1045 insertions(+) create mode 100644 arch/riscv/crypto/Kconfig create mode 100644 arch/riscv/crypto/Makefile create mode 100644 arch/riscv/crypto/ghash-riscv64-glue.c create mode 100644 arch/riscv/crypto/ghash-riscv64-zbc.pl create mode 100644 arch/riscv/crypto/riscv.pm -- 2.39.2

Patches in this set

Statistics

  • 3 individual patches
  • 1045 lines added
  • 0 lines removed
 

Recent Patches

About Us

Sed lacus. Donec lectus. Nullam pretium nibh ut turpis. Nam bibendum. In nulla tortor, elementum vel, tempor at, varius non, purus. Mauris vitae nisl nec metus placerat consectetuer.

Read More...