-
-
[旧帖]
Hash函数碰撞测试方法
0.00雪花
-
发表于:
2011-5-13 12:18
7994
-
看到许多论文里面都用这个方法来对hash函数进行碰撞分析的测试,以此来判断该hash函数的抗碰撞性,可是我真的没看懂方法中的n(k)是怎么来的。
先将方法贴出来:
常见的一种测试方法是取一字节初始文本,即8bit ,其Hash 值也只取8bit ,均对应0 —255 的整数,这样初值空间与终值空间相同. 记终值空间中任一值对应初值空间中原像的个数记为k ,记终值空间中具有k 个原像的点的个数为n ( k) , n (1) 越大, n (0) 和其他各项越小,说明碰撞越少,混沌函数的散乱能力越强,用终值空间与初值空间的测度之比来定量衡量碰撞发生程度,令
P =(256-n(0))/256
P 的值越接近1 ,碰撞程度越低,等于1 时,完全没有碰撞发生.
我的问题为:(总结起来就是,我不知道n(k)值怎么算的,还有对应不同的hash函数,结果有什么不同)
1)在原像空间和像空间中都只有8bit数据吗?
2)如果是只有8bit那么不是只有一个数据吗??哪里还有什么个数呢??
3)如果不是只有8bit,那么这个方法的意思是以8bit为一个单位来进行比较吗?
4)我没懂这个方法怎么来测试不同的hash算法的
请大家帮我看看吧!最好能给我一个完整的例子,即有明文,有hash值,以及计算n(k)值的过程!
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!