我一直很难想出一个随机数生成器,在双方之间产生一个随机数。我现时的计划是:
用户1给用户2他们随机生成的种子的哈希,用户2用他们未散列的种子进行响应。用户1通过将自己的未散列种子和用户2's种子添加到种子RNG中生成随机数。用户1公开产生的随机数并公开自己的种子。如果种子匹配哈希,并且种子RNG产生相同的结果,用户2将接受结果。
我对这背后的密码学不太在行,但这安全吗?只要把一颗种子加到另一颗种子上,就可以做RNG种子了吗?我应该使用什么特定的RNG吗?
发布于 2014-01-08 07:11:27
为什么用户1除了公开自己的种子外,还要披露由此产生的随机数,
什么时候用户2可以计算出两个种子的随机数?
这可能够安全了,但还远没有安全。
首先,每个用户都获得“随机数”只是伪随机的证明。
另一方面,人们需要希望RNG在其一半的时间内仍能正常工作。
种子的选择方式取决于种子的另一半的散列。
以下是一种简单、有点好的方法:
用户1给用户2一个随机字符串的承诺,该字符串的长度等于RNG的种子长度。
用户2给用户1一个随机字符串,其长度等于RNG的种子长度。
用户1向用户2发送承诺的开始,两个用户
将两个据称随机字符串的xor输入RNG。
一种安全的方法是:
用户1给用户2一个随机字符串的承诺,其长度等于输出长度,
以及如何打开承诺的零知识论证t 知识。
用户2给用户1一个随机字符串,其长度等于输出长度。
用户1给用户2提交的值(但不是打开的信息!),
和一个零知识的论点,知识如何打开对这个价值的承诺。
两个用户都输出两个据称随机字符串的xor。
https://crypto.stackexchange.com/questions/12775
复制相似问题