[Wi-Fi/蓝牙/Zigbee…] ATSAME54P20A AES 加密模块使用心得

[复制链接]
 楼主| 热爱浪漫 发表于 2025-7-17 12:59 | 显示全部楼层 |阅读模式
ATSAME54 的 AES 加密结果异常?注意密钥长度和块大小的匹配!以下是正确的初始化和加密流程:
/ AES-128加密初始化(ATSAME54)
void AES_Init(void) {
    // 使能AES时钟
    PM->APBCMASK.reg |= PM_APBCMASK_AES;

    // 配置AES
    AES->CTRLA.reg = AES_CTRLA_SWRST;
    while(AES->SYNCBUSY.reg & AES_SYNCBUSY_SWRST);

    // 设置密钥(16字节 = 128位)
    uint8_t key[16] = {0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF,
                      0x01, 0x23, 0x45, 0x67, 0x89, 0xAB, 0xCD, 0xEF};
    for(int i = 0; i < 16; i++) {
        AES->KEY[i].reg = key[i];
    }

    // 配置加密模式(ECB)
    AES->CTRLB.reg = AES_CTRLB_MODE(0) |  // ECB模式
                    AES_CTRLB_DATALEN(0);  // 16字节数据块
}

wahahaheihei 发表于 2025-7-19 18:36 | 显示全部楼层
如何解密呢,输入密钥就行了吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

35

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部