RFC提供公式
PRF(secret, label, seed) = P_MD5(S1, label + seed) XOR
P_SHA-1(S2, label + seed);
执行此操作.P_hash依次具有以下公式:
P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) +
HMAC_hash(secret, A(2) + seed) +
HMAC_hash(secret, A(3) + seed) + ...
RFC也说
P_hash可以根据需要迭代多次 所需的数据量。例如,如果正在使用P_SHA-1 创建64字节的数据,它必须迭代4次 (通过A(4)),创建80字节的输出数据;最后16个字节 然后将丢弃最后一次迭代,剩下64个字节 输出数据。
我发现" P_hash可以根据需要进行多次迭代,以产生所需数量的数据"令人困惑。只需要多少次?是否有一个阈值,之后它并不重要?如果是这样,这个阈值是多少?
答案 0 :(得分:0)
我非常确定在TLS 1.0中,premaster密码和主密钥总是48字节长,但是当你在线下进一步创建密钥块时,它可能超过48个字节。即如果您的密码使用sha1和aes256,则需要136个字节。