这是一个完整性检查问题、因为用户指南(SLAU367M)没有明确说明:
是否可以在不使用 DMA 的情况下实现 CBC?
我在不使用 DMA 的情况下完成了 ECB 256位加密/解密。 我只是想看看 CBC 是否也能做到这一点。
谢谢、
-Jim
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.
这是一个完整性检查问题、因为用户指南(SLAU367M)没有明确说明:
是否可以在不使用 DMA 的情况下实现 CBC?
我在不使用 DMA 的情况下完成了 ECB 256位加密/解密。 我只是想看看 CBC 是否也能做到这一点。
谢谢、
-Jim
Jim、您好!
为了在这里澄清、为了使 AES 加速器在 没有 CPU 干预的情况下执行不同的加密模式(例如 CBC 或 OFB)、必须使用 DMA。 用户指南的 AES256加速器一章(第14.2.11节)中包含了示例伪代码和此过程的更详细说明。 话虽如此、您仍然可以执行这些模式并使用 AES 加速器、但需要 CPU 干预。 这意味着需要编写附加软件才能执行异或操作、并手动将密文/结果/IV 转移到培训的下一部分。
我们以 CBC 加密模式为例。 第一步是执行第一部分纯文本(plaintext_1)、并与 IV 执行异或运算 此结果可以馈送到 AES 加速器(在加载密钥并正确设置模块之后)以生成第一组密码文本(chintext_1)。 对于下一个块、您使用 ciphertext_1和 XOR 与 plaintext_2并将结果馈入 AES 加速器。 继续上述模式、直到您到达要加密的纯文本的末尾。 这种方法比使用 DMA 和 AES 加速器自动执行模式要慢、但比纯软件解决方案更快。
这有道理吗?