security - 暴力攻击排列

标签 security math passwords password-protection

假设字母数字密码为 8 个字符,根据我的理解,排列数量为。

26 个小写
26 大写
10 位数字

因此,如果您要对此密码进行暴力攻击,平均尝试次数将为 (62 ^ 8)/2

However assuming you knew that the password was at least 4 digits long and therefore excluded any attempts on the first 4 digits would the answer to the remaining permutations not be ((62 ^ 8) – (62 ^ 4)) / 2 ?

我在这里遗漏了什么还是正确的答案?

最佳答案

是的,你错过了一些东西。不,这不是正确的答案:-)

您最初的计算结果是密码长度恰好为八个字符,而不是八个或更少的字符。

对于可以在四到八个字符之间的密码,实际上比原始计算中的搜索空间更多(不是因为更少的搜索空间相当于花费更多的时间,而是因为原始计算是错误)。

对于一到八个字符的密码,搜索空间实际上是:

(62 ^ 1) + (62 ^ 2) + (62 ^ 3) + (62 ^ 4) +
(62 ^ 5) + (62 ^ 6) + (62 ^ 7) + (62 ^ 8)

然后你可以将其除以二来得到平均检查次数(我不会,因为我们在这里实际上只讨论比率)。

然后,如果您有密码长度至少为四个字符的额外信息,则可以折扣前三个术语以获得:

                                 (62 ^ 4) +
(62 ^ 5) + (62 ^ 6) + (62 ^ 7) + (62 ^ 8)

关于security - 暴力攻击排列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4720163/

相关文章:

ruby-on-rails - 使用 constantize 在 ruby​​ 中远程执行代码

iphone - 创建安全的 iPhone Web 数据源

jquery - jQuery 中包含指数吗?

algorithm - 给定一个最多包含 10 000 个不同自然数的向量,找到 4 个数 (a, b, c, d) 使得 a + b + c = d

c++ - 安全登录逻辑

security - 启用了 Heroku 自动证书管理但仍然没有绿色栏

php - 在 PHP 中渲染波形 - 如何生成更压缩的渲染?

java - 如何使用java在没有密码的情况下ssh到主机

javascript - 如何使用 'host-proof' 范例共享信息?

Java 验证密码