1、安全多方计算之百万富翁问题甲有a亿资产乙有b亿资产甲乙两人想在对方不知道自己具体资产的情况下比较两人资产大小其中 ab∈123…10。加密盒子模型解决该问题步骤如下1甲将a假设a=6与12345678910十个数依次进行比较得到数组=并对元素进行加密将结果发给乙。2乙假设b=5得到标签为12345678910的加密数组=保留5号删除其他密文元素。3双方同时解密5号得到得出结论ab。请使用具体的
该协议可以使用同态加密技术来实现。具体步骤如下:
-
甲选择一个同态加密方案,并使用该方案将数字1到10加密成密文数组C=[c1,c2,...,c10]。
-
甲将a与每个密文元素进行比较,得到一个比较结果数组R=[<,<,<,<,<,=,>,>,>,>]。
-
甲使用同态比较协议,将比较结果数组R与密文数组C相乘得到新的密文数组D=[d1,d2,...,d10]。
-
甲将密文数组D发送给乙。
-
乙选择数字5作为自己的资产,并使用同态加密方案将数字1到10加密成密文数组E=[e1,e2,...,e10]。
-
乙从密文数组D中保留密文元素d5,将其他密文元素删除,得到新的密文数组F=[d5]。
-
甲与乙同时解密密文元素d5和e5,得到明文结果r1和r2。
-
乙判断r2是否等于5,如果不等于,则认为甲发送的密文数组D中存在错误,协议结束;如果相等,则比较r1和乙的资产5,得出结论a<b或a>b。
该协议是选择明文安全的,因为甲和乙都只能从密文中得到比较结果,无法得知具体的资产数值。同时,同态加密技术保证了在密文状态下进行比较和计算的正确性。
原文地址: http://www.cveoy.top/t/topic/e1yR 著作权归作者所有。请勿转载和采集!