一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

用于样本对齐的方法和装置与流程

2022-03-23 07:03:18 来源:中国专利 TAG:


1.本技术涉及信息安全领域,尤其涉及一种用于样本对齐的方法和装置。


背景技术:

2.随着大数据的发展,重视数据隐私和安全已经成为了世界性的趋势。企业之间为达成合作,可以通过将双方的样本数据进行加密对齐,使得双方的数据特征可以结合在一起,并通过机器学习来提高各自产品购买的转化率。
3.但是,在上述样本对齐过程中,存在参与方数据泄露的风险,即样本对齐的安全性较低。


技术实现要素:

4.本技术提供一种用于样本对齐的方法和装置,有利于提高样本对齐的安全性。
5.第一方面,提供了一种用于样本对齐的方法,包括:第一设备接收来自第二设备的x个哈希值中每个哈希值的前m位元素,x为大于或等于1的整数,m小于n,n为预设哈希算法的输出长度,且n为大于1的整数;第一设备在已有的y个样本数据的基础之上,生成s个混淆样本数据,并按照上述预设哈希算法,对上述s个混淆样本数据进行哈希运算,获得s个哈希值,y和s为大于或等于1的整数;在上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素均不相同的情况下,第一设备采用上述y个样本数据和上述s个混淆样本数据与第二设备进行样本对齐。
6.在本技术中,第一设备可以在已有的y个样本数据的基础之上,生成s个混淆样本数据和该s个混淆样本对应的哈希值,并基于该已有的样本数据和混淆样本数据与第二设备进行样本对齐,降低了在后续样本对齐过程中第二设备或者第三方推出私钥,导致第一设备的真实样本数据(即上述已有的y个样本数据)被泄露的风险。此外,在第一设备生成上述s个混淆样本之前,第二设备向第一设备发送了其样本数据的哈希值前m位元素,使得第一设备生成的s个混淆样本数据的哈希值的前m位可以与第二设备的样本数据的哈希值的前m为元素不同。换句话说,上述s个混淆样本数据为第二设备的样本数据之外的样本数据,避免了在后续样本对齐过程中,由于混淆样本数据和第二设备的样本数据相同,导致的样本对齐结果有误的问题。
7.结合第一方面,在第一方面的某些实现方式中,上述第一设备采用上述y个样本数据和上述s个混淆样本数据与所上述第二设备进行样本对齐,包括:第一设备按照预设哈希算法,分别对上述y个样本数据和上述s个混淆样本数据进行哈希运算,获得y s个哈希值;第一设备采用私钥对上述y s个哈希值进行加密,获得第一加密数据,并向上述第二设备发送上述第一加密数据;第一设备接收来自所上述第二设备的样本对齐结果,该样本对齐结果是基于上述第一加密数据确定的。
8.结合第一方面,在第一方面的某些实现方式中,上述样本对齐结果是基于上述第一加密数据和第二加密数据的交集确定的;在上述第一设备采用私钥对上述y s个哈希值
进行加密,并向上述第二设备发送加密后的结果之前,上述方法还包括:上述第一设备接收来自上述第二设备的所述x个哈希值;上述第一设备采用私钥对上述x个哈希值进行加密,获得上述第二加密数据,并向上述第二设备发送上述第二加密数据。
9.结合第一方面,在第一方面的某些实现方式中,上述方法还包括:上述第一设备判断上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素是否相同;在上述s个哈希值中存在第一哈希值的前m位元素与上述x个哈希值中第二哈希值的前m位元素相同的情况下,上述第一设备重新生成混淆样本数据。
10.第二方面,提供了又一用于样本对齐的方法,包括:第二设备按照预设哈希算法,对x个样本数据进行哈希运算,获得x个哈希值,x为大于或等于1的整数,n为上述预设哈希算法的输出长度,且n为大于1的整数;上述第二设备向第一设备发送上述x个哈希值中每个哈希值的前m位元素,m小于n。
11.在本技术中,第二设备向第一设备发送了其样本数据的哈希值前m位元素,使得后续第一设备生成的s个混淆样本数据的哈希值的前m位可以与第二设备的样本数据的哈希值的前m为元素不同。换句话说,上述s个混淆样本数据为第二设备的样本数据之外的样本数据,避免了在后续样本对齐过程中,由于混淆样本数据和第二设备的样本数据相同,导致的样本对齐结果有误的问题。
12.结合第二方面,在第一方面的某些实现方式中,上述方法还包括:上述第二设备接收来自上述第一设备的第一加密数据,上述第一加密数据是上述第一设备按照预设哈希算法分别对y s个样本数据进行哈希运算,获得y s个哈希值,并采用私钥对上述y s个哈希值进行加密得到的,y和s为大于或等于1的整数;上述第二设备基于上述第一加密数据,确定样本对齐结果;上述第二设备向上述第一设备发送上述样本对齐结果。
13.结合第二方面,在第一方面的某些实现方式中,在上述第二设备接收来自上述第一设备的第一加密数据之前,上述方法还包括:
14.上述第二设备向上述第一设备发送上述x个哈希值;上述第二设备接收第二加密数据,上述第二加密数据是上述第一设备采用私钥对上述x个哈希值进行加密得到的;上述第二设备基于上述第一加密数据,确定样本对齐结果,包括:上述第二设备基于上述第一加密数据和第二加密数据的交集,确定上述样本对齐结果。
15.第三方面,提供了一种用于样本对齐的装置,包括收发模块和处理模块,其中收发模块用于:接收来自第二设备的x个哈希值中每个哈希值的前m位元素,x为大于或等于1的整数,m小于n,n为预设哈希算法的输出长度,且n为大于1的整数;处理模块用于:在已有的y个样本数据的基础之上,生成s个混淆样本数据,并按照上述预设哈希算法,对该s个混淆样本数据进行哈希运算,获得s个哈希值,y和s为大于或等于1的整数;以及,在上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素均不相同的情况下,采用上述y个样本数据和上述s个混淆样本数据与上述第二设备进行样本对齐。
16.结合第三方面,在第三方面的某些实现方式中,上述处理模块用于:按照预设哈希算法,分别对上述y个样本数据和上述s个混淆样本数据进行哈希运算,获得y s个哈希值;采用私钥对所述y s个哈希值进行加密,获得第一加密数据,并向上述第二设备发送上述第一加密数据;上述收发模块用于:接收来自上述第二设备的样本对齐结果,该样本对齐结果是基于上述第一加密数据确定的。
17.结合第三方面,在第三方面的某些实现方式中,上述样本对齐结果是基于上述第一加密数据和第二加密数据的交集确定的;上述收发模块用于:接收来自上述第二设备的所述x个哈希值;上述处理模块用于:采用私钥对所述x个哈希值进行加密,获得上述第二加密数据,并向上述第二设备发送上述第二加密数据。
18.结合第三方面,在第三方面的某些实现方式中,上述处理模块用于:判断上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素是否相同;在上述s个哈希值中存在第一哈希值的前m位元素与上述x个哈希值中第二哈希值的前m位元素相同的情况下,重新生成混淆样本数据。
19.第四方面,提供了一种用于样本对齐的装置,包括处理模块和收发模块,其中处理模块用于:按照预设哈希算法,对x个样本数据进行哈希运算,获得x个哈希值,x为大于或等于1的整数,n为上述预设哈希算法的输出长度,且n为大于1的整数;收发模块用于:向第一设备发送上述x个哈希值中每个哈希值的前m位元素,m小于n。
20.结合第四方面,在第四方面的某些实现方式中,上述收发模块用于:接收来自上述第一设备的第一加密数据,上述第一加密数据是上述第一设备按照预设哈希算法分别对y s个样本数据进行哈希运算,获得y s个哈希值,并采用私钥对上述y s个哈希值进行加密得到的,y和s为大于或等于1的整数;上述处理模块用于:基于上述第一加密数据,确定样本对齐结果;上述收发模块还用于:向上述第一设备发送上述样本对齐结果。
21.结合第四方面,在第四方面的某些实现方式中,上述收发模块用于:向上述第一设备发送上述x个哈希值;以及,接收第二加密数据,上述第二加密数据是上述第一设备采用私钥对上述x个哈希值进行加密得到的;上述处理模块用于:基于上述第一加密数据和第二加密数据的交集,确定上述样本对齐结果。
22.第五方面,提供了一种处理器,包括:输入电路、输出电路和处理电路。处理电路用于通过输入电路接收信号,并通过输出电路发射信号,使得处理器执行上述第一方面或第二方面中任一种可能实现方式中的方法。
23.在具体实现过程中,上述处理器可以为芯片,输入电路可以为输入管脚,输出电路可以为输出管脚,处理电路可以为晶体管、门电路、触发器和各种逻辑电路等。输入电路所接收的输入的信号可以是由例如但不限于接收器接收并输入的,输出电路所输出的信号可以是例如但不限于输出给发射器并由发射器发射的,且输入电路和输出电路可以是同一电路,该电路在不同的时刻分别用作输入电路和输出电路。本技术实施例对处理器及各种电路的具体实现方式不做限定。
24.第六方面,提供了一种处理装置,包括处理器和存储器。该处理器用于读取存储器中存储的指令,并可通过接收器接收信号,通过发射器发射信号,以执行上述第一方面或第二方面中任一种可能实现方式中的方法。
25.可选地,处理器为一个或多个,存储器为一个或多个。
26.可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
27.在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
28.上述第六方面中的处理装置可以是一个芯片,该处理器可以通过硬件来实现也可以通过软件来实现,当通过硬件实现时,该处理器可以是逻辑电路、集成电路等;当通过软件来实现时,该处理器可以是一个通用处理器,通过读取存储器中存储的软件代码来实现,该存储器可以集成在处理器中,可以位于该处理器之外,独立存在。
29.第七方面,提供了一种计算机程序产品,计算机程序产品包括:计算机程序(也可以称为代码,或指令),当计算机程序被运行时,使得计算机执行上述第一方面或第二方面中任一种可能实现方式中的方法。
30.第八方面,提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序(也可以称为代码,或指令)当其在计算机上运行时,使得计算机执行上述第一方面或第二方面中任一种可能实现方式中的方法。
附图说明
31.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
32.图1是本技术实施例提供的应用场景的示意图;
33.图2是本技术实施例提供的用于样本对齐的方法的示意性流程图;
34.图3是本技术实施例提供的又一用于样本对齐的方法的示意性流程图;
35.图4是本技术实施例提供的又一用于样本对齐的方法的示意性流程图;
36.图5是本技术实施例提供的用于样本对齐的装置的示意图;
37.图6是本技术实施例提供的又一用于样本对齐的装置的示意图。
具体实施方式
38.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在根据本实施例的启示下做出的所有其他实施例,都属于本技术保护的范围。
39.随着大数据的发展,重视数据隐私和安全已经成为了世界性的趋势。企业之间为达成合作,可以通过将双方的样本数据进行加密对齐,使双方的数据特征可以结合在一起,并通过机器学习来提高各自产品购买的转化率。
40.图1示出了应用场景100,包括参与者a和参与者b,其中,参与者a和参与者b可以通过加密样本对齐协议实现样本对齐,并可以将该样本对齐的结果作为机器学习的输入,基于该机器学习的输出指导自身发展。
41.图2示出了现有的用于样本对齐的方法200的示意性流程图。应理解,图1所示的参与者a和参与者可以通过对应设备执行方法200对应的步骤,本技术实施例将参与者a对应的设备称为“第二设备”,将参与者b对应的设备称为“第一设备”。如图2所示,该方法200包括下列步骤:
42.s201、第一设备向第二设备发送公钥。对应地,参与者a接收来自参与者b的公钥。
43.s202、第二设备使用上述公钥加密其样本数据。
44.s203、第一设备使用私钥加密其样本数据。
45.s204、第一设备向第二设备发送上述私钥加密后的样本数据。对应地,第二设备接收来自参第一设备的私钥加密后的样本数据。
46.s205、第二设备基于上述私钥加密后的样本数据第和公钥加密后的样本数据交集,确定样本对齐结果。
47.s206、第二设备向第一设备发送上述样本对齐结果。对应地,第一设备接收来自第二设备的样本对齐结果。
48.在上述双方样本数据对齐过程中,可能存在其中一方(如第二设备)或者第三方(第一设备和第二设备之外的窃听者)通过公钥推导出私钥的风险,导致其中的另一方(如第一设备)的数据泄露的问题,即样本对齐的安全性较低。
49.有鉴于此,本技术提供了一种用于样本对齐的方法和装置,第一设备可以在已有的y个样本数据的基础之上,生成s个混淆样本数据和该s个混淆样本对应的哈希值,并基于该已有的样本数据和混淆样本数据与第二设备进行样本对齐,降低了在后续样本对齐过程中第二设备或者第三方设备推出私钥,导致第一设备的真实样本数据(即上述已有的y个样本数据)被泄露的风险,有利提高样本对齐的安全性。此外,在第一设备生成上述s个混淆样本之前,第二设备向第一设备发送了其样本数据的哈希值前m位元素,使得第一设备生成的s个混淆样本数据的哈希值的前m位可以与第二设备的样本数据的哈希值的前m为元素不同。换句话说,上述s个混淆样本数据为第二设备的样本数据之外的样本数据,避免了在后续样本对齐过程中,由于混淆样本数据和第二设备的样本数据相同,导致的样本对齐结果有误的问题。
50.在介绍本技术实施例提供的用于样本对齐的方法和装置之前,先做出以下几点说明。
51.第一,在下文示出的实施例中,各术语及英文缩略语,均为方便描述而给出的示例性举例,不应对本技术构成任何限定。本技术并不排除在已有或未来的协议中定义其它能够实现相同或相似功能的术语的可能。
52.第二,在下文示出的实施例中第一、第二以及各种数字编号仅为描述方便进行的区分,并不用来限制本技术实施例的范围。
53.第三,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a、b和c中的至少一项(个),可以表示:a,或b,或c,或a和b,或a和c,或b和c,或a、b和c,其中a,b,c可以是单个,也可以是多个。
54.为了使本技术的目的、技术方案更加清楚直观,下面将结合附图及实施例,对本技术提供的用于样本对齐的方法和装置进行详细说明。应理解,此处所描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.图3是本技术实施例提供的用于样本对齐的方法300的示意性流程图。
56.如图3所示,该方法300可以包括下列步骤:
57.s301、第二设备按照预设哈希算法,对x个样本数据进行哈希运算,获得x个哈希值。
58.应理解,x为大于或等于1的整数,n为上述预设哈希算法的输出长度,且n为大于1的整数。
59.示例性地,上述x为4,即上述第二设备的样本数据可以包括样本数据u1、样本数据u2、样本数据u3和样本数据u4,也可以将该4个样本数据表示为xa:{u1,u2,u3,u4}。
60.表一示出了上述样本数据xa:{u1,u2,u3,u4}对应的哈希值。
61.表一
62.样本哈希值u11010101010u21111000010u30101010101u40111010010
63.如表一所示,样本数据u1对应的哈希值为1010101010,样本数据u2对应的哈希值为1111000010,样本数据u3对应的哈希值为0101010101,以及样本数据u4对应的哈希值为0111010010。
64.应理解,表一示出的哈希值的长短仅仅为示例性的,在实操过程中样本数据对应的哈希值的长短可能超出上述表二示出,本技术对此不做限定。
65.s302、第二设备向第一设备发送上述x个哈希值中每个哈希值的前m位元素。对应地,第一设备接收来自第二设备的x个哈希值中每个哈希值的前m位元素。
66.应理解,m小于n。
67.示例性地,n等于5,且第二设备拥有上述样本数据xa:{u1,u2,u3,u4},第二设备可以取样本数据xa:{u1,u2,u3,u4}中每个样本数据对应的哈希值的前5位元素10101,11110,01010和01110,并将该多个哈希值的前5位元素发送至第一设备。
68.在一种可能的实现方式中,第二设备通过列表的形式将上述多个哈希值的前5位元素发送至第一设备。
69.表二示出了样本数据xa:{u1,u2,u3,u4}对应哈希值的前5位元素。
70.表二
71.哈希值的前5位元素10101111100101001110
72.如表二所示,第一设备可以获得四个哈希值的前5位元素分别为10101、11110、01010和01110,进而还可以确定第二设备的样本数据的个数为4,即上述x取值为4。
73.在另一种可能的实现方式中,第二设备也可以通过元素串的形式将上述多个哈希值的前5位元素发送至第一设备。
74.在一种可能的情况下,第二设备通知了第一设备上述m的取值为5。第二设备将上述样本数据xa:{u1,u2,u3,u4}对应的哈希值的前5位元素可以表示为元素串
10101111100101001110,并将该元素串发送给第一设备。第一设备可以将上述元素串从左到右每5位元素确定为上述第一设备的一个样本数据的哈希值的前5位元素,即10101为一个样本数据的哈希值的前5位元素,11110为一个样本数据的哈希值的前5位元素,01010为一个样本数据的哈希值的前5位元素,以及01110为一个样本数据的哈希值的前5为元素。
75.在另一种可能的情况中,第二设备未通知第一设备上述m的取值,第二设备可以将上述样本数据xa:{u1,u2,u3,u4}对应的哈希值的前5位元素表示为元素串10101 11110 01010 01110,并将该元素串发送给第一设备。第一设备可以基于上述空格
“”
确定上述m的取值为5,并确定10101为一个样本数据的哈希值的前5位元素,11110为一个哈希值的前5位元素,01010为一个哈希值的前5位元素,以及01110为一个哈希值的前5为元素
76.应理解,上述空格还可以换成逗号等其他符号,本技术对此不作限定。
77.应理解,上述发送至第一设备的多个哈希值的前5位元素之间的先后顺序是按照对应样本数据在总样本数据中的顺序进行排列的,即元素10101对应样本数据xa:{u1,u2,u3,u4}中的u1,元素11110对应样本数据xa:{u1,u2,u3,u4}中的u2,元素01010对应样本数据xa:{u1,u2,u3,u4}中的u3,以及元素01110对应样本数据xa:{u1,u2,u3,u4}中的u4。除此之外,上述多个哈希值的前为5位元素之间也可以乱序排列,本技术对此不做限定。
78.应理解,第二设备向第一设备发送的哈希值的元素的个数越多,即m的取值越大,自身数据(如上述样本数据xa:{u1,u2,u3,u4})被泄露的风险越大,发送的哈希值的元素的个数越少,即m的取值越小,自身数据被泄露的风险越小。即第二设备可以根据自身对数据安全的要求,设置上述m的取值。
79.s303、第一设备在已有的y个样本数据的基础之上,生成s个混淆样本数据,并按照所述预设哈希算法,对上述s个混淆样本数据进行哈希运算,获得s个哈希值。
80.应理解,y和s为大于或等于1的整数。
81.示例性地,y等于4,即第一设备的样本数据可以包括样本数据u1,样本数据u2,样本数据u3,和样本数据u5,也可以将该第一设备的样本数据表示为xb:{u1,u2,u3,u5}。s可以等于2,即上述混淆样本数据可以包括混淆样本数据u6和混淆样本数据u7。
82.示例性地,第一设备按照上述预设哈希算法,对上述两个混淆样本数据u6和u7进行哈希运算,获得混淆样本数据u6和u7对应的哈希值。
83.表三示出了混淆样本数据和对应的哈希值。
84.表三
85.混淆样本数据哈希值u61111110101u70000011001
86.如表三所示,混淆样本数据u6对应的哈希值为1111110101,混淆样本数据u7对应的哈希值为0000011001。
87.同上,表三示出的哈希值的长短仅仅为示例性的,本技术对此不做限定。
88.s304、在上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素均不相同的情况下,第一设备采用上述y个样本数据和上述s个混淆样本数据与上述第二设备进行样本对齐。
89.示例性地,如表三所示,混淆样本数据u6对应的哈希值的前5位元素11111,混淆样
本数据u7对应的哈希值的前5位元素为00000。第一设备可以将该混淆样本数据u6对应的哈希值的前5位元素11111,分别与表二中示出的哈希值的前5位元素10101、11110、01010和01110逐一进行比对,确定该u6对应的哈希值的前5位元素与表二中示出的每个哈希值前5位元素均不相同。同上,第一设备将混淆样本数据u7对应的哈希值的前5位元素00000,分别与表二中示出的哈希值的前5位元素10101、11110、01010和01110逐一进行比对,确定该u7对应的哈希值的前5位元素与表二中示出的每个哈希值前5位元素也均不相同。第一设备可以将已有的样本数据u1,u2,u3,u5和混淆样本数据u6和u7表示为新的样本数据xb′
:{u1,u2,u3,u5,u6,u7},并基于该新的样本数据xb′
:{u1,u2,u3,u5,u6,u7}与上述第二设备进行样本对齐。
90.可选地,在上述混淆样本数据u6和/或u7的哈希值中存在哈希值的前m位元素与所述表二示出的多个哈希值中任一哈希值的前m位元素相同的情况下,表明当前混淆样本数据u6和/或u7生成失败,第一设备需要重新生成混淆样本数据,即执行上述s303,直到生成的混淆样本数据的哈希值的前m为元素和第二设备的样本数据的哈希值的前m为元素不相同。
91.应理解,第一设备生成的混淆样本数据的个数越多,即s的取值越大,其自身数据(如其自身已有的样本数据xb:{u1,u2,u3,u5})被泄露的风险越小,第一设备生成的混淆样本数据的个数越少,即s的取值越小,自身数据被泄露的风险越大。即第一设备可以根据自身对数据安全的要求,设置上述s的取值。
92.在本技术实施例中,第一设备可以在已有的y个样本数据的基础之上,生成s个混淆样本数据和该s个混淆样本对应的哈希值,并基于该已有的样本数据和混淆样本数据与第二设备进行样本对齐,降低了在后续样本对齐过程中第二设备或者第三方推出私钥,导致第一设备的真实样本数据(即上述已有的y个样本数据)被泄露的风险,有利提高样本对齐的安全性。此外,在第一设备生成上述s个混淆样本之前,第二设备向第一设备发送了其样本数据的哈希值前m位元素,使得第一设备生成的s个混淆样本数据的哈希值的前m位可以与第二设备的样本数据的哈希值的前m为元素不同。换句话说,上述s个混淆样本数据为第二设备的样本数据之外的样本数据,避免了在后续样本对齐过程中,由于混淆样本数据和第二设备的样本数据相同,导致的样本对齐结果有误的问题。
93.下面,以y的取值为4,s的取值为2,x的取值为4,结合图4对上述s304中第一设备采用上述y个样本数据和上述s个混淆样本数据与上述第二设备进行样本对齐进行详细地描述。图4示出了本技术实施例提供样本对齐方法400的示意性流程图,该方法400可以包括下列步骤:
94.s401、第一设备向第二设备发送公钥。对应地,第二设备接收来自第一设备的公钥。
95.s402、第二设备向第一设备发送上述x个哈希值。对应地,第一设备接收来自第二设备的上述x个哈希值。
96.应理解,为降低第二设备的样本数据被泄露的风险,上述x个哈希值中还加入了对于第一设备未知的随机数。
97.示例性地,在第一设备的样本数据为上述s301示出的xa:{u1,u2,u3,u4}的情况下,第二设备向第一设备发送的四个哈希值可以用公式ya=r
ie
*h(ui)表示,其中ui∈xa,ri为随机数,e为公钥。
98.s403、第一设备采用私钥对上述x个哈希值进行加密,获得第二加密数据。
99.示例性地,上述第二加密数据可以通过公式za=(ya)d=(r
ie
*h(ui))d=ri*(h(ui))d%n获得,其中ya=r
ie
*h(ui)为上述第二设备向第一设备的发送的四个哈希值,d和n为私钥。
100.s404、第一设备向第二设备发送上述第二加密数据。对应地,第二设备接收来自第一设备的第二加密数据。
101.s405、第一设备按照哈希算法,分别对上述y个样本数据和上述s个混淆样本数据进行哈希运算,获得y s个哈希值。
102.示例性地,同上述s303示出的y s个样本数据xb′
:{u1,u2,u3,u5,u6,u7},第一设备可以对样本数据xb′
:{u1,u2,u3,u5,u6,u7}进行哈希运算,获得的y s个哈希值,该y s个哈希值可以通过公式h(ui)表示,其中ui∈xb′

103.s406、第一设备采用私钥对上述y s个哈希值进行加密,获得第一加密数据。
104.示例性地,上述第一加密数据可以通过公式zb′
=h((h(ui))d)获得,其中ui∈xb′

105.s407、第一设备向第二设备发送上述第一加密数据。对应地,第二设备接收来自第一设备的第一加密数据。
106.s408、第二设备基于第一加密数据和第二加密数据的交集,确定样本对齐结果。
107.示例性地,上述第一加密数据和第二加密数据的交集,即样本对齐结果可以通过公式i=da∩zb=={h((h(u1))d),h((h(u2))d),h((h(u3))d)}获得,也可以表示为其中da可以通过公式获得。
108.s409、第二设备向第一设备发送上述样本对齐结果。对应地,第一设备接收来自第二设备的样本对齐结果。
109.可选地,在第一设备获得上述样本对齐结果后,可以直接将该样本对齐结果确定为最终的样本对齐结果。或者,第一设备还可以将该样本对齐结果与自身样本数据进行比对,确定最终的样本对齐结果。
110.在本技术实施例中,由于第二设备提前向第一设备发送了其样本数据的哈希值的前m位元素,使得第一设备可以生成该第二设备的样本数据之外的混淆样本数据,进而获取准确的样本对齐结果。此外,混淆样本数据的加入也避免了在样本对应过程中第一设备的真实样本数据的泄露,实现了安全高效的样本对齐。
111.应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
112.为了实现上述本技术实施例提供的方法中的各功能,第一设备或第二设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
113.上文中结合图1至图4,详细描述了本技术实施例提供的用于样本对齐的方法,下面将结合图5和图6,详细描述本技术实施例提供的用于样本对齐的装置。
114.图5示出了本技术实施例提供的用于样本对齐的装置500,包括:收发模块501和处理模块502。
115.在一种实现方式中,装置500可以具体为上述实施例中的第一设备,其中,收发模块501用于:接收来自第二设备的x个哈希值中每个哈希值的前m位元素,x为大于或等于1的整数,m小于n,n为预设哈希算法的输出长度,且n为大于1的整数;处理模块502用于:在已有的y个样本数据的基础之上,生成s个混淆样本数据,并按照上述预设哈希算法,对该s个混淆样本数据进行哈希运算,获得s个哈希值,y和s为大于或等于1的整数;以及,在上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素均不相同的情况下,采用上述y个样本数据和上述s个混淆样本数据与上述第二设备进行样本对齐。
116.可选地,该处理模块502用于:按照预设哈希算法,分别对上述y个样本数据和上述s个混淆样本数据进行哈希运算,获得y s个哈希值;采用私钥对所述y s个哈希值进行加密,获得第一加密数据,并向上述第二设备发送上述第一加密数据;该收发模块501用于:接收来自上述第二设备的样本对齐结果,该样本对齐结果是基于上述第一加密数据确定的。
117.可选地,上述样本对齐结果是基于上述第一加密数据和第二加密数据的交集确定的;该收发模块501用于:接收来自上述第二设备的所述x个哈希值;该处理模块502用于:采用私钥对所述x个哈希值进行加密,获得上述第二加密数据,并向上述第二设备发送上述第二加密数据。
118.可选地,该处理模块502用于:判断上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素是否相同;在上述s个哈希值中存在第一哈希值的前m位元素与上述x个哈希值中第二哈希值的前m位元素相同的情况下,重新生成混淆样本数据。
119.在另一种实现方式中,装置500可以具体为上述实施例中的第二设备,其中,处理模块502用于:按照预设哈希算法,对x个样本数据进行哈希运算,获得x个哈希值,x为大于或等于1的整数,n为上述预设哈希算法的输出长度,且n为大于1的整数;收发模块501用于:向第一设备发送上述x个哈希值中每个哈希值的前m位元素,m小于n。
120.可选地,该收发模块501用于:接收来自上述第一设备的第一加密数据,上述第一加密数据是上述第一设备按照预设哈希算法分别对y s个样本数据进行哈希运算,获得y s个哈希值,并采用私钥对上述y s个哈希值进行加密得到的,y和s为大于或等于1的整数;该处理模块502用于:基于上述第一加密数据,确定样本对齐结果;该收发模块501还用于:向上述第一设备发送上述样本对齐结果。
121.可选地,该收发模块501用于:向上述第一设备发送上述x个哈希值;以及,接收第二加密数据,上述第二加密数据是上述第一设备采用私钥对上述x个哈希值进行加密得到的;该处理模块502用于:基于上述第一加密数据和第二加密数据的交集,确定上述样本对齐结果。
122.应理解,这里的装置500以功能模块的形式体现。这里的术语“模块”可以指应用特有集成电路(application specific integrated circuit,asic)、电子电路、用于执行一个或多个软件或固件程序的处理器(例如共享处理器、专有处理器或组处理器等)和存储器、合并逻辑电路和/或其它支持所描述的功能的合适组件。在一个可选例子中,本领域技术人员可以理解,装置500可以具体为上述实施例中的第一设备或第二设备,或者,上述实施例中第一设备或第二设备的功能可以集成在装置500中,装置500可以用于执行上述方法
实施例中与第一设备或第二设备对应的各个流程和/或步骤,为避免重复,在此不再赘述。上述装置500具有实现上述方法中第一设备或第二设备执行的相应步骤的功能;上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。
123.在本技术的实施例,图5中的装置500也可以是芯片或者芯片系统,例如:片上系统(system on chip,soc)。
124.图6示出了本技术实施例提供的另一用于样本对齐的装置600。该装置600包括:处理器601、收发器602和存储器602。其中,处理器601、收发器602和存储器603通过内部连接通路互相通信,存储器602用于存储指令,该处理器601用于执行该存储器602存储的指令。以控制该收发器602发送信号和/或接收信号。
125.在一种实现方式中,装置600可以具体为上述实施例中的第一设备,其中,收发器602用于:接收来自第二设备的x个哈希值中每个哈希值的前m位元素,x为大于或等于1的整数,m小于n,n为预设哈希算法的输出长度,且n为大于1的整数;处理器件601用于:在已有的y个样本数据的基础之上,生成s个混淆样本数据,并按照上述预设哈希算法,对该s个混淆样本数据进行哈希运算,获得s个哈希值,y和s为大于或等于1的整数;以及,在上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素均不相同的情况下,采用上述y个样本数据和上述s个混淆样本数据与上述第二设备进行样本对齐。
126.可选地,该处理器601用于:按照预设哈希算法,分别对上述y个样本数据和上述s个混淆样本数据进行哈希运算,获得y s个哈希值;采用私钥对所述y s个哈希值进行加密,获得第一加密数据,并向上述第二设备发送上述第一加密数据;该收发器602用于:接收来自上述第二设备的样本对齐结果,该样本对齐结果是基于上述第一加密数据确定的。
127.可选地,上述样本对齐结果是基于上述第一加密数据和第二加密数据的交集确定的;该收发器602用于:接收来自上述第二设备的所述x个哈希值;该处理器601用于:采用私钥对所述x个哈希值进行加密,获得上述第二加密数据,并向上述第二设备发送上述第二加密数据。
128.可选地,该处理器601用于:判断上述s个哈希值的前m位元素与上述x个哈希值中每个哈希值的前m位元素是否相同;在上述s个哈希值中存在第一哈希值的前m位元素与上述x个哈希值中第二哈希值的前m位元素相同的情况下,重新生成混淆样本数据。
129.在另一种实现方式中,装置600也可以具体为上述实施例中的第二设备,其中,处理器件601用于:按照预设哈希算法,对x个样本数据进行哈希运算,获得x个哈希值,x为大于或等于1的整数,n为上述预设哈希算法的输出长度,且n为大于1的整数;收发器602用于:向第一设备发送上述x个哈希值中每个哈希值的前m位元素,m小于n。
130.可选地,该收发器602用于:接收来自上述第一设备的第一加密数据,上述第一加密数据是上述第一设备按照预设哈希算法分别对y s个样本数据进行哈希运算,获得y s个哈希值,并采用私钥对上述y s个哈希值进行加密得到的,y和s为大于或等于1的整数;该处理器601用于:基于上述第一加密数据,确定样本对齐结果;该收发器602还用于:向上述第一设备发送上述样本对齐结果。
131.可选地,该收发器602用于:向上述第一设备发送上述x个哈希值;以及,接收第二加密数据,上述第二加密数据是上述第一设备采用私钥对上述x个哈希值进行加密得到的;
该处理器601用于:基于上述第一加密数据和第二加密数据的交集,确定上述样本对齐结果。
132.应理解,装置600可以具体为上述实施例中的第一设备或第二设备,或者,上述实施例中第一设备或第二设备的功能可以集成在装置600中,装置600可以用于执行上述方法实施例中第一设备或第二设备对应的各个步骤和/或流程。可选地,该存储器603可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。该处理器601可以用于执行存储器中存储的指令,并且该处理器执行该指令时,该处理器可以执行上述方法实施例中与第一设备或第二设备对应的各个步骤和/或流程。
133.应理解,在本技术实施例中,该处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
134.在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本技术实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器执行存储器中的指令,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。
135.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
136.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
137.在本技术所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
138.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
139.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
140.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
141.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献