我的问题有点简单。
我想使用AES-256加密加密我的备份。使用如下密码:7okufZ308@lB$^KTINX1NWbpdw6rkysxv@giMW5jgI#ZaX*#YwloT3Y$*c*2qVCW
这有64个字符,我想知道这样一个密码的可能破解时间是多少?我将要使用的软件有一个定制的迭代配置,所以我将它设置为20,000。
(运行加密软件的服务器有很大的cpu能力),运行一个拥有128 of内存的四Xeon,所以我并不担心加密时间。
我更担心的是,破解这样的密码需要多长时间?
发布于 2018-05-02 13:52:36
这将立即发生,因为你刚刚发布了你的密码到互联网,在那里的对手正在观看。
另一方面,如果你能描述你用来生成密码的程序,我们就可以量化对手在一次试验中猜测密码的概率,只知道程序,而不知道具体结果。在那里,人们可以量化发现攻击的预期成本,或者以任何规定的概率进行试验的数量。
例如,如果你把它从帽子里随便挑出来,
7okufZ308@lB$^KTINX1NWbpdw6rkysxv@giMW5jgI#ZaX*#YwloT3Y$*c*2qVCWaqfSLH4)K{*zDH:$t6(G^alcSEN\Tbc#8X)W3P[whp%kC@Kn>T#.Q8BQ6=q+![/>D%]Auqkuel:W4l(/YqBuXSTx7Oh.0]Wq"jly>["t?8wVmUnR+ivCS?<)}+P=-:1NI am the very model of a modern major passphrase那么对手在第一次审判中获得正确的概率为1/4,而在对手获得正确的审判之前,预期的审判次数为2。
I建议把它从至少包含2美元{128}美元可能性的帽子中随机挑选出来。
例如,您可以抛硬币128次,并将结果用作CSPRNG的种子,从CSPRNG中对八进制进行采样,拒绝那些在U.S.-ASCII中没有编码图形字符的字符,直到您收集到其中的64个字符为止。
不过,这并不是对密码空间的有效利用:对手最有效的攻击可能是128枚硬币翻转的结果,而不是密码。所以你可以安全地把你的密码降到20个US字符。
或者,如果您希望它更令人难忘,您可以在迪克瓦尔和标准家电的帮助下,从其中的7776个单词列表中随机选择10个单词的序列,如果您的名字不是拉斐尔·韦尔顿,则可以在CSPRNG上使用相同的拒绝抽样技术。
请注意,要使$2^{128}上的统一发行版可能的密码为安全抵御多目标攻击,您必须确保将密码与大量盐组合在一起。否则,或者如果您关心量子计算机,那么谨慎的做法可能是将这些数字(256个硬币翻转、40个US-ASCII字符、20个diceware单词)加倍,使其达到$2^{256}等可能的可能性,或者至少将其提高到$2^{192}$。
https://crypto.stackexchange.com/questions/58872
复制相似问题