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.

[FAQ] [参考译文] [FAQ] MCU-PLUS-SDK-AM263X:如何为 dthe-AES 实现流或散聚模式?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1239787/faq-mcu-plus-sdk-am263x-how-to-implement-streaming-or-scatter-gather-mode-for-dthe-aes

器件型号:MCU-PLUS-SDK-AM263X

问题1: 如何优化 dthe-AES 引擎的使用以支持多种算法并联或支持它的部分使用?

问题2. 如何通过重复使用同一区域进行身份验证来优化内存使用情况?

问题3: 如果我的数据不连续,该怎么办? 我是否可以对相同的 AES 操作执行散聚模式?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在中引用 CBC  DTES-AES

    CBC 与 IV 以及作为 XOR 和 Key 的纯文本一起用作另一个分组密码输入。 作为输出生成的密码文本。

    让我们取一个16KB 的输入数据、其逻辑分区如下:

    我们已以此方式定义 API:

    • Start API -初始化 AES 参数、如  AlgoType、opType、ptrKey、keyLen、ptrIV、 ptrPlaintextData、ptrEncryptedData
      • 下一个输入流的 IV 在 API 本身中更新。
      • 目前、API 仅将输入作为多镜头选项、并在单个位置提供输出。
      • 用户需要将新指针更新为纯文本数据(数据指针改变或给定时间的数据改变)。
      • 此外、用户应提供更新的数据长度(如果数据长度发生变化)。
    • Update API -根据存储的参数执行 dthe Engine。
      • 用户需要将新指针更新为纯文本数据。
      • 此外、用户应提供更新的数据长度(如果数据长度发生变化)。
    • 完成 API -在加密的地址位置将最终数据提供回软件。

    同时在采用散聚表时使用相同的 API。   所附 c 文件的实现部分。 在此示例中、包含多个具有将一起提供给 dthe (或以这种方式处理)的纯数据的存储器段。

    流数据和散聚表之间的区别是什么?

    • 散点收集表允许数据分布在存储器中、并且需要将处理操作作为单个块完成。 尽管在对 dthe 进行调用时、分散收集的数据应该在 t=0时可用。
    • 流数据允许在 t=0时不存在且将要一直到 t (completion)的数据。 需要通过在运行时重新分配相同的存储器、使用有限的缓冲区分配来相应地处理数据。

    类似地、可以对其进行更改、以创建一个 AES-CBC-解密 实现、甚至是 不同的协议 :

    请查找示例文件(相同的应用级实现)-

    e2e.ti.com/.../crypto_5F00_aes_5F00_cbc_5F00_256.c