This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM2612:在 AM2612上实现的 AES-GCM 模式

Guru**** 2298590 points
Other Parts Discussed in Thread: AM2612
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1514834/am2612-aes-gcm-mode-implemented-on-am2612

器件型号:AM2612

工具/软件:

最近、我尝试在 AM2612上实现 AES-GCM 模式。 AM2612似乎仅支持96位的 IV 长度、我构建了 AES-GCM 模式的 GCM 测试演示、请参阅 CCM 模式示例。

GCM 测试演示有效!  但有一个小问题:

当我尝试 计算第一个格式的数据时、所有输出数据都符合我的 预期(包括密文和标签)。 但当我尝试运行另一组数据计算时、密文是正确的、但标记值是 意外的。

当时、我 意识到 AES 上下文产生了错误的 AAD。 AES 上下文寄存器中可能有一些残留数据。 因此、我  在每次计算后都会尝试对 AES 模块进行软复位(调用 dthe_AES_Close 和 dthe_AES_open 来重置 AES)、这 确实会发怒! 第二组输出标签正确!  上述所有测试仅 在 HSM 内且使用 AES 安全上下文运行。

时会遇到这种情况。 即使我对 AES 模块进行软复位、第二个组输出标签也不正确。

我的问题是:

1.是否有任何寄存器用于控制 GHASH 模块以进行复位?

2.为什么 CCM 模式不需要软复位 AES 模块?