数字华容道技巧5x5,网上流行的复杂5x5解锁( 五 )


【数字华容道技巧5x5,网上流行的复杂5x5解锁】算法公开,而密钥(密码)保密,就成了加密解密的最佳实践 。多数尝试自己发明一套加密算法的想法都是愚蠢的(密码学专家的专业研究除外) 。所以说,压缩包加密之所以安全,可以认为它是加密算法公开,而密钥保密的成功典范 。它是如此的安全,目前没有任何人可以通过除穷举法以外的其他任何办法破解(未来是否能找到这些公开加密算法的漏洞不好说) 。
======分割线======看到评论很多人关心如果用穷举法,到底需要多长时间 。下边我们不妨来算算 。内容有点长,看结论就直接看粗体字 。不太相信的,想自己算的可以详细看计算过程 。目前zip、rar的主流加密算法是AES 。AES分3种规格,主流是256位,此外还有192位、128位(位数越高安全性越高) 。
128位是指密码的长度是128计算机位,即16字节 。大致相当于20几个英文字符 。换句话说,AES-128加密,用20几个随机英文字符足够安全了 。我们就姑且只讨论128位的 。256位的更难破 。128位密钥,其可能性总共2^128=3.4×10^38 。平均破解次数那就是除以2了,1.7×10^38 。现在最厉害的超算之一是天河二号,排名前五,其极限速度是每秒运算6亿亿次 。
这个速度是指最简单的运算,那就是整数加法 。普通电脑CPU主频4GHz,极限速度就是40亿次运算每秒 。如果是8核CPU就乘以8 。那么一台天河二号超算大约相当于1百万台普通电脑 。概括一下,AES-128加密平均需要穷举1.7×10^38次可以破解 。一台天河二号超算极限运算速度一秒6*10^16次 。这个运算是指整数加法运算,我们就姑且把复杂的AES解密看作加法这么简单吧 。
接下来就是一看就懂的算式:1.7×10^38÷6×10^16=2.8×10^21秒 。即90万亿年 。看到没有,一台天河二号超算——全球排名前五的超算,破解一个足够复杂密码的压缩包,平均至少需要90万亿年 。或许你会反驳,找第一名啊,好吧,第一名也就是天河二号速度的不到4倍 。你还可以这样算,动用一亿台天河二号同时算,也就是把时间由90万亿年变成了90万年,依然是天文数字 。

推荐阅读