Aditya Patwardhan
20ab1e807d
fix(mbedtls): Fix the MBEDTLS_FS_IO dependency on vfs
...
By default MBEDTLS_FS_IO option in mbedtls uses the filesystem supported
added by vfs component.
If the vfs support is disabled by user then mbedtls raises a warning
that the filesystem realted operation shall always fail
This commit fixes the behaviour by enabling respective depedency check for the
MBEDTLS_FS_IO option
Closes https://github.com/espressif/esp-idf/issues/14409
2024-10-18 09:15:23 +05:30
harshal.patil
8d9d5ee218
feat(mbedtls/esp_crt_bundle): Move dummy cert to .rodata to save 408B from dram
...
Co-authored-by: Hanno <h.binder@web.de>
2024-10-16 16:36:33 +05:30
Aditya Patwardhan
44ce512011
feat(hal): Add countermeasure for ECDSA generate signature
...
The ECDSA peripheral before ECO5 of esp32h2 does not perform the ECDSA
sign operation in constant time. This allows an attacker to read the
power signature of the ECDSA sign operation and then calculate the
ECDSA key stored inside the eFuse. The commit adds a countermeasure
for this attack. In this case the real ECDSA sign operation is
masked under dummy ECDSA sign operations to hide its real power
signature
2024-09-30 12:24:38 +08:00
harshal.patil
e1d72e960c
feat(mbedtls): Wrap mbedtls_ecdsa_read_signature to use ECDSA hardware when possible
2024-09-24 17:05:27 +05:30
harshal.patil
87ddff0ce5
fix(mbedtls/port): Check signature hash length before using ECDSA hardware
2024-09-24 16:48:01 +05:30
Richard Allen
0d3856e369
change(mbedtls/port): optimize gcm_mult()
...
1) pre-shift GCM last4 to use 32-bit shift
On 32-bit architectures like Aarch32, RV32, Xtensa,
shifting a 64-bit variable by 32-bits is free,
since it changes the register representing half of the 64-bit var.
Pre-shift the last4 array to take advantage of this.
2) unroll first GCM iteration
The first loop of gcm_mult() is different from
the others. By unrolling it separately from the
others, the other iterations may take advantage
of the zero-overhead loop construct, in addition
to saving a conditional branch in the loop.
2024-09-17 20:06:24 +08:00
Jiang Guang Ming
5a3c22dc2b
feat(mbedtls): support rom mbedtls threading layer
2024-09-10 10:00:44 +08:00
Jiang Guang Ming
fb9a435952
feat(mbedtls): support ROM mbedtls v3.6.0 on C2 rev2.0(ECO4)
2024-09-10 09:47:39 +08:00
Richard Allen
b4c956c801
fix(mbedtls/port): fix codespell issues
...
Fix a few comments codespell identified.
2024-09-09 14:09:19 +08:00
harshal.patil
e94d1f275c
fix(mbedtls/aes): Avoid extra C2M sync of memory
2024-08-08 14:50:38 +05:30
Mahavir Jain
2c84e2e40b
Merge branch 'fix/fix_aes_dma_desc_align_v5.3' into 'release/v5.3'
...
fix(aes): fixed aes wrong dma desc alignment (v5.3)
See merge request espressif/esp-idf!32206
2024-07-26 11:46:23 +08:00
Mahavir Jain
99467a17e9
Merge branch 'bugfix/c5_mpi_ecc_power_mode_v5.3' into 'release/v5.3'
...
fix(hal): correct mpi/ecc peripheral power up sequence for ESP32-C5 (v5.3)
See merge request espressif/esp-idf!31728
2024-07-25 16:49:05 +08:00
Mahavir Jain
99b1e56500
fix(hal): correct the power up sequence for MPI/ECC peripherals in ESP32-C5
2024-07-19 13:39:03 +08:00
Armando
c3fc7cffda
fix(aes): fixed aes wrong dma desc alignment
2024-07-18 16:26:09 +08:00
morris
3e3e1c77ba
change(aes): refactor DMA buffer allocation
2024-06-25 13:49:24 +08:00
morris
2f0c9b3584
feat(gdma): set burst size and return alignment constraint
...
burst size can affect the buffer alignment
2024-06-07 22:44:18 +08:00
harshal.patil
bef1fba3bc
fix(mbedtls/crypto_shared_gdma): Enable AXI-DMA enable external memory AES-ECC access
...
- When external memory encryption is enabled, set the aes_ecc bit of AXI-DMA to enable memory access
2024-05-20 14:40:49 +08:00
nilesh.kale
fe628d5951
feat(mbedtls): updated mbedtls version from 3.5.2 to 3.6.0
...
This MR updated MbedTLS version to latest version 3.6.0.
2024-05-07 14:16:21 +05:30
Armando
d341540a5e
change(drivers): other driver changes for cache malloc
2024-04-15 15:34:51 +08:00
Mahavir Jain
64fd14e787
feat(mbedtls): add kconfig option for MBEDTLS_ERROR_C
...
Disabling this config can reduce footprint for the cases where
mbedtls_strerror() is used and hence the debug strings are getting
pulled into the application image.
2024-04-04 09:20:28 +05:30
harshal.patil
e383616503
fix(mbedtls/aes): Fix incorrect dma alignment size
2024-04-02 14:30:14 +08:00
gaoxu
40f38bea6f
feat(dma): refactor dma calloc function
2024-04-02 14:30:14 +08:00
Aditya Patwardhan
d0a23799e8
feat(mbedtls): Added support for using ECDSA key through key manager
2024-04-01 14:37:12 +05:30
harshal.patil
272633bde1
fix(mbedtls/ecdsa): Fix dependant peripheral's enable and reset
2024-03-29 12:40:13 +05:30
harshal.patil
84b6940ce4
feat(mbedtls/ecdsa): Wrapped ecdsa_write_signature to support deterministic ECDSA signatures
2024-03-29 12:14:11 +05:30
harshal.patil
70ef80d974
feat(mbedtls/ecdsa): Add support for deterministic ECDSA signature generation
2024-03-29 12:14:11 +05:30
harshal.patil
95fac15698
feat(hal/ecdsa): Add HAL API for operation successful check
2024-03-29 12:14:11 +05:30
harshal.patil
9cd10e196b
feat(hal/sha): use RCC atomic block to enable/reset the SHA peripheral
2024-03-27 11:23:30 +05:30
harshal.patil
211a2a5477
feat(mbedtls/sha): Support SHA-DMA operations by satisfying L1 cache alignment requirements
...
- Use block mode as default SHA operation mode instead of DMA
2024-03-27 11:23:29 +05:30
harshal.patil
d737625215
feat(mbedtls/sha): Support in AXI-DMA SHA driver layer
2024-03-27 11:23:29 +05:30
harshal.patil
853bff88c5
change(mbedtls/sha): replace Cache ROM APIs usage with APIs from esp_cache.h
2024-03-27 11:23:29 +05:30
harshal.patil
c4f052cee4
feat(mbedtls/aes): Satisfy L1 cache alignment for AES-GCM DMA operations
2024-03-26 11:38:33 +05:30
harshal.patil
07f7b06d8d
change(mbedtls/aes): Move aad desc population into the internal AES-GCM DMA process API
2024-03-26 11:31:11 +05:30
harshal.patil
0b16999093
fix(mbedtls/aes): Remove ESP_CACHE_MSYNC_FLAG_UNALIGNED flag for the cache M2C operation
2024-03-22 14:45:34 +05:30
Mahavir Jain
cd47cf46dc
Merge branch 'esp32p4/add_aes_support' into 'master'
...
feat: add AES support for ESP32-P4
Closes IDF-6519
See merge request espressif/esp-idf!26429
2024-03-15 11:43:22 +08:00
Wu Zheng Hui
5a682c3bbb
Merge branch 'feature/optimize_chips_active_power' into 'master'
...
feat(system): Optimize the power consumption of esp32h2 and esp32c6 in the active state
Closes IDF-5658
See merge request espressif/esp-idf!27798
2024-03-14 12:08:33 +08:00
harshal.patil
e8268d8b6b
feat(hal/aes): use RCC atomic block to enable/reset the AES peripheral
2024-03-13 15:22:07 +05:30
harshal.patil
2abb656ba2
feat(mbedtls/aes): Support AES-DMA operations by satisfying L1 cache alignment requirements
...
- Use DMA RX done interrupt status bit while waiting for DMA rx transfer
2024-03-13 15:22:07 +05:30
harshal.patil
9b15189583
change(mbedtls): replace Cache ROM APIs usage with APIs from esp_cache.h
...
- Only APIs used in esp_crypto_shared_gdma and aes have been replaced
- Get dcache line size using cache api instead of Kconfig
2024-03-13 15:22:07 +05:30
harshal.patil
a6012c9e5a
feat(mbedtls/aes): add AES peripheral support for esp32p4
2024-03-13 15:22:06 +05:30
harshal.patil
83dd60307f
feat(mbedtls/esp_crypto_shared_gdma): support AXI-DMA in the crypto shared gdma layer
...
- In case of AXI-DMA, the DMA descriptors need to be 8 bytes aligned
lldesc_t do not satify this condition thus we need to replace it with
dma_descriptor_t (align(4) and align(8)) in esp_crypto_shared_gdma.
- Added new shared gdma start API that supports the dma_descriptor_t
DMA descriptor.
- Added some generic dma descriptor macros and helper functions
- replace lldesc_t with dma_descriptor_t
2024-03-13 15:22:06 +05:30
harshal.patil
2c570ed53b
change(mbedtls/aes): moved esp_aes_internal.h to be a private header
...
- Also enable AES-GCM test in the hal crypto test app for all targets
2024-03-13 15:22:06 +05:30
harshal.patil
343a6f47ab
fix(mbedtls/aes-gcm): Fix null pointer derefernce coverity reports
...
- Also fixed a tcp_transport and https_server report
2024-03-12 12:36:00 +05:30
wuzhenghui
92849e660e
fix(mbedtls): fixing ecdsa's dependence on ecc_mult clock
2024-03-12 10:10:42 +08:00
harshal.patil
8977be856d
fix(mbedtls/gcm): Add support for software fallback for non-AES ciphers in a GCM operation
...
- Even if the config MBEDTLS_HARDWARE_AES is enabled, we now support fallback
to software implementation of GCM operations when non-AES ciphers are used.
2024-02-23 10:47:30 +05:30
nilesh.kale
aab3f604ec
feat(hal/testapps): Added AES and SHA testcases with DMA support
2024-02-09 14:23:06 +05:30
Aditya Patwardhan
4dc2ace0b7
fix(esp_hw_support): Update key manager support
...
1) Added new Key Manager APIs
2) Added crypto locking layer for Key Manager
3) Remove support for deploying known key
4) Format key manager support
5) Fix build header error
6) Updated the key_mgr_types.h file
7) Added key manager tests
2024-01-23 10:24:39 +05:30
Aditya Patwardhan
1220c36f96
Merge branch 'fix/build_failure_when_hardware_gcm_is_disabled' into 'master'
...
fix(mbedtls/gcm): Fix build failure when config `MBEDTLS_HARDWARE_GCM` is disabled
See merge request espressif/esp-idf!28149
2024-01-08 13:35:04 +08:00
harshal.patil
8ac4d9ab99
fix(mbedtls/gcm): Avoid using GCM hardware when config MBEDTLS_HARDWARE_GCM is disabled
2024-01-04 12:20:11 +05:30
jim
b0b6980421
mbedtls: Fix enable dynamic mbedtls will occur heap corruption when server support TLS renegotiation
2023-12-22 17:23:42 +08:00