HMAC-SHA 代码的字节序



>我正在传输AES消息。 我的理解是:1.AES算法将消息视为字节,并且是字节序中立的。 2. 就传输和接收而言,初始化向量与字节序无关。

我还在计算消息的 HMAC-SHA384 代码。 从我的阅读来看,如果传输字节序(在我的例子中为大端序)与机器字节序不匹配,听起来 HMAC-SHA384 确实需要字节交换。 交换应该从字节 0 和 47、1 和 46 开始,依此类推? 请问有比我更了解该主题的人可以确认或反驳这一点吗?

我目前正在使用 .NET HMACSHA384 类,但另一方面,我将编写C++代码,并且还不知道哪个库将提供 HMAC 代码。

> leppie 是对的,两者都是作为字节数组发送的。而且您可以非常确定收到的字节数组将符合NIST规范和测试向量。因此,在这种情况下,您不应过分担心字节序。

如果有人需要担心,那就是哈希函数的实现者。 例如,NIST不幸指定了一台小端机(英特尔处理器)作为SHA-3的参考平台。Skein 的第一个版本具有不正确的测试向量,因为第一次迭代 (1.0) 中存在有关字节序的错误。

相关内容

最新更新