openssl/crypto/chacha
Jerry Shih da8b6308bd Use scalar ALU and vector ALU together for chacha20 stream cipher
Fixes #24070

Use scalar ALU for 1 chacha block with rvv ALU simultaneously.
The tail elements(non-multiple of block length) will be handled by
the scalar logic.

Use rvv path if the input length > chacha_block_size.

And we have about 1.2x improvement comparing with the original code.

Reviewed-by: Hongren Zheng <i@zenithal.me>
Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24097)
2024-04-17 16:55:03 +02:00
..
asm Use scalar ALU and vector ALU together for chacha20 stream cipher 2024-04-17 16:55:03 +02:00
build.info Use scalar ALU and vector ALU together for chacha20 stream cipher 2024-04-17 16:55:03 +02:00
chacha_enc.c riscv: Provide a vector implementation of CHACHA20 cipher. 2023-10-26 15:55:50 +01:00
chacha_ppc.c Copyright year updates 2023-09-07 09:59:15 +01:00
chacha_riscv.c Use scalar ALU and vector ALU together for chacha20 stream cipher 2024-04-17 16:55:03 +02:00