对称非对称加密数字签名数字证书的学习
Posted 菜鸟学习之家
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对称非对称加密数字签名数字证书的学习相关的知识,希望对你有一定的参考价值。
对称、非对称加密、数字签名、数字证书的学习
假设A与B需要进行通信,在网络中直接以明文方式进行数据的传输是极不安全的,因此需要对数据进行加密。
一、对称加密
对称加密,即通信双方A和B使用相同的密钥对明文数据进行加密和解密。特点是加密、解密的速度快。
A在向B发送数据之前,首先将其密钥发送给接收方B,然后使用密钥对明文进行加密,再进行传输。接收方B收到密文后,再使用A发送给它的密钥进行解密,得到明文。
对称加密由于通信双方使用相同的密钥,因此安全性得不到保证。如果在传输过程中,密钥泄露,就不存在保密性了。
常见的加密算法有DES(Data Encryption Standard)、3DES、AES三种
二、非对称加密
非对称加密:对明文进行加密和解密使用的密钥是不同的,称为公钥和私钥,它们是一对互为加解密的密钥。如果用公开密钥对明文进行加密,只有用对应的私钥才能解密。如果用私钥对明文进行加密,只有用对应的公钥才能解密。
A在向B发送数据之前,先取得B的公钥,然后使用B的公钥对明文数据进行加密,然后发送给B。B在收到A发送过来的密文后,使用其私钥对密文进行解密得到明文。同理,B向A发送数据时,也需要得到A的公钥,用A的公钥对明文加密后传输,A使用密钥解密。
非对称加密,由于在网络上只传输公钥,因此,就算公钥被截获,也无法破解。假如,A使用的B的公钥对明文进行加密后,被C截获了,C拥有B的公钥,便是对密文进行解密,必须使用B的密钥,但B的密钥只在B的手中,C没有,因此,就算C截获了也无法进行解密。
非对称加密相比较对称加密,由于私钥不在网络中进行传输,因此安全性更好。但是其加密、解密花费时间过长、速度慢,通常只适合对少量的数据进行加密。例如,在传输对称加密的密钥时,使用非对称加密,后面的通信则采用对称加密。
三、数字签名
在非对称加密中,A在向B发送数据时,要使用B的公钥对明文进行加密后再传输,B使用私钥解密,确实可以保证数据的传输安全。但是其公钥是在网络上公开的,也就是说C也能得到B的公钥。假如C冒充A向B发送数据,使用B的公钥对明文进行加密、传输,此时B收到密文时,使用私钥对密文进行解密,它并不知道这数据究竟是A发的还是C发的,那如何解决这个问题呢?此时就用到了数字签名。
此时,A发送数据时,使用自己的私钥对明文进行加密,B在收到密文后,如果使用A的公钥能够对密文进行解密,则证明数据是来自于A的。
公钥是用于对内容进行加密,保证不被第三方看到。而私钥则可以证明数据的来源。
四、数字证书
在数字签名的通信过程中,假设C使用自己的公钥偷偷替换掉了A电脑中的公钥,此时它就可以冒充A向B发送数据了,而B则无法确定数据是A还是C发送的。此时就用到了数字证书。
A在向B发送数据时,需要先去“证书中心”(简称CA),为公钥进行认证,证书中心用自己的私钥,对A的公钥和一些相关信息一起加密,生成“数字证书”(Digital Certificate)。A在后面给B发送数据时,在对数据进行数字签名的同时,附加上“数字证书”再进行发送。B收到后,使用CA的公钥解开数字证书,拿到A的公钥,然后先对“数字证书”进行可靠性验证,就可以知道是不是A发的数据了。
五、HTTPS对网页加密
首先,客户端向服务器发出加密请求。
16.
服务器用自己的私钥加密网页以后,连同本身的数字证书,一起发送给客户端。
17.
客户端(浏览器)的"证书管理器",有"受信任的根证书颁发机构"列表。客户端会根据这张列表,查看解开数字证书的公钥是否在列表之内。
18.
如果数字证书记载的网址,与你正在浏览的网址不一致,就说明这张证书可能被冒用,浏览器会发出警告。
19.
如果这张数字证书不是由受信任的机构颁发的,浏览器会发出另一种警告。
20.
如果数字证书是可靠的,客户端就可以使用证书中的服务器公钥,对信息进行加密,然后与服务器交换加密信息。
以上是关于对称非对称加密数字签名数字证书的学习的主要内容,如果未能解决你的问题,请参考以下文章
数字签名数字证书对称加密算法非对称加密算法单向加密(散列算法)