aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/crypto/Kconfig
diff options
context:
space:
mode:
authorPatrick Steuer <patrick.steuer@de.ibm.com>2021-11-04 15:58:51 +0100
committerHeiko Carstens <hca@linux.ibm.com>2021-12-06 14:42:24 +0100
commitb087dfab4d3902681550fd1f5ff9c3e942059478 (patch)
treeacc95523edb8e6eac15e296eaf9ecb5b5ac889b5 /drivers/crypto/Kconfig
parentLinux 5.16-rc4 (diff)
downloadlinux-dev-b087dfab4d3902681550fd1f5ff9c3e942059478.tar.xz
linux-dev-b087dfab4d3902681550fd1f5ff9c3e942059478.zip
s390/crypto: add SIMD implementation for ChaCha20
Add an implementation of the ChaCha20 stream cipher (see e.g. RFC 7539) that makes use of z13's vector instruction set extension. The original implementation is by Andy Polyakov which is adapted for kernel use. Four to six blocks are processed in parallel resulting in a performance gain for inputs >= 256 bytes. chacha20-generic 1 operation in 622 cycles (256 bytes) 1 operation in 2346 cycles (1024 bytes) chacha20-s390 1 operation in 218 cycles (256 bytes) 1 operation in 647 cycles (1024 bytes) Cc: Andy Polyakov <appro@openssl.org> Reviewed-by: Harald Freudenberger <freude@de.ibm.com> Signed-off-by: Patrick Steuer <patrick.steuer@de.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Diffstat (limited to 'drivers/crypto/Kconfig')
-rw-r--r--drivers/crypto/Kconfig12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
index 51690e73153a..4f705674f94f 100644
--- a/drivers/crypto/Kconfig
+++ b/drivers/crypto/Kconfig
@@ -213,6 +213,18 @@ config CRYPTO_AES_S390
key sizes and XTS mode is hardware accelerated for 256 and
512 bit keys.
+config CRYPTO_CHACHA_S390
+ tristate "ChaCha20 stream cipher"
+ depends on S390
+ select CRYPTO_ALGAPI
+ select CRYPTO_SKCIPHER
+ select CRYPTO_CHACHA20
+ help
+ This is the s390 SIMD implementation of the ChaCha20 stream
+ cipher (RFC 7539).
+
+ It is available as of z13.
+
config S390_PRNG
tristate "Pseudo random number generator device driver"
depends on S390