ZHCAAD3A September 2020 – June 2026 F29H850DM , F29H850TU , F29H859TU-Q1 , F29P329SM-Q1 , F29P589DM-Q1 , F29P589DU-Q1 , TMS320F2800132 , TMS320F2800133 , TMS320F2800135 , TMS320F2800137 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SG-Q1 , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
C2000™ 十六进制实用程序 (hex2000) 会对消息数据(在 CMAC 计算之前)以及生成的身份验证标签(在嵌入闪存映像之前)应用一种专有的字节重排变换,本文档通篇将其称为“swapwords”。节 10.2 对此进行了详细介绍。
由于 OpenSSL 的 AES-128-CMAC 实现方案直接操作未经修改的连续字节流,不进行任何此类重排,因此在原始二进制文件上直接调用 openssl dgst -mac cmac 命令所产生的输出将与 C2000 生成的金标 CMAC 标签不匹配。本节介绍了使 OpenSSL 输出与 C2000 对齐所需的精确操作序列,使开发人员能够使用标准的开源加密工具独立验证或复现金标 CMAC 标签。
请注意、此对齐过程旨在用于开发和验证工作流程,并非替代 hex2000 实用程序来生成生产映像。有关 hex2000 --cmc 标志和密钥文件格式的详细信息,请参阅 [3] 和 [4]。