主页 > 创新识别 > RSA 加密算法 : 理论上破解不能的非对称加密法 >

RSA 加密算法 : 理论上破解不能的非对称加密法

时间:2020-05-22 编辑:

开放网络中数据传输的安全性一直是一个热门的话题,无论是在网路上传送重要文件,还是商业交易,加密都是保障资料安全及用户私隐的必要手段,加密通讯在未来的重要性只会有增无减。其中一个最常用的加密方法就是RSA,在 1977 年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的, RSA 加密算法 ,并以它的三个发明者的名字首字母命名。



对称加密:一条钥匙来加密信息

假如你想传讯息给别人,又不能确保在传送的过程中不会被人截取,那加密手段是不可缺少。简单来说,就是找方法将讯息中的内容打乱,让第三者即使看到讯息也无法了解内容。

问题来了,要怎样把讯息打乱,才不能够被第三方破解呢?

比较常用的加密算法包括对称加密( symmetric-key encryption), 如AES、DES、3DES 等。对称加密的原理,就是你把你的文件用钥匙锁上,你和收件人分别拥有同一条钥匙来解开文件。这个的缺点就是如果一方的钥匙被发现,那加密信息就可以被解开。

RSA 加密:以极大整数做因数分解

RSA 加密演算法是最常用的非对称加密算法,亦是一种非对称加密演算法。

在 1977,三位美国麻省理工学院学者 Ron Rivest、Adi Shamir 以及 伦纳德·阿德曼 Leonard Adleman 率先公开 RSA 加密演算法,并取得专利权,目前有很多的数位消费性产品,例如视讯转换器与智慧卡,都是利用了RSA加密来传递讯息。

要了解为什幺 RSA 加密比其它算法安全,首先要了解什幺是非对称加密算法。

非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey),私有密钥是要妥善且由自己秘密保管的,而 公开密钥则是可以公开的。如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密。

换句话来说,你有一个保险箱,箱上有两个完全不同的钥匙孔。如果你把文件放在保险箱中,并用你的钥匙锁上。这时候,即使你再用你的钥匙想打开保险箱,或者你的钥匙被人複制,但箱已经被锁住不能再被打开。只有收件人用自己的钥匙才能够打开保险箱来取得文件。虽然讯息是由 public key 所加密的,但是却无法利用 public key 将原本的讯息还原回来。

RSA 演算法要如何确保不容易被破解呢?RSA 的运作方式,都是以两个很大的质数为基础来进行的。

维基上给出的例子是这样的:

极大整数做因数分解的难度决定了 RSA 演算法的可靠性。换言之,对一极大整数做因数分解愈困难,RSA 演算法愈可靠。假如有人找到一种快速因数分解的演算法的话,那幺用RSA加密的讯息的可靠性就肯定会极度下降。但找到这样的演算法的可能性是非常小的。

但随着科技发展及电脑的升级,目前已经被证明长度 1024 bits 不够安全,建议使用 2048 bits 的 RSA 加密。

如果要破解一组 2048 位元的 RSA 加密,理论上大约需要 4000 个量子位元(qubit)。目前 Google 和 IBM 的量子电脑约有 20 个量子位元。就算用目前世界上最强的超级电脑(太湖之光,中国製),花费 46 亿年都无法破解。

2002 的图灵奖颁给了RSA加密演算法的三个发明人,以表扬他们的杰出贡献。

  猜您喜欢的文章