设为首页 - 加入收藏 ASP站长网(Aspzz.Cn)- 科技、建站、经验、云计算、5G、大数据,站长网!
热搜: 数据 手机 公司
当前位置: 首页 > 服务器 > 安全 > 正文

被“鼹鼠”支配的恐惧(2)

发布时间:2017-05-09 21:15 所属栏目:53 来源:雷锋网
导读:非对称加密算法不同于对称加密,它的密钥不是一个,而是两个(一对)。比如有两个密钥S1和S2,一段信息以S1加密后是不能通过S1来解的,只能通过S2来解密。同理,被S2加密的信息也只能通过S1来解密。S1和S2则被称为

非对称加密算法不同于对称加密,它的密钥不是一个,而是两个(一对)。比如有两个密钥S1和S2,一段信息以S1加密后是不能通过S1来解的,只能通过S2来解密。同理,被S2加密的信息也只能通过S1来解密。S1和S2则被称为“公钥”与“私钥”。

一对密钥像是难以分割的小情侣,有且仅有彼此才能实现人生大和谐。

那么RSA加密算法又是怎么工作的呢?

RSA算法基于一个十分简单的数论事实:将两个大质数相乘十分容易,但是想要对其乘积进行因式分解却极其困难,因此可以将乘积公开作为加密密钥。

而想要生成一对RSA密钥,则需要三个参数:n、d、e。(下面这一段为数学算法,不感兴趣的同学可以略过)

选择两个质数 p 和 q,它们的乘积就是 n。

假设 p = 29, q = 31, 则 n = p * q = 899。

计算 φ = ( p - 1 ) * ( q - 1 ) = 840。

再选择一个比 φ 小且与 φ 互质的数,作为 e。

选择 e = 37。

找到一个数 d,使 e * d % φ = 1。

算出来最小的 d 就是 613。

现在,得到了 n, d, e ,把 p 和 q 扔掉,(n, e)作公钥,(n, d)作私钥,就可以执行 RSA 加密运算了。

如果把(899, 37)作为公钥发出去了,看到这个公钥的人一定不能算出 d 值吗?

由上面的密钥算法可知,要算出 d,必须先知道 φ。

那么由 n 和 e 能算出 φ 来吗?e 是随便选的,只须考虑 n。

n = p * q

φ = ( p - 1 ) * ( q - 1 ) = n - p - q + 1

如果不知道 p 和 q,就不可能从 n 算出 φ。

那么将 n 分解质因数,不就能得到 p 和 q 了吗?幸好,这个运算虽然能够成立,将 899 分解为 29 * 31 也不太难,但对于一个实际使用的 1024 位或者更大的 n,计算的速度会慢到无法实现。

例如,n = 186506401784256749805468037221367015183

你能分解它吗?这个 n 还只是 128 位的。

(以上算法环节来自guideep)

而RSA-1024就是1024位的。“鼹鼠爸爸”们则是用RC4加密了文件本身及文件名,又用RSA-1024加密法加密了RC4加密法的密钥。而他们这么做的原因在于RSA加密法本身无法加密如此多的文件,而RC4可以。不得不说,这种俄罗斯套娃般的加密方式直叫人感叹人生之多艰。

被“鼹鼠”支配的恐惧

珍爱生命,远离流氓

连勒索软件的设计者都知道狡兔三窟的道理,我们作为遨游在赛博世界的一员多少还是得有点儿自保意识的。重要数据时时做好备份是必须的,真中招了我们也可以潇洒的给绑匪们发个问候家人的邮件,然后保持淡定的心态重做系统,不至于在屏幕这头跳脚骂娘。

如果想要从源头解决问题,方法也很简单

被“鼹鼠”支配的恐惧

---The End---

,。

被“鼹鼠”支配的恐惧

(编辑:ASP站长网)

网友评论
推荐文章
    热点阅读