内容简介:#简介对称加密的问题在于密钥配送问题,因为对称加密和解密使用的是同一个密钥,因此在发送密文的同时也要发送密钥,但是其中又存在矛盾,如果能安全的发送密钥,可以使用同样的方式发送明文,这样对称加密就没有存在的必要了,此时非对称加密就应运而生。非对称加密也叫做公钥密码,使用公钥密码可以很好的解决密钥配送的问题。公钥密码中,密钥分为加密密钥和解密密钥两种,发送者用加密密钥对消息进行加密,接收者用解密密钥进行解密。解密密钥从一开始就由接收者自己保管,因此只要将加密密钥发送给发送者就可以解决密钥配送问题,而根本不需要
#简介
对称加密的问题在于密钥配送问题,因为对称加密和解密使用的是同一个密钥,因此在发送密文的同时也要发送密钥,但是其中又存在矛盾,如果能安全的发送密钥,可以使用同样的方式发送明文,这样对称加密就没有存在的必要了,此时非对称加密就应运而生。非对称加密也叫做公钥密码,使用公钥密码可以很好的解决密钥配送的问题。
公钥密码中,密钥分为加密密钥和解密密钥两种,发送者用加密密钥对消息进行加密,接收者用解密密钥进行解密。解密密钥从一开始就由接收者自己保管,因此只要将加密密钥发送给发送者就可以解决密钥配送问题,而根本不需要配送解密密钥。
由于加密密钥可以任意公开,因此该密钥被称为公钥,公钥可以通过邮件直接发送给接收者,也可以刊登在报纸的广告栏上,而不用担心被别人窃取。相对的,解密密钥是绝对不能公开的,这个密钥只能由你自己来使用,因此称为私有密钥。公钥和私钥是一一对应的,一对公钥和私钥统称为密钥对。由公钥进行加密的密文,必须使用该公钥配对的私钥才能够解密,因此公钥和私钥不能分别单独生成。
总结:
- 发送者只需要加密密钥
- 接收者只需要解密密钥
- 解密密钥不可以被窃听者获取
- 加密密钥被窃听者获取也没问题
#公钥通信的流程
#非对称加密实例
##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以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Python
Mark Lutz / O'Reilly Media / 2006-8-30 / USD 59.99
Already the industry standard for Python users, "Programming Python" from O'Reilly just got even better. This third edition has been updated to reflect current best practices and the abundance of chan......一起来看看 《Programming Python》 这本书的介绍吧!