密码学
1.对称加密
简单的说,A想要传输一段隐私或机密内容"abc"给B,为了保证这段内容的机密性,就需要对该内容进行加密.那么对称加密简单的说就是A经过一套算法(比如+10086)后获得了"d@l%",B在拿到"d@l%"后,再使用同样的算法(比如-10086)对C进行解密便可以得到"abc"了;
对称加密.PNG2.非对称加密
非对称加密,就是B有一组公钥和私钥,公钥是公开的,私密事私有的(不能公开),同样的,A如果想要给B发送一段内容"abc",那么A需要使用B的公钥对该段内容进行一定运算加密,假如得到"d@l%".然后,B拿到A加密后的内容"d@l%"后,使用私钥对该段内容进行解密,便可得出A传递的内容"abc";
从上面描述,可以猜出,公钥与秘钥之间必然需要存在某种关系,才可以使用公钥加密,秘钥解密!
非对称加密.PNG3.RSA加密原理
RSA加密底层其实就是运用了非对称加密的原理,那么它具体实怎么实现的呢?
这里假如A想要传输内容m给B为例说明:
1.找出一对质数p,q;
2.求和获得n=p*q;
3.n1 = (p-1)*(q-1) 欧拉函数;
4.公钥pub_e:需要在 1 < pub_e < n之间的一个数,并且pub_e 和 n1 互质(也就是没有共同的因数);
5.私钥pirvate_d: 通过算法pirvate_d*pub_e/n1的余数为1,获得私钥pirvate_d;
6.加密的过程:m的pub_e次幂除以n求余数C;
7.解密的过程:上面所求的余数C的pirvate_d次幂所得的余数m,就是A要传输的内容了;
安全性:
由上面描述可以知道,如果想要解密,必须要获得私钥pirvate_d;而获得私钥,必须要知道p与q的值.而n=p*q,需要对n进行质因数分解.
要知道,质数的分布规律至今仍没有完全的研究明白(欧拉定理也只是接近的分布规律),而RSA常用的1024位的2进制表示n(大数的质因数分解)存在极大的困难;
破解方式:
那么有没有什么方法可以进行破解呢?
1.彻底的研究清楚质数的分布规律及相关规律,可提高质因数分解的效率,有可能会对RSA加密进行较快的解密(可能性极小);
2.通过量子计算机进行解密,量子计算机的解密原理是什么呢?(量子计算机的比特纠缠叠加),也就是质数之间相互纠缠态和叠加态,那么量子计算机考研一次进行多个数计算(传统计算机只能一个一个数字的计算);
网友评论