Add hardware-accelerated AES driver for Espressif SoCs supporting ECB, CBC, and CTR cipher modes with AES-128, AES-192, and AES-256 key lengths. Supported modes: - ECB (Electronic Codebook) - CBC (Cipher Block Chaining) - CTR (Counter) Supported SoCs: - ESP32: All modes, all key sizes - ESP32-S2/S3: All modes, AES-128/256 only - ESP32-C2/C3/C6/H2: All modes, all key sizes Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
# Copyright (c) 2025 Espressif Systems
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
config CRYPTO_ESP32
|
|
bool "Espressif Crypto driver"
|
|
depends on DT_HAS_ESPRESSIF_ESP32_AES_ENABLED || DT_HAS_ESPRESSIF_ESP32_SHA_ENABLED
|
|
default y
|
|
help
|
|
Enable the Espressif hardware crypto drivers for AES and SHA
|
|
accelerators.
|
|
|
|
if CRYPTO_ESP32
|
|
|
|
config CRYPTO_ESP32_AES
|
|
bool "ESP32 AES Hardware Accelerator"
|
|
depends on DT_HAS_ESPRESSIF_ESP32_AES_ENABLED
|
|
default y
|
|
help
|
|
Enable support for the Espressif AES hardware accelerator.
|
|
This driver implements AES-ECB, AES-CBC, and AES-CTR modes
|
|
using the hardware AES engine through the HAL.
|
|
|
|
config CRYPTO_ESP32_SHA
|
|
bool "ESP32 SHA Hardware Accelerator"
|
|
depends on DT_HAS_ESPRESSIF_ESP32_SHA_ENABLED
|
|
default y
|
|
help
|
|
Enable support for the Espressif SHA hardware accelerator.
|
|
This driver implements SHA-224, SHA-256, SHA-384, and SHA-512
|
|
using the Espressif HAL SHA engine.
|
|
|
|
config CRYPTO_ESP32_SHA_SESSIONS_MAX
|
|
int "Max ESP32 SHA sessions"
|
|
depends on CRYPTO_ESP32_SHA
|
|
range 1 32
|
|
default 2
|
|
help
|
|
Maximum number of concurrent SHA hash sessions.
|
|
Each session uses approximately 300-400 bytes of RAM
|
|
(more for SHA-384/512 due to larger state).
|
|
|
|
config ESP32_CRYPTO_AES_SESSIONS_MAX
|
|
int "Max ESP32 AES sessions"
|
|
depends on CRYPTO_ESP32_AES
|
|
range 1 32
|
|
default 4
|
|
help
|
|
Maximum number of concurrent AES sessions.
|
|
Each session uses approximately 300-400 bytes of RAM
|
|
(more for AES-256 due to larger state).
|
|
|
|
endif # CRYPTO_ESP32
|