首页> 中国专利> 一种实现秘密共享方式的互相转换方法

一种实现秘密共享方式的互相转换方法

摘要

本发明公开了一种实现秘密共享方式的互相转换方法,应用于SecureNN协议和ABY3协议之间秘密共享,包括步骤S1:设定三方分别为P0、P1和P2,在SecureNN中,P0、P1为计算方,P2为协助方,在ABY3中,P0、P1和P2均为计算方;步骤S2:SecureNN中,设定P0拥有的计算数据为x0,P1拥有的计算数据为x1,P2不拥有计算数据,总计算数据x=x0+x1;步骤S3:P0和P1用PRF同步一个随机数r,P0发送x0‑r/2给P2,P1发送x1‑r/2给P2;步骤S4:将SecureNN三方协议转换为ABY3三方协议。本发明实现了完全保证了安全性,通讯量小,开销小。

著录项

  • 公开/公告号CN114826568A

    专利类型发明专利

  • 公开/公告日2022-07-29

    原文格式PDF

  • 申请/专利权人 上海阵方科技有限公司;

    申请/专利号CN202210283274.0

  • 发明设计人 杜吉锋;谢翔;李升林;孙立林;

    申请日2022-03-22

  • 分类号H04L9/08(2006.01);

  • 代理机构深圳市中科创为专利代理有限公司 44384;深圳市中科创为专利代理有限公司 44384;

  • 代理人谭雪婷;刘曰莹

  • 地址 200030 上海市徐汇区丰谷路315弄24号1-3层

  • 入库时间 2023-06-19 16:12:48

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-16

    实质审查的生效 IPC(主分类):H04L 9/08 专利申请号:2022102832740 申请日:20220322

    实质审查的生效

说明书

技术领域

本发明涉及计算机软件领域,尤其涉及的是一种实现秘密共享方式的互相转换方法。

背景技术

安全多方计算(Multi-Party Computation,简称MPC)的实现依赖许多基础的协议,这些协议,如实现加法,乘法,除法,内积,指数运算,等。而这些所有基础运算,都依赖于其秘密共享的方式。秘密共享方式不同,其实现的方式则必然不同。在所有MPC协议中,SecureNN和ABY3是两种高效的协议,应用广泛。其秘密共享的方式,各有特点。在是实现MPC的过程中,为了更好地利用两个协议的优点,需要将秘密共享的方式在SecureNN和ABY3之间实现互相转换。

SecureNN是一个三方的协议,三方分别记录为P0,P1,P2。P0和P1是两个主要的计算方。P2是协助方,主要提供一些随机数的生成。一开始,数据拥有方会将数据分片给P0和P1,例如,x=x0+x1,P0得到x0,P1得到x1。在之后的计算过程中,P0,P1,P2都会参与计算,P2主要是提供一些随机数的生成,以及一些辅助计算。在计算结束后,例如一开始的目的是计算z,则在计算结束后,P0拥有z0,P1拥有z1,z=z0+z1。也即P2不会拥有最终结果的分片。

ABY3也是一个三方的协议,三方分别记录为P0,P1,P2。与SecureNN的区别是,ABY3的三方是对等的,不存在一个辅助方。若x=x0+x1+x2,则其秘密分享的方式为:P0拥有x0,x1,P1拥有x1,x2,P2拥有x2,x0.可以看到P0,P1,P2他们拥有的秘密共享分片都是对称的。

现有技术中,SecureNN和ABY3三方协议在进行互转时,数据在协议转换时,容易发生数据安全性问题。

因此,现有技术存在缺陷,需要改进。

发明内容

本发明所要解决的技术问题是:提供一种完全保证了安全性,通讯量小,开销小的实现秘密共享方式的互相转换方法。

本发明的技术方案如下:

一种实现秘密共享方式的互相转换方法,应用于SecureNN三方协议和ABY3三方协议之间秘密共享,包括如下步骤:步骤S1:设定SecureNN三方协议和ABY3三方协议的三方分别为P0、P1和P2,并且,在SecureNN三方协议中,P0、P1为计算方,P2为协助方,在ABY3三方协议中,P0、P1和P2均为计算方;步骤S2:SecureNN三方协议中,设定P0拥有的计算数据为x0,P1拥有的计算数据为x1,P2不拥有计算数据,仅提供计算辅助,总计算数据x=x0+x1;步骤S3:P0和P1用PRF同步一个随机数r,并且,P0发送x0-r/2给P2,P1发送x1-r/2给P2;步骤S4:将SecureNN三方协议转换为ABY3三方协议,则P0拥有y0=x0-r/2,y1=r,P1拥有y1=r,y2=x1-r/2,P2拥有y2=x1-r/2,y0=x0-r/2;y0+y1+y2=x0+x1=x。

一种实现秘密共享方式的互相转换方法,应用于SecureNN三方协议和ABY3三方协议之间秘密共享,包括如下步骤:步骤S1:设定SecureNN和ABY3三方协议的三方分别为P0、P1和P2,并且,在SecureNN三方协议中,P0、P1为计算方,P2为协助方,在ABY3三方协议中,P0、P1和P2均为计算方;步骤S2:ABY3三方协议中,设定:P0拥有y0,y1,P1拥有y1,y2,P2拥有y2,y0,并且,总数据为y0+y1+y2=x;步骤S3:设定x0=y0+y1/2;x1=y2+y1/2;步骤S4:将ABY3三方协议转换为SecureNN三方协议,转换后,P0拥有的计算数据为x0,P1拥有的计算数据为x1,P2不拥有计算数据,仅提供计算辅助,总计算数据x=x0+x1=y0+y1/2+y2+y1/2=y0+y1+y2。

本发明的有益效果为:

本发明通过P0和P1用PRF同步一个随机数r,并且,P1发送x1-r/2给P2,P0发送x0-r/2给P2,使得从SecureNN的秘密分享方式转化成ABY3时,P2不会得知x0或x1中的一个或两个,因此会引起安全性问题,能够保证安全,且通讯轮数只有一轮,性能和安全性都是最优;并且,在将SecureNN的秘密共享方式转化为ABY3的秘密共享方式时,无需任何通讯。且P2不知道x0和x1中的任何一个,安全性和性能得到保证。

具体实施方式

以下具体实施例,对本发明进行详细说明。

本实施例提供了一种实现秘密共享方式的互相转换方法,应用于SecureNN三方协议和ABY3三方协议之间秘密共享,包括如下步骤:步骤S1:设定SecureNN三方协议和ABY3三方协议的三方分别为P0、P1和P2,并且,在SecureNN三方协议中,P0、P1为计算方,P2为协助方,在ABY3三方协议中,P0、P1和P2均为计算方;步骤S2:SecureNN三方协议中,设定P0拥有的计算数据为x0,P1拥有的计算数据为x1,P2不拥有计算数据,仅提供计算辅助,总计算数据x=x0+x1;步骤S3:P0和P1用PRF同步一个随机数r,并且,P0发送x0-r/2给P2,P1发送x1-r/2给P2;步骤S4:将SecureNN三方协议转换为ABY3三方协议,则P0拥有y0=x0-r/2,y1=r,P1拥有y1=r,y2=x1-r/2,P2拥有y2=x1-r/2,y0=x0-r/2;y0+y1+y2=x0+x1=x。

本实施例还提供了一种实现秘密共享方式的互相转换方法,应用于SecureNN三方协议和ABY3三方协议之间秘密共享,包括如下步骤:步骤S1:设定SecureNN和ABY3三方协议的三方分别为P0、P1和P2,并且,在SecureNN三方协议中,P0、P1为计算方,P2为协助方,在ABY3三方协议中,P0、P1和P2均为计算方;步骤S2:ABY3三方协议中,设定:P0拥有y0,y1,P1拥有y1,y2,P2拥有y2,y0,并且,总数据为y0+y1+y2=x;步骤S3:设定x0=y0+y1/2;x1=y2+y1/2;步骤S4:将ABY3三方协议转换为SecureNN三方协议,转换后,P0拥有的计算数据为x0,P1拥有的计算数据为x1,P2不拥有计算数据,仅提供计算辅助,总计算数据x=x0+x1=y0+y1/2+y2+y1/2=y0+y1+y2。如此,P2不会得知x0或x1中的一个或两个,因此会引起安全性问题,能够保证安全,且通讯轮数只有一轮,性能和安全性都是最优。如此,无需任何通讯。且P2不知道x0和x1中的任何一个,安全性和性能得到保证。

本发明提供了的SecureNN和ABY3之间秘密共享相互转换的方法,且完全保证了安全性,通讯量小,通讯轮数最多1轮,开销小。有了本方案,可以快速安全地实现协议间秘密共享方式的转换,从而利用各协议的优势

以上仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号