security - 软暴力破解您自己的 GPG/PGP 密码的最佳方法是什么?

标签 security gnupg gpgme

我创建了一个很长的密码短语,用了几次,然后忘记了;) 不同的是,我知道一般主题和几乎所有的字符。我的完美主义者不想撤销 key 或类似的东西(我认为无论如何我都需要密码来撤销它,对吧?)。我觉得我应该能够通过对我错误/输入错误的可能布局/字符进行强力强制来很好地解决这个问题。我写了一个 C 程序来产生这样的组合。不幸的是,我手头没有代码(我现在以“它不相关”为借口;)。我也遇到过一些 code在网络上使用 GPGME 来做这件事作为概念验证。它有评论“这很容易快 100 倍”。问题是,分析代码显示瓶颈是 GPGME 调用本身。这是预期的,还是可以使用完整库或专用实现解决的 GPGME 限制?

你会怎么做呢?显然,这种方法对于任何体面的未知密码都是不可行的,但我认为关键是我知道我输入了什么而不知道我输入的确切格式——应该是可行的,不是吗?

最佳答案

(and I think I need the passphrase to revoke it anyway, right?)



不,您需要撤销 key 。您应该在创建 key 时生成并打印出来。然后将其存储在安全的地方,而不是在您不希望他人使用它来撤销您的 key 的地方。

我曾尝试暴力破解我几乎记得的密码,但没有成功。仍然有很多排列,并且需要很多规则才能将其缩小到合理的问题大小。我从来没有在这方面尝试过太多,因为幸运的是我从未忘记我的 GPG 密码。大多数情况下,当我忘记密码时,它是登录到大学的远程机器,而且我从来不想用我的猜测敲击 ssh 端口或网络邮件。

也许您正在调用的函数做了很多与键无关的设置?因此,您可以通过从库中复制代码并将您的蛮力循环稍后放入其中来加快速度。

关于security - 软暴力破解您自己的 GPG/PGP 密码的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/856912/

相关文章:

key - GPG 不提示输入密码

gnupg - gpgme:签名数据时选择私钥

http - JSON Web 服务容易受到 CSRF 攻击吗?

security - 使用 _session 进行身份验证

security - 通过 SSL 发送预加密数据

ruby - 如何使用 omniauth-openid gem 使 OpenID 登录安全?

permissions - GPG 权限被拒绝

cryptography - 如何获取仅知道其指纹的公共(public) OpenPGP key ?

c - 如何抑制来自 gpgme 的 valgrind 警告?

C GPGMe 忽略用户 key 环