上篇咱们讲到“非对称加密”弥补了“对称加密”密钥传送问题的麻烦!
那下面我就具体的讲一下“非对称加密”的加密原理。
“非对称加密”是在“对称加密”以后出现的,在“非对称加密”中融入了 大量的数学运算,“私钥”和“公钥”是两个很是的素数,凭如今计算机的运算速度就是通常的密码,也须要很长的时间来运算,解密没有什么技巧,就是穷举法,因此说密码对如今的计算机技术来讲是固若金汤的。
“非对称加密”一共有两把密钥,一把是只有本身知道的“私钥”一把就是公开的“公钥”。这就是和“对称加密”的最大的不一样之处……
上篇咱们说“对称密钥”是用一把“密钥”来给文件“加密解密”的,“非对称加密”是用一把密钥加密,而后用另外一把密钥解密的。“私钥”加密的文件“公钥”能够解密,相反“公钥”加密的文件“私钥”同样能够解密。
假设a主机向b主机发送邮件,那么在发送以前b主机会先把本身的“公钥”发送给a主机,而后a主机用b主机的“公钥”把要发送的邮件加密,发送给b主机,当b主机收到邮件之后b主机就用本身的“私钥”来解密。
如图:
可是“非对称加密”有一个致命的弱点,那就是它的传送速度,很是的慢,是“对称加密”的上千倍,因此通常再生产中不多单用这种方法,咱们通常是把“对称加密”和“非对称加密”一块儿用,这样就很好的保证了速度,也很好的证了安全。那它们在一块儿怎么用呢?很简单,咱们第一步就是用“对称加密”的密钥,把要传送的文件加密,这样文件就能够直接的传过去,就算在中间有人夺取了,他也是打不开的,由于他没有“密钥”啊,下一步就是咱们怎么把“对称加密”的密钥,传送给对方了,咱们用“非对称加密”来解决这个问题,仍是如上图吧,a主机怎么把密钥给b主机呢?咱们能够用b主机的“公钥”来给a主机的“密钥”加密,而后传给b主机,b主机再用本身的“私钥”把a主机的“密钥”解密出来,再用a主机的“密钥”来解密文件, 到这里,OK 了。
其实加密技术是博大精深的,上面的一些只是根据我本身理解写的,但愿能给初学网络技术的朋友有帮助。