0513.1921天:安全多方计算

2024-05-12  本文已影响0人  我的职业生涯

#每日三件事,第1921天#

安全多方计算是有中国计算机科学家、2000年图灵奖获得者姚启智教授于1982年在论文《Protocols for secure computations》中以百万富翁问题(两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方及其第三方知道自己财富的任何信息)提出,开创了密码学研究的新领域。

定义:安全多方计算,是指在一个互不信任的多用户网络中,n个参与者P1,P2,……,Pn,每个持有秘密数据x_i,希望共同计算出函数f(x_1,x_2,……,x_n)=(y_1,y_2,……,y_n)P_i仅得到结果y_i,并且不泄露x_i给其他参与者。

在很多企业,要求员工的薪水是不能告诉其他人的。如果有人想知道公司的平均薪水,就可以利用安全多方计算的方法来获得,同时还能不泄漏自己的薪水。

设公司有n个员工E_1,E_2,...,E_n,他们的薪水分别为x_1,x_2,...,x_n。对n个秘密输入x_1,x_2,...,x_n,在不泄漏各自秘密的情况下计算函数值:
f(x_1,x_2,……,x_n)=(y_1,y_2,……,y_n)
执行一下协议:

  1. A_1选择一个随机数r并加上他的薪水得到r+x_1发送给A_2
  2. A_2加上他的薪水得r+x_1+x_2发送给A_3
  3. A_3,A_4,A_5,... A_n-1继续执行统一的操作;
  4. A_n加上他的薪水得r+x_1+x_2+...+x_n 发送给A1;
    5.A1将其减去随机数r再除以总人数n就可以得到公司员工的平均薪水(x_1+x_2+...+x_n)/n;
  5. A1向A_2,A_3,...,A_n公布平均薪水的结果。

如果没有安全多方计算的思路,就很难保证每个参与者的隐私。

当然,在上面的模型中,安全多方计算的参与者都是诚实的,如果有半诚实参与者和恶意参与者,计算结果当然就会出现差错,这也是多方安全计算中必须要考虑的情况。

上一篇 下一篇

猜你喜欢

热点阅读