我想知道对手是否拥有您的私人 gpg 密钥但没有密码/短语,与仅使用密码而不使用密钥的加密相比,破解加密文件有多容易/困难?(假设密码相同)。
与不使用密钥文件的加密相比,与不使用密钥文件的加密相比,受损的密钥文件会更容易破解加密吗?
一个示例可能是私钥被盗的 gpg 加密文件和使用 AEScrypt 加密的文件。
我想知道对手是否拥有您的私人 gpg 密钥但没有密码/短语,与仅使用密码而不使用密钥的加密相比,破解加密文件有多容易/困难?(假设密码相同)。
与不使用密钥文件的加密相比,与不使用密钥文件的加密相比,受损的密钥文件会更容易破解加密吗?
一个示例可能是私钥被盗的 gpg 加密文件和使用 AEScrypt 加密的文件。
如果您有一个用密码锁定的 GPG 私钥,“破解”密钥会减少密码猜测。有一个简单的方程式可以回答这个问题;困难在于有两个未知数:密码中的熵位数和攻击者每秒可以猜测的次数。
示例:有 96 个可打印的 ASCII 字符。Log 2 (96) 约为 6.6。给定一个真正随机生成的 8 个字符的 ASCII 密码,其熵为 6.6x8=52.8 位。如果攻击者每秒可以进行十亿 (2 30 ) 次猜测,则尝试所有组合将需要大约 2 22.8秒或大约 84 天。由于我们预计攻击者会在中途“攻击”,因此平均破解时间约为 42 天。
相反,如果密码是前 10,000 个密码之一(并且破解者有列表!),您有大约 13.3 位的熵,破解将在不到一秒的时间内成功。
最后,假设您使用带有 6 字密码短语的 Diceware。你会得到 66 位的熵,而破解大约需要 2 35秒,或者超过一千年。
您可以使用每秒猜测的其他值重复算术。
有两个重要的事情可以从中收集。首先,如果私钥被密码锁定并且攻击者可以访问锁定的私钥,那么破解就是密码,而不是 GPG 或公钥加密。其次,添加到密码中的每一点熵大约都会使暴力破解的时间增加一倍。
对于从密码派生的 AES 密钥,计算是相同的。但是,AES 密钥不必从密码中派生。它可以随机生成。对于 128 位 AES,蛮力攻击者将花费 2 128-30-1 = 2 97秒。这大约是 5,000,000,000,000,000,000,000 年。
如果私钥受到密码而不是密钥文件的保护,我会更快地破解私钥,因为密钥文件很可能包含比您的密码更多的字符,这意味着在暴力攻击中生成密钥文件需要更多的计算。如果攻击者拥有受密码保护的私钥,则破解加密会更容易。因为他只需要破解密码。如果他没有受保护的私钥,他将需要生成例如。1024 位私钥,这比暴力破解密码需要更多时间。