我有一个密码,我想从中生成 128 位或 256 位 WEP 密钥。任何指针或链接都将有助于如何从纯文本生成 WEP 密钥。
问问题
1267 次
2 回答
2
希望原始海报现在已经找到了答案,但我发现这个信息非常难以获得,因为它已经过时了。正如反复提到的,在这个线程和其他线程中,WEP 非常不安全,但出于某种原因,没有人愿意给出直接的答案,并且有很多建议去学习其他东西。
对于原始问题,128 位密钥是 64 字节字符串的 MD5 哈希。这个 64 字节字符串是反复重复的 ASCII 密码短语,然后被截断为 64 字节。例如,在 SQL Server 中,这将显示为,
SELECT CAST(HASHBYTES('MD5', LEFT(REPLICATE(@phrase, CEILING(64.0 / LEN(@phrase))), 64)) AS varbinary(13))
于 2014-01-19T01:16:33.663 回答
0
从阅读密钥派生函数开始。高质量的现代 KDF 是scrypt、bcrypt和PBKDF2。它们都有开源实现。
对于 PBKDF2,您可以指定派生密钥的长度。对于 scrypt,您可以选择输出的前 N 位并将它们用作密钥。
在不使用 KDF 的情况下执行此操作的最直接方法是将密码与 24 位 IV(初始化向量)连接并形成 RC4 密钥。
请注意,WEP 将您的密钥和 IV 组合成一个 RC4 流,该流为数据流提供密钥;出于这个原因,WEP 有许多缺点,使其无法提供足够的数据机密性。您可以通过以下Wikipedia 页面链接了解更多信息。
不要使用加密哈希作为派生密钥。
于 2013-01-12T12:41:18.363 回答