上一节我们讲到对称加密能解决通讯机密性的问题,可是无法保证信息的完整性。
那我们引入一种算法--单向加密。单向加密就如人的指纹,会独一无二。
A向B传递信息的时候会在末尾附加这个信息的单向加密结果,B接收到以后用同样的单向加密算法,计算加密的结果与传递过来的密码对比。如果一致,证明信息是完整的。
那么单向加密需要有什么特性呢?
1、输入的一样,计算结果必定是一样
2、雪崩效应,一点点的不同,就会导致计算结果完全不同
3、定长输出,无论原信息的大小,输出的结果长度必定一致
4、不可逆,不可以通过结果计算出原信息(其实定长输出已经是可以知道“不可逆”)
例如:
看似解决了信息的完整性。可是问题又来了,E这个第三者截取了A发送给B的信息,将里面的信息修改了并且用单向加密重新计算信息,将信息发送给B,B将得到的信息用单向加密算法计算的结果与传递过来的结果一致,B认为信息的是完整。
这就还是没达到信息的安全,接下来怎么办呢?
有人就会说,A与B协商一个密码嘛。那密码是不是在网络上传输呢?是不是会被监听到呢?
欲知如何解决,又请给位请听下回分解。^_^
原文地址:http://blog.51cto.com/lythjq/2087512
时间: 2024-10-11 04:38:16