Commit Graph

365 Commits (tools-release-6.0.0)

Author SHA1 Message Date
Jaeden Amero 84ec1f7f1f crypto: Update to Mbed Crypto 1.0.0d2 2019-01-31 17:17:52 +02:00
Kevin Bracey 983503f9ee Mutex-protect mbedtls_hardware_poll
Like all HAL APIs, the calls in trng_api.h are not expected to
be thread-safe.

All current accesses to the TRNG HAL are currently via
`mbedtls_hardware_poll`.  Mbed TLS does not currently serialise these
calls itself, as `MBEDTLS_THREADING_C` is not enabled. But even if
Mbed TLS's own accesses were serialised, there are other direct
users of `mbedtls_hardware_poll` such as randLIB, that need to use
direct calls due to lack of API to extract entropy from Mbed TLS.

As such it makes sense to treat `mbedtls_hardware_poll` as a de facto
public Mbed OS API, akin to the C++ veneers on top of the HAL, and add a
PlatformMutex there so that it is safe for multithreaded use.
2019-01-29 12:45:48 +02:00
Jaeden Amero c3223072dc crypto: Update to Mbed Crypto 1.0.0d1 2019-01-29 11:43:26 +02:00
Jaeden Amero 4a1584696c crypto: importer: Update with fetch
Instead of doing a "pull --rebase" to update to the latest development
branch, do a "fetch" followed by a "checkout" to update to the specified
release. This enables us to get any new tags created since the last
update to the development branch, and removes the noise of updating a
local "development" branch.
2019-01-29 11:43:25 +02:00
Jaeden Amero c74993bac4 crypto: Re-import Mbed Crypto 0.1.0b2
Use the Mbed-Crypto-specific importer script to re-import Mbed Crypto
0.1.0b2 to its new location.
2019-01-29 11:43:24 +02:00
Jaeden Amero b5cf455bb7 tls/crypto: Make mbed-crypto importer independent
Obtain the version of Mbed Crypto to use not from the Mbed TLS
submodule, but independently through the Mbed Crypto importer instead.
2019-01-29 11:43:24 +02:00
Ron Eldor cad40e1633 Rename the platform context varaiable
Rename the generic name `ctx` of `mbedtls_platform_context`
in `platform_alt.c` to a specific name `plat_ctx`, to avoid conflicts
when used as external in crypto modules.
2019-01-22 13:57:32 +02:00
Ron Eldor 4ea68829c5 Rename the platform specific crypto_platform
To avoid collisions between the psa `crypto_platform.h` file and the
platform specific `crypto_platform.h` file, for the init \ terminate
functions, rename the latter to `crypto_device_platform`.
2019-01-22 13:56:59 +02:00
Jimmy Brisson e201fdb6e9 Add placeholder libraries for things we probably refer to as libraries 2019-01-16 14:58:58 -06:00
Simon Butcher 7bf33f01f9 Parameterise repo used in Mbed TLS importer script
This commit makes the repo used to import new Mbed TLS versions into Mbed OS
a parameter, to allow CI scripts (and any other script or users) to specify
specific repos to use for testing.
2019-01-11 13:51:19 +00:00
Alastair D'Silva 2617c5d55b Don't use define checks on DEVICE_FOO macros (mbed code)
The DEVICE_FOO macros are always defined (either 0 or 1).

This patch replaces any instances of a define check on a DEVICE_FOO
macro with value test instead.

Signed-off-by: Alastair D'Silva <alastair@d-silva.org>
2018-12-20 10:16:42 +11:00
ccli8 ca44675086 [Nuvoton] Fix crypto AC management
1. For SHA AC, use atomic flag to manage its ownership.
   (1) Nuvoton SHA AC doesn't support SHA context save & restore, so S/W
       SHA fallback has been supported before. To make non-blocking 'acquire'
       semantics clearer, introduce 'try_acquire' to substitute for 'acquire'.
   (2) No biting CPU due to mechanism above.
   (3) No deadlock due to mechanism above.
2. For AES/DES/ECC AC, change to mutex to manage their ownership.
   (1) Change crypto-misc.c to crypto-misc.cpp to utilize C++ SingletonPtr
       which guarantees thread-safe mutex construct-on-first-use.
   (2) With change to crypto-misc.cpp, add 'extern "C"' modifier to CRYPTO_IRQHandler()
       to avoid name mangling in C++.
   (3) No priority inversion because mutex has osMutexPrioInherit attribute
       bit set.
   (4) No deadlock because these AC are all locked for a short sequence
       of operations rather than the whole lifetime of mbedtls context.
   (5) For double mbedtls_internal_ecp_init() issue, it has been fixed in upper
       mbedtls layer. So no need to change ecc init/free flow.
2018-12-19 10:17:39 +08:00
ccli8 b16b1dbeb9 [M487] Fix return error code when ECC H/W acceleratioin is failed 2018-12-14 17:28:30 +08:00
Janos Follath 71387e33f1 Mbed TLS: Fix ECC hardware double initialization
We initialized the ECC hardware before calling
mbedtls_ecp_mul_shortcuts(). This in turn calls
mbedtls_ecp_mul_restartable(), which initializes and frees the hardware
too. This issue has been introduced by recent changes and caused some
accelerators to hang.

We move the initialization after the mbedtle_ecp_mul_shortcuts() calls
to avoid double initialization.
2018-12-07 11:18:40 +00:00
Cruz Monrreal 3325070701
Merge pull request #8936 from RonEld/reduce_default_mpi_max_size
Reduce default MBEDTLS_MPI_MAX_SIZE
2018-12-04 12:22:15 -06:00
Martin Kojtal e02a8ab2f1
Merge pull request #8925 from Patater/crypto-storage-config-fixes
Fix PSA storage typo
2018-12-04 14:34:15 +01:00
Martin Kojtal 992bcbafdb
Merge pull request #8926 from Patater/mbedtls-2.15.1
mbedtls: Update Mbed TLS to 2.15.1
2018-12-04 09:32:30 +01:00
Ron Eldor edc09cf087 Add comment for reasoning for changing default
Add a comment in the `adjust-config.sh` script, for effects
and benefits of the new value.
2018-12-03 18:59:25 +02:00
Ron Eldor 097996c25a Reduce default MBEDTLS_MPI_MAX_SIZE
Reduce the default size of `MBEDTLS_MPI_MAX_SIZE` to 512 bytes,
as the default 1024 consumes much stack, and supporting RSA 4096 bit
may suffice at the moment.
2018-12-03 18:59:25 +02:00
Juho Eskeli 361d804e2e STM32L4: before calling HAL_CRYP_DeInit initialize the Instance member 2018-12-03 16:07:49 +02:00
Jaeden Amero f9417ac12b crypto: storage: Fix PSA_PS_ERROR_OFFSET typo
Correct typo of PSA_PS_ERROR_OFFSET to PSA_ITS_ERROR_OFFSET.
2018-11-30 15:36:22 +00:00
Jaeden Amero 74f93271ab mbedtls: Update Mbed TLS to 2.15.1 2018-11-30 15:29:34 +00:00
Netanel Gonen f1c5aeb70e add MBEDTLS_PSA_CRYPTO_C defined to K64F PSA target 2018-11-27 14:02:55 +02:00
Mohammad AboMokh 819594477c Refactor trng_get_bytes() 2018-11-27 12:15:52 +02:00
Mohammad AboMokh b9ea334f1f Change __WEAK to MBED_WEAK 2018-11-27 12:15:26 +02:00
mohammad1603 4cef73d2eb Update output_length in trng_get_bytes() provided by psa. 2018-11-27 11:56:58 +02:00
Danny Shavit e72d910754 Add a weak implementation for trng_get_bytes() 2018-11-27 11:56:49 +02:00
Netanel Gonen 4816266205 add comment to explain why (-1 * rc) is returned 2018-11-27 11:56:44 +02:00
Netanel Gonen ae0fa609a9 remove psa_its_get_info from seed read function 2018-11-27 11:56:42 +02:00
Mohammad AboMokh 0fde6af120 change MBEDTLS_RANDOM_SEED_ITS_UID define to be PSA_CRYPTO_ITS_RANDOM_SEED_UID 2018-11-27 11:56:36 +02:00
Mohammad AboMokh 7b2c924ac7 Adding defualt behaviour for platforms without TRNG.
If setting the MBEDTLS_PLATFORM_NV_SEED_ALT and MBEDTLS_ENTROPY_NV_SEED flags and not
setting MBEDTLS_PLATFORM_NV_SEED_WRITE_MACRO and MBEDTLS_PLATFORM_NV_SEED_READ_MACRO flags
mbed-os will add an entropy source to the relevent partition - SPE in case of daul core or
in case of single core V7 to the main partition.

The defualt behaviour will be to read or write the data from the ITS.
2018-11-27 11:56:31 +02:00
Martin Kojtal 7a77e66472
Merge pull request #8643 from RonEld/feature_unsupported_error_support
Modify HW accelerator drivers to new error code
2018-11-26 10:59:14 +01:00
Jaeden Amero 3900b81d02 Update Mbed TLS to mbedtls-2.15.0 2018-11-23 22:54:09 +00:00
Hanno Becker 70f9497918 Mbed TLS importer: Call `config.pl --force` to accept unknown option
The new PSA-aware Mbed TLS importer script calls `config.pl` on the
Mbed TLS config.h to set the PSA configuration option
MBEDTLS_PSA_CRYPTO_STORAGE_C which isn't documented in config.h.
config.pl therefore fails, and so does the importer.

This commit fixes this by calling `config.pl` with the `--force`
option which amends the given `config.h` by a `#define` for the
requested option if the option isn't present in the file.
2018-11-23 22:54:07 +00:00
Mohammad AboMokh 1f4584fc70 Add mbed_lib.json for Mbed Crypto 2018-11-23 22:54:05 +00:00
itayzafrir b85db484b0 Update adjust-config.sh to enable persistent keys
In adjust-config.h, set and unset Mbed Crypto storage configuration options
in order to use persistent keys with PSA ITS storage.
2018-11-23 22:54:04 +00:00
Mohammad AboMokh 15945687bc Record Mbed Crypto version
Record the version of Mbed Crypto into VERSION.txt for easy reference.
2018-11-23 22:54:03 +00:00
Mohammad AboMokh 7ba359a4a6 Update mbedtls importer to import mbed-crypto 2018-11-23 22:54:01 +00:00
Ron Eldor 9f4e752ef3 Modify HW accelerator drivers to new error code
Have the HW accelearation drivers return the platform module
errors about feature unsupported, and hw acceleration failure,
because the moduel specific errors will be removed.
2018-11-11 09:59:18 +02:00
Mel W 495c875871
...remainder of file... to [remainder of file] 2018-10-26 11:17:52 +03:00
Mel W 56bced4ed1
Reformatting heading levels 2018-10-26 11:15:25 +03:00
Cruz Monrreal II 8cfdec1087 Merge branch 'readme-update' of ssh://github.com/sbutcher-arm/mbed into rollup 2018-10-25 21:49:49 -05:00
Amanda Butler 8bf4981807
Edit README.md
Edit file, mostly for active voice and removal of marketing language.
2018-10-25 15:30:40 -05:00
Melinda Weed 8c2bd401d2 editorial changes, passive to active, removing redundancy 2018-10-25 10:35:05 +03:00
Simon Butcher 650d8dc355 Improve Mbed TLS README.md
Improves the language, formatting and clarity of the Mbed TLS README.md.
2018-10-24 17:07:02 +01:00
Martin Kojtal 8faf40e3b0
Merge pull request #8434 from RonEld/change_platform_error
Change Mbed TLS platform error code and value
2018-10-16 07:17:33 -07:00
Ron Eldor 2620508e12 Change Mbed TLS platform error code and value
Change error from `MBEDTLS_PLATFORM_HW_FAILED` to
`MBEDTLS_PLATFORM_HW_ACCEL_FAILED` and the value to 0x70,
as the previous value cannot be used as a low level error code.
2018-10-15 16:21:54 +03:00
Cruz Monrreal 0cf26eb1cb
Merge pull request #7877 from TomoYamanaka/improve_nv_seed_of_tls
Improve the config ajustment script of TLS for ENTROPY_NV_SEED
2018-10-10 08:40:06 -05:00
Martin Kojtal bc706f0329
Merge pull request #8142 from moranpeker/disable-HW-acceleration
Disable MBEDTLS_CONFIG_HW_SUPPORT on STM targets.
2018-10-06 07:46:13 +02:00
Simon Butcher fee476e481 Update Mbed TLS README.md followng review
Numerous changes to language, grammar, and corrections, following review.
2018-10-03 12:16:50 +01:00
Moran Peker 333f087386 Disable MBEDTLS_SHA256_ALT on STM targets. 2018-10-02 14:35:22 +03:00
Simon Butcher 0fd0de6f31 Update the Mbed TLS README.md
Add content missing from the README.md taken from the Yotta/Mbed OS 3 Readme.
2018-09-26 16:33:17 +01:00
ccli8 d2c8be678f [M487] Add missing mbedtls_device.h for NUMAKER_IOT_M487 2018-09-11 18:25:14 +08:00
Simon Butcher 15785191e7 Update Mbed TLS version to 2.13.1 2018-09-06 19:32:03 +01:00
Martin Kojtal dd91b90149
Merge pull request #7974 from sbutcher-arm/update-mbedtls
Update Mbed TLS to version 2.13.0
2018-09-04 08:22:19 +02:00
Krzysztof Stachowiak 7d7b8d4a07 Disable the OFB cipher mode in Mbed TLS 2018-09-03 16:20:55 +01:00
Krzysztof Stachowiak f1d76691b6 Update to Mbed TLS 2.13.0 2018-09-03 16:20:46 +01:00
Cruz Monrreal 3be076c196
Merge pull request #7099 from RonEld/platform_context_reference_count
Add reference counter for platform context
2018-09-02 20:47:19 -05:00
Ron Eldor a2531b5674 Fix build error on IAR
IAR fails to build when a variable is initialized with empty curly braces.
Added `{ { 0 } }` to fix that.
2018-09-02 10:48:31 +03:00
Ron Eldor c1b6fdc5af Rename parameter name
Rename `obsolete_ctx` to `unused_ctx` as it is simply unused.
2018-08-31 13:53:29 +03:00
TomoYamanaka 7c90a9e314 Improve the config adjustment script for ENTROPY_NV_SEED
Although "nv_seed" is one of "entropy", it doesn't included to the "!defined" lineup in the following config file.
Therefore, when MBEDTLS_ENTROPY_NV_SEED is defined, it is accidently invoked "mbedtls/config-no-entropy.h".
mbed-os\features\mbedtls\inc\mbedtls\config.h
I think that correct processing should go to line 47, not line 40.
2018-08-31 12:14:32 +09:00
Ron Eldor 666ebe392a Change the terminate limit check
Check for counter to be `< 1` instead of `<= 0` before terminating.
2018-08-30 13:51:58 +03:00
Ron Eldor 1f5cee967d Address concurrency and style issues
1. Use atomic operations to increase and decrease counter.
2. Style fixes.
Remove unused function declaration.
2018-08-30 11:18:23 +03:00
Ron Eldor 479438953f Rename error codes
1. Rename error codes to fit Mbed TLS error code names.
2. Remove the Invalid input error code, as it's not used anymore.
2018-08-29 19:02:57 +03:00
Ron Eldor 127b68fbbc Make the platform context a global variable
Make the platform context a global variable,
adding the refernce counter to it.
2018-08-28 20:29:26 +03:00
Andres Amaya Garcia d7519565d2 Disable MBEDTLS_HAVE_DATE_TIME as ARMCC does not support gmtime 2018-08-22 22:54:43 +01:00
Andres Amaya Garcia 5ced8e4fdf Integrate mbed OS RTC with mbed TLS
The integration is simply to define the macro MBEDTLS_HAVE_TIME_DATE
in the features/mbedtls/platform/inc/platform_mbed.h. The default
implementation of the mbedtls_time() function provided by mbed TLS is
sufficient to work with mbed OS because both use POSIX functions.
2018-07-16 20:39:43 +01:00
jeromecoutant 057142167b TARGET_STM mbedtls astyle 2018-06-27 15:00:04 +02:00
Krzysztof Stachowiak 7b22ede77a Disable XTS cipher mode by default when importing Mbed TLS 2018-06-18 16:48:33 +02:00
Martin Kojtal 73cfc7baea
Merge pull request #7135 from k-stachowiak/update-mbedtls-2.10.0-rc1
Update Mbed TLS to version 2.10.0
2018-06-08 10:18:06 +02:00
Krzysztof Stachowiak 843b1a19e7 Update Mbed TLS after corrections for the import procedure 2018-06-07 10:25:21 +02:00
Krzysztof Stachowiak 7eeb694dd9 Update MbedTLS to 2.10.0 (from an RC) 2018-06-06 17:31:18 +02:00
Krzysztof Stachowiak 8c9a967ef2 Improve the documenting comment in a config adjustment script 2018-06-06 15:33:28 +02:00
Krzysztof Stachowiak 9c6a85a6e9 Add configuration options to enable CMAC in mbedtls by default 2018-06-06 13:36:28 +02:00
Krzysztof Stachowiak f85e3f6177 Update Mbed TLS do version 2.10.0-rc1 2018-06-06 09:13:06 +02:00
Ron Eldor c3b31bc500 Add Mbed TLS Platform module errors
1. Add error codes for platform setup \ teardown.
2. Reassign `reference_count` to 0 after terminating platform,
and remove condition for 0
2018-06-04 14:01:59 +03:00
Ron Eldor ca94a49eff Add reference counter for platform context
1. Move the `mbedtls_platform_context` to be platform code, in `features/mbedtls/platfrom/`.
2. Add static refernce counter, to setup and teardown the platform code only once.
3. Adjust Cryptocell porting accordingly.
2018-06-04 10:38:49 +03:00
Cruz Monrreal 06180e89f7
Merge pull request #6642 from yossi2le/yossi-device-key-driver
Device key implementation
2018-05-24 10:06:14 -05:00
Krzysztof Stachowiak 4f9c6ba300 Update the version in the importing makefile 2018-05-10 17:49:33 +02:00
Krzysztof Stachowiak 5317e872db Update Mbed TLS to version 2.9.0 2018-05-09 18:09:13 +02:00
Yossi Levy a8febd57a1 Device key implementation 2018-04-11 15:35:00 +03:00
Martin Kojtal 495ae06c70
Merge pull request #6509 from k-stachowiak/nvseed-check
Add an NV_SEED test to the config adjustment script
2018-04-10 14:38:47 +02:00
Krzysztof Stachowiak ebb28b32af Move the new check into the end of the previous line 2018-03-29 15:07:29 +02:00
Krzysztof Stachowiak 717573f44e Add an NV_SEED test to the config adjustment script 2018-03-29 11:53:50 +02:00
Jasper de Winkel 2c7a25a949 Small typo fixes in readme.md files 2018-03-06 19:07:03 +01:00
Krzysztof Stachowiak 6370a3500d Correct typos and code alignment 2018-02-28 17:03:47 +01:00
Krzysztof Stachowiak 9d5d60b62e Adjust partner code for MD HW acceleration to new MD API 2018-02-28 10:02:56 +01:00
Krzysztof Stachowiak 947275036c Update Mbed TLS to version 2.7.1 2018-02-28 10:02:30 +01:00
Martin Kojtal 414b2d971d
Revert "Update Mbed TLS HW acceleration partner code to new hashing API" 2018-02-22 11:20:35 +00:00
Cruz Monrreal 817f9a569c
Merge pull request #5812 from OpenNuvoton/nuvoton_crypto
M487: Support ECP H/W accelerator
2018-02-20 11:53:23 -06:00
Cruz Monrreal 06b618447f
Merge pull request #5973 from k-stachowiak/IOTSSL-1727-update-to-new-md-api
Update Mbed TLS HW acceleration partner code to new hashing API
2018-02-14 12:58:08 -06:00
Krzysztof Stachowiak 2e9243f2e1 Expand guards for conditional compilation of ALT MD API 2018-02-14 16:33:58 +01:00
Krzysztof Stachowiak 8c412ed886 Resolve compiler and linker issues in MD APIs
The features/mbedtls/targets/TARGET_STM/* files include constant needed
for the error codes returned from the MD functions.

The features/mbedtls/targets/hash_wrappers.c provides thin redirection
layer for the hardware accelerated MD implementations that rely on the
old API.

The TESTS/mbedtls/multi/main.cpp has been changed to use the new API
as its build environment does not rely on the translation unit
containing the necessary wrappers.
2018-02-13 10:07:28 +01:00
ccli8 03f0ea1117 [M487] Refine internal_mpi_write_eccreg in ECP alter. 2018-02-12 14:11:15 +08:00
Cruz Monrreal 1c5c1c79d0
Merge pull request #6027 from ithinuel/fix-target-names-for-murata-abz-and-adv-wise-1510
rename MURATA type ABZ & WISE 1510 to their expected name
2018-02-07 20:06:50 -06:00
Wilfried Chauveau 6c9fcf3dd8 rename MURATA type ABZ & WISE_1510 to their expected name 2018-02-06 21:23:37 +00:00
Krzysztof Stachowiak 256e1de28a Modify Silicon Labs target code to use MD API with the return values 2018-02-06 12:58:27 +01:00
ccli8 25253529ae [M487] Support internal self-test for ECP alter. 2018-02-06 11:15:48 +08:00
ccli8 95d4110e31 [M487] Remove mbedtls_internal_ecp_mul in ECP alter.
MbedTLS doesn't support point multiplication for MBEDTLS_ECP_INTERNAL_ALT acceleration configuration.
2018-02-06 09:58:36 +08:00
ccli8 df76e297b4 [M487] Remove mbedtls prefix for internal functions in ECP alter. 2018-02-06 09:43:53 +08:00
ccli8 c9cc357734 [M487] Check divisor is not zero in MODOP_DIV operation in ECP alter. 2018-02-06 09:30:57 +08:00
Kimmo Vaisanen 41490f48d0 Add MTB_ADV_WISE_1570 target 2018-02-05 14:31:20 +02:00
Krzysztof Stachowiak 174530b5fe Resolve conflicts after master update 2018-02-01 14:30:56 +01:00
Cruz Monrreal c06a42b05d
Merge pull request #5630 from adustm/fix5079_sha1_md5_sha256_hwcrypto
Fix #5079. Support of call to mbedtls_x_finish without calling mbedtls_x_update
2018-01-31 12:08:44 -06:00
Krzysztof Stachowiak 876a3b1a74 Update Mbed TLS HW acceleration partner code to new hashing API 2018-01-30 14:49:53 +01:00
adustm 88c3b3ee28 Remove last code redundancy 2018-01-30 11:06:15 +01:00
adustm 53027fd590 Improve fix calling Accumulate function every time in finish function 2018-01-30 09:41:23 +01:00
adustm cba538854d Fix MD5 link issue 2018-01-30 09:41:23 +01:00
adustm 3250e2d6d4 Fix #5079. Add the support of call to mbedtls_xxx_finish even if mbedtls_xxx_udate
was not called since mbedtls_xxx_start
2018-01-30 09:41:23 +01:00
Wilfried Chauveau e6b19d838c add support for STM32L443RC & WISE-1510 2018-01-26 17:06:39 +00:00
ccli8 17280372a7 [M487] Refine code in ECP alter.
1. Add comment for unnecessary parameter 'n' in mbedtls_internal_run_eccop
2. Fix warning message with goto which causes `bypass initialization`
3. Fix comment
2018-01-22 11:21:19 +08:00
ccli8 a68750473c [M487] Support ECP H/W accelerator 2018-01-09 16:20:41 +08:00
ccli8 67386b9ebd [NUC472/M487] Fix DMA input/output buffers are overlapped in AES alter. 2018-01-05 09:18:26 +08:00
ccli8 4023078e14 [NUC472/M487] Remove unnecessary H/W context clone functions in SHA alter. 2018-01-05 09:18:26 +08:00
ccli8 acff29e6f2 [NUC472/M487] Fix context clone corner case in SHA alter.
As destination/source contexts are the same, we return immediately.
2018-01-05 09:18:25 +08:00
ccli8 d96bcda606 [NUC472/M487] Fix indefinite loop in SHA alter. 2018-01-05 09:18:25 +08:00
ccli8 8b7ff095a9 [NUC472/M487] Remove duplicate configuration of CRPT->SHA_CTL/CRPT->HMAC_CTL in SHA alter. 2018-01-05 09:18:25 +08:00
ccli8 3a8c1aa687 [NUC472/M487] Use interrupt signal rather than polling to check operation completion in DES alter.
This is to be consistent with PRNG/AES.
2018-01-05 09:18:24 +08:00
ccli8 0c1098483f [NUC472/M487] Refine flow control code between crypto start and crypto ISR 2018-01-05 09:18:24 +08:00
ccli8 add839c808 [NUC472/M487] Refine code in SHA alter. 2018-01-05 09:18:24 +08:00
ccli8 b443a23b07 [NUC472/M487] Add memory barrier for DMA transfer in AES/DES alter. 2018-01-05 09:18:23 +08:00
ccli8 c906790257 [NUC472/M487] Call BSP driver rather than direct register access in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 dc3c84c011 [NUC472/M487] Fix parameter check for TMODE/OPMODE in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 815a6a7c4d [NUC472/M487] Add parameter check for configuring DES registers in DES alter. 2018-01-05 09:18:23 +08:00
ccli8 1d62b9120b [NUC472/M487] Refine comment with BSP driver use in DES alter. 2018-01-05 09:18:22 +08:00
ccli8 479cf687ff [NUC472/M487] Fix multiple calls to SHA free in SHA alter. 2018-01-05 09:18:22 +08:00
ccli8 7d92550d11 [NUC472/M487] Remove superfluous code in AES alter. 2018-01-05 09:18:22 +08:00
ccli8 116b14aa84 [NUC472/M487] Refine code with SHA context selection in SHA alter. 2018-01-05 09:18:22 +08:00
ccli8 980cb6b9c8 [NUC472/M487] Guard against SHA internal state size is not word-aligned in SHA alter. 2018-01-05 09:18:21 +08:00
ccli8 8ba07815ed [NUC472/M487] Fix SHA H/W resource leakage in context cloning 2018-01-05 09:18:21 +08:00
ccli8 83fb50cca3 [NUC472/M487] Fix SHA H/W is not stopped in corner case
Take SHA1 for example, without the fix, SHA H/W is not stopped in either case:
(1) ctx->total == 0 in mbedtls_sha1_hw_finish()
(2) mbedtls_sha1_hw_finish() is not called by upper layer
2018-01-05 09:18:21 +08:00
ccli8 a0a8a955a9 [NUC472/M487] Strengthen crypto DMA buffer check
1. Catch incompatible buffer range, where buffer base = 0xffffff00 and buffer size = 0x100.
2. Add buffer size alignment check.
2018-01-05 09:18:21 +08:00
ccli8 ac000244f4 [NUC472/M487] Refine AES/DES alter. DMA buffer requirement comment 2018-01-05 09:18:20 +08:00
ccli8 aafbdc8d38 [NUC472/M487] Fix compile error with disabled crypto
For example, even though MBEDTLS_SHA512_C is disabled (via #undef MBEDTLS_SHA512_C),
mbedtls_sha512_context is still necessary due to referenced in sha512.h.
2018-01-05 09:18:20 +08:00
ccli8 b0228d020d [NUC472/M487] Fix compile error as mbedtls is not included
Currently, trng_api.c is located in targets/ and AES/DES/SHA alter. are located in mbedtls/.
They have shared crypto code.
If they could locate at same location e.g. mbedtls/, the shared crypto code placement would be more reasonable.
2018-01-05 09:18:20 +08:00
ccli8 ba16fd9617 [NUC472/M487] Refine AES alter. key endianness code 2018-01-05 09:18:20 +08:00
ccli8 6464649c41 [NUC472/M487] Coordinate crypto interrupt handler among AES/PRNG 2018-01-05 09:18:20 +08:00
ccli8 0c2d59d327 [NUC472/M487] Refine AES/DES alter. code 2018-01-05 09:18:19 +08:00
ccli8 289bbf0ec7 [NUC472/M487] Fix AES alter. CFB128 error 2018-01-05 09:18:19 +08:00
ccli8 7076675fec [NUC472/M487] Optimize AES alter. code 2018-01-05 09:18:19 +08:00
ccli8 6cc3aa3e54 [NUC472/M487] Guard from re-entry into crypto H/W 2018-01-05 09:18:19 +08:00
ccli8 d66074fecc [NUC472/M487] Coordinate crypto init among AES/DES/SHA/PRNG
Add counter to track crypto init among crypto sub-modules. It includes:
1. Enable crypto clock
2. Enable crypto interrupt

As counter gets zero, crypto clock is disabled to save power.
2018-01-05 09:18:18 +08:00
ccli8 b0eededdaf [NUC472/M487] Fix DES alter. DMA buffer could locate at unsupported region 2018-01-05 09:18:18 +08:00
ccli8 f85875c7b6 [NUC472/M487] Fix AES alter. DMA buffer could locate at unsupported region 2018-01-05 09:18:18 +08:00
ccli8 70e9a90957 [NUC472/M487] Refine AES alter. input/output data endianness 2018-01-05 09:18:18 +08:00
ccli8 a1e202518f [NUC472/M487] Fix AES alter. DMA buffer check 2018-01-05 09:18:18 +08:00
ccli8 20aa516e79 [NUC472/M487] Refine config check code 2018-01-05 09:18:17 +08:00
ccli8 126aa565c7 [NUC472/M487] Remove redundant S/W DES code
This S/W DES code was to test DES H/W port before.
2018-01-05 09:18:17 +08:00
ccli8 2e7f07e264 [NUC472/M487] Refine DES alter. code 2018-01-05 09:18:17 +08:00
ccli8 b2b67af189 [NUC472/M487] Add comment for DES alter. context 2018-01-05 09:18:17 +08:00