密码学中的哈希函数
三个性质
1.collision resistance
个人理解为抵抗哈希碰撞的性质,即能将人为制造哈希碰撞的效率降至非常低下,或者说不可能发生有效的人为制造哈希碰撞的性质。
理解a:这个算法无法被证明。
只可以在长时间的实践中证实。因为源文件可以是真正意义上的无数种,而哈希之后得到的哈希值一定会有穷尽。所以单纯的数学方法无法证明
理解b:这个算法不一定一直有效:。
比如说以前使用的MD5就被视为有这个性质,但是通过数学方法证明了可以人为操作制造哈希碰撞,所以现在MD5被剔除了这个性质。比特币中采用的为SHA-256。
它的作用:
a.用来检测消息是否经过篡改。
如果对源文件进行改动,那么它的哈希值一定会发生不可预知的变化,只要与之前的哈希值进行对比就会发现消息是否存在异常。同时,因为哈希过程不可预知的特性,我们无法做到修改完的部分的哈希值和原来一定相同。绝大概率和以前的哈希值结果相去甚远
2.hiding
个人理解为哈希函数本身的过程不可逆
即
理解a:X本身的取值范围一定要大且平均。要不然通过简单地穷