百万富翁问题—安全多方计算
是由图灵奖获得者姚期智提出的。

有A、B两个富翁,A资产i亿元,B资产j亿元,i、j均在0-10范围内,在互不让对方知道自己资产的情况下,比较A和B的资产谁多谁少。
那么如何去比较呢?
这里放十个箱子:

如果A有i亿元,那么A将第i个箱子之前的所有箱子里都放个纸条,写着0;从第i个箱子开始,写1,一直写到最后一个箱子。写完后将十个箱子全部锁上。由于B没有钥匙,所以打不开箱子,因此看不到纸条,不知道A的资产。

于是B将自己资产对应的那个箱子拿出来给A,然后B将剩下的箱子全部销毁,于是A也不知道B给他的是第几个箱子,但是能打开这个箱子。
如果箱子里纸条是0,则A的资产>B的资产;
如果箱子里纸条是1,则A的资产<=B的资产。

以上就是百万富翁问题,那么如何用密码学来解决这个问题呢?

上述问题中的锁代表公钥,钥匙代表私钥。

具体方案:
1、B无私钥,只有公钥。
1-B先选一个大数X,然后用公钥对X加密-> E(X)=k;

2-B计算k-j+1=m,然后B将m发送给A,虽然在m中包含了B的资产j,但是A不知道k,所以无法获取具体值。

2、A有公私钥。
1-计算k-j+1, k-j+2, k-j+3……k-j+10。在这之中,必有一个数据是k-j+j,即k。

2-解密这十个值,得出解密结果:Yu=D(k-j+u) —y1,y2,y3……yj……y10
这个yj即D(k),即B选择的大数X。但是A不知道哪个是j,所以还是无法知晓B的资产。

3-求模
Zu=Yu mod p, p为质数
得出z1…zj…z10

4-A要将自己的资产i融入zu数列
那么如何融入?:
保持z1,z2…zi不变,让zi+1,zi+2…z10加1,然后将Z数列传给B。

3、B检验
若X mod p =Zj,说明Zj没有经过加1的步骤,即Zj在Zi之前,j<=i
若X mod p不等于Zj,说明Zj加1了,Zj在Zi之后,j>i

这里j与i的等号与最初提的百万富翁例子中的等号不同,因为这里是前i为0,i+1至10为1,之前例子是前i-1为0,i至10为1.

以上就是如何用密码学实现百万富翁问题,这也就是安全多方计算。在实际应用中,一定不是10这个范围,是一个无法推导出的范围。

百万富翁问题--安全多方计算相关推荐

  1. 安全多方计算之二:一文搞懂百万富翁问题

    百万富翁问题 1. 解决方案 2. 协议描述 3. 协议说明 4. 协议举例 两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方及其他第三方知道自己财富的任何信息,这是由中国计算 ...

  2. 【安全多方计算】百万富翁问题

    [安全多方计算]百万富翁问题 文章目录 [安全多方计算]百万富翁问题 [问题描述] [问题分析] [代码实现] [前导模块] 1.判断素数 2.求最大公约数 3.求乘法逆元 4.生成公钥和私钥 [总体 ...

  3. 安全多方计算——百万富翁问题

    安全多方计算(SMC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,SMC要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员.主要是针对无可信第三方的情况下,如何安全地计 ...

  4. 区块链BaaS云服务(14)华大BGI区块链“安全多方计算“

    数据流通安全一直是大数据时代难以解决的难题:在保护本地数据隐私安全的情况下,促进不同地区.不同机构间的数据共享与协同计算. 1. 定义 1.1 安全多方计算(SMC) 由图灵奖得主姚期智院士在 198 ...

  5. mpc 安全多方计算协议_BNC公链 | 不看到数据却能进行计算?一文了解安全多方计算...

    今天,数据可以用来分析复杂问题,提供解决方案,甚至解决无法回答的问题.但是,当涉及到利用数据为公众服务时,数据共享和数据保护之间往往存在着许多矛盾.而安全多方计算(MPC)如何在不泄露隐私数据的情况下 ...

  6. mpc 安全多方计算协议_HashKey:说透安全多方计算 MPC 技术方案、挑战与未来

    链闻 ChainNews 安全多方计算对网络信息安全与数据市场的发展具有重要价值. 撰文:钱柏均,就职于 HashKey Capital Research审校:邹传伟,万向区块链.PlatON首席经济 ...

  7. 安全多方计算与证券业数据生态

    区块链技术的出现,使得各方事务在去中心化的方式下协调执行,数据在不可篡改.公开验证的方式下共享,这种特性天然适合用以解决证券行业信息共享的问题.但是,在传统区块链系统中,事务涉及数据会为全体成员所公开 ...

  8. 什么是多方计算multi-party computation (MPC)

    文章目录 什么是多方计算multi-party computation (MPC) MPC和TEE比较 外包计算 安全模型 MPC问题分类 其他参考 什么是多方计算multi-party comput ...

  9. 安全多方计算 # 个人笔记

    一个优美令人如痴如醉的领域. Data is the oil of the 21st century 欢迎读者拍砖和提供本文修改建议.本文长期维护. 第二次编辑于2021/10/20,新增了部分阅读材 ...

最新文章

  1. signature=52ceb41d49ce2ed43689f29f1663e802,SINGLE SIGN ON WITH MULTIPLE AUTHENTICATION FACTORS
  2. Windows Mobile的高效贴图
  3. MVC3 - 控制器
  4. 我们的故事(八)-----仲夏夜之梦
  5. python动态规划图解_动态规划案例之python实现(一)
  6. WPF 和 windows Form Application的区别
  7. 为啥非要用Python?Excel不香吗?
  8. php laravel 调试,php – Xdebug laravel artisan命令
  9. 【HDU - 1285】确定比赛名次 (拓扑排序)
  10. Spring框架中XML配置特殊属性注入
  11. Unity高亮插件HighlightingSystem使用
  12. Ubuntu18.04安装Oracle11g
  13. 计算机显示器工作原理与维修,VGA显卡工作原理及种故障维修方法
  14. 自有视频会议+第三方视频会议系统混合使用
  15. STM32GPIO寄存器CRL、CRH、IDR、ODR、BSRR、BRR
  16. Reso | Noise 网易云音乐插件
  17. tomcat的启动过程
  18. 理解LSTM网络+Python实现
  19. 微信小程序轮播中间大两边小
  20. 【Doris Weekly FAQ】2021.07.05~2021.07.18

热门文章

  1. 将一个整数分解为质数的乘积的实现方式
  2. 疫情下的通信人:你我的岁月静好,是谁在负重前行?
  3. ps-色彩模式与图像色彩调整
  4. 物理竞赛应该怎么准备?3个步骤教你敲响名牌大学门!
  5. 思岚激光建图传感器slamtec Mapper使用便捷性测评
  6. 强弩之末,刘强东草根创业恐难迎圆满结局?
  7. ubuntu下进行流量监控软件nethogs安装
  8. QUECTEL上海移远4G通讯CAT4模组EC20CEFAG模块串口调试指南之05【EC20模组TCP/IP模块AT指令说明】
  9. [Python] 数据预处理(缺失值、异常值、重复值) [相关方法参数说明、代码示例、相关概念]
  10. 剑指offer(三)