RT685: SDK 25.12 no HASHCRYPT acceleration

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

RT685: SDK 25.12 no HASHCRYPT acceleration

跳至解决方案
1,235 次查看
hrc-amilcar
Contributor II

Hello,

We recently updated to SDK 25.12 and noticed that our TLS decryption rate has been cut in half.

mbedTLS v3.x is no longer accelerated using the fsl_hashcrypt hardware features.

Here is the callstack of calling mbedtls_ssl_read using the previous SDK 25.09. As you can see, HASHCRYPT_AES_EncryptEcb is eventually used.

hashcrypt_aes_one_block_aligned() at fsl_hashcrypt.c:437
hashcrypt_aes_one_block() at fsl_hashcrypt.c:581
HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,284
mbedtls_internal_aes_encrypt() at aes_alt.c:1,959
mbedtls_aes_crypt_ecb() at aes_alt.c:1,323
aes_crypt_ecb_wrap() at cipher_wrap.c:114
mbedtls_cipher_update() at cipher.c:521
mbedtls_gcm_update() at gcm.c:358
mbedtls_gcm_crypt_and_tag() at gcm.c:456
mbedtls_gcm_auth_decrypt() at gcm.c:491
mbedtls_cipher_aead_decrypt() at cipher.c:1,407
mbedtls_cipher_auth_decrypt_ext() at cipher.c:1,613
mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,242
ssl_prepare_record_content() at ssl_msg.c:3,667
ssl_get_next_record() at ssl_msg.c:4,551
mbedtls_ssl_read_record() at ssl_msg.c:3,817
mbedtls_ssl_read() at ssl_msg.c:5,237
<...more frames...>

 

Here is the callstack of SDK 25.12 with MBEDTLS_USE_PSA_CRYPTO defined. In this version, mbedtls_internal_aes_encrypt is all C code with no HW acceleration.

mbedtls_internal_aes_encrypt() at aes.c:894
mbedtls_aes_crypt_ecb() at aes.c:1,062
aes_crypt_ecb_wrap() at cipher_wrap.c:166
mbedtls_cipher_update() at cipher.c:611
gcm_mask() at gcm.c:546
mbedtls_gcm_update() at gcm.c:641
mbedtls_gcm_crypt_and_tag() at gcm.c:726
mbedtls_gcm_auth_decrypt() at gcm.c:753
mbedtls_psa_aead_decrypt() at psa_crypto_aead.c:270
psa_driver_wrapper_aead_decrypt() at psa_crypto_driver_wrappers.h:4,114
psa_aead_decrypt() at psa_crypto.c:5,023
mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,625
ssl_prepare_record_content() at ssl_msg.c:4,093
ssl_get_next_record() at ssl_msg.c:5,068
mbedtls_ssl_read_record() at ssl_msg.c:4,323
mbedtls_ssl_read() at ssl_msg.c:5,983
<...more frames...>

 

And here is the callstack of SDK 25.12 withoutMBEDTLS_USE_PSA_CRYPTO defined. In this version,  mbedtls_internal_aes_encrypt is all C code with no HW acceleration and PSA is not involved.

mbedtls_internal_aes_encrypt() at aes.c:899
mbedtls_aes_crypt_ecb() at aes.c:1,062
aes_crypt_ecb_wrap() at cipher_wrap.c:166
mbedtls_cipher_update() at cipher.c:611
gcm_mask() at gcm.c:546
mbedtls_gcm_update() at gcm.c:628
mbedtls_gcm_crypt_and_tag() at gcm.c:726
mbedtls_gcm_auth_decrypt() at gcm.c:753
mbedtls_cipher_aead_decrypt() at cipher.c:1,528
mbedtls_cipher_auth_decrypt_ext() at cipher.c:1,674
mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,639
ssl_prepare_record_content() at ssl_msg.c:4,093
ssl_get_next_record() at ssl_msg.c:5,068
mbedtls_ssl_read_record() at ssl_msg.c:4,323
mbedtls_ssl_read() at ssl_msg.c:5,983
<...more frames...>

 

Are there plans to restore RT685 HASHCRYPT hardware acceleration to mbedTLS? It seems certain PSA Crypto drivers are not implemented.

Thank you.

标记 (2)
0 项奖励
回复
1 解答
687 次查看
hrc-amilcar
Contributor II

For others' benefit...

It appears that mbedtls_xor from mbedTLS 3.x is looping over data 4-bytes at a time and calling mbedtls_get_unaligned_uint32 and mbedtls_put_unaligned_uint32 which both use memcpy for a single uint32.

I recognize that the authors of mbedTLS are trying to improve performance by calculating blocks of XOR 4-bytes at a time (with a remainder loop), but the full calls to memcpy are actually making the code slower.

After some investigation into the disassembly, it turns out that our project was being compiled with -fno-builtin, preventing small memcpys from getting inlined by the compiler.

Removing that option restored much of the performance loss of HASHCRYPT hardware not being used for AES-GCM operations. So, the example I posted went from executing in 8600ms down to 2100ms. Not quite at the level of mbedTLS 2.x + ksdk alt (at 1087ms). But the restored performance is good enough.

-Amilcar

在原帖中查看解决方案

标记 (5)
0 项奖励
回复
8 回复数
1,190 次查看
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @hrc-amilcar,

Did you make any changes after updating the SDK? Do you also see this behavior with the SDK's example code? Are you using the standalone IDE or the VS Code extension?

BR,
Edwin.

0 项奖励
回复
1,188 次查看
hrc-amilcar
Contributor II

Hi @EdwinHz,

  • We're using MCUXpresso IDE.
  • No extra changes after updating the SDK:
    • When we update the SDK, we re-run the "SDK Management" -> "Refresh SDK components" to get new and updated files.
    • Then we compare the .cproject configuration to one of the samples that has similar features enabled (e.g. evkmimxrt685_wifi_wpa_supplicant_cm33)
      • PSA_CRYPTO_DRIVER_CASPER=1
        PSA_CRYPTO_DRIVER_HASHCRYPT=1
        CONFIG_WPA_SUPP_CRYPTO_MBEDTLS_PSA=1
        etc...
    • We're using the default mcux_mbedtls_config.h as the main mbedTLS configuration header and our own user configuration file that is nearly identical to wpa_supp_mbedtls_config.h from the evkmimxrt685_wifi_wpa_supplicant_cm33 example.
  • I will try the mbedtls3x_examples to see how they behave. Perhaps we're missing some defines.

As I was stepping through the code, I noticed that perhaps MBEDTLS_BLOCK_CIPHER_C needs to be defined so that the gcm operation can be accelerated.

It looks like the header mbedtls3x/include/mbedtls/config_adjust_legacy_crypto.h is responsible for this but doesn't end up defining that macro for some reason.

0 项奖励
回复
1,175 次查看
hrc-amilcar
Contributor II
I defined MBEDTLS_PSA_ACCEL_KEY_TYPE_AES in our mbedTLS configuration file and now it's calling through to HASHCRYPT, but our mbedtls_ssl_read read rate is even slower now. I wonder if there are other missing defines or the PSA layer is adding extra overhead.
 
Rates downloading 4KB packets from WiFi via a TLS socket:
  • SDK 25.09: 205KB/sec (mbedTLS 2.x without PSA and with ksdk port files)
  • SDK 25.12: 138KB/sec (without MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
  • SDK 25.12: 125KB/sec (with MBEDTLS_PSA_ACCEL_KEY_TYPE_AES)
Here's the new callstack using MBEDTLS_PSA_ACCEL_KEY_TYPE_AES:
HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,255
hashcrypt_cipher_encrypt() at mcux_psa_hashcrypt_common_cipher.c:203
psa_driver_wrapper_cipher_encrypt() at psa_crypto_driver_wrappers.h:2,353
psa_cipher_encrypt() at psa_crypto.c:4,766
mbedtls_block_cipher_encrypt() at block_cipher.c:177
gcm_mask() at gcm.c:543
mbedtls_gcm_update() at gcm.c:628
mbedtls_gcm_crypt_and_tag() at gcm.c:726
mbedtls_gcm_auth_decrypt() at gcm.c:753
mbedtls_psa_aead_decrypt() at psa_crypto_aead.c:270
psa_driver_wrapper_aead_decrypt() at psa_crypto_driver_wrappers.h:4,114
psa_aead_decrypt() at psa_crypto.c:5,023
mbedtls_ssl_decrypt_buf() at ssl_msg.c:1,625
ssl_prepare_record_content() at ssl_msg.c:4,093
ssl_get_next_record() at ssl_msg.c:5,068
mbedtls_ssl_read_record() at ssl_msg.c:4,323
mbedtls_ssl_read() at ssl_msg.c:5,983
<...more frames...>
0 项奖励
回复
1,140 次查看
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @hrc-amilcar,

Migrating from mbedTLS 2.x (without PSA) to mbedTLS 3.x (with PSA) is bound to have performance drops, considering that:

"The PSA Driver Interface has only been partially implemented. As a result, the deliverables for writing a driver and the method for integrating a driver with Mbed TLS will vary depending on the operation being accelerated." (https://mcuxpresso.nxp.com/mcuxsdk/latest/html/middleware/mbedtls3x/docs/psa-driver-example-and-guid...

At the moment, the best I can recommend is to follow the guidelines on how to properly migrate from 2.x to 3.x: Migrating from Mbed TLS 2.x to Mbed TLS 3.0 — MCUXpresso SDK Documentation

As well as the guide to properly transition to the PSA API: Transitioning to the PSA API — MCUXpresso SDK Documentation

I apologize for the inconvenience.

BR,
Edwin.

0 项奖励
回复
1,079 次查看
hrc-amilcar
Contributor II

Hi Edwin,

I reproduced the issue on the EVK. I modified two samples by adding a loop of 200 iterations of mbedtls_gcm_self_test and timed the overall execution using the RTC clock.

evkmimxrt685_mbedtls_selftest_cm33 from SDK 25.09 executed the tests in 1087ms with this callstack:

HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,260
mbedtls_internal_aes_encrypt() at aes_alt.c:1,959
mbedtls_aes_crypt_ecb() at aes_alt.c:1,323
aes_crypt_ecb_wrap() at cipher_wrap.c:114
mbedtls_cipher_update() at cipher.c:521
mbedtls_gcm_starts() at gcm.c:294
mbedtls_gcm_crypt_and_tag() at gcm.c:452
mbedtls_gcm_self_test() at gcm.c:826

 

evkmimxrt685_mbedtls3x_psatest_cm33 from SDK 25.12 executed the test in 8990ms with this callstack:

mbedtls_internal_aes_encrypt() at aes.c:896
mbedtls_aes_crypt_ecb() at aes.c:1,062
aes_crypt_ecb_wrap() at cipher_wrap.c:166
mbedtls_cipher_update() at cipher.c:611
mbedtls_gcm_starts() at gcm.c:441
mbedtls_gcm_crypt_and_tag() at gcm.c:718
mbedtls_gcm_self_test() at gcm.c:1,075

 

evkmimxrt685_mbedtls3x_psatest_cm33 from SDK 25.12 with MBEDTLS_PSA_ACCEL_KEY_TYPE_AES defined executed the test in 8744ms with this callstack:

HASHCRYPT_AES_EncryptEcb() at fsl_hashcrypt.c:1,255
hashcrypt_cipher_encrypt() at mcux_psa_hashcrypt_common_cipher.c:187
psa_driver_wrapper_cipher_encrypt() at psa_crypto_driver_wrappers.h:2,353
psa_cipher_encrypt() at psa_crypto.c:4,766
mbedtls_block_cipher_encrypt() at block_cipher.c:177
mbedtls_gcm_starts() at gcm.c:439
mbedtls_gcm_crypt_and_tag() at gcm.c:718
mbedtls_gcm_self_test() at gcm.c:1,075

 

The gist of the modifications to the examples is the following:

BOARD_InitHardware();
test_rtc_init();
psa_crypto_init();

uint64_t ms_start = test_rtc_get_msecs();
for (int i = 0; i < 200; ++i)
{
    PRINTF("test iteration %d\r\n", i+1);
    mbedtls_gcm_self_test(0);
}
uint64_t ms_end = test_rtc_get_msecs();
PRINTF("test time = %ums\r\n", (unsigned)(ms_end - ms_start));

... where test_rtc_get_msecs returns the current RTC time using subsecond accuracy.

As you can see, there is an ~8x slow down for encrypting GCM/AES with the new SDK.

I can attach the modified examples if you'd like.

Regards,
Amilcar

标记 (5)
0 项奖励
回复
688 次查看
hrc-amilcar
Contributor II

For others' benefit...

It appears that mbedtls_xor from mbedTLS 3.x is looping over data 4-bytes at a time and calling mbedtls_get_unaligned_uint32 and mbedtls_put_unaligned_uint32 which both use memcpy for a single uint32.

I recognize that the authors of mbedTLS are trying to improve performance by calculating blocks of XOR 4-bytes at a time (with a remainder loop), but the full calls to memcpy are actually making the code slower.

After some investigation into the disassembly, it turns out that our project was being compiled with -fno-builtin, preventing small memcpys from getting inlined by the compiler.

Removing that option restored much of the performance loss of HASHCRYPT hardware not being used for AES-GCM operations. So, the example I posted went from executing in 8600ms down to 2100ms. Not quite at the level of mbedTLS 2.x + ksdk alt (at 1087ms). But the restored performance is good enough.

-Amilcar

标记 (5)
0 项奖励
回复
1,050 次查看
EdwinHz
NXP TechSupport
NXP TechSupport

Hi @hrc-amilcar,

Thanks for your patience with this question. I just received the response from the internal team, please see below.

From the call stack I can see you are using legacy mbedtls_xxx crypto API. Indeed, it is not HW accelerated. MbedTLS3.x introduced new API for Crypto, and it is PSA. mbedtls/docs/psa-transition.md at v3.6.5 · Mbed-TLS/mbedtls · GitHub and it is accelerated. Legacy crypto API is further removed in MbedTLS4.x.

I checked our psa_crypto_examples in SDK for RT600 and HASHCRYPT HW acceleration is enabled by default by having the PSA_CRYPTO_DRIVER_HASHCRYPT defined which enables crypto driver wrappers to offload crypto computation to HW. On the other hand, MbedTLS3.x+ is more complex and aligned with PSA API specification so it may happen that some use-cases are indeed producing lower performance. In case of TLS I would expect rather asymmetric cryptography (CASPER HW IP) to be bottleneck of performance, since this IP can support only bignum acceleration and it is not well compatible with PSA API that expect HW IP to implement whole algorithm. We did our best to accelerate at least some ECC operations (sign, verify) but it may happen that other operation like keygen during ECDHE key exchange may be worse.

Now it would be good if you can use the PSA API for performance measurement and confirm that PSA_CRYPTO_DRIVER_HASHCRYPT is defined and call stack uses it. FYI: Hashcrypt did not offer AES-GCM acceleration natively, so it is better to benchmark AES-CBC or AES-CTR to see real gain of HW IP.

BR,
Edwin.

0 项奖励
回复
1,134 次查看
hrc-amilcar
Contributor II
Hi Edwin,

We have looked over the migration guide. However, we don't see how mbedTLS 2.x or mbedTLS 3.x without PSA would be hardware accelerated in this version of the SDK. Since aes_alt.c was removed and HASHCRYPT functionality is only supported by the PSA drivers.

Everything works in our app with SDK 25.12, and we would definitely like to use TLS 1.3 for our connections, but we would suffer a large performance loss as it is.

We will continue to look into this. I will modify one of the examples to see if I can reproduce the performance loss.

Regards,
Amilcar
0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2318362%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERT685%3A%20SDK%2025.12%20%E6%B2%A1%E6%9C%89%20HASHCRYPT%20%E5%8A%A0%E9%80%9F%E5%8A%9F%E8%83%BD%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2318362%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3C%2FP%3E%3CP%3E%E6%88%91%E4%BB%AC%E6%9C%80%E8%BF%91%E6%9B%B4%E6%96%B0%E5%88%B0%E4%BA%86%20SDK%2025.12%EF%BC%8C%E5%8F%91%E7%8E%B0%E6%88%91%E4%BB%AC%E7%9A%84%20TLS%20%E8%A7%A3%E5%AF%86%E7%8E%87%E9%99%8D%E4%BD%8E%E4%BA%86%E4%B8%80%E5%8D%8A%E3%80%82%3C%2FP%3E%3CP%3EmbedTLS%20v3.x%20%E4%B8%8D%E5%86%8D%E4%BD%BF%E7%94%A8%3CSTRONG%3Efsl_hashcrypt%3C%2FSTRONG%3E%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E5%8A%9F%E8%83%BD%E3%80%82%3C%2FP%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E4%BD%BF%E7%94%A8%E4%BB%A5%E5%89%8D%E7%9A%84%20SDK%2025.09%20%E8%B0%83%E7%94%A8%3CSTRONG%3Embedtls_ssl_read%20%E7%9A%84%3C%2FSTRONG%3E%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%E3%80%82%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%EF%BC%8C%E6%9C%80%E7%BB%88%E4%BD%BF%E7%94%A8%E4%BA%86%3CSTRONG%3EHASHCRYPT_AES_EncryptEcb%3C%2FSTRONG%3E%E3%80%82%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Ehashcrypt_aes_one_block_aligned()%20at%20fsl_hashcrypt.c%3A437%0Ahashcrypt_aes_one_block()%20at%20fsl_hashcrypt.c%3A581%0AHASHCRYPT_AES_EncryptEcb()%20at%20fsl_hashcrypt.c%3A1%2C284%0Ambedtls_internal_aes_encrypt()%20at%20aes_alt.c%3A1%2C959%0Ambedtls_aes_crypt_ecb()%20at%20aes_alt.c%3A1%2C323%0Aaes_crypt_ecb_wrap()%20at%20cipher_wrap.c%3A114%0Ambedtls_cipher_update()%20at%20cipher.c%3A521%0Ambedtls_gcm_update()%20at%20gcm.c%3A358%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A456%0Ambedtls_gcm_auth_decrypt()%20at%20gcm.c%3A491%0Ambedtls_cipher_aead_decrypt()%20at%20cipher.c%3A1%2C407%0Ambedtls_cipher_auth_decrypt_ext()%20at%20cipher.c%3A1%2C613%0Ambedtls_ssl_decrypt_buf()%20at%20ssl_msg.c%3A1%2C242%0Assl_prepare_record_content()%20at%20ssl_msg.c%3A3%2C667%0Assl_get_next_record()%20at%20ssl_msg.c%3A4%2C551%0Ambedtls_ssl_read_record()%20at%20ssl_msg.c%3A3%2C817%0Ambedtls_ssl_read()%20at%20ssl_msg.c%3A5%2C237%0A%26lt%3B...more%20frames...%26gt%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%3CSPAN%3E%E5%AE%9A%E4%B9%89%E4%BA%86%3CSTRONG%3EMBEDTLS_USE_PSA_CRYPTO%3C%2FSTRONG%3E%E7%9A%84%20SDK%2025.12%20%E7%9A%84%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%E3%80%82%E5%9C%A8%E8%AF%A5%E7%89%88%E6%9C%AC%E4%B8%AD%EF%BC%8C%3CSTRONG%3Embedtls_internal_aes_encrypt%3C%2FSTRONG%3E%E5%85%A8%E9%83%A8%E6%98%AF%20C%20%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%B2%A1%E6%9C%89%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Embedtls_internal_aes_encrypt()%20at%20aes.c%3A894%0Ambedtls_aes_crypt_ecb()%20at%20aes.c%3A1%2C062%0Aaes_crypt_ecb_wrap()%20at%20cipher_wrap.c%3A166%0Ambedtls_cipher_update()%20at%20cipher.c%3A611%0Agcm_mask()%20at%20gcm.c%3A546%0Ambedtls_gcm_update()%20at%20gcm.c%3A641%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A726%0Ambedtls_gcm_auth_decrypt()%20at%20gcm.c%3A753%0Ambedtls_psa_aead_decrypt()%20at%20psa_crypto_aead.c%3A270%0Apsa_driver_wrapper_aead_decrypt()%20at%20psa_crypto_driver_wrappers.h%3A4%2C114%0Apsa_aead_decrypt()%20at%20psa_crypto.c%3A5%2C023%0Ambedtls_ssl_decrypt_buf()%20at%20ssl_msg.c%3A1%2C625%0Assl_prepare_record_content()%20at%20ssl_msg.c%3A4%2C093%0Assl_get_next_record()%20at%20ssl_msg.c%3A5%2C068%0Ambedtls_ssl_read_record()%20at%20ssl_msg.c%3A4%2C323%0Ambedtls_ssl_read()%20at%20ssl_msg.c%3A5%2C983%0A%26lt%3B...more%20frames...%26gt%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%20SDK%2025.12%20%E7%9A%84%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%EF%BC%8C%E5%85%B6%E4%B8%AD%E6%B2%A1%E6%9C%89%3CSPAN%3E%3CSTRONG%3Embedtls_use_psa_crypto%3C%2FSTRONG%3E%3C%2FSPAN%3E%E5%AE%9A%E4%B9%89%E7%9A%84%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%E3%80%82%E5%9C%A8%E8%BF%99%E4%B8%AA%E7%89%88%E6%9C%AC%E4%B8%AD%EF%BC%8C%3CSPAN%3E%20%3CSTRONG%3Embdtls_internal_aes_encrypt%3C%2FSTRONG%3E%E5%85%A8%E9%83%A8%E6%98%AF%20C%20%E4%BB%A3%E7%A0%81%EF%BC%8C%E6%B2%A1%E6%9C%89%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%EF%BC%8C%E4%B9%9F%E4%B8%8D%E6%B6%89%E5%8F%8A%20PSA%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3Embedtls_internal_aes_encrypt()%20at%20aes.c%3A899%0Ambedtls_aes_crypt_ecb()%20at%20aes.c%3A1%2C062%0Aaes_crypt_ecb_wrap()%20at%20cipher_wrap.c%3A166%0Ambedtls_cipher_update()%20at%20cipher.c%3A611%0Agcm_mask()%20at%20gcm.c%3A546%0Ambedtls_gcm_update()%20at%20gcm.c%3A628%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A726%0Ambedtls_gcm_auth_decrypt()%20at%20gcm.c%3A753%0Ambedtls_cipher_aead_decrypt()%20at%20cipher.c%3A1%2C528%0Ambedtls_cipher_auth_decrypt_ext()%20at%20cipher.c%3A1%2C674%0Ambedtls_ssl_decrypt_buf()%20at%20ssl_msg.c%3A1%2C639%0Assl_prepare_record_content()%20at%20ssl_msg.c%3A4%2C093%0Assl_get_next_record()%20at%20ssl_msg.c%3A5%2C068%0Ambedtls_ssl_read_record()%20at%20ssl_msg.c%3A4%2C323%0Ambedtls_ssl_read()%20at%20ssl_msg.c%3A5%2C983%0A%26lt%3B...more%20frames...%26gt%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E6%98%AF%E5%90%A6%E6%9C%89%E8%AE%A1%E5%88%92%E5%9C%A8%20mbedTLS%20%E4%B8%AD%E6%81%A2%E5%A4%8D%20RT685%20HASHCRYPT%20%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%EF%BC%9F%E6%9F%90%E4%BA%9B%20PSA%20Crypto%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%BC%BC%E4%B9%8E%E6%9C%AA%E8%A2%AB%E6%89%A7%E8%A1%8C%E3%80%82%3C%2FP%3E%3CP%3E%E8%B0%A2%E8%B0%A2%EF%BC%81%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2321510%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2321510%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%EF%BC%8C%E5%9F%83%E5%BE%B7%E6%B8%A9%E3%80%81%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%E6%88%91%E5%9C%A8%20EVK%20%E4%B8%8A%E9%87%8D%E7%8E%B0%E4%BA%86%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E3%80%82%E6%88%91%E4%BF%AE%E6%94%B9%E4%BA%86%E4%B8%A4%E4%B8%AA%E6%A0%B7%E6%9C%AC%EF%BC%8C%E5%9C%A8%E5%85%B6%E4%B8%AD%E6%B7%BB%E5%8A%A0%E4%BA%86%E4%B8%80%E4%B8%AA%E8%BF%AD%E4%BB%A3%20200%20%E6%AC%A1%E7%9A%84%E5%BE%AA%E7%8E%AF%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Embedtls_gcm_self_test%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E5%B9%B6%E4%BD%BF%E7%94%A8%20RTC%20%E6%97%B6%E9%92%9F%E4%B8%BA%E6%95%B4%E4%B8%AA%E6%89%A7%E8%A1%8C%E8%BF%87%E7%A8%8B%E8%AE%A1%E6%97%B6%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Eevkmimxrt685_mbedtls_selftest_cm33%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E6%89%A7%E8%A1%8C%E6%B5%8B%E8%AF%95%E7%9A%84%E6%97%B6%E9%97%B4%E4%B8%BA%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E1087ms%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E4%BD%BF%E7%94%A8%E6%AD%A4%E8%B0%83%E7%94%A8%E6%A0%88%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3EHASHCRYPT_AES_EncryptEcb()%20at%20fsl_hashcrypt.c%3A1%2C260%0Ambedtls_internal_aes_encrypt()%20at%20aes_alt.c%3A1%2C959%0Ambedtls_aes_crypt_ecb()%20at%20aes_alt.c%3A1%2C323%0Aaes_crypt_ecb_wrap()%20at%20cipher_wrap.c%3A114%0Ambedtls_cipher_update()%20at%20cipher.c%3A521%0Ambedtls_gcm_starts()%20at%20gcm.c%3A294%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A452%0Ambedtls_gcm_self_test()%20at%20gcm.c%3A826%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Eevkmimxrt685_mbedtls3x_psatest_cm33%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E6%89%A7%E8%A1%8C%E6%B5%8B%E8%AF%95%E7%9A%84%E6%97%B6%E9%97%B4%E4%B8%BA%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E8990ms%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E4%BD%BF%E7%94%A8%E6%AD%A4%E8%B0%83%E7%94%A8%E6%A0%88%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Embedtls_internal_aes_encrypt()%20at%20aes.c%3A896%0Ambedtls_aes_crypt_ecb()%20at%20aes.c%3A1%2C062%0Aaes_crypt_ecb_wrap()%20at%20cipher_wrap.c%3A166%0Ambedtls_cipher_update()%20at%20cipher.c%3A611%0Ambedtls_gcm_starts()%20at%20gcm.c%3A441%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A718%0Ambedtls_gcm_self_test()%20at%20gcm.c%3A1%2C075%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Eevkmimxrt685_mbedtls3x_psatest_cm33%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E6%9D%A5%E8%87%AA%20SDK%2025.12%20%E7%9A%84%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Embedtls_psa_accel_key_type_aes%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E5%AE%9A%E4%B9%89%E7%9A%84%E6%B5%8B%E8%AF%95%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%E4%B8%BA%3CSPAN%3E%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E8744ms%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%3C%2FSPAN%3E%E4%BD%BF%E7%94%A8%E6%AD%A4%20callstack%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3EHASHCRYPT_AES_EncryptEcb()%20at%20fsl_hashcrypt.c%3A1%2C255%0Ahashcrypt_cipher_encrypt()%20at%20mcux_psa_hashcrypt_common_cipher.c%3A187%0Apsa_driver_wrapper_cipher_encrypt()%20at%20psa_crypto_driver_wrappers.h%3A2%2C353%0Apsa_cipher_encrypt()%20at%20psa_crypto.c%3A4%2C766%0Ambedtls_block_cipher_encrypt()%20at%20block_cipher.c%3A177%0Ambedtls_gcm_starts()%20at%20gcm.c%3A439%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A718%0Ambedtls_gcm_self_test()%20at%20gcm.c%3A1%2C075%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E5%AF%B9%E7%A4%BA%E4%BE%8B%E7%9A%84%E4%BF%AE%E6%94%B9%E8%A6%81%E7%82%B9%E5%A6%82%E4%B8%8B%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3EBOARD_InitHardware()%3B%0Atest_rtc_init()%3B%0Apsa_crypto_init()%3B%0A%0Auint64_t%20ms_start%20%3D%20test_rtc_get_msecs()%3B%0Afor%20(int%20i%20%3D%200%3B%20i%20%26lt%3B%20200%3B%20%2B%2Bi)%0A%7B%0A%20%20%20%20PRINTF(%22test%20iteration%20%25d%5Cr%5Cn%22%2C%20i%2B1)%3B%0A%20%20%20%20mbedtls_gcm_self_test(0)%3B%0A%7D%0Auint64_t%20ms_end%20%3D%20test_rtc_get_msecs()%3B%0APRINTF(%22test%20time%20%3D%20%25ums%5Cr%5Cn%22%2C%20(unsigned)(ms_end%20-%20ms_start))%3B%3C%2FCODE%3E%3C%2FPRE%3E%3CP%3E...%20%E5%85%B6%E4%B8%AD%3CSTRONG%3Etest_rtc_get_msecs%3C%2FSTRONG%3E%E4%BD%BF%E7%94%A8%E4%BA%9A%E7%A7%92%E7%B2%BE%E5%BA%A6%E8%BF%94%E5%9B%9E%E5%BD%93%E5%89%8D%20RTC%20%E6%97%B6%E9%97%B4%E3%80%82%3C%2FP%3E%3CP%3E%E6%AD%A3%E5%A6%82%E6%82%A8%E6%89%80%E7%9C%8B%E5%88%B0%E7%9A%84%EF%BC%8C%E4%BD%BF%E7%94%A8%E6%96%B0%E7%9A%84%20SDK%20%E5%8A%A0%E5%AF%86%20GCM%2FAES%20%E7%9A%84%E9%80%9F%E5%BA%A6%E6%85%A2%E4%BA%86%E7%BA%A6%208%20%E5%80%8D%E3%80%82%3C%2FP%3E%3CP%3E%E5%A6%82%E6%9E%9C%E6%82%A8%E9%9C%80%E8%A6%81%EF%BC%8C%E6%88%91%E5%8F%AF%E4%BB%A5%E9%99%84%E4%B8%8A%E4%BF%AE%E6%94%B9%E5%90%8E%E7%9A%84%E7%A4%BA%E4%BE%8B%E3%80%82%3C%2FP%3E%3CP%3E%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EAmilcar%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319993%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319993%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%97%A8%EF%BC%8C%E5%9F%83%E5%BE%B7%E6%B8%A9%EF%BC%8C%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E5%B7%B2%E7%BB%8F%E9%98%85%E8%AF%BB%E4%BA%86%E8%BF%81%E7%A7%BB%E6%8C%87%E5%8D%97%E3%80%82%E4%B8%8D%E8%BF%87%EF%BC%8C%E6%88%91%E4%BB%AC%E7%9C%8B%E4%B8%8D%E5%87%BA%E4%B8%8D%E5%B8%A6%20PSA%20%E7%9A%84%20mbedTLS%202.x%20%E6%88%96%20mbedTLS%203.x%20%E5%A6%82%E4%BD%95%E5%9C%A8%E6%AD%A4%E7%89%88%E6%9C%AC%E7%9A%84%20SDK%20%E4%B8%AD%E8%BF%9B%E8%A1%8C%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E3%80%82%E7%94%B1%E4%BA%8E%20aes_alt.c%20%E5%B7%B2%E8%A2%AB%E5%88%A0%E9%99%A4%EF%BC%8C%E8%80%8C%20HASHCRYPT%20%E5%8A%9F%E8%83%BD%E4%BB%85%E7%94%B1%20PSA%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%94%AF%E6%8C%81%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E7%9A%84%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E5%9C%A8%E4%BD%BF%E7%94%A8%20SDK%2025.12%20%E6%97%B6%E4%B8%80%E5%88%87%E6%AD%A3%E5%B8%B8%EF%BC%8C%E6%88%91%E4%BB%AC%E5%BD%93%E7%84%B6%E5%B8%8C%E6%9C%9B%E5%9C%A8%E8%BF%9E%E6%8E%A5%E6%97%B6%E4%BD%BF%E7%94%A8%20TLS%201.3%EF%BC%8C%E4%BD%86%E7%8E%B0%E5%9C%A8%E7%9A%84%E6%83%85%E5%86%B5%E4%BC%9A%E8%AE%A9%E6%88%91%E4%BB%AC%E7%9A%84%E6%80%A7%E8%83%BD%E5%A4%A7%E6%89%93%E6%8A%98%E6%89%A3%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E6%88%91%E4%BB%AC%E5%B0%86%E7%BB%A7%E7%BB%AD%E8%B0%83%E6%9F%A5%E6%AD%A4%E4%BA%8B%E3%80%82%E6%88%91%E5%B0%86%E4%BF%AE%E6%94%B9%E5%85%B6%E4%B8%AD%E4%B8%80%E4%B8%AA%E7%A4%BA%E4%BE%8B%EF%BC%8C%E7%9C%8B%E7%9C%8B%E8%83%BD%E5%90%A6%E9%87%8D%E7%8E%B0%E6%80%A7%E8%83%BD%E6%8D%9F%E5%A4%B1%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%E9%97%AE%E5%80%99%EF%BC%8C%3CBR%20%2F%3EAmilcar%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2322719%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2322719%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F196828%22%20target%3D%22_blank%22%3E%40hrc-amilcar%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E8%80%90%E5%BF%83%E8%A7%A3%E7%AD%94%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E3%80%82%E6%88%91%E5%88%9A%E5%88%9A%E6%94%B6%E5%88%B0%E5%86%85%E9%83%A8%E5%9B%A2%E9%98%9F%E7%9A%84%E5%9B%9E%E5%A4%8D%EF%BC%8C%E8%AF%B7%E5%8F%82%E8%A7%81%E4%B8%8B%E6%96%87%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BB%8E%E8%B0%83%E7%94%A8%E5%A0%86%E6%A0%88%E4%B8%AD%E6%88%91%E5%8F%AF%E4%BB%A5%E7%9C%8B%E5%88%B0%EF%BC%8C%E6%82%A8%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E4%BC%A0%E7%BB%9F%E7%9A%84%20mbedtls_xxx%20%E5%8A%A0%E5%AF%86%20API%E3%80%82%E4%BA%8B%E5%AE%9E%E4%B8%8A%EF%BC%8C%E5%AE%83%E5%B9%B6%E6%B2%A1%E6%9C%89%E5%8A%A0%E9%80%9F%E3%80%82MbedTLS3.x%E6%8E%A8%E5%87%BA%E4%BA%86%E6%96%B0%E7%9A%84%E5%8A%A0%E5%AF%86%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3%EF%BC%8C%E5%AE%83%E5%B0%B1%E6%98%AF%20PSA%E3%80%82%3CA%20id%3D%22menur13sh%22%20class%3D%22fui-Link%20___1q1shib%20f2hkw1w%20f3rmtva%20f1ewtqcl%20fyind8e%20f1k6fduh%20f1w7gpdv%20fk6fouc%20fjoy568%20figsok6%20f1s184ao%20f1mk8lai%20fnbmjn9%20f1o700av%20f13mvf36%20f1cmlufx%20f9n3di6%20f1ids18y%20f1tx3yz7%20f1deo86v%20f1eh06m1%20f1iescvh%20fhgqx19%20f1olyrje%20f1p93eir%20f1nev41a%20f1h8hb77%20f1lqvz6u%20f10aw75t%20fsle3fq%20f17ae5zn%22%20title%3D%22https%3A%2F%2Fgithub.com%2Fmbed-tls%2Fmbedtls%2Fblob%2Fv3.6.5%2Fdocs%2Fpsa-transition.md%23transitioning-to-the-psa-api%22%20href%3D%22https%3A%2F%2Fgithub.com%2FMbed-TLS%2Fmbedtls%2Fblob%2Fv3.6.5%2Fdocs%2Fpsa-transition.md%23transitioning-to-the-psa-api%22%20rel%3D%22noreferrer%20noopener%20nofollow%22%20aria-label%3D%22Link%20mbedtls%2Fdocs%2Fpsa-transition.md%20at%20v3.6.5%20%C2%B7%20Mbed-TLS%2Fmbedtls%20%C2%B7%20GitHub%22%20target%3D%22_blank%22%3Embedtls%2Fdocs%2Fpsa-transition.md%20at%20v3.6.5%20-%20Mbed-TLS%2Fmbedtls%20-%20GitHub%3C%2FA%3E%E8%80%8C%E4%B8%94%E5%AE%83%E8%BF%98%E8%A2%AB%E5%8A%A0%E9%80%9F%E4%BA%86%E3%80%82%20MbedTLS4.x%20%E8%BF%9B%E4%B8%80%E6%AD%A5%E5%88%A0%E9%99%A4%E4%BA%86%E4%BC%A0%E7%BB%9F%E5%8A%A0%E5%AF%86%20API%E3%80%82%3C%2FP%3E%0A%3CP%3E%E6%88%91%E6%A3%80%E6%9F%A5%E4%BA%86%20RT600%20SDK%20%E4%B8%AD%E7%9A%84%20psa_%3CSTRONG%3Ecrypto%3C%2FSTRONG%3E_examples%EF%BC%8C%E9%80%9A%E8%BF%87%E5%AE%9A%E4%B9%89PSA_CRYPTO_DRIVER_HASHCRYPT%EF%BC%8CHASHCRYPT%E7%A1%AC%E4%BB%B6%E5%8A%A0%E9%80%9F%E5%9C%A8%E9%BB%98%E8%AE%A4%E6%83%85%E5%86%B5%E4%B8%8B%E6%98%AF%E5%90%AF%E7%94%A8%E7%9A%84%EF%BC%8C%E8%BF%99%E4%BD%BF%E5%BE%97%E5%8A%A0%E5%AF%86%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E5%B0%81%E8%A3%85%E5%99%A8%E5%8F%AF%E4%BB%A5%E5%B0%86%E5%8A%A0%E5%AF%86%E8%AE%A1%E7%AE%97%E5%8D%B8%E8%BD%BD%E5%88%B0%E7%A1%AC%E4%BB%B6%E4%B8%8A%E3%80%82%E5%8F%A6%E4%B8%80%E6%96%B9%E9%9D%A2%EF%BC%8CMbedTLS3.x%2B%20%E6%9B%B4%E4%B8%BA%E5%A4%8D%E6%9D%82%EF%BC%8C%E4%B9%9F%E6%9B%B4%E7%AC%A6%E5%90%88%20PSA%20API%20%E8%A7%84%E8%8C%83%EF%BC%8C%E5%9B%A0%E6%AD%A4%E5%8F%AF%E8%83%BD%E4%BC%9A%E5%87%BA%E7%8E%B0%E6%9F%90%E4%BA%9B%E7%94%A8%E4%BE%8B%E6%80%A7%E8%83%BD%E8%BE%83%E4%BD%8E%E7%9A%84%E6%83%85%E5%86%B5%E3%80%82%E5%AF%B9%E4%BA%8E%20TLS%EF%BC%8C%E6%88%91%E8%AE%A4%E4%B8%BA%E9%9D%9E%E5%AF%B9%E7%A7%B0%E5%8A%A0%E5%AF%86%E6%8A%80%E6%9C%AF%EF%BC%88CASPER%20%E7%A1%AC%E4%BB%B6%20IP%EF%BC%89%E4%BC%9A%E6%88%90%E4%B8%BA%E6%80%A7%E8%83%BD%E7%93%B6%E9%A2%88%EF%BC%8C%E5%9B%A0%E4%B8%BA%E8%AF%A5%20IP%20%E5%8F%AA%E8%83%BD%E6%94%AF%E6%8C%81%E5%B0%91%E9%87%8F%E5%8A%A0%E9%80%9F%EF%BC%8C%E8%80%8C%E4%B8%94%E4%B8%8E%20PSA%20API%20%E4%B8%8D%E5%85%BC%E5%AE%B9%EF%BC%8C%E5%90%8E%E8%80%85%E5%B8%8C%E6%9C%9B%E7%A1%AC%E4%BB%B6%20IP%20%E5%AE%9E%E7%8E%B0%E6%95%B4%E4%B8%AA%E7%AE%97%E6%B3%95%E3%80%82%E6%88%91%E4%BB%AC%E5%B7%B2%E5%B0%BD%E5%85%A8%E5%8A%9B%E8%87%B3%E5%B0%91%E5%8A%A0%E9%80%9F%E4%BA%86%E9%83%A8%E5%88%86%20ECC%20%E6%93%8D%E4%BD%9C%EF%BC%88%E7%AD%BE%E5%90%8D%E3%80%81%E9%AA%8C%E8%AF%81%EF%BC%89%EF%BC%8C%E4%BD%86%E5%85%B6%E4%BB%96%E6%93%8D%E4%BD%9C%EF%BC%88%E5%A6%82%20ECDHE%20%E5%AF%86%E9%92%A5%E4%BA%A4%E6%8D%A2%E8%BF%87%E7%A8%8B%E4%B8%AD%E7%9A%84%E5%AF%86%E9%92%A5%E7%94%9F%E6%88%90%EF%BC%89%E5%8F%AF%E8%83%BD%E4%BC%9A%E6%9B%B4%E7%B3%9F%E3%80%82%3C%2FP%3E%0A%3CP%3E%E7%8E%B0%E5%9C%A8%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E8%83%BD%E4%BD%BF%E7%94%A8%20PSA%20API%20%E8%BF%9B%E8%A1%8C%E6%80%A7%E8%83%BD%E6%B5%8B%E9%87%8F%EF%BC%8C%E5%B9%B6%E7%A1%AE%E8%AE%A4%20PSA_CRYPTO_DRIVER_HASHCRYPT%20%E5%B7%B2%E5%AE%9A%E4%B9%89%E4%B8%94%E8%B0%83%E7%94%A8%E6%A0%88%E4%BD%BF%E7%94%A8%E4%BA%86%E5%AE%83%EF%BC%8C%E9%82%A3%E5%B0%86%E6%98%AF%E4%B8%80%E4%BB%B6%E5%A5%BD%E4%BA%8B%E3%80%82%E4%BB%85%E4%BE%9B%E5%8F%82%E8%80%83%EF%BC%9AHashcrypt%E6%9C%AC%E8%BA%AB%E6%B2%A1%E6%9C%89%E6%8F%90%E4%BE%9BAES-GCM%E5%8A%A0%E9%80%9F%EF%BC%8C%E5%9B%A0%E6%AD%A4%E6%9C%80%E5%A5%BD%E5%AF%B9AES-%E5%AF%86%E7%A0%81%E5%9D%97%E9%93%BE%E6%8E%A5(CBC)%E6%88%96AES-CTR%E8%BF%9B%E8%A1%8C%E5%9F%BA%E5%87%86%E6%B5%8B%E8%AF%95%EF%BC%8C%E4%BB%A5%E6%9F%A5%E7%9C%8B%E7%A1%AC%E4%BB%B6IP%E7%9A%84%E5%AE%9E%E9%99%85%E6%94%B6%E7%9B%8A%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%2C%3CBR%20%2F%3EEdwin.%3C%2FP%3E%0A%3CP%3E%3CLI-WRAPPER%3E%3C%2FLI-WRAPPER%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2319693%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2319693%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F196828%22%20target%3D%22_blank%22%3E%40hrc-amilcar%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E4%BB%8E%3CSPAN%3EmbedTLS%202.x%EF%BC%88%E4%B8%8D%E5%90%AB%20PSA%EF%BC%89%3C%2FSPAN%3E%E8%BF%81%E7%A7%BB%E5%88%B0%20mbedTLS%203.x%EF%BC%88%E5%90%AB%20PSA%EF%BC%89%E5%BF%85%E7%84%B6%E4%BC%9A%E5%AF%BC%E8%87%B4%E6%80%A7%E8%83%BD%E4%B8%8B%E9%99%8D%EF%BC%9A%3C%2FP%3E%0A%3CP%3E%3CEM%3E%22%20PSA%20%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E6%8E%A5%E5%8F%A3%E4%BB%85%E9%83%A8%E5%88%86%E5%AE%9E%E7%8E%B0%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E7%BC%96%E5%86%99%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E7%9A%84%E4%BA%A4%E4%BB%98%E5%86%85%E5%AE%B9%E4%BB%A5%E5%8F%8A%E5%B0%86%E9%A9%B1%E5%8A%A8%E7%A8%8B%E5%BA%8F%E4%B8%8E%20Mbed%20TLS%20%E9%9B%86%E6%88%90%E7%9A%84%E6%96%B9%E6%B3%95%E5%B0%86%E6%A0%B9%E6%8D%AE%E6%89%80%E5%8A%A0%E9%80%9F%E7%9A%84%E6%93%8D%E4%BD%9C%E8%80%8C%E6%9C%89%E6%89%80%E4%B8%8D%E5%90%8C%E3%80%82%3C%2FEM%3E%22%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2Fmiddleware%2Fmbedtls3x%2Fdocs%2Fpsa-driver-example-and-guide.html)%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E(https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2Fmiddleware%2Fmbedtls3x%2Fdocs%2Fpsa-driver-example-and-guide.html)%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E7%9B%AE%E5%89%8D%EF%BC%8C%E6%88%91%E6%89%80%E8%83%BD%E6%8E%A8%E8%8D%90%E7%9A%84%E6%9C%80%E5%A5%BD%E6%96%B9%E6%B3%95%E6%98%AF%E9%81%B5%E5%BE%AA%E5%A6%82%E4%BD%95%E6%AD%A3%E7%A1%AE%E4%BB%8E%202.x%20%E8%BF%81%E7%A7%BB%E5%88%B0%203.x%20%E7%9A%84%E6%8C%87%E5%8D%97%EF%BC%9A%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2Fmiddleware%2Fmbedtls3x%2Fdocs%2F3.0-migration-guide.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E4%BB%8E%20Mbed%20TLS%202.x%20%E8%BF%81%E7%A7%BB%E5%88%B0%20Mbed%20TLS%203.0%20-%20MCUXpresso%20SDK%20%E6%96%87%E6%A1%A3%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E4%BB%A5%E5%8F%8A%E6%AD%A3%E7%A1%AE%E8%BF%87%E6%B8%A1%E5%88%B0%20PSA%20API%20%E7%9A%84%E6%8C%87%E5%8D%97%EF%BC%9A%3CA%20href%3D%22https%3A%2F%2Fmcuxpresso.nxp.com%2Fmcuxsdk%2Flatest%2Fhtml%2Fmiddleware%2Fmbedtls3x%2Fdocs%2Fpsa-transition.html%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3E%E8%BF%87%E6%B8%A1%E5%88%B0%20PSA%20API%20-%20MCUXpresso%20SDK%20%E6%96%87%E6%A1%A3%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E4%B8%8D%E4%BE%BF%E4%B9%8B%E5%A4%84%EF%BC%8C%E6%95%AC%E8%AF%B7%E5%8E%9F%E8%B0%85%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%2C%3CBR%20%2F%3EEdwin.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2318804%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2318804%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CDIV%3E%3CSPAN%3E%3CSPAN%3E%E6%88%91%E5%9C%A8%20mbedTLS%20%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E4%B8%AD%E5%AE%9A%E4%B9%89%E4%BA%86%3C%2FSPAN%3E%3C%2FSPAN%3E%20%3CSPAN%3E%3CSTRONG%3EMBEDTLS_PSA_ACCEL_KEY_TYPE_AES%EF%BC%8C%E7%8E%B0%E5%9C%A8%E5%AE%83%E6%AD%A3%E5%9C%A8%E8%B0%83%E7%94%A8%20ASHCRY%3C%2FSTRONG%3E%20%3CSTRONG%3EPT%EF%BC%8C%E4%BD%86%E6%98%AF%E6%88%91%E4%BB%AC%E7%9A%84%20mbedtls_ssl_read%20%E8%AF%BB%E5%8F%96%E9%80%9F%E5%BA%A6%E7%8E%B0%E5%9C%A8%E6%9B%B4%E6%85%A2%E4%BA%86%E3%80%82%3C%2FSTRONG%3E%E6%88%91%E6%83%B3%E7%9F%A5%E9%81%93%E6%98%AF%E5%90%A6%E8%BF%98%E6%9C%89%E5%85%B6%E4%BB%96%E7%BC%BA%E5%A4%B1%E7%9A%84%E5%AE%9A%E4%B9%89%EF%BC%8C%E6%88%96%E8%80%85PSA%E5%B1%82%E5%A2%9E%E5%8A%A0%E4%BA%86%E9%A2%9D%E5%A4%96%E7%9A%84%E5%BC%80%E9%94%80%3C%2FSPAN%3E%E3%80%82%3CDIV%3E%3CDIV%3E%26nbsp%3B%3C%2FDIV%3E%3CDIV%3E%E9%80%9A%E8%BF%87%20TLS%20%E6%8F%92%E5%8F%A3%E4%BB%8E%20WiFi%20%E4%B8%8B%E8%BD%BD%204KB%20%E6%95%B0%E6%8D%AE%E5%8C%85%E7%9A%84%E9%80%9F%E7%8E%87%EF%BC%9A%3C%2FDIV%3E%3CUL%3E%3CLI%3ESDK%2025.09%EF%BC%9A205KB%2F%E7%A7%92%EF%BC%88%E6%B2%A1%E6%9C%89%20PSA%20%E5%92%8C%20ksdk%20%E7%AB%AF%E5%8F%A3%E6%96%87%E4%BB%B6%E7%9A%84%20mbedTLS%202.x%EF%BC%89%3C%2FLI%3E%3CLI%3ESDK%2025.12%EF%BC%9A138KB%2F%E7%A7%92%EF%BC%88%E4%B8%8D%E5%B8%A6%20MBEDTLS_PSA_ACCEL_KEY_TYPE_AES%EF%BC%89%3C%2FLI%3E%3CLI%3ESDK%2025.12%EF%BC%9A125KB%2F%E7%A7%92%EF%BC%88%E4%BD%BF%E7%94%A8%20MBEDTLS_PSA_ACCEL_KEY_TYPE_AES%20%E6%97%B6%EF%BC%89%3C%2FLI%3E%3C%2FUL%3E%3CDIV%3E%3CSPAN%3E%E4%B8%8B%E9%9D%A2%E6%98%AF%E4%BD%BF%E7%94%A8%20MBEDTLS_PSA_ACCEL_KEY_TYPE_AES%20%E7%9A%84%E6%96%B0%E8%B0%83%E7%94%A8%E6%A0%88%EF%BC%9A%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3EHASHCRYPT_AES_EncryptEcb()%20at%20fsl_hashcrypt.c%3A1%2C255%0Ahashcrypt_cipher_encrypt()%20at%20mcux_psa_hashcrypt_common_cipher.c%3A203%0Apsa_driver_wrapper_cipher_encrypt()%20at%20psa_crypto_driver_wrappers.h%3A2%2C353%0Apsa_cipher_encrypt()%20at%20psa_crypto.c%3A4%2C766%0Ambedtls_block_cipher_encrypt()%20at%20block_cipher.c%3A177%0Agcm_mask()%20at%20gcm.c%3A543%0Ambedtls_gcm_update()%20at%20gcm.c%3A628%0Ambedtls_gcm_crypt_and_tag()%20at%20gcm.c%3A726%0Ambedtls_gcm_auth_decrypt()%20at%20gcm.c%3A753%0Ambedtls_psa_aead_decrypt()%20at%20psa_crypto_aead.c%3A270%0Apsa_driver_wrapper_aead_decrypt()%20at%20psa_crypto_driver_wrappers.h%3A4%2C114%0Apsa_aead_decrypt()%20at%20psa_crypto.c%3A5%2C023%0Ambedtls_ssl_decrypt_buf()%20at%20ssl_msg.c%3A1%2C625%0Assl_prepare_record_content()%20at%20ssl_msg.c%3A4%2C093%0Assl_get_next_record()%20at%20ssl_msg.c%3A5%2C068%0Ambedtls_ssl_read_record()%20at%20ssl_msg.c%3A4%2C323%0Ambedtls_ssl_read()%20at%20ssl_msg.c%3A5%2C983%0A%26lt%3B...more%20frames...%26gt%3B%3C%2FCODE%3E%3C%2FPRE%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2318767%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2318767%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F196828%22%20target%3D%22_blank%22%3E%40hrc-amilcar%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3E%E6%9B%B4%E6%96%B0%20SDK%20%E5%90%8E%EF%BC%8C%E6%82%A8%E6%98%AF%E5%90%A6%E5%81%9A%E4%BA%86%E4%BB%BB%E4%BD%95%E6%9B%B4%E6%94%B9%EF%BC%9F%E6%82%A8%E5%9C%A8%E4%BD%BF%E7%94%A8%20SDK%20%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81%E6%97%B6%E4%B9%9F%E7%9C%8B%E5%88%B0%E4%BA%86%E8%BF%99%E7%A7%8D%E8%A1%8C%E4%B8%BA%E5%90%97%EF%BC%9F%E4%BD%A0%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E7%8B%AC%E7%AB%8B%E7%BB%84%E7%BD%91%20%5C%5C(SA%5C%5C)%20IDE%20%E8%BF%98%E6%98%AF%20VS%20Code%20%E6%89%A9%E5%B1%95%EF%BC%9F%3C%2FP%3E%0A%3CP%3EBR%2C%3CBR%20%2F%3EEdwin.%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2318783%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2318783%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%EF%BC%8C%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F186731%22%20target%3D%22_blank%22%3E%40EdwinHz%3C%2FA%3E%E3%80%81%3C%2FP%3E%3CUL%3E%3CLI%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%20MCUXpresso%20%E9%9B%86%E6%88%90%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E3%80%82%3C%2FLI%3E%3CLI%3E%E6%9B%B4%E6%96%B0%20SDK%20%E5%90%8E%E6%97%A0%E9%A2%9D%E5%A4%96%E6%9B%B4%E6%94%B9%EF%BC%9A%3CUL%3E%3CLI%3E%E5%BD%93%E6%88%91%E4%BB%AC%E6%9B%B4%E6%96%B0%20SDK%20%E6%97%B6%EF%BC%8C%E6%88%91%E4%BB%AC%E4%BC%9A%E9%87%8D%E6%96%B0%E8%BF%90%E8%A1%8C%20%22%20SDK%20%E7%AE%A1%E7%90%86%20%22-%26gt%3B%20%22%20%E5%88%B7%E6%96%B0%20SDK%20%E5%85%83%E5%99%A8%E4%BB%B6%20%22%20%E6%9D%A5%E8%8E%B7%E5%8F%96%E6%96%B0%E7%9A%84%E5%92%8C%E6%9B%B4%E6%96%B0%E7%9A%84%E6%96%87%E4%BB%B6%E3%80%82%3C%2FLI%3E%3CLI%3E%E7%84%B6%E5%90%8E%EF%BC%8C%E6%88%91%E4%BB%AC%E6%AF%94%E8%BE%83%20.cproject%E9%85%8D%E7%BD%AE%E4%B8%BA%E5%B7%B2%E5%90%AF%E7%94%A8%E7%B1%BB%E4%BC%BC%E5%8A%9F%E8%83%BD%E7%9A%84%E6%A0%B7%E6%9C%AC%E4%B9%8B%E4%B8%80%EF%BC%88%E4%BE%8B%E5%A6%82evkmimxrt685_wifi_wpa_supplicant_cm33)%3CUL%3E%3CLI%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3Epsa_crypto_driver_casper%3D1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3Epsa_crypto_driver_hashcrypt%3D1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CDIV%3E%3CDIV%3E%3CSPAN%3Econfig_wpa_supp_crypto_mbedtls_psa%3D1%3C%2FSPAN%3E%3C%2FDIV%3E%3CDIV%3E%3CSPAN%3E%E7%AD%89%E7%AD%89%3C%2FSPAN%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FDIV%3E%3C%2FLI%3E%3C%2FUL%3E%3C%2FLI%3E%3CLI%3E%E6%88%91%E4%BB%AC%E4%BD%BF%E7%94%A8%E9%BB%98%E8%AE%A4%E7%9A%84%3CSTRONG%3Emcux_mbedtls_config.h%3C%2FSTRONG%3E%E4%BD%9C%E4%B8%BA%E4%B8%BB%E8%A6%81%E7%9A%84%20mbedTLS%20%E9%85%8D%E7%BD%AE%E5%A4%B4%E6%96%87%E4%BB%B6%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%E4%B8%8E%3CSTRONG%3Eevkmimxrt685_wifi_wpa_supplicant_cm33%3C%2FSTRONG%3E%E7%A4%BA%E4%BE%8B%E4%B8%AD%E7%9A%84%3CSTRONG%3Ewpa_supp_mbedtls_config%3C%2FSTRONG%3E%20.h%E5%87%A0%E4%B9%8E%E7%9B%B8%E5%90%8C%E7%9A%84%E7%94%A8%E6%88%B7%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3C%2FLI%3E%3CLI%3E%E6%88%91%E5%B0%86%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%20mbedtls3x_examples%EF%BC%8C%E7%9C%8B%E7%9C%8B%E5%AE%83%E4%BB%AC%E7%9A%84%E8%A1%A8%E7%8E%B0%E5%A6%82%E4%BD%95%E3%80%82%E4%B9%9F%E8%AE%B8%E6%88%91%E4%BB%AC%E6%BC%8F%E6%8E%89%E4%BA%86%E4%B8%80%E4%BA%9B%E5%AE%9A%E4%B9%89%E3%80%82%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E6%88%91%E5%9C%A8%E6%B5%8F%E8%A7%88%E4%BB%A3%E7%A0%81%E6%97%B6%E6%B3%A8%E6%84%8F%E5%88%B0%EF%BC%8C%E4%B9%9F%E8%AE%B8%3CSPAN%3E%E9%9C%80%E8%A6%81%E5%AE%9A%E4%B9%89%3CSTRONG%3EMBEDTLS_BLOCK_CIPHER_C%EF%BC%8C%3C%2FSTRONG%3E%E4%BB%A5%E4%BE%BF%E5%8A%A0%E9%80%9F%20gcm%20%E6%93%8D%E4%BD%9C%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%A4%B4%E6%96%87%E4%BB%B6%3CSTRONG%3Embedtls3x%2Finclude%2Fmbedtls%2Fconfig_adjust_legacy_crypto.h%3C%2FSTRONG%3E%E5%AF%B9%E6%AD%A4%E8%B4%9F%E6%9C%89%E8%B4%A3%E4%BB%BB%EF%BC%8C%E4%BD%86%E7%94%B1%E4%BA%8E%E6%9F%90%E4%BA%9B%E5%8E%9F%E5%9B%A0%E6%9C%80%E7%BB%88%E6%B2%A1%E6%9C%89%E5%AE%9A%E4%B9%89%E8%AF%A5%E5%AE%8F%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2330856%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20RT685%3A%20SDK%2025.12%20no%20HASHCRYPT%20acceleration%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2330856%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%B8%BA%E4%BA%86%E4%BB%96%E4%BA%BA%E7%9A%84%E5%88%A9%E7%9B%8A...%3C%2FP%3E%3CP%3E%E7%9C%8B%E6%9D%A5%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%20%E6%9D%A5%E8%87%AA%20mbedTLS%203.x%20%E7%9A%84%3C%2FSPAN%3E%20%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3Embedtls_xor%20%E4%B8%80%E6%AC%A1%E5%BE%AA%E7%8E%AF%E9%81%8D%E5%8E%86%204%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E%20%E5%AD%97%E8%8A%82%E7%9A%84%E6%95%B0%E6%8D%AE%EF%BC%8C%E5%B9%B6%E8%B0%83%E7%94%A8%20mbed%20tls_get_unaligned_uint32%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%3C%2FSPAN%3E%20%E5%92%8C%3CSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E%20mbedtls_put_unalign%20ed_uint32%EF%BC%8C%3C%2FSPAN%3E%3C%2FSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%3C%2FSPAN%3E%20%E5%AE%83%E4%BB%AC%E9%83%BD%E4%BD%BF%E7%94%A8%20memcp%20y%20%E6%9D%A5%E5%A4%84%E7%90%86%E5%8D%95%E4%B8%AA%20uint32%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%E6%88%91%E8%AE%A4%E8%AF%86%E5%88%B0%20MbedTLS%20%E7%9A%84%E4%BD%9C%E8%80%85%E6%AD%A3%E8%AF%95%E5%9B%BE%E9%80%9A%E8%BF%87%E4%B8%80%E6%AC%A1%E8%AE%A1%E7%AE%97%20%E5%BC%82%E6%88%96%204%20%E5%AD%97%E8%8A%82%E5%9D%97%EF%BC%88%E4%BD%BF%E7%94%A8%E4%BD%99%E6%95%B0%E5%BE%AA%E7%8E%AF%EF%BC%89%E6%9D%A5%E6%8F%90%E9%AB%98%E6%80%A7%E8%83%BD%EF%BC%8C%E4%BD%86%E6%98%AF%E5%AF%B9%20memcpy%20%E7%9A%84%E5%AE%8C%E6%95%B4%E8%B0%83%E7%94%A8%E5%AE%9E%E9%99%85%E4%B8%8A%E4%BD%BF%E4%BB%A3%E7%A0%81%E5%8F%98%E6%85%A2%E3%80%82%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%3E%E5%9C%A8%E5%AF%B9%E5%8F%8D%E6%B1%87%E7%BC%96%E8%BF%9B%E8%A1%8C%E4%B8%80%E4%BA%9B%E8%B0%83%E6%9F%A5%E5%90%8E%EF%BC%8C%E6%88%91%3C%2FSPAN%3E%3C%2FSPAN%3E%E5%8F%91%E7%8E%B0%E6%88%91%E4%BB%AC%E7%9A%84%E9%A1%B9%E7%9B%AE%E5%9C%A8%E7%BC%96%E8%AF%91%E6%97%B6%E4%BD%BF%E7%94%A8%E4%BA%86%20-fno-builtin%EF%BC%8C%E5%AF%BC%E8%87%B4%E7%BC%96%E8%AF%91%E5%99%A8%E6%97%A0%E6%B3%95%E5%86%85%E8%81%94%E5%B0%8F%E7%9A%84%20memcpys%E3%80%82%3C%2FP%3E%3CP%3E%E7%A7%BB%E9%99%A4%E8%AF%A5%E9%80%89%E9%A1%B9%E5%90%8E%EF%BC%8CHASHCRYPT%20%E7%A1%AC%E4%BB%B6%E4%B8%8D%E7%94%A8%E4%BA%8E%20AES-GCM%20%E6%93%8D%E4%BD%9C%E6%89%80%E9%80%A0%E6%88%90%E7%9A%84%E6%80%A7%E8%83%BD%E6%8D%9F%E5%A4%B1%E5%9F%BA%E6%9C%AC%E5%BE%97%E4%BB%A5%E6%81%A2%E5%A4%8D%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E6%88%91%E5%8F%91%E5%B8%83%E7%9A%84%E7%A4%BA%E4%BE%8B%E6%89%A7%E8%A1%8C%E6%97%B6%E9%97%B4%E4%BB%8E%208600%20%E6%AF%AB%E7%A7%92%E7%BC%A9%E7%9F%AD%E5%88%B0%202100%20%E6%AF%AB%E7%A7%92%E3%80%82%E8%BF%98%E6%B2%A1%E6%9C%89%E8%BE%BE%E5%88%B0%20mbedTLS%202.x%20%2B%20ksdk%20alt%EF%BC%881087ms%EF%BC%89%E7%9A%84%E6%B0%B4%E5%B9%B3%E3%80%82%E4%BD%86%E4%BF%AE%E5%A4%8D%E5%90%8E%E7%9A%84%E6%80%A7%E8%83%BD%E5%B7%B2%E7%BB%8F%E8%B6%B3%E5%A4%9F%E5%A5%BD%E4%BA%86%E3%80%82%3C%2FP%3E%3CP%3E-%E9%98%BF%E7%B1%B3%E5%B0%94%E5%8D%A1%3C%2FP%3E%3C%2FLINGO-BODY%3E