Alexey Skalozub
5405255928
Fix losing sign when multiplying by -1
2017-10-28 03:47:00 +03:00
Angus Gratton
7be002ec0f
hwcrypto bignum/MPI: Batch safe DPORT reads to improve performance
2017-08-25 16:08:02 +10:00
Ivan Grokhotkov
08287852ab
esp32: add protection for DPORT registers of RSA
2017-08-25 16:08:02 +10:00
Tian Hao
26a3cb93c7
component/soc : move dport access header files to soc
...
1. move dport access header files to soc
2. reduce dport register write protection. Only protect read operation
2017-05-09 18:06:00 +08:00
Tian Hao
f7e8856520
component/esp32 : fix dualcore bug
...
1. When dual core cpu run access DPORT register, must do protection.
2. If access DPORT register, must use DPORT_REG_READ/DPORT_REG_WRITE and DPORT_XXX register operation macro.
2017-05-08 21:53:43 +08:00
Angus Gratton
64e6e7a0ae
mbedtls: Use two MPI multiplications when multiply operands too large
...
Allows RSA4096 via hardware crypto operations.
See github #139 https://github.com/espressif/esp-idf/issues/139
2017-01-31 14:36:26 +11:00
Jeroen Domburg
655fd2986a
Add interrupt allocation scheme / interrupt sharing. Also modifies drivers and examples. Also allows interrupts
...
to be marked specifically as having a handler that's all in IRAM.
2016-12-08 12:39:33 +08:00
Angus Gratton
d0801fdbab
Merge branch 'feature/sha_tls_integration' into 'master'
...
SHA acceleration integrated to mbedTLS incl. TLS sessions
Uses hardware SHA acceleration where available, fails over to software where not available.
Ref TW7112
See merge request !232
2016-11-25 10:12:29 +08:00
Angus Gratton
79646f41b5
Fixes for stdlib.h inclusion
...
Refs:
http://esp32.com/viewtopic.php?f=13&t=550
http://esp32.com/viewtopic.php?f=13&t=551
rmt.c should include stdlib.h for malloc, esp_bignum,c &
https_request_main.c for abort().
FreeRTOSConfig.h is only including stdlib if
CONFIG_FREERTOS_ASSERT_ON_UNTESTED_FUNCTION is set. However, it is
included for abort() so needs to be included whenever
CONFIG_FREERTOS_ASSERT_FAIL_ABORT is set.
This change includes unconditionally in FreeRTOSConfig.h. This is to
avoid this kind of bug where compiler errors are dependent on config. I
suggest we don't change this to be more selective until we have 'make
randomconfig' style tests in CI.
2016-11-24 08:20:21 +11:00
Angus Gratton
2561b68af8
hwcrypto: Fixes for disabling one hardware unit causing reset of a different unit
...
ROM functions reset related units, but this can have problems in a
multithreaded environment.
2016-11-22 20:42:38 +11:00
Angus Gratton
1d47755588
mbedtls hardware bignum: Use memcpy instead of REG_WRITE/REG_READ in a loop
...
Removes memory barriers for better performance, thanks Ivan for pointing
this out.
Manually unrolling the loop further seemed like diminishing returns.
2016-11-21 18:09:09 +11:00
Angus Gratton
1cc0b3000b
mbedtls hardware bignum: Expose ESP-only bignum API in wrapper mbedtls/bignum.h
2016-11-18 17:08:14 +11:00
Angus Gratton
36f29017b6
mbedtls hardware bignum: Support "RSA" interrupt for end of operation
...
Allows CPU to do other things which bignum operation is in
progress.
2016-11-18 15:53:00 +11:00
Angus Gratton
68d370542a
mbedtls hardware RSA: Put into menuconfig, squash warnings
...
All combinations of enabling/disabling hardware acceleration no longer
show unused warnings.
2016-11-18 15:50:45 +11:00
Angus Gratton
f87be70d51
mbedtls hardware RSA: Combine methods for calculating M' & r inverse
...
Remove redundant gcd calculation, use consistent terminology.
Also remove leftover debugging code
2016-11-18 14:10:20 +11:00
Dong Heng
6b687b43f4
mbedtls hardware RSA: Fix "mbedtls_mpi_exp_mod" hardware calculations
2016-11-18 14:09:59 +11:00
Angus Gratton
ce7b8059de
RSA Accelerator: Remove timing-sensitive optimisations
...
Avoid potentially leaking timing information about number of bits set in
MPI values.
2016-10-12 17:18:24 +11:00
Angus Gratton
9632c8e56c
RSA Accelerator: Add mod_exp, refactor to avoid memory allocation & copying
...
Not fully working at the moment, mod_exp has a bug.
2016-10-12 16:19:09 +11:00
Angus Gratton
6b3bc4d8c5
hwcrypto bignum: Implement multiplication modulo
...
Fixes case where hardware bignum multiplication fails due to either
operand >2048 bits.
2016-10-12 15:45:08 +11:00
Angus Gratton
1a6dd44d03
hwcrypto bignum: Use mbedtls_mpi data structures for all bignum data
...
Still doesn't solve the problem of multiplying two numbers where one is
>2048 bits, needed for RSA support.
2016-10-12 15:45:08 +11:00
Wu Jian Gang
95defc7d32
mbedtls: Use hardware accelerated AES, SHA, bignum
2016-09-08 17:41:43 +08:00