首先,简要介绍一下加密技术。即将明文加密为密文,并通过通信路径发送,中途窃听者不会阅读或理解课文。在接收端接收时,密文被解密为明文。
加密算法一般可以分为两种:一种是对称加密,另一种是非对称加密。
采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。
简单的讲就是发件人和收件人必须使用相同的钥匙(秘钥),因为使用的钥匙相同,所以才叫对称加密。比如A要给B发送一个加密文件,首先A会用这个秘钥对明文信息加密,加密完成后明文就变成了密文,B收到这个密文之后,必须要用和A相同的秘钥进行解密后才能看到原先的明文信息。
常用算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK ……
缺点:
优点:
对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)
非对称加密解决了对称加密过程中秘钥容易被破解的问题。非对称加密不采用对称加密中大家都用相同秘钥的方法,而是每个人独立的生成“公钥-私钥”对,使用私钥加密的信息,只能由该私钥对应的公钥才能解密,同理,使用公钥加密的信息,只能由该公钥对应的私钥才能解密。其中公钥是可以对外公开的,而私钥只能自己知道,不对外公开。
比如:A生成了属于他自己的“A公钥-A私钥”对,B也生成了属于他自己的“B公钥-B私钥”对,当A想向B发送密文的时候:
A说:
“我想给你发信息,但是我想对信息加密变成密文发给你,你可以把你的B公钥发给我用来加密吗?”
B说:
“可以,我的公钥是:*#UYBHH767**IXA,你可以用这个公钥加密你要发的信息”
A说:
“我加密好了,这是加密后的信息:#SJ2HDSJ35KDH*##5JK5AHD1JKA,你可以用你的私钥解开得到明文”
B说:
“我用我的私钥解开了,已收到信息”
A说:
“好的”
从上面的聊天过程可以看到,B私钥始终没有暴露出去,只有B自己知道。即使发送过程中密文和B公钥被窃听了,他也解不开,因为B公钥始终在B手中。
常用算法:RSA、DSA、ECDSA ……
优点:
缺点:
上面说到非对称加密的缺点是不能确定B公钥就是B本人的,也可能是C冒充的。既然双方无法100%确认就是其本人,那么就要借助第三方,而且这个第三方还必须要是中立的,类似于公证处。
解决办法就是数字证书,数字证书从本质上来说是一种电子文档,是由电子商务认证中心(CA中心)所颁发的一种较为权威与公正的证书。
数字证书特征:
有了数字证书后,B就不会直接把B公钥给A,而是先通过CA中心颁发的电子证书认证B公钥就是B本人的公钥,即CA中心把B公钥加密到数字证书中,这时候B才会把数字证书和自己的B公钥给A,A这边看到数字证书中加密的B公钥和B自己发过来的B公钥是一样的,就可以确定这就是B本人的公钥,所以才可以放心的用这个公钥将想要发送给B的信息加密发送给B,不用担心信息发错人。
这里解释一下为什么CA中心颁发的电子证书可以认证B公钥就是B本人的公钥。其实CA中心也有自己的“公钥-私钥”对,当B把公钥和个人信息给CA中心后,CA中心会用自己的私钥把这些信息加密到数字证书,只有CA中心自己的公钥才可以解开。其中CA中心自己的公钥也叫做“根证书”。“根证书”黑客是无法篡改的,比如浏览器的根证书是浏览器厂商发布的时候预制上的,黑客如果想更换根证书,除非自己开发个浏览器,然后让用户用,不然的话篡改不了。
A就是通过CA中心的公钥解开证书中的信息后得到B的公钥,然后把里面证书里面的B公钥和B自己传过来的B公钥对比,如果一样,就可以确认B传过来的公钥确实是B本人的公钥。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有