1、什么是加密
什么是加密呢?在各种影视作品中,我们应该都或多或少的接触过一些“加密”的概念。比如本来一段文字,变成一段乱码。本来的图片,变成杂乱无章的图案。通过这种对原本的文件进行处理,使其不可读的方法就叫做“加密”。通过加密来保护数据在通讯过程中不被别人窃取、阅读,只能在得到相应的加密算法和密钥后才能显示出本来内容。
最早的加密可能只能用纸和笔来实现
Scytale密码
随后慢慢发展到机械加密
恩尼格玛密码机
而随着计算机的发展,运算能力的增强,于是人们又研究出通过计算机实现的加密方式。
加密算法在现在这个信息化、数字化的时代非常重要。人们生活中处处都会用到加密算法。例如访问https网站、网络购物、使用手机进行线上线下交易等等。可以说,如果现在信息安全是数字时代的核心,那么这些加密算法就是信息安全的核心。
2、什么是密钥
在密码学中,密钥是指某个用来完成加密、解密、完整性验证等密码学应用的秘密信息。
3、什么是对称/非对称加密算法?
想要了解非对称加密,就要先搞懂对称加密。
对称加密算法。加密和解密都使用的同一个密钥。
举个简单的例子,我有一个信息x要告诉于老师,不希望别人知道。这时我用算法把这个x加密,然后传送给于老师。于老师想要读这个下x,就需要用到我的密钥,所以我需要同时将钥匙传递给于老师。
但是密钥在传递的过程中很容易被人窃听,或者劫走。如何保存和传递密钥,就成了一个大问题。
1976年,两位密码学家Whitfield Diffie 和 Martin Hellman,就想了个办法,可以不传递密钥就完成解密。他们使用的是两个对应的密钥——公开密钥和私人密钥。简称为公钥和私钥。公钥用来加密,私钥用来解密。这就是非对称加密算法。
还是以我给于老师传X为例子。这回,于老师把他的公钥给我用来加密。我加密后传给于老师,于老师再用自己手中的私钥来解密。因为公钥无法解密,同时私钥又只有于老师一个人有,那么只要私钥不泄漏,信息X就是安全的。正因为如此,公钥就可以公开,所以叫公开密钥。
4、病毒作者是如何加密文件的?
刚才说到的两位密码学家提出的只是概念。后来又有三位科学家根据这个概念发明了目前最为流行的非对称加密算法——RSA算法。这种算法非常可靠,密钥越长,它就越难破解。正因如此,黑客为了保证加密后的文件只有自己能解密,通常都会选择RSA算法。市面上常见的勒索病毒,例如党妹遇到的Buran勒索病毒,就是使用的RSA算法。
黑客把公钥放在勒索病毒中。病毒入侵用户电脑后,用公钥对用户文件进行加密。由于私钥只有病毒作者有,所以其他人无法解密。
非对称加密算法的加密和解密时间都较长,在实际情况中,病毒作者还会将非对称加密和对称加密算法结合起来使用。
5、为什么RSA算法很难解密?
刚才我们提到,RSA算法是目前普遍认为安全的非对称加密算法,那他的安全性体现在哪里呢?首先我们知道加密算法都是基于数学理论的,RSA算法其安全性依赖于大数分解的难度,分解较小的数很简单,但是当这个数特别大的时候,对其分解就变得尤其困难。
有多困难呢?举个可能不太恰当的例子。相当于把两粒沙子扔到沙滩上,让你找到它们。如果想找到这两粒沙子,只有两种方法:1、不惜成本和代价,通过高科技的方式找出;2、排除时间因素,一粒一粒的找。
但在现实世界中,时间和成本,就是导致其难解的最根本原因。
1991年RSA实验室提出了一个RSA数分解挑战。该挑战包含从330bit到2048bit的难分解的数,每个数是由两个长度大概相等的质数相乘得到的。如果有人分解成功,就可以获得相应的奖金。
从1991年到2020年为止,人类分解的最高级记录是829bit。这个数长这个样子
RSA-250 =2140324650240744961264423072839333563008614715144755017797754920881418023447140136643345519095804679610992851872470914587687396261921557363047454770520805119056493106687691590019759405693457452230589325976697471681738069364894699871578494975937497937
根据破纪录者的估算,用现在的英特尔Xeon Gold系列处理器来计算,需要计算2700年。
而现在勒索病毒密钥普遍是2048bit,相当于600多位的十进制数,是上面那个数的两倍多。目前为止,想要对这么大的数进行分解,用超级计算机或者是比超级计算机能力还要强的量子计算机,也不能做到。
在2019年有科学家研究表示,如果使用一台2000万量子位的量子计算机,就可以破解2048bit的RSA密码,并且只需花费八个小时。听起来很厉害是不是~
但问题是,具备这样条件的量子计算机还没有出现……谷歌、IBM等科技巨头制造的量子计算机,也只有50多个量子。考虑到高昂的造价、苛刻的运行条件以及目前有限的量子算法……2000万量子的量子计算机只能说还是一个遥不可及的梦想。
所以,RSA的安全性归根结底是因为,破译需要的时间太过漫长,而使用量子计算机等高科技手段的代价又远远超出加密数据的价值。
6、解密公司是怎么解密的?
明白了非对称加密算法有多难解密。大家估计又有一个疑问。既然这么难,甚至相当于无法解密。为什么还有那么多解密公司呢?他们为什么宣称能解密?
这个问题分几种情况。一种是私钥已经公开的勒索病毒。我们已经知道,私钥是非对称加密算法用来解密的钥匙,掌握了私钥,就可以解密。对于这类勒索病毒,大部分安全厂商都可以解密,实在没必要花钱去找解密公司。
第二种就是纯粹的诈骗,拿钱跑路。
最后一种,也是最细思极恐的一种。就是解密公司去跟黑客买“私钥”,解密后再让顾客掏钱“赚差价”。
好了,讲了这么多。你应该明白勒索病毒为什么难解密了吧。所以,加强日常的安全意识,做好防范措施,提前防御勒索病毒才是正解。
参考资料:
1、密码趣谈1https://www.cacrnet.org.cn/site/content/824.html
2、https://baike.baidu.com/item/%E7%A7%98%E9%92%A5/9200183
3、《应用密码学》
4、RSA Factoring Challenge
https://en.wikipedia.org/wiki/RSA_Factoring_Challenge
5、RSA-250的分解
https://lists.gforge.inria.fr/pipermail/cado-nfs-discuss/2020-February/001166.html
6、如何使用2000万个嘈杂的量子位在8小时内分解2048位RSA整数
https://arxiv.org/abs/1905.09749
7、【活久见】牛牪犇的量子计算机究竟是啥?终于明白了!
https://www.sohu.com/a/212112027_100090937
8、最强量子计算机争霸:谷歌和IBM,谁是真正赢家?
https://new.qq.com/omn/20200421/20200421A09OJN00.html