Other Parts Discussed in Thread: AM263P4, SHA-256
器件型号: AM263P4
主题中讨论的其他部件: SHA-256
我回顾了 AM263P4 SDK 中 DTHE 模块的 SHA 计算程序 (MCU_PLUS_SDK_am263px_11_00_00_19)。 当它不是最后一个数据块时、对于 SHA256、原始文本的输入长度必须是 64 字节的倍数。 根据程序逻辑、对于非 SHA256 算法、如 SHA1、SHA224、SHA384 SHA512 和 MD5、原始文本的输入长度必须是 128 字节的倍数。
第一个问题: 这是否表示程序仅考虑 SHA256 和 SHA512 的情况(因为只列出了 dthe_SHA256_block_size 和 dthe_SHA512_block_size、并且注释状态/*完整性检查:除最后一个块之外的任何数据缓冲区都应根据 SHA 大小对齐。 对于 SHA256、这个是 64 字节、而对于 SHA512、这个应该是 128 字节*/)、而不考虑其他情况、或者程序是否旨在简单地区分 SHA256 和非 SHA256?
第二个问题: 无论是哪种算法、最后一个数据块都不需要输入长度?

