SSL加密技术,预计多少年以后会被轻易破解
发布日期:2016-06-01准确地说,SSL(含TLS)是一种安全协议,不是一种具体的密码算法。如果要谈论破解的问题,会受到所使用密码算法的影响。再次要补充一下,关于「破解」这个词汇的含义,请参看另外一则问题中的答案《理论上可以通过除穷举法以外的方法破解不可逆的加密算法吗?》。另外结论在最后一段,可以只看加粗部分和最后结论。
对于密码算法,已经进行了非常多年的研究,尤其是网络时代来临之后,对于使用密码算法对信息安全进行保护的研究也越来越多。对于密码学家而言,一个很重要的任务便是创造一种足够健壮的密码算法使得没有人能够破解。但是密码学家们也清晰地认识到,一种绝对安全的密码算法并不是那么容易创造的。目前已知算法中,只有一种算法Random Oracle能够达到绝对安全,即攻击者即使拥有无限的存储能力、计算能力和时间也无法破解,但这种加密方法也是没有应用价值的。关于这种算法的更多信息见《这样的密码有办法破解吗?》
既然绝对安全难以达到,密码学家们退而求其次,寻求一种相对安全的方法。这种相对的安全大致可以这样子表述:破解一则消息所需要的成本(计算机、人力、电能等等)远远超过这则信息本身的价值,那么我们认为这是相对安全的;或者破解一则消息(比如情报)所需要的时间,远远大于这则消息所需要保密的期限,我们也认为这是相对安全的。
现代密码学的里程碑是1977年由IBM的研究人员Horst Feistel等人提出的Lucifer算法,该算法后来被美国国家安全局采纳为一种公开通用的商用密码算法标准DES。该算法是一种分组加密算法,使用56位的加密密钥对64位的密文进行加密。由于密钥长度很短,对于DES的攻击很早就出现,并且在1999年的时候,由EFF(Electronci Frontier Foundation)领导研发的DES破解机器Deep Cracker就已经可以在一天之内(22h15min)破解DES的加密密钥。[1]
密码学是一门虽然很古老,但是随着计算机科学的发展才发展起来的学科,因此密码学家们当然清楚计算机性能的飞速发展对于破解密码的影响。像DES这样在未来会随着计算能力发展而被轻易破解的算法并不是一种好的算法。一个密码算法在设计的时候会使用一些人类难以解决的问题为基础,同时这些算法还会有一个关于问题规模的一个参数,使得问题的规模容易扩大,保证在更长的一段时间内可以使用。以下举一个例子。
通过这个例子我们可以知道,在仅仅提升计算能力,而对算法弱点的研究没有突破的情况下,我们可以通过增加算法的密钥长度使得计算的复杂度迅速提升,而远远超过现有最强的计算能力。而增加密钥的长度,对原来的算法几乎没有影响。因此,对于加密算法的破解,并不是依赖提升计算能力而进行更快的运算就可以的,对于算法本身弱点的分析从而进行破解才是能够是算法真正失效的破解途径。
因此,在对整数因子分解问题没有突破性发现的情况下,再强大的计算能力都难以撼动RSA的牢固位置,因为只需要简单地提升密钥长度就可以使得当时最强大的计算机在数万年内都无法破解。
综上所述,在未来比较长的时间范围内,大约十几二十年,在不考虑量子计算以及对密码算法破解分析没有太大突破的前提下,不大可能通过计算能力提升而使得现有的密码算法得到轻易地破解。
[2] Rivest, R.L., Shamir, A., & Adleman, L. (1978) A method for obtaining digital signatures and public-key cryptosystem. Communications of the ACM 21.2(1978): 120-126.
[3] June 2013 | TOP500 Supercomputer Sites
作者:余天升
链接:https://www.zhihu.com/question/21294543/answer/17800696
来源:知乎