3

我有一个密码,我想从中生成 128 位或 256 位 WEP 密钥。任何指针或链接都将有助于如何从纯文本生成 WEP 密钥。

4

2 回答 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 是scryptbcryptPBKDF2。它们都有开源实现。

对于 PBKDF2,您可以指定派生密钥的长度。对于 scrypt,您可以选择输出的前 N ​​位并将它们用作密钥。

在不使用 KDF 的情况下执行此操作的最直接方法是将密码与 24 位 IV(初始化向量)连接并形成 RC4 密钥。

请注意,WEP 将您的密钥和 IV 组合成一个 RC4 流,该流为数据流提供密钥;出于这个原因,WEP 有许多缺点,使其无法提供足够的数据机密性。您可以通过以下Wikipedia 页面链接了解更多信息。

不要使用加密哈希作为派生密钥。

于 2013-01-12T12:41:18.363 回答