Laukik Hase
45df5b56d5
esp32/mpi: Added alternate workaround for MPI data corruption issue
...
- Use DPORT_WRITE_REG (volatile writes) wrappers to write to the
MPI peripheral
- Updated the previous workaround added for the same issue as it
was failing in some long runs and with `COMPILER_OPTIMIZATION_PERF`
enabled.
- The test performance numbers had to be updated due to the
performance penalty introduced by this fix.
Closes https://github.com/espressif/esp-idf/issues/10403
2023-02-21 18:43:54 +05:30
Mahavir Jain
dc34d4986a
esp32: mpi: add workaround for data corruption issue observed with IDF 5.x toolchain
...
This fix adds a workaround to disable compiler optimization flag "-ftree-loop-distribute-patterns"
for `mpi_to_mem_block` routine. It was observed that compiler with release configuration was falling
back to `memset` call from ROM library causing an issue in correctly zero initializing MPI peripheral
block.
Please see following linked issue for more discussion and context on this issue.
Closes https://github.com/espressif/esp-idf/issues/8710
Closes https://github.com/espressif/esp-idf/issues/9371
Closes https://github.com/espressif/esp-idf/issues/9256
Closes IDFGH-7102
Closes IDFGH-7842
Closes IDFGH-7714
Closes IDFCI-1452
Closes IDF-6029
2022-10-21 14:29:02 +05:30
Aditya Patwardhan
4582af75b8
mbedtls: Update licenses of files updated in mbedtls-3.1 update
2022-03-04 05:18:58 +00:00
Laukik Hase
3925365351
ci: Fix pre-check
stage failing tests
...
- Updated license headers
- Re-enabled public headers and static analysis checks
- Fix public header file check failure
Co-authored-by: Aditya Patwardhan <aditya.patwardhan@espressif.com>
2022-03-03 01:37:10 +05:30
Aditya Patwardhan
3b71bd7326
mbedtls-3.0: Fixed ESP32 build issues
...
- Added MBEDLTS_PRIVATE(...) wherever necessary
- For functions like mbedtls_pk_parse_key(...), it is necessary to pass the RNG function
pointers as parameter. Solved for dependent components: wpa_supplicant & openSSL
- For libcoap, the SSLv2 ClientHello handshake method has been deprecated, need to handle this.
Currently, corresponding snippet has been commented.
- Examples tested: hello-world | https_request | wifi_prov_mgr
mbedtls-3.0: Fixed ESP32-C3 & ESP32-S3 build issues
- Removed MBEDTLS_DEPRECATED_REMOVED macro from sha1 port
- DS peripheral: esp_ds_rsa_sign -> removed unsused 'mode' argument
- Added MBEDTLS_PRIVATE(...) wherever required
mbedtls-3.0: Fixed ESP32-S2 build issues
- Fixed outdated function prototypes and usage in mbedlts/port/aes/esp_aes_gcm.c due to changes in GCM module
mbedtls-3.0: Fixed ESP32-H2 build issues
ci: Fixing build stage
- Added MBEDTLS_PRIVATE(...) wherever required
- Added RNG function parameter
- Updated GCM Module changes
- Updated Copyright notices
- Tests:
- build_esp_idf_tests_cmake_esp32
- build_esp_idf_tests_cmake_esp32s2
- build_esp_idf_tests_cmake_esp32c3
- build_esp_idf_tests_cmake_esp32s3
ci: Fixing build stage (mbedtls-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
ci: Fixing build stage (example-related changes)
- Added MBEDTLS_PRIVATE(...) wherever required
- Updated SHAXXX functions
- Updated esp_config according to mbedtls changes
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
ci: Fixing target_test stage
- Updated test SSL version to TLS_v1_2
- Tests:
- example_test_protocols 1/2
ci: Fixing build stage
- Added checks for MBEDTLS_DHM_C (disabled by default)
- Updated esp_cryptoauthlib submodule
- Updated factory partition size for legacy BLE provisioning example
- Tests:
- build_examples_cmake_esp32
- build_examples_cmake_esp32s2
- build_examples_cmake_esp32c3
- build_examples_cmake_esp32s3
Co-authored-by: Laukik Hase <laukik.hase@espressif.com>
2022-03-03 01:37:10 +05:30
Marius Vikhammer
a9a7160cb6
MPI: add kconfig option for doing intr-based exp-mod operations
2021-12-29 18:55:48 +08:00
morris
16677b0d3c
global: make periph enable/disable APIs private
...
peripheral enable/disable usually should be managed by driver itself,
so make it as espressif private APIs, not recommended for user to use it
in application code.
However, if user want to re-write the driver or ports to other platform,
this is still possible by including the header in this way:
"esp_private/peripheral_ctrl.h"
2021-11-08 10:37:47 +08:00
morris
753a929525
global: fix sign-compare warnings
2021-01-12 14:05:08 +08:00
Marius Vikhammer
457ce080ae
AES: refactor and add HAL layer
...
Refactor the AES driver and add HAL, LL and caps.
Add better support for running AES-GCM fully in hardware.
2020-12-10 09:04:47 +00:00
Angus Gratton
5228d9f9ce
esp32c3: Apply one-liner/small changes for ESP32-C3
2020-12-01 10:58:50 +11:00
Angus Gratton
66fb5a29bb
Whitespace: Automated whitespace fixes (large commit)
...
Apply the pre-commit hook whitespace fixes to all files in the repo.
(Line endings, blank lines at end of file, trailing whitespace)
2020-11-11 07:36:35 +00:00
Marius Vikhammer
949fb8e63a
SHA: add HAL layer and refactor driver
...
Add a LL and HAL layer for SHA.
2020-10-09 08:24:08 +00:00
Angus Gratton
75402afcae
Merge branch 'feature/esp32s3_clk_memory_layout' into 'master'
...
esp32s3: memory layout
See merge request espressif/esp-idf!9753
2020-07-29 13:48:25 +08:00
morris
2917651478
esp_rom: extract common ets apis into esp_rom_sys.h
2020-07-27 15:27:01 +08:00
morris
19761e3113
esp32s3: clk, memory layout
2020-07-27 13:05:22 +08:00
KonstantinKondrashov
11844a54f4
mbedtls: Fix a case for mpi_montgomery_exp_calc() when Z is not init
...
Closes: IDF-1870
2020-07-13 22:46:05 +08:00
Marius Vikhammer
a2a204c2b9
crypto: DS uses RSA peripheral, added shared lock
2020-04-09 11:11:04 +00:00
Marius Vikhammer
7e824508a9
mpi: refactor bignum into common and hw specific components
...
Closes IDF-1174
2020-03-16 19:44:30 +08:00
Marius Vikhammer
e21bef3f28
mpi: active hw accel for S2
...
Actives MPI/RSA hardware acceleratio for ESP32 S2.
Closes IDF-803
2020-03-13 18:33:18 +08:00
Marius Vikhammer
37369a8a57
crypto: SHA and AES accelerator bring up for S2
...
Brings up, fixes and enables AES and SHA hardware acceleration.
Closes IDF-714
Closes IDF-716
2020-03-11 15:09:45 +08:00
David Cermak
2efb3288a0
mbedtls: fix hw accelerated big-num mul if operand and result overlap
...
this issue is mainly exposed when using larger (4096) client key in TLS mutual auth,
since it uses multiplications > 2048 when mbedtls_mpi_mul_mpi is used in recursion,
which works only if both operands point to different location than result since
mpi_mult_mpi_overlong() called mbedtls_mpi_grow() to reallocate buffers used in previous
pointer arithmetics and thus corrupting it. Fixed by growing the mpi buffer before
calling mpi_mult_mpi_overlong()
2020-01-09 18:11:18 +00:00
Shubham Kulkarni
c741dd0535
Fixed warnings for components driver, esp32 and mbedtls
2019-11-15 08:51:16 +00:00
Angus Gratton
5b33d6cf94
Merge branch 'feature/mbedtls_add_faster_modexp' into 'master'
...
mbedtls: Add a new (X^Y) mod M implementation (HAC 14.94)
Closes IDF-965
See merge request espressif/esp-idf!6418
2019-11-06 15:51:28 +08:00
Angus Gratton
adfc06a530
Merge branch 'master' into feature/esp32s2beta_merge
2019-09-20 10:28:37 +10:00
Angus Gratton
c41b2b0415
mbedtls: Remove esp_aes_encrypt/decrypt
...
Deprecated in ESP-IDF V3.1
Anyone reading this should please include mbedtls/aes.h and use mbedTLS APIs,
not the ESP-specific APIs.
2019-09-13 09:44:07 +10:00
Angus Gratton
6990a7cd54
Merge branch 'master' into feature/esp32s2beta_update
2019-08-19 15:03:43 +10:00
Angus Gratton
aa3c988c17
sha: Add fault injection checks reading hash digest state
...
Vulnerability reported by LimitedResults under Espressif Bug Bounty Program.
2019-08-11 11:16:33 +10:00
Angus Gratton
caea2889c8
aes: Add fault injection checks when writing key to hardware
...
Vulnerability reported by LimitedResults under Espressif Bug Bounty Program.
2019-08-11 11:16:33 +10:00
Angus Gratton
04ae56806c
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 15:26:58 +10:00
Angus Gratton
24d26fccde
Merge branch 'master' into feature/esp32s2beta_update
2019-08-08 13:44:24 +10:00
hemal.gujarathi
1dec976fba
Update esp_config and add new feature
...
Closes https://github.com/espressif/esp-idf/issues/3372
2019-07-12 11:42:48 +05:30
suda-morris
84b2f9f14d
build and link hello-world for esp32s2beta
2019-06-11 13:07:37 +08:00
Konstantin Kondrashov
399d2d2605
all: Using xxx_periph.h
...
Using xxx_periph.h in whole IDF instead of xxx_reg.h, xxx_struct.h, xxx_channel.h ... .
Cleaned up header files from unnecessary headers (releated to soc/... headers).
2019-06-03 14:15:08 +08:00
Angus Gratton
af98ca6b46
hwcrypto: Add AES fault injection check
...
Hardware AES-CBC performance changes:
Release config 11.0MB/sec -> 10.8MB/sec
Debug config 9.4MB/sec -> 9.8MB/sec
(Unrolling the loop to optimize the check improves
performance at -Og, even with the fault check.)
2019-05-21 12:41:42 +10:00
Konstantin Kondrashov
bbdeff1da1
esp32: Rewrite esp_sha function
...
It removes using a STALL_OTHER_CPU while sha operations.
It improves performance with SHA.
2019-05-13 12:32:45 +08:00
morris
709a320f33
move hwcrypto from esp32 to mbedtls
2019-03-26 16:24:22 +08:00