框架如下:
对称加密过的明文+公钥打包加密密钥+数字签名(防止伪造)
散列函数的简单解释:
如果给你一个数483820,除4,得到120955,但是我把120955给你,让你猜原来的数是多少,你是很难猜到的.如果你改动了483820这个数字的任何一部分,都会使120955发生改变.
其中,483820表示的是原来的明文.120955是这个明文的哈希值或者称为指纹或者摘要.
所以,你既不能通过指纹推出原文,也不能修改原文而得到相同的指纹.
CRC(Cyclic Redundancy Check)是散列的一种算法,可以用在网络通信报文传输的校验,附加在报文的末尾,以便确定报文是否被修改过或者传输中产生的误差.(那有没有可能在传输的过程中CRC就已经改变了).这样的话报文有误 就没有意义了,需要重新传输.
如果我伪造别人的地址,致使接收者无法收到报文而使发送方重新发送报文或者发送者一直都在向伪造者发送报文,接收者收到的只不过是伪造出的报文.
这里面就涉及到这个数据包的校验了,也就是说如果伪造者没有接收到整个过程传递的所有报文,他就没有办法伪造该文件的散列值.(但如果他恰好一字不落的接收到所有的报文呢?第一个报文是很重要的,如何得知他接收到的是第一个报文呢?他们需要建立一个连接,三次握手,然后传输数据.伪造者此时介入的话应该是可以得到报文的,而且是所有的,所以有这样的可能,暂且是这样)
75418679b4eda4a9a1defc8e194c7fdb9f6fcc3c
没有评论:
发表评论