所以,几个月来我一直在努力解决这个问题,部分是因为这是一个附带兴趣,部分是因为我不擅长编程。我在整个网络上进行了搜索和研究,但没有任何运气(除了一点点成功;见下文),所以我想我可以尝试询问专家。
正如标题所暗示的那样,我要做的是根据“事实上的”标准从密码生成一个 40/64 位 WEP 密钥。(诸如http://www.powerdog.com/wepkey.cgi之类的站点会产生预期的输出。)我已经编写了脚本的部分内容,它们接受输入并将它们写入文件;输入之一将是密码短语,已清理为小写。
很长一段时间以来,我都不知道事实上的标准是什么,更不用说如何实施它了。我终于偶然发现了一篇论文(http://www.lava.net/~newsham/wlan/WEP_password_cracker.pdf),它揭示了我对这个问题的了解(第18页有相关的部分)。显然,密码短语“通过 XOR 映射到 32 位值”,然后将其结果用作“线性同余 PRNG(Python 的几个 PRNG 之一适合这个描述,我不知道)”的种子不知道),然后从该结果中提取几位结果。我不知道如何实现这一点,因为描述相当模糊。
我需要的是帮助用 Python 编写生成器,以及理解密钥是如何生成的。换句话说,我需要将“jackson”变成“09F38AF593”的代码。(请不要告诉我杰克逊 = 09F38AF593;打印(杰克逊))
我不是一个程序员,所以解释也很感激。
(是的,我知道 WEP 不安全。)