]> git.ipfire.org Git - thirdparty/openssl.git/commit
riscv: Provide vector crypto implementation of AES-CBC mode.
authorPhoebe Chen <phoebe.chen@sifive.com>
Tue, 12 Sep 2023 13:44:05 +0000 (06:44 -0700)
committerHugo Landau <hlandau@openssl.org>
Thu, 26 Oct 2023 14:55:50 +0000 (15:55 +0100)
commit5e16a6276bf4624fb15ec26b49219af5b2ed19d1
tree4c97491219d2de80c50ee1b58c5642b6c01f6386
parent3645eb0be22a4cea4300ab5afbf248d195d0f45b
riscv: Provide vector crypto implementation of AES-CBC mode.

To accelerate the performance of the AES-128/192/256-CBC block cipher
encryption, we used the vaesz, vaesem and vaesef instructions, which
implement a single round of AES encryption.

Similarly, to optimize the performance of AES-128/192/256-CBC block
cipher decryption, we have utilized the vaesz, vaesdm, and vaesdf
instructions, which facilitate a single round of AES decryption.

Furthermore, we optimize the key and initialization vector (IV) step by
keeping the rounding key in vector registers.

Signed-off-by: Phoebe Chen <phoebe.chen@sifive.com>
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