非对称加密体系
#简介
对称加密的问题在于**配送问题,因为对称加密和解密使用的是同一个**,因此在发送密文的同时也要发送**,但是其中又存在矛盾,如果能安全的发送**,可以使用同样的方式发送明文,这样对称加密就没有存在的必要了,此时非对称加密就应运而生。非对称加密也叫做公钥密码,使用公钥密码可以很好的解决**配送的问题。
公钥密码中,**分为加***和解***两种,发送者用加***对消息进行加密,接收者用解***进行解密。解***从一开始就由接收者自己保管,因此只要将加***发送给发送者就可以解决**配送问题,而根本不需要配送解***。
由于加***可以任意公开,因此该**被称为公钥,公钥可以通过邮件直接发送给接收者,也可以刊登在报纸的广告栏上,而不用担心被别人窃取。相对的,解***是绝对不能公开的,这个**只能由你自己来使用,因此称为私有**。公钥和私钥是一一对应的,一对公钥和私钥统称为**对。由公钥进行加密的密文,必须使用该公钥配对的私钥才能够解密,因此公钥和私钥不能分别单独生成。
总结:
- 发送者只需要加***
- 接收者只需要解***
- 解***不可以被窃听者获取
- 加***被窃听者获取也没问题
#公钥通信的流程
#非对称加密实例
##RSA
###加密
RSA是一种公钥密码算法,其加密可以用公式来表示:
RSA的加密是求明文的E次方mod N,因此只需要知道E和N这两个数,任何人都可以完成加密运算,所以说,E和N是RSA加密的**,这里大家需要注意,E和N并不是**对,E和N两个数才组成公钥。
###解密
同样解密也可以用公钥表示:
这里所使用的数字N和加密时使用的数字N时相同,数字D和数字N组合起来就是RSA的解***,因此D和N的组合就是私钥
实例:
##公钥存在的问题
- 公钥虽然解决了**配送问题,但是我们还要判断所得到的公钥是否正确,这个问题被称之为公钥认证问题
- 公钥密码的处理速度慢,只有对称密码的几百分之一。
学院Go语言视频主页
https://edu.csdn.net/lecturer/1928
清华团队带你实战区块链开发
扫码获取海量视频及源码 QQ群:721929980