- 主题:一个面试题
a把0-9的数字随机分成两组,把不包含自己数字的一组发过去,问对方是否在这里面
如果在这里面,就说明不相等
如果不在里面,就在剩下的数里面继续二分
用这种方法仍然有可能泄露真实数字(假如试到最后才试出来)
但也有可能不泄漏
毕竟如果双方的数字确实一样,那么无论如何都会泄露
【 在 iwannabe (I wanna be) 的大作中提到: 】
: alice/bob 各有一个0-9的数字,他们能互相传递消息,问如何让对方在不知道自己数字
: 的情况下判断两人持有的数字是否相等。
: 没有第三方参与
: ...................
--
FROM 43.243.12.*
MD5跟10-x有啥区别?
【 在 BirdFans (魔力鸟) 的大作中提到: 】
: 他的意思应该是,在对方数字跟你的数字不相等的情况下,你不知道他是什么数字,相等的时候肯定是知道的
: 所以我说用MD5码可以实现,10-x这种方式我前面也说了,感觉不行
--
FROM 103.107.216.236
密钥不公开即可。给双方各一个加密器,只允许对自己的数字加密。
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 这个显然不行
: 因为已经知道你的数字只能为0-9,直接把所有的MD5算出来比较即可
--
FROM 180.109.17.*
这个题目区别不大,因为样本太小了,可以暴力遍历。样本如果很大,就有本质区别了
【 在 PaoloMaldini 的大作中提到: 】
: MD5跟10-x有啥区别?
:
--
FROM 183.8.3.*
那我发对方一个exe和我的计算结果 (exe的计算逻辑可能就是两次md5,但对方不知道)
对方用exe算一下自己的结果?
我感觉已经get不到lz的点了
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 这个显然不行
: 因为已经知道你的数字只能为0-9,直接把所有的MD5算出来比较即可
--
FROM 36.112.6.*
这种是可交互的零知识证明。可以用离散对数难题来搞。
https://zhuanlan.zhihu.com/p/144847471
--
FROM 221.220.170.*
这是考 zero-knowledge proof 的概念?
alice 生成 random string s
和手上的数字n拼接
做 MD5(s+n)
把s发给 bob,要求bob也做 MD5(s+n),然后把最后一bit发给 alice
alice 和自己手上的结果比较
以上动作重复N次
如果有至少一次回答错误则肯定不相等
如果全对那么bob手上的数字以几率 1-2^N 和 alice 手上的数字相等
【 在 iwannabe (I wanna be) 的大作中提到: 】
: alice/bob 各有一个0-9的数字,他们能互相传递消息,问如何让对方在不知道自己数字
: 的情况下判断两人持有的数字是否相等。
: 没有第三方参与
: ...................
--
FROM 121.207.203.*
仅仅就这个题目而言,和之前说的10-x有啥区别?
【 在 cybereagle 的大作中提到: 】
: 这是考 zero-knowledge proof 的概念?
:
: alice 生成 random string s
: ...................
--来自微水木3.5.11
--
FROM 39.144.39.*
10-x跟直接给x有啥区别?
【 在 foliver (Oliver) 的大作中提到: 】
: 仅仅就这个题目而言,和之前说的10-x有啥区别?
: --来自微水木3.5.11
--
FROM 121.207.203.*
想法不错
【 在 cybereagle 的大作中提到: 】
: 这是考 zero-knowledge proof 的概念?
: alice 生成 random string s
: 和手上的数字n拼接
: ...................
--
FROM 106.120.223.*