riscv: AES: Provide a Zvkned-based implementation
authorChristoph Müllner <christoph.muellner@vrull.eu>
Thu, 26 Jan 2023 16:34:05 +0000 (17:34 +0100)
committerHugo Landau <hlandau@openssl.org>
Thu, 26 Oct 2023 14:55:49 +0000 (15:55 +0100)
commitf6631e38f901e2a439604fac2bd62933f9dbb8ad
tree58284e78ea7824b64a1ba90f006cd3baad87c7b3
parent5191bcc81650c34a4660a0921124e4195e18e4b0
riscv: AES: Provide a Zvkned-based implementation

The upcoming RISC-V vector crypto extensions provide
the Zvkned extension, that provides a AES-specific instructions.
This patch provides an implementation that utilizes this
extension if available.

Tested on QEMU and no regressions observed.

Signed-off-by: Christoph Müllner <christoph.muellner@vrull.eu>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Hugo Landau <hlandau@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/21923)
crypto/aes/asm/aes-riscv64-zvkned.pl [new file with mode: 0644]
crypto/aes/build.info
crypto/perlasm/riscv.pm
include/crypto/aes_platform.h
include/crypto/riscv_arch.def
providers/implementations/ciphers/cipher_aes_ccm_hw_rv64i.inc
providers/implementations/ciphers/cipher_aes_gcm_hw_rv64i.inc
providers/implementations/ciphers/cipher_aes_hw_rv64i.inc
providers/implementations/ciphers/cipher_aes_ocb_hw.c
providers/implementations/ciphers/cipher_aes_xts_hw.c