破解AES 256位加密有多难?

如题所问。
关注者
65
被浏览
51,775

7 个回答

破解密码算法并不是简单的穷举,有复杂度更低的方法。
如果是single-key model,对于非满轮的AES(256位的aes应该要迭代14轮),有如下研究(从左到右分别为轮数,数据量,时间复杂度,空间复杂度,方法,文献来源):
对于满轮的AES256的攻击,维基百科上说研究的复杂度为2^254.4.
对于Related-key attack,
最后引用一段Advanced Encryption Standard
Attacks have been published that are computationally faster than a full brute force attack, though none as of 2013 are computationally feasible.
For AES-128, the key can be recovered with a computational complexity of 2^126.1 using the biclique attack. For biclique attacks on AES-192 and AES-256, the computational complexities of 2^189.7 and 2^254.4 respectively apply. Related-key attacks can break AES-192 and AES-256 with complexities 2^176 and 2^99.5, respectively.
3×10^23等于宇宙中恒星的数量,大于地球中沙子的数量。2^256>2^(10*25)>10^(3*25)=10^75>>>3×10^23
现在问题来了。假设你能够把每一粒沙子做出一个存储设备,存一个值。你只能存储3*10^23个不同的答案。而你没法全部试一遍。(只考虑存储)。
如果是1秒钟尝试20亿亿次不同的组合。10^75/(20*10^8*10^8*86400*365)=10^58/86400/365/2>10^50年。这么长时间远远大于太阳的寿命,6*10^9亿年。