这纯粹是一个思想练习。
假设一个服务器没有对失败的尝试实施限制或锁定。服务器接受用户名/密码请求并返回是/否响应。响应时间为 10 秒。您正试图在服务器上暴力破解密码。我试图弄清楚暴力说出一个 5 位数字 PIN 需要多少时间。
PIN 的熵为 10 5 = 100000 因此蛮力所需的时间为 100000/10 = 10000 秒。
但是,您可以让多线程程序并行发送请求。或同时运行的多个程序进行暴力破解。所以我天真的计算是不正确的。
假设攻击者的机器是当今典型的笔记本电脑(i7,16 GB RAM),我如何计算暴力破解所需的时间 - 是否有任何经验法则?