mirror of
https://github.com/torvalds/linux.git
synced 2026-05-30 10:04:04 +02:00
API:
- Replace crypto_get_default_rng with crypto_stdrng_get_bytes.
- Remove simd skcipher support.
- Allow algorithm types to be disabled when CRYPTO_SELFTESTS is off.
Algorithms:
- Remove CPU-based des/3des acceleration.
- Add test vectors for authenc(hmac(md5),cbc(aes)).
- Add test vectors for authenc(hmac(md5),cbc(des)).
- Add test vectors for authenc(hmac(md5),rfc3686(ctr(aes))).
- Add test vectors for authenc(hmac(sha1),rfc3686(ctr(aes))).
- Add test vectors for authenc(hmac(sha224),rfc3686(ctr(aes))).
- Add test vectors for authenc(hmac(sha256),rfc3686(ctr(aes))).
- Add test vectors for authenc(hmac(sha384),rfc3686(ctr(aes))).
- Add test vectors for authenc(hmac(sha512),rfc3686(ctr(aes))).
- Replace spin lock with mutex in jitterentropy.
Drivers:
- Add authenc algorithms to safexcel.
- Add support for zstd in qat.
- Add wireless mode support for QAT GEN6.
- Add anti-rollback support for QAT GEN6.
- Add support for ctr(aes), gcm(aes), and ccm(aes) in dthev2.
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmne7qgACgkQxycdCkmx
i6cm0w/9HNFzIWuZWh4Q8k1d/SX32/2p40EMvlw9QFO8wt0gsMtbk6NN5G3sIfhL
36+rT8Vo5yg9MahTqAspXKjP+QTev5D7/nsDa/FzOSA1JxyvBbgV7X33k8EZjcgT
+ffuh0WbaWlutYw07o2h4cNPz1Yp4M0hp2IdzvY0Y3q9D05eiwis1SQzUVPmTs6K
I6OP+4JjJbqubOgJxsltEoeCH9ZP0fObRWmAiVm6rwk9uX4CY32nzi3QOttXQ0su
4F/useoRwWQ1t7FTy8/fcVtFpL/G8hAFSQ4un5ODhDWL7taV5sZPXQBwXUuoVQM6
aNjZlaju/MB7gnAOrBvSsniohAAqRUNR8O7P8QW6mDrFmDhUZ3ZILmCKW+VwF5SG
a4fV94XgBVOnKIqD01cc++8mb6keX/88KJW79AEWLeJ9YZ9BuyFphr9OEBFAIHqx
xG+iEg4uoVxwC52//oGt/yZaZKK3C1y/Zey5bOjfErKq3ATXGIvawaAzdvB9mh6Q
iAnl71JpR4mrs++fAyUCKM+dfvdmQYDq6HJayMdg+IHAIeIvyMnPjsGigdVJvE65
RpBKW4aclfiYaDwX9Jf703mHR1uuKGP1GKpz8U+JXN4Ax2JPg0maC1N3wFkDypYO
HUNKgEk/173f1HTjU0JjbqvqJh+rKQ3ZbHpLxZrYtnSMukDwRO0=
=KoAB
-----END PGP SIGNATURE-----
Merge tag 'v7.1-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
Pull crypto update from Herbert Xu:
"API:
- Replace crypto_get_default_rng with crypto_stdrng_get_bytes
- Remove simd skcipher support
- Allow algorithm types to be disabled when CRYPTO_SELFTESTS is off
Algorithms:
- Remove CPU-based des/3des acceleration
- Add test vectors for authenc(hmac(md5),cbc({aes,des})) and
authenc(hmac({md5,sha1,sha224,sha256,sha384,sha512}),rfc3686(ctr(aes)))
- Replace spin lock with mutex in jitterentropy
Drivers:
- Add authenc algorithms to safexcel
- Add support for zstd in qat
- Add wireless mode support for QAT GEN6
- Add anti-rollback support for QAT GEN6
- Add support for ctr(aes), gcm(aes), and ccm(aes) in dthev2"
* tag 'v7.1-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (129 commits)
crypto: af_alg - use sock_kmemdup in alg_setkey_by_key_serial
crypto: vmx - remove CRYPTO_DEV_VMX from Kconfig
crypto: omap - convert reqctx buffer to fixed-size array
crypto: atmel-sha204a - add Thorsten Blum as maintainer
crypto: atmel-ecc - add Thorsten Blum as maintainer
crypto: qat - fix IRQ cleanup on 6xxx probe failure
crypto: geniv - Remove unused spinlock from struct aead_geniv_ctx
crypto: qce - simplify qce_xts_swapiv()
crypto: hisilicon - Fix dma_unmap_single() direction
crypto: talitos - rename first/last to first_desc/last_desc
crypto: talitos - fix SEC1 32k ahash request limitation
crypto: jitterentropy - replace long-held spinlock with mutex
crypto: hisilicon - remove unused and non-public APIs for qm and sec
crypto: hisilicon/qm - drop redundant variable initialization
crypto: hisilicon/qm - remove else after return
crypto: hisilicon/qm - add const qualifier to info_name in struct qm_cmd_dump_item
crypto: hisilicon - fix the format string type error
crypto: ccree - fix a memory leak in cc_mac_digest()
crypto: qat - add support for zstd
crypto: qat - use swab32 macro
...
321 lines
8.3 KiB
Plaintext
321 lines
8.3 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menu "Accelerated Cryptographic Algorithms for CPU (x86)"
|
|
|
|
config CRYPTO_AES_NI_INTEL
|
|
tristate "Ciphers: AES, modes: ECB, CBC, CTS, CTR, XCTR, XTS, GCM (AES-NI/VAES)"
|
|
select CRYPTO_AEAD
|
|
select CRYPTO_LIB_AES
|
|
select CRYPTO_LIB_GF128MUL
|
|
select CRYPTO_SKCIPHER
|
|
help
|
|
AEAD cipher: AES with GCM
|
|
Length-preserving ciphers: AES with ECB, CBC, CTS, CTR, XCTR, XTS
|
|
|
|
Architecture: x86 (32-bit and 64-bit) using:
|
|
- AES-NI (AES new instructions)
|
|
- VAES (Vector AES)
|
|
|
|
Some algorithm implementations are supported only in 64-bit builds,
|
|
and some have additional prerequisites such as AVX2 or AVX512.
|
|
|
|
config CRYPTO_BLOWFISH_X86_64
|
|
tristate "Ciphers: Blowfish, modes: ECB, CBC"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_BLOWFISH_COMMON
|
|
imply CRYPTO_CTR
|
|
help
|
|
Block cipher: Blowfish cipher algorithm
|
|
Length-preserving ciphers: Blowfish with ECB and CBC modes
|
|
|
|
Architecture: x86_64
|
|
|
|
config CRYPTO_CAMELLIA_X86_64
|
|
tristate "Ciphers: Camellia with modes: ECB, CBC"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
imply CRYPTO_CTR
|
|
help
|
|
Block cipher: Camellia cipher algorithms
|
|
Length-preserving ciphers: Camellia with ECB and CBC modes
|
|
|
|
Architecture: x86_64
|
|
|
|
config CRYPTO_CAMELLIA_AESNI_AVX_X86_64
|
|
tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_CAMELLIA_X86_64
|
|
imply CRYPTO_XTS
|
|
help
|
|
Length-preserving ciphers: Camellia with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
config CRYPTO_CAMELLIA_AESNI_AVX2_X86_64
|
|
tristate "Ciphers: Camellia with modes: ECB, CBC (AES-NI/AVX2)"
|
|
depends on 64BIT
|
|
select CRYPTO_CAMELLIA_AESNI_AVX_X86_64
|
|
help
|
|
Length-preserving ciphers: Camellia with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX2 (Advanced Vector Extensions 2)
|
|
|
|
config CRYPTO_CAST5_AVX_X86_64
|
|
tristate "Ciphers: CAST5 with modes: ECB, CBC (AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_CAST5
|
|
select CRYPTO_CAST_COMMON
|
|
imply CRYPTO_CTR
|
|
help
|
|
Length-preserving ciphers: CAST5 (CAST-128) cipher algorithm
|
|
(RFC2144) with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
Processes 16 blocks in parallel.
|
|
|
|
config CRYPTO_CAST6_AVX_X86_64
|
|
tristate "Ciphers: CAST6 with modes: ECB, CBC (AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_CAST6
|
|
select CRYPTO_CAST_COMMON
|
|
imply CRYPTO_XTS
|
|
imply CRYPTO_CTR
|
|
help
|
|
Length-preserving ciphers: CAST6 (CAST-256) cipher algorithm
|
|
(RFC2612) with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
Processes eight blocks in parallel.
|
|
|
|
config CRYPTO_SERPENT_SSE2_X86_64
|
|
tristate "Ciphers: Serpent with modes: ECB, CBC (SSE2)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_SERPENT
|
|
imply CRYPTO_CTR
|
|
help
|
|
Length-preserving ciphers: Serpent cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- SSE2 (Streaming SIMD Extensions 2)
|
|
|
|
Processes eight blocks in parallel.
|
|
|
|
config CRYPTO_SERPENT_SSE2_586
|
|
tristate "Ciphers: Serpent with modes: ECB, CBC (32-bit with SSE2)"
|
|
depends on !64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_SERPENT
|
|
imply CRYPTO_CTR
|
|
help
|
|
Length-preserving ciphers: Serpent cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86 (32-bit) using:
|
|
- SSE2 (Streaming SIMD Extensions 2)
|
|
|
|
Processes four blocks in parallel.
|
|
|
|
config CRYPTO_SERPENT_AVX_X86_64
|
|
tristate "Ciphers: Serpent with modes: ECB, CBC (AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_SERPENT
|
|
imply CRYPTO_XTS
|
|
imply CRYPTO_CTR
|
|
help
|
|
Length-preserving ciphers: Serpent cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
Processes eight blocks in parallel.
|
|
|
|
config CRYPTO_SERPENT_AVX2_X86_64
|
|
tristate "Ciphers: Serpent with modes: ECB, CBC (AVX2)"
|
|
depends on 64BIT
|
|
select CRYPTO_SERPENT_AVX_X86_64
|
|
help
|
|
Length-preserving ciphers: Serpent cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX2 (Advanced Vector Extensions 2)
|
|
|
|
Processes 16 blocks in parallel.
|
|
|
|
config CRYPTO_SM4_AESNI_AVX_X86_64
|
|
tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_SM4
|
|
help
|
|
Length-preserving ciphers: SM4 cipher algorithms
|
|
(OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
Through two affine transforms,
|
|
we can use the AES S-Box to simulate the SM4 S-Box to achieve the
|
|
effect of instruction acceleration.
|
|
|
|
If unsure, say N.
|
|
|
|
config CRYPTO_SM4_AESNI_AVX2_X86_64
|
|
tristate "Ciphers: SM4 with modes: ECB, CBC, CTR (AES-NI/AVX2)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_SM4
|
|
select CRYPTO_SM4_AESNI_AVX_X86_64
|
|
help
|
|
Length-preserving ciphers: SM4 cipher algorithms
|
|
(OSCCA GB/T 32907-2016) with ECB, CBC, and CTR modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX2 (Advanced Vector Extensions 2)
|
|
|
|
Through two affine transforms,
|
|
we can use the AES S-Box to simulate the SM4 S-Box to achieve the
|
|
effect of instruction acceleration.
|
|
|
|
If unsure, say N.
|
|
|
|
config CRYPTO_TWOFISH_586
|
|
tristate "Ciphers: Twofish (32-bit)"
|
|
depends on !64BIT
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_TWOFISH_COMMON
|
|
imply CRYPTO_CTR
|
|
help
|
|
Block cipher: Twofish cipher algorithm
|
|
|
|
Architecture: x86 (32-bit)
|
|
|
|
config CRYPTO_TWOFISH_X86_64
|
|
tristate "Ciphers: Twofish"
|
|
depends on 64BIT
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_TWOFISH_COMMON
|
|
imply CRYPTO_CTR
|
|
help
|
|
Block cipher: Twofish cipher algorithm
|
|
|
|
Architecture: x86_64
|
|
|
|
config CRYPTO_TWOFISH_X86_64_3WAY
|
|
tristate "Ciphers: Twofish with modes: ECB, CBC (3-way parallel)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_TWOFISH_COMMON
|
|
select CRYPTO_TWOFISH_X86_64
|
|
help
|
|
Length-preserving cipher: Twofish cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86_64
|
|
|
|
Processes three blocks in parallel, better utilizing resources of
|
|
out-of-order CPUs.
|
|
|
|
config CRYPTO_TWOFISH_AVX_X86_64
|
|
tristate "Ciphers: Twofish with modes: ECB, CBC (AVX)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_TWOFISH_COMMON
|
|
select CRYPTO_TWOFISH_X86_64
|
|
select CRYPTO_TWOFISH_X86_64_3WAY
|
|
imply CRYPTO_XTS
|
|
help
|
|
Length-preserving cipher: Twofish cipher algorithm
|
|
with ECB and CBC modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX (Advanced Vector Extensions)
|
|
|
|
Processes eight blocks in parallel.
|
|
|
|
config CRYPTO_ARIA_AESNI_AVX_X86_64
|
|
tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX/GFNI)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_ARIA
|
|
help
|
|
Length-preserving cipher: ARIA cipher algorithms
|
|
(RFC 5794) with ECB and CTR modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX (Advanced Vector Extensions)
|
|
- GFNI (Galois Field New Instructions)
|
|
|
|
Processes 16 blocks in parallel.
|
|
|
|
config CRYPTO_ARIA_AESNI_AVX2_X86_64
|
|
tristate "Ciphers: ARIA with modes: ECB, CTR (AES-NI/AVX2/GFNI)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_ARIA
|
|
select CRYPTO_ARIA_AESNI_AVX_X86_64
|
|
help
|
|
Length-preserving cipher: ARIA cipher algorithms
|
|
(RFC 5794) with ECB and CTR modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- AVX2 (Advanced Vector Extensions)
|
|
- GFNI (Galois Field New Instructions)
|
|
|
|
Processes 32 blocks in parallel.
|
|
|
|
config CRYPTO_ARIA_GFNI_AVX512_X86_64
|
|
tristate "Ciphers: ARIA with modes: ECB, CTR (AVX512/GFNI)"
|
|
depends on 64BIT
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_ALGAPI
|
|
select CRYPTO_ARIA
|
|
select CRYPTO_ARIA_AESNI_AVX_X86_64
|
|
select CRYPTO_ARIA_AESNI_AVX2_X86_64
|
|
help
|
|
Length-preserving cipher: ARIA cipher algorithms
|
|
(RFC 5794) with ECB and CTR modes
|
|
|
|
Architecture: x86_64 using:
|
|
- AVX512 (Advanced Vector Extensions)
|
|
- GFNI (Galois Field New Instructions)
|
|
|
|
Processes 64 blocks in parallel.
|
|
|
|
config CRYPTO_AEGIS128_AESNI_SSE2
|
|
tristate "AEAD ciphers: AEGIS-128 (AES-NI/SSE4.1)"
|
|
depends on 64BIT
|
|
select CRYPTO_AEAD
|
|
help
|
|
AEGIS-128 AEAD algorithm
|
|
|
|
Architecture: x86_64 using:
|
|
- AES-NI (AES New Instructions)
|
|
- SSE4.1 (Streaming SIMD Extensions 4.1)
|
|
|
|
endmenu
|