掌桥专利:专业的专利平台
掌桥专利
首页

一种数据处理方法、密文计算系统和用于数据处理的装置

文献发布时间:2023-06-19 10:08:35


一种数据处理方法、密文计算系统和用于数据处理的装置

技术领域

本发明涉及计算机技术领域,尤其涉及一种数据处理方法、密文计算系统和用于数据处理的装置。

背景技术

秘密分享(Secret Share)是一种分发、保存和恢复秘密的方法,是实现安全多方计算的一种重要手段。目前,基于秘密分享的密文计算系统可以使用基于加法分片的秘密分享算法,各加法分片相加可得到秘密。

传统基于秘密分享的隐私保护系统基于数据的加法分片构造,在处理乘法操作的过程中比较复杂,需要多次网络通信。如果全部基于乘法分片构造的系统在处理加法的时候也比较复杂。而实际的应用中几乎没有都是加法或者都是乘法的操作,往往是两者都有的混合计算,而现有的仅支持单一分片方式的系统无法保证隐私计算的效率。

发明内容

本发明实施例提供一种数据处理方法、密文计算系统和用于数据处理的装置,可以提高密文计算系统的计算效率。

为了解决上述问题,本发明实施例公开了一种数据处理方法,应用于基于秘密分享的密文计算系统,所述密文计算系统包括:任务控制节点、至少两个计算节点、以及至少两个辅助节点,所述方法包括:

任务控制节点接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

任务控制节点将所述密文计算任务分配至计算节点;

所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

可选地,所述密文计算任务中包含基于第一隐私数据的第一计算操作和基于第二隐私数据的第二计算操作,所述第一计算操作中包含第一计算类型,所述第二计算操作中包含第二计算类型,所述指定隐私数据为与所述第二计算类型相关的第二隐私数据。

可选地,所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,包括:

所述计算节点基于第一分片类型的第一隐私数据执行所述第一计算操作,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述第二隐私数据由第一分片类型转换为第二分片类型;

所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作,包括:

所述计算节点基于所述第二分片类型的第二隐私数据执行所述预设指令之后的第二计算操作。

可选地,所述第一计算类型为加法类型,所述第二计算类型为乘法类型,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,所述第一计算类型为乘法类型,所述第二计算类型为加法类型,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。

可选地,所述指定隐私数据包括参与所述密文计算任务的数据方提供的隐私数据、和/或、所述密文计算任务执行过程中产生的中间结果数据。

另一方面,本发明实施例公开了一种密文计算系统,所述密文计算系统包括:任务控制节点、至少两个计算节点、以及至少两个辅助节点,其中,

所述任务控制节点,用于接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述任务控制节点,还用于将所述密文计算任务分配至计算节点;

所述计算节点,用于执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述计算节点,还用于基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

可选地,所述密文计算任务中包含基于第一隐私数据的第一计算操作和基于第二隐私数据的第二计算操作,所述第一计算操作中包含第一计算类型,所述第二计算操作中包含第二计算类型,所述指定隐私数据为与所述第二计算类型相关的第二隐私数据。

可选地,所述计算节点,还用于基于第一分片类型的第一隐私数据执行所述第一计算操作,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述第二隐私数据由第一分片类型转换为第二分片类型;

所述计算节点,还用于基于所述第二分片类型的第二隐私数据执行所述预设指令之后的第二计算操作。

可选地,所述第一计算类型为加法类型,所述第二计算类型为乘法类型,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,所述第一计算类型为乘法类型,所述第二计算类型为加法类型,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。

可选地,所述指定隐私数据包括参与所述密文计算任务的数据方提供的隐私数据、和/或、所述密文计算任务执行过程中产生的中间结果数据。

再一方面,本发明实施例公开了一种用于数据处理的装置,应用于基于秘密分享的密文计算系统,所述密文计算系统包括:任务控制节点、至少两个计算节点、以及至少两个辅助节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:

任务控制节点接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

任务控制节点将所述密文计算任务分配至计算节点;

所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

可选地,所述密文计算任务中包含基于第一隐私数据的第一计算操作和基于第二隐私数据的第二计算操作,所述第一计算操作中包含第一计算类型,所述第二计算操作中包含第二计算类型,所述指定隐私数据为与所述第二计算类型相关的第二隐私数据。

可选地,所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,包括:

所述计算节点基于第一分片类型的第一隐私数据执行所述第一计算操作,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述第二隐私数据由第一分片类型转换为第二分片类型;

所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作,包括:

所述计算节点基于所述第二分片类型的第二隐私数据执行所述预设指令之后的第二计算操作。

可选地,所述第一计算类型为加法类型,所述第二计算类型为乘法类型,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,所述第一计算类型为乘法类型,所述第二计算类型为加法类型,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。

可选地,所述指定隐私数据包括参与所述密文计算任务的数据方提供的隐私数据、和/或、所述密文计算任务执行过程中产生的中间结果数据。

又一方面,本发明实施例公开了一种机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得装置执行如前述一个或多个所述的数据处理方法。

本发明实施例包括以下优点:

本发明实施例通过在密文计算任务中增加用于转换分片类型的预设指令,并且在计算节点执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使辅助节点将密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,由此,计算节点可以基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。由于第二分片类型更加符合当前密文计算系统的分片类型构造,因此可以提高后续隐私计算的效率,进而提高密文计算系统的性能。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明的一种数据处理方法实施例的步骤流程图;

图2是本发明的一种密文计算系统实施例的结构框图;

图3是本发明的一种用于数据处理的装置800的框图;

图4是本发明的一些实施例中服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中的术语“和/或”用于描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本发明实施例中术语“多个”是指两个或两个以上,其它量词与之类似。

参照图1,示出了本发明的一种数据处理方法实施例的步骤流程图,所述方法应用于基于秘密分享的密文计算系统,所述密文计算系统包括:任务控制节点、至少两个计算节点、以及至少两个辅助节点,所述方法具体可以包括如下步骤:

步骤101、任务控制节点接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

步骤102、任务控制节点将所述密文计算任务分配至计算节点;

步骤103、所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

步骤104、所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

密文计算系统是一种保护数据隐私安全的计算系统。多个参与方可以在不泄漏自身数据的前提下,使用多方安全计算技术进行协同计算,得到计算结果,参与计算的数据、中间结果、以及最终结果可以为密文。所述参与方可以包括任务控制节点、至少两个计算节点、以及至少两个辅助节点。任务控制节点用于调度计算节点执行密文计算任务。计算节点基于各自持有的秘密分片进行协同计算,以完成所述密文计算任务。辅助节点用于执行所述预设指令,将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型。

需要说明的是,本发明实施例对参与执行一个密文计算任务的计算节点的数量不做限制,优选地,参与执行一个密文计算任务的计算节点的数量大于或等于2,本发明实施例优选使用4个。同样地,本发明实施例对参与执行一次预设指令的辅助节点的数量不做限制,优选地,参与执行一次预设指令的辅助节点的数量大于或等于2,本发明实施例优选使用4个。

此外,本发明实施例对所述辅助节点的节点类型不做限制。所述辅助节点可以是任意类型的设备,例如,所述辅助节点可以为计算节点。

进一步地,所述参与方还可以包括数据节点,用于提供数据存储、数据提供、计算结果存储等服务。所述密文计算系统中还可以包括结果获取方,用于从计算节点获取计算结果,结果获取方可以是指定的某一个或某几个数据节点。

可以理解的是,隐私数据可以是任何不便于公开的数据,可以包括但不限于代表用户的个人信息的数据,或者商业秘密等。在本发明实施例中,所述隐私数据可以为密文。

在本发明实施例中,密文计算任务可以为通过预设编程语言实现的计算机程序代码,密文计算系统通过执行该计算机程序代码可以实现相应的计算功能。所述密文计算任务包括但不限于:基于密文实现数据的计算、清洗、分析、模型训练、存储、数据库查询等数据相关操作。可以理解,本发明实施例对密文计算任务的具体类型不加以限制。

一个密文计算任务中可以包含任意计算类型的数学计算,如四则计算(例如加法计算、减法计算、乘法计算、除法计算)、逻辑计算(例如与计算、或计算、异或计算)等。

所述密文计算系统可以采用加法分片类型的秘密分享算法,对于参与密文计算任务的n个计算节点,加法分片类型的秘密分享算法指将秘密S分片成a1、a2、…、an,并且S=a1+a2+…+an。其中,a1、a2、…、an称为加法分片。第一个计算节点持有加法分片a1,第二个计算节点持有加法分片a2,…,第n个计算节点持有加法分片an。

或者,所述密文计算系统可以采用乘法分片类型的秘密分享算法。对于参与密文计算任务的n个计算节点,乘法分片类型的秘密分享算法指将秘密S分片成b1、b2、…、bn,并且S=b1*b2*…*bn。其中,b1、b2、…、bn称为乘法分片。第一个计算节点持有乘法分片b1,第二个计算节点持有乘法分片b2,…,第n个计算节点持有乘法分片bn。

本发明实施例中所述的第一分片类型以及第二分片类型可采用现有技术实现,本发明对此不做具体限定。

若采用加法分片类型的秘密分享算法,在计算加法操作时比较简便,但在计算乘法操作时,操作较为复杂,计算效率较低。与之相反的是,若采用乘法分片类型的秘密分享算法,在计算乘法操作时比较简便,但在计算加法操作时,操作较为复杂,计算效率较低。

在实际应用中,密文计算系统通常仅采用单一分片类型的构造,也即,密文计算系统要么是基于加法分片类型的构造,要么是基于乘法分片类型的构造。这样,在密文计算系统是基于加法分片类型的构造的情况下,若密文计算任务中包含有乘法计算,使用加法分片进行乘法计算,将会影响计算效率。同样地,在密文计算系统是基于乘法分片类型的构造的情况下,若密文计算任务中包含有加法计算,使用乘法分片进行加法计算,将会影响计算效率。

本发明实施例通过在密文计算任务中增加用于转换分片类型的预设指令,并且分配辅助节点执行该预设指令,将密文计算任务中的指定隐私数据的分片类型进行转换,得到符合当前密文计算系统的分片类型构造的密文分片,以提高密文计算系统的计算效率。

在本发明的一种可选实施例中,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。

通过本发明实施例,可以将加法分片类型转换为乘法分片类型,或者,也可以将乘法分片类型转换为加法分片类型。为便于描述,本发明实施例中主要以密文计算系统是基于加法分片类型的构造为例进行说明,也即,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型。辅助节点用于将密文计算任务中的指定隐私数据由加法分片类型转换为乘法分片类型。

在密文计算系统是基于加法分片类型的构造的情况下,如果密文计算任务中包含乘法计算,则可以将参与乘法计算的隐私数据作为指定隐私数据,将其由加法分片类型转换为乘法分片类型,再执行乘法计算,以提高乘法计算的效率。

示例1中,假设密文计算任务中包含乘法计算x*y,x和y均为隐私数据。在密文计算系统是基于加法分片类型的构造的情况下,x被分片成加法分片x1和加法分片x2,并且x=x1+x2。y被分片成加法分片y1和加法分片y2,并且y=y1+y2。假设有4个计算节点参与密文计算任务,分别为N1、N2、N3、N4,计算节点N1持有x1,计算节点N2持有x2,计算节点N3持有y1,计算节点N4持有y2。对于基于加法分片类型构造的密文计算系统,如果基于加法分片x1、x2、y1、y2计算x*y,将导致计算效率较低。

为提高计算效率,本发明实施例在示例1中的密文计算任务中增加预设指令,该预设指令可以将密文计算任务中的指定隐私数据由第一分片类型(加法分片类型)转换为第二分片类型(乘法分片类型)。假设将加法分片类型转换为乘法分片类型的预设指令表示为ATM()。

需要说明的是,本发明实施例对预设指令的实现方式不做限制。例如,所述预设指令可以通过自定义的函数实现。一个示例中,将加法分片类型转换为乘法分片类型的预设指令表示为ATM()。

例如,可以在密文计算任务中的x*y计算步骤之前增加如下预设指令“x=ATM(x)”和“y=ATM(y)”。计算节点在执行到预设指令“x=ATM(x)”时,调用辅助节点执行该预设指令,以使所述辅助节点将x由加法分片类型转换为乘法分片类型。例如,辅助节点在执行预设指令“x=ATM(x)”之后,将x分片成乘法分片x3和乘法分片x4,并且x=x3*x4。辅助节点将转换后得到的乘法分片x3和乘法分片x4返回给计算节点。同样地,计算节点在执行到预设指令“y=ATM(y)”时,调用辅助节点执行该预设指令,以使所述辅助节点将y由加法分片类型转换为乘法分片类型。例如,辅助节点在执行预设指令“y=ATM(y)”之后,将y分片成乘法分片y3和乘法分片y4,并且y=y3*y4。辅助节点将转换后得到的乘法分片y3和乘法分片y4返回给计算节点。假设将指定隐私数据x和y进行分片类型转换之后,计算节点N1持有乘法分片x3,计算节点N2持有乘法分片x4,计算节点N3持有乘法分片y3,计算节点N4持有乘法分片y4。

接下来,计算节点基于所述第二分片类型(乘法分片)的指定隐私数据(x和y)执行所述预设指令之后的计算操作(x*y)。也即,计算节点N1、N2、N3、N4基于各自持有的乘法分片x3、x4、y3、y4进行协同计算,得到x*y的计算结果。由于x*y可以通过(x3*y3)*(x3*y4)进行简单计算得到,可以极大地提高计算效率。

在本发明的一种可选实施例中,所述密文计算任务中包含基于第一隐私数据的第一计算操作和基于第二隐私数据的第二计算操作,所述第一计算操作中包含第一计算类型,所述第二计算操作中包含第二计算类型,所述指定隐私数据为与所述第二计算类型相关的第二隐私数据。

密文计算任务可以包括至少两种计算类型的混合计算操作。可选地,在密文计算系统是基于加法分片类型的构造的场景下,所述第一计算类型为加法类型,所述第二计算类型为乘法类型,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,在密文计算系统是基于乘法分片类型的构造的场景下,所述第一计算类型为乘法类型,所述第二计算类型为加法类型,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。所述第一隐私数据指参与第一计算操作的隐私数据,所述第二隐私数据指参与第二计算操作的隐私数据。

本发明实施例主要以密文计算系统是基于加法分片类型的构造,第一计算类型为加法类型,第二计算类型为乘法类型为例进行说明。

对于包含多种计算类型的密文计算任务,该密文计算任务中除了加法和乘法的计算类型,还可能包含减法、除法的计算类型。对于减法计算,可以通过密文计算系统中的专有函数进行计算,而对于除法计算,可以将其转换为乘法计算。因此,对于包含第一计算操作和第二计算操作的混合计算类型的密文计算任务,在密文计算系统是基于加法分片类型的构造的场景下,本发明实施例保持第一计算操作中第一隐私数据的加法分片类型不变,将第二计算操作中的第二隐私数据由加法分片类型转换为乘法分片类型。

示例2中,一个包含多种计算类型的密文计算任务对应的代码如下所示:

上述第1行至第3行代码为基于第一隐私数据的第一计算操作,第一隐私数据包括x、start、step,第一计算操作中包含第一计算类型(加法类型)。第4行至第8行代码为基于第二隐私数据的第二计算操作,第二隐私数据包括result和deltaX,第二计算操作中包含第二计算类型(乘法类型)。

在密文计算系统是基于加法分片类型的构造的场景下,任务控制节点接收示例2所示的密文计算任务,并将该密文计算任务分配给计算节点,计算节点基于加法分片执行上述代码。也即,第一隐私数据x、start、step,以及第二隐私数据result和deltaX均按照加法分片类型进行分片。计算节点基于各自持有的加法分片进行协同计算,执行上述密文计算任务中的第一计算操作和第二计算操作。可以看出,若对第一计算操作和第二计算操作均采用加法分片,由于第二计算操作中计算步骤“derivate=result*(1-result)”和“result+=deltaX*derivate”中包含乘法计算,将导致计算效率较低,进而影响整个系统的计算性能。

在本发明的一种可选实施例中,所述指定隐私数据可以包括但不限于:参与所述密文计算任务的数据方提供的隐私数据、和/或、所述密文计算任务执行过程中产生的中间结果数据。

为提高第二计算操作的效率,本发明实施例在上述代码中增加用于将密文计算任务中的指定隐私数据由第一分片类型(加法分片类型)转换为第二分片类型(乘法分片类型)的预设指令ATM(),并且将与所述第二计算类型相关第二隐私数据作为指定隐私数据。其中,与所述第二计算类型相关指参与所述第二计算类型(乘法类型)的计算。例如,在示例2中,第二隐私数据result和deltaX参与乘法计算,因此,可以将result和deltaX作为指定隐私数据进行分片类型转换。在示例2中,第二隐私数据result和deltaX为密文计算任务执行过程中产生的中间结果数据。

在示例2中,增加预设指令之后的密文计算任务对应的代码如下所示:

如上述代码所示,增加的预设指令包括“result=ATM(result)”和“deltaX=ATM(deltaX)”。控制节点接收包含预设指令“result=ATM(result)”和“deltaX=ATM(deltaX)”的密文计算任务,并且分配计算节点执行该密文计算任务。计算节点执行该密文计算任务,在执行到该密文计算任务中的预设指令时,调用辅助节点执行该预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据result和deltaX由第一分片类型转换为第二分片类型。

在本发明的一种可选实施例中,所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,具体可以包括:

所述计算节点基于第一分片类型的第一隐私数据执行所述第一计算操作,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述第二隐私数据由第一分片类型转换为第二分片类型;

所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作,具体可以包括:

所述计算节点基于所述第二分片类型的第二隐私数据执行所述预设指令之后的第二计算操作。

在密文计算系统是基于加法分片类型的构造的场景下,任务控制节点接收示例2中所示的包含预设指令的密文计算任务,并且将该密文计算任务分配给计算节点。计算节点首先执行第一计算操作,对于参与第一计算操作的第一隐私数据仍然采用加法分片。也即,计算节点基于加法分片执行如下第一计算操作:

def sigmoid_ori(x,start=0,step=10);

result=1.0/(1+np.exp(-start))

deltaX=(x-start)/step

在计算节点执行到预设指令“result=ATM(result)”时,调用辅助节点执行该预设指令,以将第二隐私数据result由第一分片类型(加法分片类型)转换为第二分片类型(乘法分片类型),并且返回result的乘法分片。同样地,在执行到预设指令“deltaX=ATM(deltaX)”时,调用辅助节点执行该预设指令,以将第二隐私数据deltaX由第一分片类型(加法分片类型)转换为第二分片类型(乘法分片类型),并且返回deltaX的乘法分片。

计算节点在调用辅助节点执行预设指令之后,可以基于所述第二分片类型(乘法分片类型)的第二隐私数据执行所述预设指令之后的第二计算操作。具体地,计算节点在调用辅助节点执行预设指令“result=ATM(result)”之后,可以获取辅助节点返回的第二隐私数据result的乘法分片,以及在调用辅助节点执行预设指令“deltaX=ATM(deltaX)”之后,可以获取辅助节点返回的第二隐私数据deltaX的乘法分片,进而可以基于result的乘法分片和deltaX的乘法分片执行后续的如下第二计算操作:

由于上述第二计算操作中包含乘法计算的计算步骤“derivate=result*(1-result)”和“result+=deltaX*derivate”转换为基于乘法分片的计算,可以提高第二计算操作的效率,进而提高整个系统的计算性能。

需要说明的是,本发明实施例主要以密文计算系统是基于加法分片类型的构造的场景,以及所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型,预设指令用于将加法分片类型转换为乘法分片类型为例进行说明。对于密文计算系统是基于乘法分片类型的构造的场景,处理过程相类似,相互参照即可。在密文计算系统是基于乘法分片类型的构造的场景下,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型,预设指令用于将乘法分片类型转换为加法分片类型。一个示例中,用于将乘法分片类型转换为加法分片类型的预设指令表示为MTA()。

在密文计算系统是基于乘法分片类型的构造的场景下,如果密文计算任务中包含加法类型的计算,则可以在密文计算任务中增加预设指令MTA(),将参与加法计算的隐私数据由乘法分片类型转换为加法分片类型,进而可以基于隐私数据的加法分片执行加法计算,以提高加法计算效率,进而提高密文计算系统的性能。

可以理解,本发明实施例对将加法分片类型转换为乘法分片类型,以及将乘法分片类型转换为加法分片类型的具体实现方式不做限制。本领域技术人员可以采用已有的任意转换方法。

综上,本发明实施例通过在密文计算任务中增加用于转换分片类型的预设指令,并且在计算节点执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使辅助节点将密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,由此,计算节点可以基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。由于第二分片类型更加符合当前密文计算系统的分片类型构造,因此可以提高后续隐私计算的效率,进而提高密文计算系统的性能。

需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图2,示出了本发明的一种密文计算系统实施例的结构框图,所述系统具体可以包括:任务控制节点201、至少两个计算节点202、以及至少两个辅助节点203,其中,

所述任务控制节点,用于接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述任务控制节点,还用于将所述密文计算任务分配至计算节点;

所述计算节点,用于执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;

所述计算节点,还用于基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

可选地,所述密文计算任务中包含基于第一隐私数据的第一计算操作和基于第二隐私数据的第二计算操作,所述第一计算操作中包含第一计算类型,所述第二计算操作中包含第二计算类型,所述指定隐私数据为与所述第二计算类型相关的第二隐私数据。

可选地,所述计算节点,还用于基于第一分片类型的第一隐私数据执行所述第一计算操作,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述第二隐私数据由第一分片类型转换为第二分片类型;

所述计算节点,还用于基于所述第二分片类型的第二隐私数据执行所述预设指令之后的第二计算操作。

可选地,所述第一计算类型为加法类型,所述第二计算类型为乘法类型,所述第一分片类型为加法分片类型,所述第二分片类型为乘法分片类型;或者,所述第一计算类型为乘法类型,所述第二计算类型为加法类型,所述第一分片类型为乘法分片类型,所述第二分片类型为加法分片类型。

可选地,所述指定隐私数据包括参与所述密文计算任务的数据方提供的隐私数据、和/或、所述密文计算任务执行过程中产生的中间结果数据。

本发明实施例通过在密文计算任务中增加用于转换分片类型的预设指令,并且在计算节点执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使辅助节点将密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型,由此,计算节点可以基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。由于第二分片类型更加符合当前密文计算系统的分片类型构造,因此可以提高后续隐私计算的效率,进而提高密文计算系统的性能。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。

本发明实施例提供了一种用于数据处理的装置,应用于基于秘密分享的密文计算系统,所述密文计算系统包括:任务控制节点、至少两个计算节点、以及至少两个辅助节点,所述装置包括有存储器,以及一个或者一个以上的程序,其中一个或者一个以上程序存储于存储器中,且经配置以由一个或者一个以上处理器执行所述一个或者一个以上程序包含用于进行以下操作的指令:任务控制节点接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;任务控制节点将所述密文计算任务分配至计算节点;所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

图3是根据一示例性实施例示出的一种用于数据处理的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。

参照图3,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。

处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理元件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。

存储器804被配置为存储各种类型的数据以支持在设备800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。

多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音信息处理模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。

I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到设备800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频信息处理(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

图4是本发明的一些实施例中服务器的结构示意图。该服务器1900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processingunits,CPU)1922(例如,一个或一个以上处理器)和存储器1932,一个或一个以上存储应用程序1942或数据1944的存储介质1930(例如一个或一个以上海量存储设备)。其中,存储器1932和存储介质1930可以是短暂存储或持久存储。存储在存储介质1930的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1922可以设置为与存储介质1930通信,在服务器1900上执行存储介质1930中的一系列指令操作。

服务器1900还可以包括一个或一个以上电源1926,一个或一个以上有线或无线网络接口1950,一个或一个以上输入输出接口1958,一个或一个以上键盘1956,和/或,一个或一个以上操作系统1941,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行图1所示的数据处理方法。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置(服务器或者终端)的处理器执行时,使得装置能够执行一种数据处理方法,所述方法包括:任务控制节点接收包含预设指令的密文计算任务,所述预设指令用于将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;任务控制节点将所述密文计算任务分配至计算节点;所述计算节点执行所述密文计算任务,并且在执行到所述密文计算任务中的预设指令时,调用辅助节点执行所述预设指令,以使所述辅助节点将所述密文计算任务中的指定隐私数据由第一分片类型转换为第二分片类型;所述计算节点基于所述第二分片类型的指定隐私数据执行所述预设指令之后的计算操作。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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

以上对本发明所提供的一种数据处理方法、一种密文计算系统和一种用于数据处理的装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

相关技术
  • 一种数据处理方法、密文计算平台和明密文混合计算系统
  • 一种数据处理方法、密文计算系统和用于数据处理的装置
技术分类

06120112437790