2

嗨,我只是从维基百科的一段代码中理解的。问题是使用实心焊盘参数的实现太多了,例如:ipad 将是 [0x36 * blocksize] oppad 将是 [0x5c * blocksize]。

问题是:

为什么人们在代码中使用这两个实心焊盘?他们是最好的选择吗?
既然它是可靠的,那么这个算法真的比 H(H(key+msg)+key) 更安全吗?

顺便说一句,我必须说许多关于哈希和身份验证的文档真的很糟糕。
是因为 NSA 要求他们不清楚吗?

4

1 回答 1

0

首先,HMAC 来自学术研究人员 Bellare、Rogaway 和 Krawczyk。NSA 从未接触过 HMAC,该标准完全符合学术研究人员的定义。

选择 ipad 和 opad 的基本原理在他们的论文Keying Hash Functions for Message Authentication第 14 页中进行了解释,但除非您是密码学家,否则您可能难以理解它。

简而言之,这些特定值没有什么特别之处。任何常数都会起作用。

于 2014-07-16T03:06:09.153 回答