美文网首页
加密算法:RSA

加密算法:RSA

作者: 蓝Renly | 来源:发表于2018-09-29 19:50 被阅读0次

    密码学

    1.对称加密

    简单的说,A想要传输一段隐私或机密内容"abc"给B,为了保证这段内容的机密性,就需要对该内容进行加密.那么对称加密简单的说就是A经过一套算法(比如+10086)后获得了"d@l%",B在拿到"d@l%"后,再使用同样的算法(比如-10086)对C进行解密便可以得到"abc"了;

    对称加密.PNG

    2.非对称加密

    非对称加密,就是B有一组公钥和私钥,公钥是公开的,私密事私有的(不能公开),同样的,A如果想要给B发送一段内容"abc",那么A需要使用B的公钥对该段内容进行一定运算加密,假如得到"d@l%".然后,B拿到A加密后的内容"d@l%"后,使用私钥对该段内容进行解密,便可得出A传递的内容"abc";

    从上面描述,可以猜出,公钥与秘钥之间必然需要存在某种关系,才可以使用公钥加密,秘钥解密!

    非对称加密.PNG

    3.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.通过量子计算机进行解密,量子计算机的解密原理是什么呢?(量子计算机的比特纠缠叠加),也就是质数之间相互纠缠态和叠加态,那么量子计算机考研一次进行多个数计算(传统计算机只能一个一个数字的计算);
    

    相关文章

      网友评论

          本文标题:加密算法:RSA

          本文链接:https://www.haomeiwen.com/subject/zhiboftx.html