是否可以打破128位密钥?

Rob*_*Rob 9 cryptography

我是一名程序员,对密码学来说相对较新,所以请原谅我的新秀问题.:)

假设我们有一条消息,无论是纯文本还是使用128位密钥加密.理论上,有可能以某种方式找出关键?如果是的话,我们在谈论什么计算时间?

谢谢!

Eug*_*its 11

是的,这是一个需要时间的问题 - 使用蛮力可以尝试每个可能的位组合并猜测正确的位.最长时间将是数百万和数十亿年,所以我们可以说它不容易破解.

然而,每种算法都有一定的短路(对于某些算法,这些电路还没有找到),这减少了所需的时间.此外,现代大规模并行计算技术(例如,在图形卡中使用GPU)可以进一步减少时间.可能存在影响所需时间的其他因素,例如算法应用中的缺陷(例如,使用错误的加密模式或使用短密码并将其填充到密钥长度的某些字符).

然后存在橡胶软管密码分析,通常证明比暴力关键猜测更有效.


Luk*_*hne 11

简短回答:

考虑到只有蛮力检查每个键是可用的 - 没有

更长的答案:

2007年有人估计,使用暴力破解88位的成本是300M $,如果你应用摩尔定律,你将这个价格降低4倍,或者你现在可能得到2个额外的位.

所以你需要2 ^ 38多钱来破解单个128位密钥.(约10 ^ 20 $)

资料来源:http://www.seagate.com/staticfiles/docs/pdf/whitepaper/tp596_128-bit_versus_256_bit.pdf
来源2:http://dator8.info/pdf/AES/3.pdf

从文章邻接128位键:

如果你假设:

•地球上的每个人都拥有10台计算机.
•这个星球上有70亿人口.
•每台计算机每秒可以测试10亿个密钥组合.
•平均而言,您可以在测试50%的可能性之后破解密钥.

然后(参见附录中的计算参考):
•地球人口可以在77, 000 , 000, 000 , 000, 000 , 000, 000 , 000年内破解一个加密密钥(仅一个驱动器)!
•如果您想知道,破解第二个钥匙/驱动器将需要另外77,000,000,000,000,000,000,000,000,000年.

我刚刚注意到,它计算不正确.正确答案是77e9年(仍然是我们文明的一堆).

额外(基于比特币的假设):

在这个日期(2017年),我们可以将比特币采矿系统作为最大的已知蛮力机械,并将采矿和比特币的价格作为我们假设的基准.

检查一个sha256与尝试一个对称密钥(如AES或其他)大致相同.根据这个网站,目前尝试的哈希值是(D*2**32/600),其中D是当前的比特币难度(678760110082.9902)

该系统每秒产生大约5e + 18个哈希值.每个区块每10分钟生产一次,到目前为止产生12.50个硬币.硬币价格是2.5k.

因此,一个哈希成本.
(12.50*2.5e3)/(5e18*600)= 1.0e-17.

破解一个128位密钥,今天(2017年6月)成本约.1e-17*2 ^ 128 = 3.5e + 21
比特币采矿系统需要2 ^ 128 /(5e18*3.14e7)= 2.1e12年.

  • RSA密钥不是对称密钥,破解RSA是关于整数分解问题,并且不需要蛮力.http://cacr.uwaterloo.ca/hac/about/chap8.pdf - > 8.2.2 (4认同)