要为 WPA2 网络生成有效的成对主密钥,路由器使用 PBKDF2-HMAC-SHA1 算法。我知道 sha1 函数执行了 4096 次来导出 PMK,但是我对这个过程有两个问题。
原谅伪代码。
1) SHA1 函数的第一个实例的输入是如何格式化的?SHA1("network_name"+"network_name_length"+"network_password")
它是按该顺序格式化的,是网络名称、长度和密码的十六进制值还是直接的 ASCII?
然后从我收集到的 160 位摘要中,直接送入另一轮散列,无需任何额外的加盐。像这样: SHA1("160bit digest from last round of hashing") 上升并重复。
2) 一旦发生这种情况,输出的 4096 乘以 256 位将用作成对主密钥。我不明白的是,如果 SHA1 产生 160 位输出,那么算法如何达到密钥所需的 256 位?
谢谢您的帮助。