Laukik Hase
9e2369cb79
ci: Enable custom certificate bundle
test for ESP32-S3
...
- Increase leakage limit for `test performance RSA key operations`
UT by 64 bytes
2022-06-23 16:32:26 +05:30
Aditya Patwardhan
a1d5a9b971
esp_crt_bundle: Add bounds checking for the "esp_crt_bundle_set" API.
...
Closes https://github.com/espressif/esp-idf/issues/8397
2022-06-01 15:09:50 +05:30
Marius Vikhammer
a1ee43fe9d
crypto: also apply cache writeback/invalidate for SPIRAM_USE_MEMMAP
...
Closes https://github.com/espressif/esp-idf/issues/7944
2021-12-08 16:10:19 +08:00
Marius Vikhammer
3b3826b61c
crypto: allocate all DMA descriptors to DMA capable memory.
...
These were previously placed on the stack, but the stack could be placed in
RTC RAM which is not DMA capable.
2021-12-08 16:10:18 +08:00
Marius Vikhammer
bf21cf0c99
aes/sha: change gdma transfer ability for sram to be 1 byte aligned
...
Previously GDMA transfer ability was set to 4 bytes, but buffers might
be not fulfill these requirements
2021-08-05 11:02:17 +08:00
Renz Bagaporo
452bfda367
esp32: move dport_access
2021-07-16 20:14:26 +08:00
Renz Bagaporo
702e41e1c8
esp32s2: move crypto related functions
2021-07-16 20:14:26 +08:00
Mahavir Jain
ea3c901874
mbedtls: fix crt_bundle test to ensure proper server start event
...
This fixes occasional test failure that was observed due to
client task getting started before server was up.
2021-07-13 13:20:16 +08:00
Fu Hanxi
cb46558c30
ci: update performance test key to db compatible format
2021-06-21 14:17:45 +08:00
Marius Vikhammer
79b5dedeb1
CI: minor testcases fixes and disable some cases that cant run on S3
2021-06-15 13:39:48 +08:00
Marius Vikhammer
9b4ba3d707
crypto: initial S3 Beta 3 bringup and testing for SHA/AES/RSA/flash enc
2021-05-18 11:25:41 +08:00
Marius Vikhammer
fe71a8e340
aes/sha: use a shared lazy allocated GDMA channel for AES and SHA
...
Removed the old dynamically allocated GDMA channel approach.
It proved too unreliable as we couldn't not ensure consumers of the mbedtls
would properly free the channels after use.
Replaced by a single shared GDMA channel for AES and SHA, which won't be
released unless user specifically calls API for releasing it.
2021-03-09 09:23:05 +08:00
KonstantinKondrashov
f3dd0a37c7
mbedtls: Fix rsa test
2021-03-02 03:18:58 +08:00
Angus Gratton
89b6baf2b8
mbedtls tests: Add optional debug log output to AES stream tests
2021-02-12 04:08:12 +00:00
ChenJianxing
243417c48c
temporarily disable hardware encryption for esp32s3
2021-01-28 21:05:51 +08:00
Marius Vikhammer
51169b0e0c
AES/SHA: use GDMA driver instead of LL
2021-01-19 11:02:51 +08:00
Marius Vikhammer
9c8e4fd4c5
C3: build and run unit tests
...
Enable building and running of unit tests in CI for C3 as well as fix
related compile errors
Also enables building of C3 test apps
2021-01-11 11:34:37 +08:00
Marius Vikhammer
1b6891c5d8
mbedtls: merge changes from C3
2020-12-29 10:56:13 +08:00
Marius Vikhammer
0a95151a75
unit_test: Refactor all performance tests that rely on cache compensated timer
...
There is no ccomp timer on C3, which means our performance tests will start
failing again due to variance caused by cache misses.
This MR adds TEST_PERFORMANCE_CCOMP_ macro that will only fail
performance test if CCOMP timer is supported on the target
2020-12-22 18:56:24 +11: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
Marius Vikhammer
7e0f362149
esp_crt_bundle: add additional unit tests
...
Add unit test for:
* Trusted certificate with weak hash algorithm signature
* Certificate with wrong signature
Merges https://github.com/espressif/esp-idf/pull/6117
2020-12-08 10:11:31 +08:00
Angus Gratton
a4fb6c0173
mbedtls: Add missing sha_caps includes
2020-11-17 22:51:07 +00: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
bff0016eb8
crypto accelerator support on esp32s3
...
SHA: passing unit tests
RSA: pass tests
AES: tests passing
2020-09-22 15:15:03 +08:00
Jakob Hasse
20c068ef3b
cmock: added cmock as component
...
* changing dependencies from unity->cmock
* added component.mk and Makefile.projbuild
* ignore test dir in gen_esp_err_to_name.py
* added some brief introduction of CMock in IDF
2020-09-02 16:38:37 +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
b75edc84e3
esp32s2 SHA: fallback to hashing block by block for non DMA memory
...
Also adds unit test for SHA with input buffer in flash
Closes IDF-1529
2020-06-10 15:09:20 +08:00
Marius Vikhammer
71ab83cdfb
aes: increase timeout for "mbedtls AES performance" test
...
Timeout increased to 60 sec from default 30 sec.
Test would occasionally timeout on S2 due to cache misses.
2020-04-10 15:49:40 +08:00
Marius Vikhammer
832599718d
cert bundle: add server_root.pem incase bundle needs to be regenerated
2020-04-07 18:51:26 +08:00
Marius Vikhammer
9ccc5e6d84
cert bundle: Fix memory leak during cert verification
...
Also refactors the unit tests and fixes the test case, as it was giving false positives.
Closes IDFGH-2950
Closes https://github.com/espressif/esp-idf/issues/4983
2020-04-07 18:50:30 +08:00
Marius Vikhammer
32f16e8c30
crypto tests: fix mallocs that were missing MALLOC_CAP_8BIT
...
Tests had the potential to fail they got non byte-accessible memory allocated.
2020-03-30 11:12:20 +08:00
Angus Gratton
62426a6c90
Merge branch 'refactor/use_new_component_registration_functions' into 'master'
...
CMake: Use new component registration function
See merge request espressif/esp-idf!8068
2020-03-25 08:02:42 +08:00
Marius Vikhammer
32fd9d6c63
s2 crypto: update perf test to use cache comp timer
...
Updated S2 hardware accelerated crypto to use the cache compensated timer.
Re-enabled RSA performance test and set lower targets now that results are more stable
Closes: IDF-1174
2020-03-23 11:30:55 +08:00
Renz Bagaporo
3d0967a58a
test: declare requirements and include dirs private
2020-03-23 10:58:50 +08:00
Ivan Grokhotkov
6330b3345e
Merge branch 'bugfix/disable_rsa_perf_test' into 'master'
...
rsa: ignore performance test in CI
See merge request espressif/esp-idf!8026
2020-03-20 15:09:15 +08:00
Marius Vikhammer
2f5e4601ef
rsa: ignore performance test in CI
...
Even with a static key the performance vary a lot between different builds.
2020-03-19 14:16:39 +08:00
Marius Vikhammer
ffb9010cbe
aes: Fixed tag sometime being wrong for HW GCM
...
The GCM hardware accelerated algorithm for S2 would sometimes output
the wrong tag.
Added additional tests for AES and GCM
Re-enable HW GCM as default option
2020-03-18 08:44:38 +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
3351376a11
AES: optimize AES-GCM
...
HW acceleration for GCM is now enabled by default
Closes IDF-1443
2020-03-12 10:20:24 +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
Marius Vikhammer
947e3e94ed
Add ESP certificate bundle feature
...
Adds the ESP certificate bundle feature that enables users to bundle a
root certificate bundle together with their application.
Default bundle includes all Mozilla root certificates
Closes IDF-296
2020-03-04 10:51:43 +08:00
michael
2529eda907
ci: disable failed cases for s2 temporarily
2020-02-15 18:28:25 +08:00
morris
e30cd361a8
global: rename esp32s2beta to esp32s2
2020-01-22 12:14:38 +08:00
David Cermak
b0a714476a
mbedtls: added mpi multiplication test for large numbers
2020-01-09 18:11:18 +00:00
David Cermak
1acf4d46ef
mbedtls: bugnum test for rsa operations with blinding
2020-01-09 18:11:18 +00:00
michael
4220752aed
ut: Move tests back from "esp32" subfolder
...
DISABLED_FOR_TARGETS macros are used
Partly revert "ci: disable unavailable tests for esp32s2beta"
This partly reverts commit 76a3a5fb48
.
Partly revert "ci: disable UTs for esp32s2beta without runners"
This partly reverts commit eb158e9a22
.
Partly revert "fix unit test and examples for s2beta"
This partly reverts commit 9baa7826be
.
Partly revert "efuse: Add support for esp32s2beta"
This partly reverts commit db84ba868c
.
2020-01-06 17:13:53 +08:00
Marius Vikhammer
c63684cf6c
hw crypto: activated hardware acceleration for esp32s2beta
...
Activated AES, RSA and SHA hardware acceleration for esp32s2 and enabled related unit tests.
Updated with changes made for ESP32 from 0a04034
, 961f59f
and caea288
.
Added performance targets for esp32s2beta
Closes IDF-757
2019-12-12 12:37:29 +08:00
Anton Maklakov
f8bfa69060
rsa test: fix a warning
2019-11-06 18:21:39 +07: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
KonstantinKondrashov
e8d3b80e4b
mbedtls: Add an UT for performance RSA key operations
...
(New) - Montgomery exponentiation: Z = X ^ Y mod M (HAC 14.94)
keysize = 2048 bits
RSA key operation (performance): public [21894 us], private [199119 us]
RSA key operation (performance): public [18768 us], private [189051 us]
RSA key operation (performance): public [16242 us], private [190821 us]
keysize = 3072 bits
RSA key operation (performance): public [39762 us], private [437480 us]
RSA key operation (performance): public [36550 us], private [449422 us]
RSA key operation (performance): public [40536 us], private [443451 us]
keysize = 4096 bits
RSA key operation (performance): public [65671 us], private [885215 us]
RSA key operation (performance): public [60770 us], private [880936 us]
RSA key operation (performance): public [68951 us], private [872027 us]
(Old) - Sliding-window exponentiation: Z = X ^ Y mod M (HAC 14.85)
keysize = 2048 bits
RSA key operation (performance): public [93206 us], private [280189 us]
RSA key operation (performance): public [93060 us], private [278893 us]
RSA key operation (performance): public [97520 us], private [283252 us]
keysize = 3072 bits
RSA key operation (performance): public [293614 us], private [858157 us]
RSA key operation (performance): public [289902 us], private [843701 us]
RSA key operation (performance): public [291495 us], private [845232 us]
keysize = 4096 bits
RSA key operation (performance): public [653192 us], private [1912126 us]
RSA key operation (performance): public [656661 us], private [1901792 us]
RSA key operation (performance): public [641390 us], private [1938911 us]
2019-11-05 16:33:11 +08:00