Merge branch 'feature/enable_ecdsa_support_for_esp32h21' into 'master'

feat: add ECDSA support for esp32h21

Closes IDF-11496

See merge request espressif/esp-idf!36591
This commit is contained in:
Mahavir Jain
2025-04-16 17:58:52 +08:00
19 changed files with 718 additions and 81 deletions

View File

@@ -61,6 +61,20 @@ Following code snippet uses :cpp:func:`esp_efuse_write_key` to set physical key
// writing key failed, maybe written already
}
.. only:: SOC_ECDSA_P192_CURVE_DEFAULT_DISABLED
ECDSA Curve Configuration
-------------------------
The ECDSA peripheral of {IDF_TARGET_NAME} supports both ECDSA-P192 and ECDSA-P256 operations, but only ECDSA-P256 operations are enabled by default. ECDSA-P192 operations can be enabled based on the following configuration.
- :ref:`CONFIG_ESP_ECDSA_ENABLE_P192_CURVE`
Enables support for ECDSA-P192 curve operations, allowing the device to perform ECDSA operations using both the 192-bit and 256-bit curves. However, if ECDSA-P192 operations have already been permanently disabled during write protecting, enabling this configuration will not re-enable ECDSA-P192 curve operations.
- :cpp:func:`esp_efuse_enable_ecdsa_p192_curve_mode()`
This API can be used to enable ECDSA-P192 curve operations programmatically. It writes the appropriate value to the eFuse to allow both P-192 and P-256 curve operations. Note that this API will fail if the eFuse has already been write-protected.
.. only:: SOC_ECDSA_SUPPORT_DETERMINISTIC_MODE
Deterministic Signature Generation
@@ -68,7 +82,6 @@ Following code snippet uses :cpp:func:`esp_efuse_write_key` to set physical key
The ECDSA peripheral of {IDF_TARGET_NAME} also supports generation of deterministic signatures using deterministic derivation of the parameter K as specified in the `RFC 6979 <https://tools.ietf.org/html/rfc6979>`_ section 3.2.
Non-Determinisitic Signature Generation
---------------------------------------