如何暴力破解 RSA 私钥的密码?

Posted

技术标签:

【中文标题】如何暴力破解 RSA 私钥的密码?【英文标题】:How to bruteforce an RSA private-key's passphrase? 【发布时间】:2017-12-13 02:12:56 【问题描述】:

我有一个加密的 RSA 密钥,需要密码才能解锁。我忘记了密码,但我记得那个密码只有 6 位数字。我认为暴力破解它会给我密码。

感谢您的帮助 iabdhv liasbv

【问题讨论】:

由于您的问题被标记为“john-the-ripper”,听起来您是在寻求帮助以使用该程序来暴力破解密码,而不是编写自己的程序来做它。这种事情在这里是题外话。 *** 专门针对编程问题。 为什么这么多仇恨和反对票? Bruteforce 以编程方式完成,John-The-Ripper 是添加暴力代码的好工具。 【参考方案1】:

你可以用谷歌搜索这个,正如评论中提到的开膛手约翰标签,但不再存在,我仍然假设你最初想使用 jtr。提供手册here。

它的基本步骤是:

    从Github 下载并编译 John the Ripper 的 Jumbo 版本。

    现在使用 gpg2john 将您的 rsa_key 转换为 jtr 可理解的格式,称为 file1

    使用john --incremental file1 以暴力模式启动jtr。

但是请注意,第三步将使 jtr 也使用字符,而不仅仅是数字。您可以通过配置中的设置来更改此设置,或者您可以简单地创建一个小脚本来生成包含所有可能密码的密码列表。

for number1 in range(0,9):
  for number2 in range(0,9):
    for number3 in range(0,9):
      for number4 in range(0,9):
        for number5 in range(0,9):
          for number6 in range(0,9):
            print str(number1) + str(number2) + str(number3) + str(number4) + str(number5) + str(number6) 

然后在 linux 上使用 python scriptname.py > passwords.txt 启动这个脚本 使用以下命令终止启动 jtr 后: john --wordlist=passwords.txt file1

【讨论】:

你是用wordlist还是增量模式? 那可能不是6位密码,建议使用增量模式。但是请注意,如果您的密码超过 8 个字符,则需要更改 jtr 配置中的参数

以上是关于如何暴力破解 RSA 私钥的密码?的主要内容,如果未能解决你的问题,请参考以下文章

密码学初级教程(二)公钥密码RSA与单向散列函数与消息认证码

密码暴力破解与防御

Python最新暴力破解WiFi,攻破所有密码限制,最强破解!

暴力破解与验证码安全

Python最新暴力破解WiFi,攻破所有密码限制,最强破解!

Python最新暴力破解WiFi,攻破所有密码限制,最强破解!