riscv: GCM: Provide a Zvbb/Zvbc-based implementation
authorChristoph Müllner <christoph.muellner@vrull.eu>
Wed, 18 Jan 2023 12:11:19 +0000 (13:11 +0100)
committerHugo Landau <hlandau@openssl.org>
Thu, 26 Oct 2023 14:55:49 +0000 (15:55 +0100)
commit003f5698146b81f3185d7f17d60a7351c69e236d
treee85a5d7947b4de58b752f7f583002d938c1b421a
parentcdea67193da8aab0f1a49d2b7ce144ad21bfc51d
riscv: GCM: Provide a Zvbb/Zvbc-based implementation

The RISC-V vector crypto extensions features a Zvbc extension
that provides a carryless multiplication ('vclmul.vv') instruction.
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/modes/asm/ghash-riscv64-zvbb-zvbc.pl [new file with mode: 0644]
crypto/modes/build.info
crypto/modes/gcm128.c
crypto/perlasm/riscv.pm
include/crypto/riscv_arch.def