CN115455495A - 数据评估方法及装置、电子设备、存储介质 - Google Patents
数据评估方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115455495A CN115455495A CN202211094032.3A CN202211094032A CN115455495A CN 115455495 A CN115455495 A CN 115455495A CN 202211094032 A CN202211094032 A CN 202211094032A CN 115455495 A CN115455495 A CN 115455495A
- Authority
- CN
- China
- Prior art keywords
- vector
- data
- participant
- participation
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
Abstract
本申请的实施例揭示了一种数据评估方法及装置、电子设备、存储介质,该方法包括:获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;获取当前参与方的参与数据集,并根据参与数据集构建当前参与方的编码向量;根据联合公钥和当前参与方的编码向量进行加密处理,得到加密向量,并将加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;获取参与方数据集,根据目标向量评估参与数据集中各个参与数据在参与方数据集中的位置。本申请实施例的技术方案能够加强数据的安全性。
Description
技术领域
本申请涉及数据处理技术领域,具体而言,涉及一种数据评估方法及装置、电子设备、计算机可读存储介质。
背景技术
对于部分企业而言,相应的数据一般只有企业内部或相应的监管部门知晓,出于商业竞争以及对客户信息保护的原因,数据持有企业不愿分享出数据给其他企业的,若各个企业能将自身的数据分享出来,其他即可根据分享出的数据评估自身数据在行业内的区间位置,以此在后续根据区间位置进行精准营销,提高营销率,促进行业发展。但现有的数据分享技术主要基于传统的加密、解密方式,即数据持有企业对数据进行加密,数据接收企业对接收到的被加密后的数据进行解密,进而得到相应的数据。但这种数据分享技术无法保护数据隐私,数据的安全性较低。
发明内容
为解决上述技术问题,本申请的实施例提供了一种数据评估方法及装置、电子设备、计算机可读存储介质,旨在解决数据分享过程中,数据的安全性较低的技术问题。
本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。
根据本申请实施例的一个方面,提供了一种数据评估方法,包括:
获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;
获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据;
根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;
获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
进一步地,所述编码向量由第一字符和第二字符组成;所述获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量,包括:
获取所述当前参与方的目标数据;
根据所述目标数据,形成以1为开始、以所述目标数据为结束的有序序列,将所述有序序列作为基准向量;
将所述参与数据集与所述基准向量进行匹配,将所述基准向量中与所述参与数据集中的参与数据匹配的基准数据设置为第一字符,将所述基准向量中未与所述参与数据集中的参与数据匹配的基准数据设置为第二字符,得到所述当前参与方的编码向量。
进一步地,所述根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,包括:
检测所述当前参与方是否为初始参与方;
若所述当前参与方不是初始参与方,依据所述参与顺序获取所述当前参与方的上一个参与方的加密向量;
根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
进一步地,所述编码向量由第一字符和第二字符组成;所述根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量,包括:
通过所述联合公钥对所述当前参与方的编码向量中的第一字符进行加密处理,得到加密字符;
根据所述加密字符对所述当前参与方的上一个参与方的加密向量进行更新,得到所述当前参与方的加密向量。
进一步地,在所述检测所述当前参与方是否为初始参与方之后,所述方法还包括:
若所述当前参与方是初始参与方,通过所述联合公钥对所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
进一步地,所述根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置,包括:
根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,并公开各个参与数据对应的所述评估向量;
获取其他参与方基于椭圆曲线加密原理对各个参与数据对应的所述评估向量进行计算得到的目标数据;
根据各个参与数据对应的目标数据计算各个参与数据对应的评估数据,并根据各个参与数据对应的评估数据在所述参与方数据集中确定对应的所述参与数据的位置。
进一步地,所述目标向量包括多个目标向量数据;所述根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,包括:
确定各个参与数据在所述目标向量中对应的目标向量数据;
根据各个参与数据对应的目标向量数据,以及在所述目标向量中位于对应的目标向量数据之前的目标向量数据构建对应的参与数据的评估向量。
根据本申请实施例的一个方面,提供了一种数据评估装置,包括:
第一获取模块,配置为获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;
第二获取模块,配置为获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据;
加密处理模块,配置为根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;
评估模块,配置为获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如前所述的数据评估处理方法。
根据本申请实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的数据评估方法。
根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的数据评估方法。
在本申请的实施例所提供的技术方案中,目标向量是经过所有参与方处理,同时,所有参与方在处理时,都依据了自身的参与数据,故每个参与方可依据目标向量评估自身的参与数据在参与数据集中的位置。在整个评估过程中,目标向量是依据参与顺序各个参与方的参与数据均没有完全分享出去,参与数据均没有出对应参与方的本地,参与计算的参与数据在各个参与方之间传输时全部处于密文状态,保护了各个参与方的参与数据的隐私,提升了参与数据的安全性。本申请实现全程都不会外泄明文数据,既保护了各个参与方的商务秘密,也对各个参与方的业务营销提供了有用的数据依据。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请涉及的一种实施环境的示意图;
图2是本申请涉及的一种数据评估方法的流程图;
图3是本申请涉及的一个实施例中步骤S220的流程图;
图4是本申请涉及的一个实施例中步骤S230的流程图;
图5是本申请涉及的一个实施例中步骤S430的流程图;
图6是本申请涉及的一个实施例中步骤S240的流程图;
图7是本申请涉及的一个实施例中步骤S610的流程图;
图8是本申请涉及的一种数据评估方法的流程图;
图9本申请涉及的一种数据评估装置的框图;
图10了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
还需要说明的是:在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
请参阅图1,图1是本申请涉及的一种实施环境的示意图。该实施环境包括多个参与方,即在实际运用时,一个企业对应一个参与方。多个参与方可依据一定的顺序进行排序,以便于后续进行相关处理,排序后,多个参与方中具有一个初始参与方和一个结束参与方。所有参与方依据椭圆曲线加密原理,事先共同确定出一条椭圆曲线E,约定椭圆曲线E上的一个基点G。
图2是根据一示例性实施例示出的一种信息抽取方法的流程图。该方法可以应用于图1所示的实施环境,并由图1所示实施例环境中的各个参与方具体执行。
如图2所示,在一示例性实施例中,该数据评估方法可以包括步骤S210至步骤S240,详细介绍如下:
步骤S210,获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥。
本申请实施例中,当前参与方包括图1所示的任一参与方,通过Si表征当前第i个参与方,各个参与方具有各自的参与私钥ski,并依据参与私钥ski计算出各自的参与公钥pki=ski*G,每个参与方计算出各自的参与公钥pki后,将参与公钥pki公开,以使得其他参与方能够获取其参与公钥pki,ski表征第i个参与方的参与私钥,pki表征第i个参与方的参与公钥。每个参与方均根据自身的参与公钥和其他参与方的参与公钥能够计算出联合公钥pk,pk=pk1+pk2+…pkN。
步骤S220,获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据。
本申请实施例中,每个参与方具有对应的参与数据集,参与数据集通过Ai=(di1,di2,…,din)表示,Ai表征第i个参与方的参与数据集,din表征第i个参与方的第n个参与数据,其他参与数据依据同样的方式理解。每个参与方的参与数据集中所拥有的参与数据的个数可不相同,故n个取值依据对应参与方的实际参与数据个数进行确定。每个参与方可依据自身的参与数据构建出对应的编码向量Ri,Ri表征第i个参与方的编码向量,编码向量Ri由第一字符和第二字符组成,第一字符与第二字符的总数与对应参与方的目标数据相等。在一实施例中,第一字符可设置为1,第二字符可设置为0。在其他实施例中,第一字符和第二字符可采用其他两个不同的字符代替。
步骤S230,根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量。
本申请实施例中,通过联合公钥pk对编码向量进行加密处理,得到加密向量ERi,ERi表征第i个参与数据的加密向量。多个参与方具有参与顺序,当前参与方计算出对应的加密向量后,依据参与顺序,将加密向量发送至当前参与方的下一个参与方,以使得当前参与方的下一个参与方进行加密计算,以得到对应的加密向量,再依据参与顺序,将加密向量传输给下一个参与方进行加密计算,直至传输给参与顺序中的结束参与方进行加密计算,得到目标向量,结束参与方计算出目标向量后,将目标向量公开,以使得所有参与方均能获取到目标向量。
步骤S240,获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
本申请实施例中,所有参与方均给出了一个目标数据,该目标数据应当大于等于对应参与方的参与数据集中的任意一个参与数据,将所有参与方的目标数据进行比较,确定最大的目标数据,依据最大的目标数据形成参与方数据集。具体的,参与方数据集可形成以0为开始,最大的目标数据为结束的有序整数数据集,如最大的目标数据为p,形成的参与方数据集为(1,2,3,…,p-1,p),该参与方数据集可表征所有参与方的参与数据均处于该参与方数据集的范围内。
在另一实施例中,各个参与方还可给出另一目标数据,该另一目标数据应当小于等于对应参与方的参与数据集中的任意一个参与数据,将所有参与方的另一目标数据进行比较,确定最小的另一目标数据,依据最小的另一目标数据和如前述的最大的目标数据形成参与方数据集。具体的,如前述的最大的目标数据为p,最小的另一数据为a,形成的参与方数据集为(a,a+1,a+2,…,p-1,p)。
目标向量是经过所有参与方处理,同时,所有参与方在处理时,都依据了自身的参与数据,故每个参与方可依据目标向量评估自身的参与数据在参与数据集中的位置。
本申请实施例中,在整个评估过程中,目标向量是依据参与顺序经过各个参与方进行加密处理得到的,加密处理后,参与数据均没有出对应参与方的本地,各个参与方的参与数据均没有完全分享出去,参与计算的参与数据在各个参与方之间传输时全部处于密文状态,保护了各个参与方的参与数据的隐私,提升了参与数据的安全性。本申请实施例的实现全程都不会外泄明文数据,既保护了各个参与方的商务秘密,也对各个参与方的业务营销提供了有用的数据依据。
在本申请的一个示例性实施例中,请参阅图3,所述编码向量由第一字符和第二字符组成;在步骤S220中所述获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量,包括步骤S310至步骤S330,详细介绍如下:
步骤S310,获取所述当前参与方的目标数据。
本申请实施例中,每个参与方均有一个目标数据,该目标数据能够确定对应参与方的参与数据均小于等于该目标数据。
步骤S320,根据所述目标数据,形成以1为开始、以所述目标数据为结束的有序序列,将所述有序序列作为基准向量。
本申请实施例中,当前参与方i根据对应的目标数据pi,形成有序序列,有序序列为以1为开始,目标数据pi为结束的有序整数序列,可用Bi表示参与方i的有序整数序列,Bi=(1,2,3,…,pi-1,pi),将形成的有序序列作为对应参与方i的基准向量。
步骤S330,将所述参与数据集与所述基准向量进行匹配,将所述基准向量中与所述参与数据集中的参与数据匹配的基准数据设置为第一字符,将所述基准向量中未与所述参与数据集中的参与数据匹配的基准数据设置为第二字符,得到所述当前参与方的编码向量。
本申请实施例中,参与数据集中具有的参与数据个数小于等于基准向量中具有的基准数据个数,且由于参数数据多为正整数,且所有参与数据均小于对应的目标数据,那么参与数据集中的各个参与数据一定存在于基准向量中。将参与数据集与基准向量进行匹配,将基准向量中与参与数据匹配的基准数据设置为第一字符,将基准向量中未与参与数据匹配的基准数据设置为第二字符,进而得到对应的编码向量Ri,编码向量Ri可表示为Ri=(ri1,ri2,…,ri(p-1),ri(p))。如,当前参与方Si的参与数据集为Ai=(5,1,4),对应的目标数据pi为7,那么构建得到的基准向量Bi=(1,2,3,4,5,6,7),将基准向量与参与数据集匹配,进而进行设置得到的编码向量Ri=(1,0,0,1,1,0,0)。
在本申请的一个示例性实施例中,请参阅图4,在步骤S230中所述根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,包括步骤S410至步骤S430,详细介绍如下:
步骤S410,检测所述当前参与方是否为初始参与方。
本申请实施例中,预先设置有参与顺序,根据参与顺序可对各个参与方进行编号,根据当前参与方的编号,即可检测出当前参与方是否为初始参与方。
步骤S420,若所述当前参与方不是初始参与方,依据所述参与顺序获取所述当前参与方的上一个参与方的加密向量。
本申请实施例中,若当前参与方不是初始参与方,当前参与方的上一个参与方会相应的进行加密处理,得到对应的加密向量,不是初始参与方的各个参与方,在进行加密处理时,均需获取对应的上一个参与方的加密向量。
步骤S430,根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
本申请实施例中,对于不是初始参与方的各个参与方而言,进行加密计算时,均需要根据自身对应的编码向量、上一个参与方的加密向量和联合公钥进行加密处理,才能得到加密向量。
本申请中,所有参与方都拿出自身的参与数据依据参与顺序依次进行加密,以得到目标向量,每个参与方的参与数据在传输时,均以密文状态在各个参与方之间传输,保护了各个参与方的参与数据的隐私,提升了参与数据的安全性。本方案实现全程都不会外泄明文数据,既保护了各个参与方的商务秘密,也对各个参与方的业务营销提供了有用的数据依据。
在本申请的一个示例性实施例中,请参阅图5,所述编码向量由第一字符和第二字符组成;在步骤S430中所述根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量,包括步骤S510和步骤S520,详细介绍如下:
步骤S510,通过所述联合公钥对所述当前参与方的编码向量中的第一字符进行加密处理,得到加密字符。
本申请实施例中,在进行加密处理时,当前参与方Si的编码向量Ri中,若编码向量中某个数据rij为第一字符,则通过联合公钥pk对rij进行加密处理,得到加密字符erij,即erij=E(rij)。
步骤S520,根据所述加密字符对所述当前参与方的上一个参与方的加密向量进行更新,得到所述当前参与方的加密向量。
本申请实施例中,加密计算完所有当前参与方的编码向量中的第一字符,通过加密字符对当前参与方的上一个参与方的加密向量进行更新,即通过当前参与方的加密字符erij替换当前参与方的上一个参与方的加密向量ERi-1中的er(i-1)j。若当前参与方的编码向量Ri中rij为第二字符,则当前参与方的上一个参与方的加密向量中的eri-1j保持不变,直接作为当前参与方在加密向量中的对应位置的数据,如当前参与方的编码向量为如前述的Ri=(1,0,0,1,1,0,0),当前参与方的上一个参与方的加密向量为ERi-1=E(Ri-1)=(er(i-1)1,er(i-1)2,…,er(i-1)(n-1),er(i-1)n),对当前参与方的编码向量中的第一字符加密得到ri1、ri4、ri5,使用ri1替换ERi-1中的er(i-1)1,ri4替换ERi-1中的er(i-1)4,ri5替换ERi-1中的er(i-1)5,其余的不变,得到当前参与方的加密向量ERi。
在本申请的一个示例性实施例中,在步骤S410所述检测所述当前参与方是否为初始参与方之后,所述方法还包括:
若所述当前参与方是初始参与方,通过所述联合公钥对所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
本申请实施例中,初始参与方以S1表示,初始参与方S1通过联合公钥pk对初始参与方S1的编码向量R1进行加密处理,得到对应的加密向量ER1,对应的加密向量记为ER1=E(R1)=(er11,er12,…,er1(n-1),er1n)。初始参与方计算出加密向量后,将加密向量传输给第二个参与方S2,第二个参与方S2对收到的加密向量ER1进行处理,即如前述的,若第二个参与方的编码向量R2中r2j为第一字符,则用联合公钥pk加密r2j,即er2j=E(r2j),并用er2j替换初始参与方的加密向量ER1中的er1j;若第二参与方的编码向量R2中r2j为第二字符,则er1j保持不变,变换后的ER1记为ER2,例如,ER2=(er11,er22,…,er2(n-1),er1n)。得到第二个参与方的加密向量,依据参与顺序,后续各个参与方执行如第二参与方一样的步骤,得到各个参与方对应的加密向量,直至结束参与方SN同样执行如第二参与方一样的步骤,得到对应的加密向量ERN。将结束参与方SN的加密向量ERN作为目标向量EZ,最终得到的目标向量中,存在有多个参与方的加密字符,如EZ=(EZ1,EZ2,…,EZn)=(er31,r22,…,er1(n-1),er2n)。
在本申请的一个示例性实施例中,请参阅图6,在步骤S240中所述根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置,包括步骤S610至步骤S630,详细介绍如下:
步骤S610,根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,并公开各个参与数据对应的所述评估向量。
本申请实施例中,在得到目标向量后,各个参与方都可以发起评估其自身的参与数据集中的参与数据在参与方数据集中的位置的请求,当当前参与方需要评估参与数据的位置时,根据目标向量构建参与数据对应的评估向量,每个参与数据构建对应一个评估向量。当当前参与方需要评估参与数据的位置时,可以评估某一个参与数据,也可以评估所有参与数据。
步骤S620,获取其他参与方基于椭圆曲线加密原理对各个参与数据对应的所述评估向量进行计算得到的目标数据。
本申请实施例中,根据椭圆曲线加密原理,加密向量ER是一个点对,是由两部分组成,可表示为ER=(C1,C2),当前参与方将参与数据的评估向量构建出来后,并相应的向其他参与方公开评估向量,其他参与方根据评估向量各自在本地计算目标数据C2i=ski*C2,并公开相应的C2i。
步骤S630,根据各个参与数据对应的目标数据计算各个参与数据对应的评估数据,并根据各个参与数据对应的评估数据在所述参与方数据集中确定对应的所述参与数据的位置。
本申请实施例中,当前参与方根据其他参与方公开的目标数据C2i,计算评估数据将评估数据R与参与方数据集C=(1*G,2*G,…,p*G)中的元素做比较,根据椭圆曲线编码点同态原理,参与方数据集C中一定存在一个点使得目标数据R=w*G,w∈[1,p],w即为参考数据di1在参与方数据集中的位置。
本申请实施例中,当需要评估参与数据的位置时,需要所有参与方分别计算目标数据,即需要所有参与方供共同联合解解密,将对于各个参与方密文联合计算的目标向量要转化到明文空间,需所有参与方联合解密才能实现,这等同于各个参与方牢牢控制住了自身参与数据的使用权。
在本申请的一个示例性实施例中,请参阅图7,所述目标向量包括多个目标向量数据;在步骤S610中所述根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,包括步骤S710和步骤S720,详细介绍如下:
步骤S710,确定各个参与数据在所述目标向量中对应的目标向量数据。
本申请实施例中,目标向量包括多个目标向量数据,如前述的目标向量EZ=(EZ1,EZ2,…,EZn)中的EZ1、EZ2等均为目标向量数据。每个参与数据均可以在目标向量中对应一个目标向量数据,如前述中的参与数据集Ai=(5,1,4),参与数据5在目标向量中对应的目标向量数据为EZ5。
步骤S720,根据各个参与数据对应的目标向量数据,以及在所述目标向量中位于对应的目标向量数据之前的目标向量数据构建对应的参与数据的评估向量。
在本申请的一个示例性实施例中,请参阅图8,图8是根据本申请一示例性实施例示出的一种数据评估方法,包括多个参与方,多个参与方具有原始参与顺序,根据原始参与顺序,多个参与方中具有一个初始参与方和一个结束参与方,数据评估方法包括步骤S810至步骤S880,详细介绍如下:
步骤S810,多个参与方公开自身的参与公钥,各个参与方基于多个参与公钥计算联合公钥。
本申请实施例中,如前述,每个参与方具有各自的参与私钥ski,并依据参与私钥ski计算出各自的参与公钥pki,再将参与公钥pki公开,各个参与方均在本地计算联合公钥pk。
步骤S820,各个参与方基于自身的参与数据集中的参与数据构建对应的编码向量;其中,参与数据集中包括至少一个参与数据。
本申请实施例中,每个参与方针对自身的参与数据集构建对应的编码向量,具体的构建编码向量的过程,在前述已进行说明,在此不进行赘述。
步骤S830,初始参与方通过联合公钥对对应的编码向量进行加密处理,得到对应的加密向量,并将加密向量依据编码顺序传输给下一个参与方。
本申请实施例中,多个参与方预先设置有参与顺序,根据参与顺序,位于第一个的参与方为初始参与方,位于最后一个的参与方为结束参与方,初始参与方先通过联合公钥对对应的编码向量进行加密处理,以得到对应的加密向量。
在另一个实施例中,当某一个参与方想要评估自身的参与数据时,将该参与方作为待评估参与方,在评估过程中,将待评估参与方作为初始参与方,然后将其他参与方依据原始参与顺序,重新确定参与顺序,将原始参与顺序中的初始参与方作为原始参与顺序中的结束参与方的下一个参与方,进而根据重新确定的参与顺序确定结束参与方。
步骤S840,除初始参与方的各个参与方依据编码顺序依次执行获取上一个参与方的加密向量,并根据上一个参与方的加密向量、所述联合公钥,以及自身的编码向量进行加密处理,得到对应的加密向量,直至结束参与方加密处理后得到对应的加密向量。
本申请实施例中,依据参与顺序,每个参与方均根据接收到的上一个参与方的加密向量、自身的编码向量和联合公钥进行加密处理,直到结束参与方加密处理完成,得到对应的加密向量。具体的加密处理过程在前述已进行说明,在此不进行赘述。
步骤S850,结束参与方将对应的加密向量作为目标向量,并公开目标向量。
本申请实施例中,结束参与方在得到对应的加密向量后,将对应的加密向量作为目标向量,并公开目标向量,以使得其他参与方能够知晓该目标向量。
步骤S860,待评估参与方根据目标向量构建待评估参与数据的评估向量,并公开评估向量。
本申请实施例中,待评估参与方根据目标向量构建待评估参与数据的评估向量,并向其他参与方公开评估向量。
步骤S870,各个参与方根据评估向量计算目标数据,并公开目标数据。
本申请实施例中,各个参与均拿到评估向量后,基于椭圆曲线加密原理对评估向量进行计算,得到目标数据,并公开自身计算到的目标数据。
步骤S880,待评估参与方根据多个目标数据在参与方数据集中确定对应的待评估参与数据的位置。
本申请实施例中,待评估参与方根据其他参与方公开的目标数据,计算评估数据,将待评估参与数据与参与方数据集中的元素做比较,根据椭圆曲线编码点同态原理,参与方数据集C中一定存在一个点使得目标数据R=w*G,w∈[1,p],w即为待评估参与数据在参与方数据集中的位置。
本申请实施例中,在整个评估过程中,目标向量是依据参与顺序经过各个参与方进行加密处理得到的,加密处理后,参与数据均没有出对应参与方的本地,各个参与方的参与数据均没有完全分享出去,参与计算的参与数据在各个参与方之间传输时全部处于密文状态,保护了各个参与方的参与数据的隐私,提升了参与数据的安全性。本申请实施例的实现全程都不会外泄明文数据,既保护了各个参与方的商务秘密,也对各个参与方的业务营销提供了有用的数据依据。当需要评估参与数据的位置时,需要所有参与方分别计算目标数据,即需要所有参与方共同联合解解密,将对于各个参与方密文联合计算的目标向量要转化到明文空间,需所有参与方联合解密才能实现,这等同于各个参与方牢牢控制住了自身参与数据的使用权。
在本申请的一个示例性实施例中,请参阅图9,图9是根据本申请一示例性实施例示出的一种数据评估装置,包括:
第一获取模块910,配置为获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;
第二获取模块920,配置为获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据;
加密处理模块930,配置为根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;
评估模块940,配置为获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
在本申请的一个示例性实施例中,所述编码向量由第一字符和第二字符组成;所述第二获取模块920,包括:
第一获取子模块,配置为获取所述当前参与方的目标数据;
形成子模块,配置为根据所述目标数据,形成以1为开始、以所述目标数据为结束的有序序列,将所述有序序列作为基准向量;
匹配子模块,配置为将所述参与数据集与所述基准向量进行匹配,将所述基准向量中与所述参与数据集中的参与数据匹配的基准数据设置为第一字符,将所述基准向量中未与所述参与数据集中的参与数据匹配的基准数据设置为第二字符,得到所述当前参与方的编码向量。
在本申请的一个示例性实施例中,所述加密处理模块930,包括:
检测子模块,配置为检测所述当前参与方是否为初始参与方;
第二获取子模块,配置为若所述当前参与方不是初始参与方,依据所述参与顺序获取所述当前参与方的上一个参与方的加密向量;
第一加密处理子模块,配置为根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
在本申请的一个示例性实施例中,所述编码向量由第一字符和第二字符组成;所述第一加密处理子模块,包括:
加密处理单元,配置为通过所述联合公钥对所述当前参与方的编码向量中的第一字符进行加密处理,得到加密字符;
更新单元,配置为根据所述加密字符对所述当前参与方的上一个参与方的加密向量进行更新,得到所述当前参与方的加密向量。
在本申请的一个示例性实施例中,所述数据评估装置还包括:
第二加密处理子模块,配置为若所述当前参与方是初始参与方,通过所述联合公钥对所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
在本申请的一个示例性实施例中,所述评估模块940,包括:
构建子模块,配置为根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,并公开各个参与数据对应的所述评估向量;
第三获取子模块,配置为获取其他参与方基于椭圆曲线加密原理对各个参与数据对应的所述评估向量进行计算得到的目标数据;
计算子模块,配置为根据各个参与数据对应的目标数据计算各个参与数据对应的评估数据,并根据各个参与数据对应的评估数据在所述参与方数据集中确定对应的所述参与数据的位置。
在本申请的一个示例性实施例中,所述目标向量包括多个目标向量数据;所述构建子模块,包括:
确定单元,配置为确定各个参与数据在所述目标向量中对应的目标向量数据;
构建单元,配置为根据各个参与数据对应的目标向量数据,以及在所述目标向量中位于对应的目标向量数据之前的目标向量数据构建对应的参与数据的评估向量。
需要说明的是,上述实施例所提供的数据评估装置与上述实施例所提供的数据评估方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的数据评估方法。
图10示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(Central Processing Unit,CPU)1001,其可以根据存储在只读存储器(Read-Only Memory,ROM)1002中的程序或者从储存部分1008加载到随机访问存储器(Random Access Memory,RAM)1003中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(Input/Output,I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1007;包括硬盘等的储存部分1008;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入储存部分1008。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前所述的方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (10)
1.一种数据评估方法,其特征在于,包括:
获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;
获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据;根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;
获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
2.如权利要求1所述的方法,其特征在于,所述编码向量由第一字符和第二字符组成;所述获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量,包括:
获取所述当前参与方的目标数据;
根据所述目标数据,形成以1为开始、以所述目标数据为结束的有序序列,将所述有序序列作为基准向量;
将所述参与数据集与所述基准向量进行匹配,将所述基准向量中与所述参与数据集中的参与数据匹配的基准数据设置为第一字符,将所述基准向量中未与所述参与数据集中的参与数据匹配的基准数据设置为第二字符,得到所述当前参与方的编码向量。
3.如权利要求1所述的方法,其特征在于,所述根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,包括:
检测所述当前参与方是否为初始参与方;
若所述当前参与方不是初始参与方,依据所述参与顺序获取所述当前参与方的上一个参与方的加密向量;
根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
4.如权利要求3所述的方法,其特征在于,所述编码向量由第一字符和第二字符组成;所述根据所述当前参与方的上一个参与方的加密向量、所述联合公钥,以及所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量,包括:
通过所述联合公钥对所述当前参与方的编码向量中的第一字符进行加密处理,得到加密字符;
根据所述加密字符对所述当前参与方的上一个参与方的加密向量进行更新,得到所述当前参与方的加密向量。
5.如权利要求3所述的方法,其特征在于,在所述检测所述当前参与方是否为初始参与方之后,所述方法还包括:
若所述当前参与方是初始参与方,通过所述联合公钥对所述当前参与方的编码向量进行加密处理,得到所述当前参与方的加密向量。
6.如权利要求1所述的方法,其特征在于,所述根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置,包括:
根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,并公开各个参与数据对应的所述评估向量;
获取其他参与方基于椭圆曲线加密原理对各个参与数据对应的所述评估向量进行计算得到的目标数据;
根据各个参与数据对应的目标数据计算各个参与数据对应的评估数据,并根据各个参与数据对应的评估数据在所述参与方数据集中确定对应的所述参与数据的位置。
7.如权利要求6所述的方法,其特征在于,所述目标向量包括多个目标向量数据;所述根据所述目标向量构建所述参与数据集中的各个参与数据对应的评估向量,包括:
确定各个参与数据在所述目标向量中对应的目标向量数据;
根据各个参与数据对应的目标向量数据,以及在所述目标向量中位于对应的目标向量数据之前的目标向量数据构建对应的参与数据的评估向量。
8.一种数据评估装置,其特征在于,包括:
第一获取模块,配置为获取当前参与方和其他参与方各自的参与公钥,并根据当前参与方和其他参与方各自的参与公钥计算联合公钥;
第二获取模块,配置为获取当前参与方的参与数据集,并根据所述参与数据集构建所述当前参与方的编码向量;其中,所述参与数据集中包括至少一个参与数据;
加密处理模块,配置为根据所述联合公钥和所述当前参与方的编码向量进行加密处理,得到加密向量,并将所述加密向量按照参与顺序传输给其他参与方,以使得其他参与方依次根据接收到的加密向量和自身的编码向量,以及所述联合公钥进行加密处理,直至结束参与方加密处理完成,得到目标向量;
评估模块,配置为获取参与方数据集,根据所述目标向量评估所述参与数据集中各个参与数据在所述参与方数据集中的位置;其中,所述参与方数据集基于所有参与方的目标数据确定而成。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至7中任一项所述的数据评估方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至7中任一项所述的数据评估方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094032.3A CN115455495A (zh) | 2022-09-07 | 2022-09-07 | 数据评估方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211094032.3A CN115455495A (zh) | 2022-09-07 | 2022-09-07 | 数据评估方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115455495A true CN115455495A (zh) | 2022-12-09 |
Family
ID=84302800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211094032.3A Pending CN115455495A (zh) | 2022-09-07 | 2022-09-07 | 数据评估方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115455495A (zh) |
-
2022
- 2022-09-07 CN CN202211094032.3A patent/CN115455495A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021197037A1 (zh) | 双方联合进行数据处理的方法及装置 | |
US20230087864A1 (en) | Secure multi-party computation method and apparatus, device, and storage medium | |
CN110851869B (zh) | 敏感信息处理方法、设备及可读存储介质 | |
US20170359321A1 (en) | Secure Data Exchange | |
CN110991655B (zh) | 多方联合进行模型数据处理的方法及装置 | |
CN113033828B (zh) | 模型训练方法、使用方法、系统、可信节点及设备 | |
CN113162752B (zh) | 基于混合同态加密的数据处理方法和装置 | |
CN113032840A (zh) | 一种数据处理方法、装置、设备及计算机可读存储介质 | |
CN110912713A (zh) | 多方联合进行模型数据处理的方法及装置 | |
CN116204912B (zh) | 基于全同态加密的数据处理方法和装置 | |
US20220210140A1 (en) | Systems and methods for federated learning on blockchain | |
CN115037477A (zh) | 一种基于区块链的联邦学习隐私保护方法 | |
US11190336B2 (en) | Privacy-preserving benchmarking with interval statistics reducing leakage | |
US20240048360A1 (en) | Method for processing multi-source data | |
CN111586142A (zh) | 一种安全多方计算方法及系统 | |
CN114584294A (zh) | 不经意分散排列方法及装置 | |
CN116502732B (zh) | 基于可信执行环境的联邦学习方法以及系统 | |
CN112818369A (zh) | 一种联合建模方法及装置 | |
CN114337994A (zh) | 数据处理方法、装置及系统 | |
CN113901500B (zh) | 图拓扑嵌入方法、装置、系统、设备及介质 | |
CN114866312B (zh) | 一种保护数据隐私的共有数据确定方法及装置 | |
CN115455495A (zh) | 数据评估方法及装置、电子设备、存储介质 | |
WO2022110716A1 (zh) | 冷启动推荐方法、装置、计算机设备及存储介质 | |
CN113806760B (zh) | 获取特征间相关系数方法、装置、电子设备及存储介质 | |
CN115599959A (zh) | 数据共享方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |