各种方法有不同的用处,本文就是认识一些方法,比较浅显。做网络安全和数据加密算法的请移步,如果您有更加适用的方法,请在评论区留言。 目前只列出两种方法,以后会追加 写在开头:
在不公开N个人的工资的情况下,求N个人的平均工资
上述方法前提是其中一个人相邻的两个人没有串通(比如第一个人把自己传递给第二个人的数同时告诉第三个人,那么第二个人的收入就被泄露了)。 2.每个人把自己的数值分成大小不相同的N份,并把其中的N-1份分别告诉其他人,每个人计算出被告知的数+自己留的一份得出S(i),加和所有S(i)的值除以N得出平均数值。 对敏感问题(如吸毒、患病)的调查统计(随机化回答技术) 现在要调查某个地区的吸毒率 假设我们随机抽取了20000个人的样本,我们选用统计概率已知的互斥或者对立的事件来进行提问,如抛硬币事件。正面的概率P(m)为二分之一,反面的概率P(n)为二分之一。 抛到正面的人回答“是否吸毒”,抛到反面的人回答“电话号码尾数是否是偶数(也可以是其他概率可知的事件)”,回答的人不需要告诉自己抛到是正面还是反面,只需如实回答“是”或者“不是”就行。 统计数据:假设有6000个人回答“是”,有14000人回答“不是”。提问者无法通过被提问者回答的“是”或者“不是”来判断这个人是否吸毒。 在大数情况下,频率服从于概率,所以可以认为有10000个人抛到硬币正面,10000个人抛到硬币反面。对于抛到硬币反面的人,会回答“电话号码尾数是否是偶数”,这个事件回答“是”的概率P(k)为二分之一,所以会有5000人回答“是”,因为一共有6000人回答“是”,所以还有1000人通过抛到正面回答吸毒问题时回答的“是”,所以这1000个就是吸毒的人,所以吸毒率μ=1000/20000=5%,就可以去估计该地区的吸毒率。 |
|