我试图使用HKDF-Expand从一个伪随机的512位密钥中派生出大量的键控材料(> 64 to )。
现在,根据HKDF RFC,在对HKDF-Expand的单个调用中可以导出的最大键值是255 * HashLength,在我的示例中,它将是输出的255 * 64 = 16,320字节(因为我使用的是SHA512)。
但是,对于我来说,16,320字节的输出是不够的。但我想我可以通过两条路线使用HKDF-Expand生成这些数据:
HKDF-Expand的多次调用来派生大小为16,320字节的多个键,并将它们连接在一起。从理论上讲,这并不违反RFC规范,因为我相信RFC允许您多次调用HKDF-Expand,生成最多每个time.的255 * HashLength字节数据,我将为导出的每个键设置一个32位计数器,并将其传递到HKDF time.的Info参数中。这样我就不会继续得到同样的材料了。HKDF-Expand的实现中,我将使用.NET和RFC,它指定在8位计数器变量之前将Info缓冲区添加到哈希中。这意味着,如果对Info使用某种整数计数器是可以的,那么理论上应该可以修改8位计数器,该计数器目前正在将HKDF-Expand's输出长度限制在更大的范围内,比如32位计数器。因此,我可以生成更多的关键数据。我的3个问题如下:
Info参数使用整数计数器到HKDF-Expand可以吗?我相信任何具体的应用程序和无关的PRK是可以的,对吗?Info参数从512位PRK中生成这么多键控数据可以吗?HKDF-Expand's输出长度为一个更大的计数器,如32位?谢谢你在这里的任何时间!我仍然是一个大密码新手,所以我道歉,如果这些是愚蠢的问题!
此外,如果有人想知道,512位PRK来自PBKDF2,我需要64 do的键控数据更多的是为了体验的目的,看看我能用香港国防军做些什么。
发布于 2022-09-18 10:37:12
https://crypto.stackexchange.com/questions/101935
复制相似问题