我有一个使用256位主密钥的加密方案,其中两个单独的密钥(一个用于AES-256-CTR加密,一个用于HMAC- that 256)是使用HKDF导出的。不过,我不知道如何在不搞砸的情况下利用香港发展基金,所以我直截了当地说:
发布于 2014-06-22 15:08:50
HKDF-expand值下使用两次info,或者一次使用更长的输出长度。发布于 2014-06-23 07:16:01
虽然答案已经被接受了,但我将添加一个关于事物的不同看法的答案。
1.使用SHA-512作为散列算法来获得512位的输出并将其拆分为2,安全吗?
这是安全的,但这不是香港发展基金-扩展应该用来。HKDF-展开的思想是两次调用它,每个键一次,使用info元素来区分两者(例如,info可以是密钥名的ASCII编码)。请注意,香港国防军应该有一个相对较短的运行时间。
2.我知道使用盐并不是强制性的,但使用它是否确实提高了安全性?
虽然它不是必需的,但最好使用盐。因此,除非有一些重要的原因不这样做--如对确定性协议的要求或随机数生成器的不可用性,请这样做。相对来说,KBKDF算法有salt参数是不寻常的,但是作者似乎认为这很重要;请参阅下面的引文。
3.我知道这可能是个愚蠢的主意,但是.盐可以是用于加密的IV吗?
你可以,但我会敦促你独立生成它使用HKDF-展开,见答案(1)。
引用第2部分(参见RFC的3.1 ):
然而,我们强调,使用salt大大增加了HKDF的强度,确保了散列函数的不同用途之间的独立性,支持“独立于源”的提取,并加强了支持HKDF设计的分析结果。
https://crypto.stackexchange.com/questions/17830
复制相似问题