mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
c9f608c380
The Intel Keem Bay SoC can provide hardware acceleration of Elliptic Curve Cryptography (ECC) by means of its Offload and Crypto Subsystem (OCS). Add the Keem Bay OCS ECC driver which leverages such hardware capabilities to provide hardware-acceleration of ECDH-256 and ECDH-384. Signed-off-by: Prabhjot Khurana <prabhjot.khurana@intel.com> Co-developed-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com> Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
90 lines
3.1 KiB
Text
90 lines
3.1 KiB
Text
config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
|
|
tristate "Support for Intel Keem Bay OCS AES/SM4 HW acceleration"
|
|
depends on HAS_IOMEM
|
|
depends on ARCH_KEEMBAY || COMPILE_TEST
|
|
select CRYPTO_SKCIPHER
|
|
select CRYPTO_AEAD
|
|
select CRYPTO_ENGINE
|
|
help
|
|
Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) AES and
|
|
SM4 cipher hardware acceleration for use with Crypto API.
|
|
|
|
Provides HW acceleration for the following transformations:
|
|
cbc(aes), ctr(aes), ccm(aes), gcm(aes), cbc(sm4), ctr(sm4), ccm(sm4)
|
|
and gcm(sm4).
|
|
|
|
Optionally, support for the following transformations can also be
|
|
enabled: ecb(aes), cts(cbc(aes)), ecb(sm4) and cts(cbc(sm4)).
|
|
|
|
config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_ECB
|
|
bool "Support for Intel Keem Bay OCS AES/SM4 ECB HW acceleration"
|
|
depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
|
|
help
|
|
Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
|
|
AES/SM4 ECB mode hardware acceleration for use with Crypto API.
|
|
|
|
Provides OCS version of ecb(aes) and ecb(sm4)
|
|
|
|
Intel does not recommend use of ECB mode with AES/SM4.
|
|
|
|
config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4_CTS
|
|
bool "Support for Intel Keem Bay OCS AES/SM4 CTS HW acceleration"
|
|
depends on CRYPTO_DEV_KEEMBAY_OCS_AES_SM4
|
|
help
|
|
Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
|
|
AES/SM4 CBC with CTS mode hardware acceleration for use with
|
|
Crypto API.
|
|
|
|
Provides OCS version of cts(cbc(aes)) and cts(cbc(sm4)).
|
|
|
|
Intel does not recommend use of CTS mode with AES/SM4.
|
|
|
|
config CRYPTO_DEV_KEEMBAY_OCS_ECC
|
|
tristate "Support for Intel Keem Bay OCS ECC HW acceleration"
|
|
depends on ARCH_KEEMBAY || COMPILE_TEST
|
|
depends on OF || COMPILE_TEST
|
|
depends on HAS_IOMEM
|
|
select CRYPTO_ECDH
|
|
select CRYPTO_ENGINE
|
|
help
|
|
Support for Intel Keem Bay Offload and Crypto Subsystem (OCS)
|
|
Elliptic Curve Cryptography (ECC) hardware acceleration for use with
|
|
Crypto API.
|
|
|
|
Provides OCS acceleration for ECDH-256 and ECDH-384.
|
|
|
|
Say Y or M if you are compiling for the Intel Keem Bay SoC. The
|
|
module will be called keembay-ocs-ecc.
|
|
|
|
If unsure, say N.
|
|
|
|
config CRYPTO_DEV_KEEMBAY_OCS_HCU
|
|
tristate "Support for Intel Keem Bay OCS HCU HW acceleration"
|
|
select CRYPTO_HASH
|
|
select CRYPTO_ENGINE
|
|
depends on HAS_IOMEM
|
|
depends on ARCH_KEEMBAY || COMPILE_TEST
|
|
depends on OF || COMPILE_TEST
|
|
help
|
|
Support for Intel Keem Bay Offload and Crypto Subsystem (OCS) Hash
|
|
Control Unit (HCU) hardware acceleration for use with Crypto API.
|
|
|
|
Provides OCS HCU hardware acceleration of sha256, sha384, sha512, and
|
|
sm3, as well as the HMAC variant of these algorithms.
|
|
|
|
Say Y or M if you're building for the Intel Keem Bay SoC. If compiled
|
|
as a module, the module will be called keembay-ocs-hcu.
|
|
|
|
If unsure, say N.
|
|
|
|
config CRYPTO_DEV_KEEMBAY_OCS_HCU_HMAC_SHA224
|
|
bool "Enable sha224 and hmac(sha224) support in Intel Keem Bay OCS HCU"
|
|
depends on CRYPTO_DEV_KEEMBAY_OCS_HCU
|
|
help
|
|
Enables support for sha224 and hmac(sha224) algorithms in the Intel
|
|
Keem Bay OCS HCU driver. Intel recommends not to use these
|
|
algorithms.
|
|
|
|
Provides OCS HCU hardware acceleration of sha224 and hmac(224).
|
|
|
|
If unsure, say N.
|