- 11
- 0
- 约小于1千字
- 约 4页
- 2017-05-14 发布于浙江
- 举报
保密地判断两个集合中是否有成员相交
保密地判断两个集合中是否有成员相交
解决方案:
基本框图
应用
假设有2位讲授不同课程的教师,他们想知道是否有学生同时选修了他们的课程,但是都不愿意出示自己学生的花名册,如果把选课学生的花名册看作是由某个字母表上的字符串组成的集合,那么这就是2个集合是否相交的问题。
举例论证:
集合A{2,4,6},集合B{4,8}
对集合A进行元素自加再进行哈希得到新的集合Z,对集合B进行元素哈希在进行相乘得到新的集合Y。即可直接对Z,Y进行元素求交。
Z{H(2+2),H(4+4),H(6+6)}, Y{H(4)H(4),H(8)H(8)}
发现H(4+4)=H(4)H(4),即可判断集合有成员相交。不用知道元素具体值。
利用哈希函数的性质发现上述是可行的,因为:
抗原像攻击(单向性):已知h,求使得H(x)=h的x在计算上是不可行的, 这一性质称为函数的单向性,称H(x)为单向散列函数。
抗弱碰撞性:已知x,找出y(y≠x)使得H(y)=H(x)在计算上是不可行的。如 果单向散列函数满足这一性质,则称其是抗弱碰撞的。
抗强碰撞性:找出任意两个不同的输入x、y,使得H(x)=H(y)在计算上是不可行的。如果单向散列函数满足这一性质,则称其是抗强碰撞的。
原创力文档

文档评论(0)