一STM32U385 芯片手册中有关AES的介绍这些设备嵌入了两个AES加速器:SAES和AES。带有硬件独特密钥的SAES能够抵御差分功率分析(DPA)和相关旁路攻击。SAES可以通过专用的硬件总线与速度更快的AES共享其当前的密钥寄存器信息。SAES和AES均可用于使用AES算法对数据进行加密和解密。它是根据联邦信息处理标准出版物(FIPSPUB197,Nov2001)定义的高级加密标准(AES)的完全合规实现。支持多种链模式密钥长度为128位或256位。SAES嵌入了对差分功率分析(DPA)和相关侧信道攻击的保护。为了提升其所处理的密钥的保密性SAES 可以生成硬件秘密密钥这些密钥可以被应用使用但应用***无法直接读取其明文。这些密钥可以采用一种设备非易失且唯一的总密钥(256位)或由应用定义的、存储在备份寄存器中的总密钥(同样为256位)这些密钥在启动时被写入并锁定。在发生安全漏洞的情况下这些硬件秘密密钥还可以被立即禁用。SAES外设通过硬件连接到真正的随机数发生器RNG(用于侧信道电阻)。它还与更快的AES硬件加速器相连以便在SAES外围设备允许的情况下共享硬件密钥。二STM32 cube MX 软件配置如下所示三软件代码如下所示3.1 初始化 AES复制blockquotevoid MX_AES_Init(void)3.2 AES 加密和解密过程复制if (HAL_CRYP_Encrypt(hcryp, Plaintext, PLAINTEXT_SIZE, EncryptedText, TIMEOUT_VALUE) ! HAL_OK){/* Processing Error */Error_Handler();}/*Compare results with expected buffer*/if(memcmp(EncryptedText, Ciphertext, 16) ! 0){/* Processing Error */Error_Handler();}复制if(memcmp(DecryptedText, Plaintext, 16) ! 0){/* Processing Error */Error_Handler();}else{/* Right Encryption : Turn LD2 on */BSP_LED_On(LD2);}四实物验证验证正常LED灯闪烁---------------------作者聪聪哥哥链接https://bbs.21ic.com/icview-3477138-1-1.html?_dsignb009ce53来源21ic.com