-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
crypto: keembay - Add support for Keem Bay OCS AES/SM4
Add support for the AES/SM4 crypto engine included in the Offload and Crypto Subsystem (OCS) of the Intel Keem Bay SoC, thus enabling hardware-acceleration for the following transformations: - ecb(aes), cbc(aes), ctr(aes), cts(cbc(aes)), gcm(aes) and cbc(aes); supported for 128-bit and 256-bit keys. - ecb(sm4), cbc(sm4), ctr(sm4), cts(cbc(sm4)), gcm(sm4) and cbc(sm4); supported for 128-bit keys. The driver passes crypto manager self-tests, including the extra tests (CRYPTO_MANAGER_EXTRA_TESTS=y). Signed-off-by: Mike Healy <mikex.healy@intel.com> Co-developed-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com> Signed-off-by: Daniele Alessandrelli <daniele.alessandrelli@intel.com> Acked-by: Mark Gross <mgross@linux.intel.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
- Loading branch information
Mike Healy
authored and
Herbert Xu
committed
Dec 11, 2020
1 parent
c7e34aa
commit 8857433
Showing
8 changed files
with
3,388 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
config CRYPTO_DEV_KEEMBAY_OCS_AES_SM4 | ||
tristate "Support for Intel Keem Bay OCS AES/SM4 HW acceleration" | ||
depends on OF || 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 cihper 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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
# | ||
# Makefile for Intel Keem Bay OCS Crypto API Linux drivers | ||
# | ||
obj-$(CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4) += keembay-ocs-aes.o | ||
keembay-ocs-aes-objs := keembay-ocs-aes-core.o ocs-aes.o |
Oops, something went wrong.