ccli8
d2c8be678f
[M487] Add missing mbedtls_device.h for NUMAKER_IOT_M487
2018-09-11 18:25:14 +08: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
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
ccli8
03f0ea1117
[M487] Refine internal_mpi_write_eccreg in ECP alter.
2018-02-12 14:11:15 +08: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
Krzysztof Stachowiak
876a3b1a74
Update Mbed TLS HW acceleration partner code to new hashing API
2018-01-30 14:49:53 +01: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