对加密解密及数字签名的理解

来源:互联网 发布:windows系统升级 编辑:程序博客网 时间:2024/05/17 01:45

对加密解密及数字签名的理解

数据加密有两种类型,一种是对称加密,另一种是不对称加密;

对称加密的发送方和接受方都使用同一个密钥对数据进行加密解密,因此,在发送加密数据的时候同时也要发送密钥,接收方接到密钥后才能对数据进行解密,这就有一个问题,那就是,如果别人拦截到了密钥,相当于钥匙被别人偷走了,那这个加了密的数据马上可以被破解,这就等于没有加密,所以在网络传输中不安全。

非对称加密使用的是公钥/密钥来进行加密解密,如果用公钥进行加密的数据,那就只能用对应的私钥才能够解开(用公钥本身不能解开),如果用私钥对数据进行加密,那么只能用对应的公钥才能解开。

在网络传输数据时,往往采用两种加密方法结合起来使用,其基本思想是:用不对称加密算法加密对称加密算法的密钥,用对称加密算法的密钥加密实际数据。其实现方案如下:

 

1.首先,传输双方均各自生成一个公钥/私钥对----相当于各自有一把锁和锁的钥匙

2.通过TCP交换公钥----相当于把自己的锁交给对方

3.双方各自生成一个对称加密用的密钥并使用对方的公钥加密新创建的密钥。---相当于用对方给的锁进行加密

4.双方将加密后的对称加密用的密钥发送给对方,以便对方利用此密钥解密。---使用自己留着的钥匙解开数据获取对称加密的密钥

5.双方使用对称加密进行会话----因为上一步已经获取了对方加密实际数据使用的对称加密所用的密钥,因此,会话的时候只需要使用对称加密来进行加密解密

总结:网络传输数据时用非对称加密方法仅仅用来确保后面我们使用对称加密的密钥不会被盗,相当于只是将钥匙安全送达对方手里,这样的话,我们之后用对称加密加密的实际数据就不会被别人偷看了,因为只有自己和对方才有钥匙,别人没有!

数据签名

数据签名是利用私钥加密必须用公钥解密的原理来实现的,它的功能是用于接收方验证所接收的数据到底是不是我们认为的那个发送者发送的,判断传输过程中数据有没有被更改!

具体流程:

 

 

 

原创粉丝点击