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

数据判等方法、设备及存储介质与流程

2022-07-23 12:34:25 来源:中国专利 TAG:


1.本技术涉及信息安全技术,尤其涉及一种数据判等方法、设备及存储介质。


背景技术:

2.数据的隐私保护和用户的个人信息安全保护,可能导致各类数据出现数据孤岛。但是,一些场景中,需要将各类数据联合使用才能实现相关功能,例如在联邦学习或设备之间业务交互时,需要判断来自不同设备的数据之间是否相同或相关等,这样,就需要将各数据孤岛之中的数据之间进行比较。
3.一种实现中,在不泄露各数据孤岛中原始数据真实值的前提下,各设备可以先将各自的数据脱敏处理后发到对端,然后基于脱敏数据判断原始数据是否相等。例如,某设备可以将需判等的数据进行hash处理,并将经过hash处理的结果发送给对端设备设备,对端设备使用相同的hash方式处理自己的数据后与上述结果进行比较,若结果相等,则数据相等。
4.但是,在hash判等的方法中,要求设备的数据的长度大于一个安全参数,当设备的数据较短或具有明显规则时,它容易通过彩虹表等碰撞法被暴力破解,这就失去了数据脱敏的意义,数据安全性较差。


技术实现要素:

5.本技术提供一种数据判等方法、设备及存储介质,采用随机数的方式对数据进行判等,不要求明文数据满足一定条件,安全性高,不会通过碰撞破解。
6.第一方面,本技术提供一种数据判等方法,包括:
7.第一设备对第一源数据进行分组,得到第一组数据;
8.所述第一设备对所述第一组数据中的n个数据,执行随机数确定步骤,直到完成所述第一组数据中各数据的随机数确定,得到n个目标随机数;
9.所述第一设备对所述n个目标随机数进行异或计算,得到第一结果;
10.所述第一设备接收来自所述第二设备的第二结果,所述第二结果为所述第二设备对第二组数据的n个数据在第三组随机数中对应n个随机数进行异或计算得到的,所述第二组数据为所述第二设备对第二源数据分组得到的,所述第三组随机数为所述第二设备生成的;
11.所述第一设备比较所述第一结果和所述第二结果,得到比较结果;
12.其中,所述随机数确定步骤包括:
13.所述第一设备获取第一组随机数,所述第一组随机数中的各随机数对应有序号;所述第一组随机数为所述第一设备从第二设备接收的,或者,所述第一组随机数为所述第一设备根据从第二设备接收的随机数种子生成的;
14.所述第一设备生成第一数据的第一随机数,并加密所述第一随机数,得到第一加密随机数,所述第一数据为所述第一组数据中的任一个数据;
15.将所述第一加密随机数与所述第一组随机数中第一序号对应的随机数按照预设算法计算,得到第二随机数;所述第一序号为所述第一数据的值;
16.所述第一设备向所述第二设备发送所述第二随机数;
17.所述第一设备接收来自所述第二设备的第二组随机数,所述第二组随机数为所述第三组随机数与第四组随机数的和;所述第四组随机数为对第五组随机数解密得到的,所述第五组随机数为所述第二随机数分别减去所述第一组随机数得到的;
18.所述第一设备根据所述第一随机数和第三随机数还原得到第四随机数,所述第三随机数为所述第二组随机数中所述第一序号对应的随机数,所述第四随机数为所述第三组随机数中所述第一序号对应的随机数。
19.在一种可能的设计中,所述第一设备对第一源数据进行分组,得到第一组数据,包括:
20.所述第一设备将所述第一源数据转换为τ比特的二进制数;
21.所述第一设备将所述τ比特的二进制数划分为n个数据,得到所述第一组数据。
22.在一种可能的设计中,所述第一组随机数、所述第三组随机数、所述第一随机数和所述随机数种子均是由抗量子特性的随机数生成源生成的,所述抗量子特性的随机数生成源包括抗量子金融数据加密机以及抗量子的随机数芯片发生器。
23.在一种可能的设计中,所述第一加密随机数为第一设备使用抗量子公钥加密算法加密所述第一随机数得到,所述抗量子公钥加密算法包括kyber公钥加密算法。
24.在一种可能的设计中,所述第四组随机数为对第五组随机数通过抗量子私钥解密算法解密得到的,所述抗量子私钥解密算法和所述抗量子公钥加密算法对应。
25.在一种可能的设计中,所述第一组随机数为所述第一设备根据所述随机数种子使用密钥衍生算法生成的,所述密钥衍生算法包括pbkdf2算法。
26.第二方面,本技术提供一种数据判等方法,包括:
27.第二设备对第二源数据进行分组,得到第二组数据;
28.所述第二设备生成第三组随机数以及,第一组随机数或随机数种子;
29.所述第二设备向所述第一设备发送所述第一组随机数或所述随机数种子;
30.所述第二设备接收来自所述第一设备的第二随机数,所述第二随机数为第一加密随机数与所述第一组随机数中第一序号对应的随机数按预设算法得到的,所述第一加密随机数为第一数据的第一随机数加密得到的,所述第一序号为所述第一数据的值,所述第一数据的所述第一随机数为所述第一设备生成的;
31.所述第二设备根据所述第二随机数分别减去所述第一组随机数得到第五组随机数,并将所述第五组随机数解密得到第四组随机数,将所述第四组随机数与所述第三组随机数相加得到第二组随机数,以及向所述第一设备发送所述第二组随机数;
32.所述第二设备确定所述第二组数据的第一数据在所述第三组随机数中对应的目标随机数;
33.所述第二设备对所述第二组数据的n个数据在所述第三组随机数中对应n个目标随机数进行异或计算,得到第二结果,并向所述第一设备发送所述第二结果。
34.在一种可能的设计中,所述第一组随机数、所述第三组随机数、所述第一随机数和所述随机数种子均是由抗量子特性的随机数生成源生成的,所述抗量子特性的随机数生成
源包括抗量子金融数据加密机以及抗量子的随机数芯片发生器。
35.在一种可能的设计中,所述第一加密随机数为第一设备使用抗量子公钥加密算法加密所述第一随机数得到,所述抗量子公钥加密算法包括kyber公钥加密算法。
36.在一种可能的设计中,所述第四组随机数为对第五组随机数通过抗量子私钥解密算法解密得到的,所述抗量子私钥解密算法和所述抗量子公钥加密算法对应。
37.在一种可能的设计中,所述第一组随机数为所述第一设备根据所述随机数种子使用密钥衍生算法生成的,所述密钥衍生算法包括pbkdf2算法。
38.第三方面,本技术提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器;
39.所述存储器存储计算机执行指令;
40.所述处理器执行所述存储器存储的计算机执行指令,以实现如第一方面以及第二方面各种可能的设计所述的数据判等方法。
41.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如第一方面以及第二方面各种可能的设计所述的数据判等方法。
42.第五方面,本技术提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如第一方面以及第二方面各种可能的设计所述的数据判等方法。
43.本技术实施例提供的数据判等方法,第一设备作为数据判等的发起方,通过第一随机数、第一组随机数、第一组数据中各数据的值以及分组参数得到第二随机数,第二设备配合执行将第一序号对应的第三组随机数通过加特定干扰值的形式传输出去,第一设备还原出目标随机数,第二设备确定第二组数据的第一数据在第三组随机数中对应的目标随机数,使数据判等发起方与配合方将数据的判等转为多个随机数异或结果的判等,实现了数据判等的目的,提高了数据判等过程中的安全性,减少了数据判等过程中随机数的传输数量,解决了hash判等方式的安全问题。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
45.图1是本发明实施例提供的数据判等方法应用场景示意图;
46.图2为本技术实施例提供的一种数据判等方法的流程示意图;
47.图3为本技术实施例提供的一种数据判等方法的流程示意图;
48.图4为本技术实施例提供的一种数据判等方法的流程示意图;
49.图5为本技术实施例提供的一种数据判等装置结构示意图;
50.图6为本技术实施例提供的一种数据判等设备结构示意图。
51.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
52.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
53.本技术的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
54.本技术实施例提供的技术方案可以应用于不同机构之间数据联合时需要进行数据判等的使用场景。
55.示例性的,在纵向联邦学习为中,存在两个不同机构之间需要判断数据相等的场景。其中,纵向联邦学习指的是各方拥有不同特征空间的设定下进行联邦学习的技术。适用于各个参与方有大量的重叠样本,但其特征空间不同。这种形式使得联邦模型能够从不同视角(或称为特征维度)观测同一个样本,进而提升推理准确性。
56.在具体应用中,纵向联邦学习是一种非常常见的企业合作场景。
57.例如,一种可能的实现中,某地区银行a需要和移动运营商b之间进行客户联合营销的活动,因为同属同一个地区,他们的用户空间中,大部分的用户是重叠的。但是因为银行和移动运营商彼此之间的业务属性差异很大,使得他们拥有完全不同的用户特征。由于企业的数据安全管理和对用户隐私的保护,企业无法暴露数据进行合作,这时传统的机器学习无法有效地解决这个问题,而纵向联邦学习正是解决这些问题的关键。银行和移动运营商之间可进行联邦学习的前提是,银行和移动运营商能够知晓相互之间有哪些客户是相同的,即用户对齐。这涉及到双方之间的数据相等比较操作。比如:银行a和移动运营商b是以用户的手机号来进行用户索引的,那么双方首先需要比对彼此之间的手机号是否一致。在用户样本对齐后,方能进行后续的特征联合操作。
58.当然,需要进行数据判等的场景,并不限制于纵向联邦学习中的数据对齐时的判等场景。针对广泛的隐私计算下的两个企业之间的数据相等判断,都可以使用数据判等的方法。比如:在区块链的供应链金融中,常常会涉及到数据来自多个数据源的情况,而不同数据源的数据,处于隐私性考虑,会加密后存放到区块链上,而这些密文数据的明文是否相等,同样需要一套不泄露彼此数据信息的方法来进行判等。
59.传统实现中,为不泄露机构或企业的原始数据真实值,不同机构或企业对原始数据进行hash处理得到相应的hash值,通过比较数据的hash值的结果来确定原始数据是否相等。
60.比如对于数据data_a和数据data_b判等时,可以采用下述方式进行判等:hash(data_a)?=hash(data_b)。
61.在该方法中,利用了hash的不可逆特性,以及防碰撞特性,保证了一方在知晓hash(data_a)的情况下,无法逆向推导data_a的值,从而确保了数据脱敏。
62.然而,在hash(data_a)?=hash(data_b)的比对方法中,其防碰撞的安全特性是有条件的,即:要求data_a要达到一定的安全条件。比如:data_a数据的长度大于λ-bit,这里的λ即为安全参数。
63.如果hash的原始数据较短或原始数据具有非常明显的规则时,hash的原文很容易
被黑客猜测,或通过彩虹表等方法暴力破解,该方法也称为hash碰撞法。
64.在金融行业或其他行业,大量的数据是以用户的身份证号或用户的手机号进行比对的数据。这些数据都是非常有规律的,并且数据的长度也很短,并不满足hash函数本身要求的安全特性。这就造成了破解的难度非常低。
65.所以,当金融行业或其他行业中,双方企业需要比对双方数据是否相等的时候,如果采用hash算法,很容易造成双方猜测对对方的数据明文是什么,这就失去了数据脱敏的意义。
66.有鉴于此,本技术实施例提供一种数据判等方法、设备及存储介质,基于随机数进行数据判等,具有一种无条件的安全性,并不要求明文数据必须满足一定的条件,因此,安全性较高,不可能通过碰撞破解。进一步的,本技术实施例中,还可以采用具有抗量子特性的随机数生成源来生成所有的随机数,使得该方法即使在量子计算机时代也无法被破解,进一步提升了数据处理的安全性。
67.示例性的,图1示出了本技术实施例提供的数据判等方法的一种可能的应用场景示意图。
68.如图1所示,第一设备用于存储银行a的第一源数据,第二设备用于存储移动运营商b的第二源数据。当银行与移动运营商之间进行联合营销时,第一设备或第二设备需要判断哪些客户是相同的。
69.例如,第一设备对第一源数据进行分组,得到第一组数据,对所述第一组数据中的n个数据,执行随机数确定步骤,直到完成所述第一组数据中各数据的随机数确定,得到n个目标随机数,对所述n个目标随机数进行异或计算,得到第一结果,接收来自所述第二设备的第二结果,比较所述第一结果和所述第二结果,得到比较结果。第二设备对第二源数据进行分组,得到第二组数据,对所述第二组数据中的n个数据确定对应的n个目标随机数,配合第一设备完成过随机数确定步骤,将n个目标随机数进行异或计算,得到第二结果,并向所述第一设备发送所述第二结果。这使第一设备和第二设备分别对对应的源数据的n个数据确定对应的n个目标随机数,将数据判等转为随机数判等,这样可以在不暴露源数据的原始值的情况下,实现数据判等方法,提高了数据判等过程中的安全性。第一设备和第二设备分别对n个目标随机数进行异或计算得到第一结果和第二结果,比较第一结果和第二结果,这样也减少了数据判等过程中传输的随机数的数量。
70.下面以具体地实施例对本技术的技术方案以及本技术的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本技术的实施例进行描述。
71.图2为本技术实施例提供的一种数据判等方法的流程示意图,该方法可以包括:
72.s201:第一设备对第一源数据进行分组,得到第一组数据。
73.本技术实施例中,第一设备可以为数据判等的发送方,后续的第二设备可以为数据判等的配合方。第一源数据可以为第一设备中需要进行判等的数据,后续的第二源数据可以为第二设备中需要进行判等的数据。第一组数据可以为将第一源数据转化为某进制数据并分组后得到的数据,后续的第二组数据可以为将第二源数据转化为某进制数据并分组后得到的数据。其中,某进制可以包括二进制等。
74.示例性的,第一设备对第一源数据进行分组可以包括,第一设备将第一源数据处
理为τ比特bit的二进制数,然后按照每组k bit进行分组,其中,k《=τ,这样可以得到n个分组,n=τ/k。
75.可选的,当τ是分组参数的整数倍时,将τ比特的二进制数划分为n个数据,得到第一组数据。
76.示例性的,若第一源数据为38,其二进制为100110,分组参数为3,则第一组数据为:{100,110}。
77.可选的,当τ不是分组参数的整数倍时,第一设备可以使用填充算法对第一源数据进行填充,使第一源数据的长度满足分组参数的整数倍,将填充后的二进制数划分为n个数据,得到第一组数据。其中,填充算法例如可以包括pkcs7 padding算法等。
78.示例性的,若第一源数据为137,其二进制是10001001,分组参数k为3,则二进制数的长度不是3的整数倍,第一设备可以填充二进制数为分组参数的整数倍之后再分组,具体填充内容取决于填充算法。
79.之后,第一设备可以对第一组数据中的n个数据,分别执行随机数确定步骤s202-s206,直到完成第一组数据中n个数据的随机数确定,得到n个数据对应的n个目标随机数。
80.s202:第一设备获取第一组随机数,第一组随机数中的各随机数对应有序号;第一组随机数为第一设备从第二设备接收的,或者,第一组随机数为第一设备根据从第二设备接收的随机数种子生成的。
81.本技术实施例一种可能的实现中,第一组随机数可以为第二设备利用抗量子特性的随机数生成源生成的一组随机数,用于第一组数据中各数据对应随机数的选取,增加判等过程中的安全性,防止重放攻击。第一设备可以接收到来自第二设备的第一组随机数。例如,第二设备可以利用抗量子特性的随机数生成源生成第一组随机数
82.另一种可能的实现中,第二设备可以向第一设备发送随机数种子,随机数种子可以为第二设备利用抗量子特性的随机数生成源生成的一个随机数,第一设备从第二设备得到随机数种子后,可以通过密钥衍生算法生成第一组随机数。例如,第二设备生成随机数种子r并发送给第一设备,第一设备使用密钥衍生算法(key derivation function,kdf)得到第一组随机数比如:r1=kdf(r,1),这样,第二设备向第一设备发送的数据量较少,可以节约第一设备和第二设备之间的数据传输量。
83.可以理解的是,上述的kdf也可以替换为其它任意的用于生产随机数的算法,例如password-based key derivation function 2(pbkdf2),等,本技术实施例不作具体限定。
84.s203:第一设备生成第一数据的第一随机数,并加密第一随机数,得到第一加密随机数,第一数据为第一组数据中的任一个数据;将第一加密随机数与第一组随机数中第一序号对应的随机数按照预设算法计算,得到第二随机数;第一序号为第一数据的值。
85.本技术实施例中,第一随机数可以为第一设备利用抗量子特性的随机数生成源生成的一个随机数,用于第一设备的加密算法中,增加判等过程中的安全性。第一加密随机数可以为第一设备对第一随机数使用公钥加密算法得到的随机数,用于增加数据判等过程中的安全性。
86.示例性的,第一设备利用抗量子特性的随机数生成源生成第一随机数x,通过抗量子公钥加密算法对第一随机数x进行加密得到第一加密随机数e(x,pk),其中公钥是第二设
备的公钥。第一设备选择出第一组随机数中第一序号a对应的随机数ra,将第一加密随机数与随机数ra相加得到第二随机数v。
87.例如,当分组参数k为3,第一源数据为137,其二进制是10001001,第一序号a为第一数据100的值,100的十进制值为4,则第一序号a为4。第一组随机数中的r4确定为第一序号对应的随机数。
88.可以理解的是,上述ef*)表示抗量子公钥加密算法,这里对具体的抗量子公钥加密算法不做限制,比如可以使用国际上通用的kyber公钥加密算法。
89.s204:第一设备向第二设备发送第二随机数。
90.s205:第一设备接收来自第二设备的第二组随机数,第二组随机数为第三组随机数与第四组随机数的和;第四组随机数为对第五组随机数解密得到的,第五组随机数为第二随机数分别减去第一组随机数得到的。
91.本技术实施例中,第二组随机数可以为第二设备计算得到的一组随机数,用于还原第一组数据中第一数据对应的目标随机数,增加了数据判等过程中的安全性。
92.第三组随机数可以为第二设备利用抗量子特性的随机数生成源生成的一组随机数,用于第二组数据中各数据对应的目标随机数的确定。
93.在本技术实施例中,第二设备接收到第二随机数v之后,可以对第二随机数分别减去第一组随机数得到第五组随机数对第五组随机数使用抗量子私钥解密算法解密得到第四组随机数具体为:x1=d(v-r1,sk),x2=d(v-r2,sk),...,第二设备将第三组随机数与第四组随机数相加得到第二组随机数进一步的,第二设备向第一设备发送第二组随机数。
94.s206:第一设备根据第一随机数和第三随机数还原得到第四随机数,第三随机数为第二组随机数中第一序号对应的随机数,第四随机数为第三组随机数中第一序号对应的随机数。
95.在本技术实施例中,第一设备收到第二组随机数之后,根据第一序号a确定第三随机数da xa,根据第一随机数x和第三随机数da xa还原出第四随机数da。这样可以不暴露随机数组内的真实数值,还能还原出目标随机数。示例性的,当分组参数k为3,第一源数据为137,其二进制是10001001,第一序号a为第一数据100的值,100的十进制值为4,第一序号a为4,则d4=d4 x
4-x。
96.s207:第一设备对n个目标随机数进行异或计算,得到第一结果。
97.在本技术实施例中,第一设备根据第一组数据中的n个数据,执行随机数确定步骤,直到完成第一组数据中各数据的随机数确定,得到n个目标随机数对n个目标随机数进行异或计算,得到第一结果da,具体为:
98.s208:第一设备接收来自第二设备的第二结果,第二结果为第二设备对第二组数据的n个数据在第三组随机数中对应n个随机数进行异或计算得到的,第二组数据为第二设备对第二源数据分组得到的,第三组随机数为第二设备生成的。
99.在本技术实施例中,第二设备对第二组数据的n个数据确定在第三组随机数中对
应n个随机数对n个随机数进行异或计算,得到二结果db,具体为:
100.s209:第一设备比较第一结果和第二结果,得到比较结果。
101.在本技术实施例中,第一设备收到第二结果后,比较da和db是否相等,当结果相等时,说明机构a与机构b的原始数据相等,否则原始数据不相等。
102.本技术实施例提供的数据判等方法,通过对第一源数据进行分组确定第一组数据,根据第一组数据中的第一数据、第一随机数、第一组随机数、第一组数据中各数据的值以及分组参数确定第二随机数,使第一序号对应的第三组随机数通过加特定干扰值的形式传输给第一设备,还原出目标随机数,将数据的判等转为多个随机数异或结果的判等,实现了数据判等的目的,提高了数据判等过程中的安全性,减少了数据判等过程中随机数的传输数量,解决了hash判等方式的安全问题。
103.图3为本技术实施例提供的一种数据判等方法的流程示意图二。
104.s301:第一设备对第一源数据进行分组,得到第一组数据。
105.在本技术实施例中,第一设备对第一源数据进行填充与分组,填充与分组的方式与s201中第一设备对第一源数据的实现方式一致,在此就不做过多赘述。
106.s302:第二设备对第二源数据进行分组,得到第二组数据。
107.在本技术实施例中,第二设备对第二源数据进行填充与分组,填充与分组的方式与s201中第一设备对第一源数据的实现方式类似,在此就不做过多赘述。
108.s303:第二设备生成第一组随机数/随机数种子和第三组随机数并将第一组随机数/随机数种子发送至第一设备。
109.在本技术实施例中,第二设备利用抗量子特性的随机数生成源生成第一组随机数发送至第一设备,或生成随机数种子r并使用密钥衍生算法得到第一组随机数具体为:将随机数种子r发送至第一设备。同时,第二设备利用抗量子特性的随机数生成源生成第三组随机数
110.s304:第一设备生成第一数据的第一随机数并加密第一随机数,得到第一加密随机数,将第一加密随机数与第一组随机数中第一序号对应的随机数按照预设算法计算,得到第二随机数,并将第二随机数发送至第二设备。
111.在本技术实施例中,第一设备若接收来自第二设备的数据是随机数种子,则第一设备使用与s303中相同的密钥衍生算法得到第一组随机数第一设备利用抗量子特性的随机数生成源生成第一随机数x,通过抗量子公钥加密算法对第一随机数x进行加密得到第一加密随机数e(x,pk),其中公钥是第二设备的公钥。第一设备选择出第一组随机数中第一序号a对应的随机数ra,将第一加密随机数与随机数ra相加得到第二随机数v。示例性的,当分组参数k为3,第一源数据为111,其二进制是1101111,第一序号a为第一数据110的值,110的十进制值为6,则第一序号a为6。第一组随机数中的r6确定为第一序号对应的随机数。其中,第一数据为第一源数据的第n个数据,n为随机数确定步骤执行次数包括本次执行。示例性的,分组参数k为3,第一源数据
为111,其二进制是1101111,当随机数确定步骤执行次数为1时,则第一数据为第一源数据的第1个数据110,当随机数确定步骤执行次数为2,则第一数据为第一源数据的第2个数据111。
112.s305:第二设备用第二随机数分别减去第一组随机数得到的第五组随机数,对第五组随机数解密得到第四组随机数,将第四组随机数与第三组随机数相加得到第二组随机数,并将第二组随机数发送至第一设备。
113.在本技术实施例中,第二设备接收到第二随机数v之后,对第二随机数分别减去第一组随机数得到第五组随机数对第五组随机数使用抗量子私钥解密算法解密得到第四组随机数具体为:具体为:第二设备将第三组随机数与第四组随机数相加得到第二组随机数其中,第四组随机数中,只有xa是等于x的,其余的数据全部是随机数。
114.s306:第一设备根据第一序号选择出第二组随机数中对应的随机数获得第三随机数,根据第三随机数和第一随机数还原出第四随机数。
115.在本技术实施例中,第一设备收到第二组随机数之后,根据第一序号a确定第三随机数da xa,根据第一随机数x和第三随机数da xa还原出第四随机数da。示例性的,当分组参数k为3,第一源数据为111,其二进制是1101111,随机数确定步骤执行次数为1时,第一序号a为第一数据110的值,110的十进制值为6,第一序号a为6,则d6=d6 x
6-x。主要依据是s305中只有x6是等于x的还原出第四随机数d6的原始值,并标记为
116.s307:第二设备确定第二组数据的第一数据在第三组随机数中对应的目标随机数。
117.在本技术实施例中,第二设备根据第二组数据的第n个数据,来确定第三组随机数中对应的目标随机数。其中,第一数据为第二源数据的第n个数据,n为随机数确定步骤执行次数包括本次执行。示例性的,分组参数k为3,第二源数据为101,其二进制是1100101,当随机数确定步骤执行次数为1时,则第一数据为第二源数据的第1个数据110,对应的目标随机数为d6,并标记为同样的,当随机数确定步骤执行次数为2,则第一数据为第二源数据的第2个数据010,对应的目标随机数为d2,并标记为
118.s308:第一设备将n个目标随机数进行异或计算,得到第一结果。
119.在本技术实施例中,随机数确定步骤执行完n次之后,第一设备得到第一组数据中的n个数据对应的n个目标随机数第一设备对这n个目标随机数进行异或计算,得到第一结果da,具体为:
120.s309:第二设备对第二组数据的n个数据在第三组随机数中对应n个随机数进行异或计算得到第二结果,并将第二结果发送至第一设备。
121.在本技术实施例中,随机数确定步骤执行完n次之后,第二设备确定第二组数据的n个数据在第三组随机数中对应n个随机数对n个随机数进行异或计
算,得到二结果db,具体为:
122.s310:第一设备比较所述第一结果和所述第二结果,得到比较结果。
123.在本技术实施例中,第一设备收到第二结果后,比较da和db是否相等,当结果相等时,说明机构a与机构b的原始数据相等,否则原始数据不相等。至此,数据判等过程结束。
124.本技术实施例提供的数据判等方法,第一设备作为数据判等的发起方,通过第一随机数、第一组随机数、第一组数据中各数据的值以及分组参数得到第二随机数,第二设备配合执行将第一序号对应的第三组随机数通过加特定干扰值的形式传输出去,第一设备还原出目标随机数,第二设备确定第二组数据的第一数据在第三组随机数中对应的目标随机数,使数据判等发起方与配合方将数据的判等转为多个随机数异或结果的判等,实现了数据判等的目的,提高了数据判等过程中的安全性,减少了数据判等过程中随机数的传输数量,解决了hash判等方式的安全问题。
125.图4为本技术实施例提供的一种数据判等方法的流程示意图三。如图4所示,在图2提供的实施例基础上,本发明提供了应用于第二设备的步骤,该步骤如下:
126.s401:第二设备对第二源数据进行分组,得到第二组数据。
127.在本技术实施例中,第二设备对二源数据进行分组之前,将第二源数据转换为τ比特的二进制数。当τ是分组参数的整数倍时,将所述τ比特的二进制数划分为n个数据,得到第一组数据;当τ不是分组参数的整数倍时,第二设备使用填充算法对第二源数据进行填充,使第二源数据的长度满足分组参数的整数倍,将填充后的二进制数划分为n个数据,得到第二组数据。
128.示例性的,分组参数k为3,第二源数据为101,其二进制是1100101,则二进制数的长度不是3的整数倍,第二设备会填充二进制数,具体填充内容取决于填充算法。
129.s402:所述第二设备生成第一组随机数/随机数种子和第三组随机数,并向第一设备发送所述第一组随机数/随机数种子。
130.在本技术实施例中,第二设备利用抗量子特性的随机数生成源生成第一组随机数/随机数种子r和第三组随机数若第二设备生成的是随机数种子,则第二设备使用密钥衍生算法得到第一组随机数具体为:其中,第一组随机数和第三组随机数中包含的随机数数量是由分组参数k决定的。
131.s403:所述第二设备接收来自所述第一设备的第二随机数,所述第二随机数为第一加密随机数与所述第一组随机数中第一序号对应的随机数按预设算法得到的,所述第一加密随机数为第一数据的第一随机数加密得到的,所述第一序号为所述第一数据的值,所述第一数据的所述第一随机数为所述第一设备生成的。
132.在本技术实施例中,第一设备若接收来自第二设备的数据是随机数种子,则第一设备使用与s402中相同的密钥衍生算法得到第一组随机数第一设备利用抗量子特性的随机数生成源生成第一数据的第一随机数x,通过抗量子公钥加密算法对第一随机数x进行加密得到第一加密随机数e(x,pk),其中公钥是第二设备的公钥。第一设备选择出第一组随机数中第一序号a对应的随机数ra,将第一加密随机数与随机数ra相加得到第二随机数v。示例性的,分组参数k为3,第二源数据为101,其二进制是
1100101,第一序号a为第一数据110的值,110的十进制值为6,则第一序号a为6。第一组随机数中的r6确定为第一序号对应的随机数。
133.s404:所述第二设备根据所述第二随机数分别减去所述第一组随机数得到第五组随机数,将所述第五组随机数解密得到第四组随机数,将所述第四组随机数与所述第三组随机数相加得到第二组随机数,并向所述第一设备发送所述第二组随机数。
134.在本技术实施例中,第二设备接收到第二随机数v之后,对第二随机数分别减去第一组随机数得到第五组随机数对第五组随机数使用抗量子私钥解密算法解密得到第四组随机数具体为:具体为:第二设备将第三组随机数与第四组随机数相加得到第二组随机数
135.s405:所述第二设备确定所述第二组数据的第一数据在所述第三组随机数中对应的目标随机数。
136.在本技术实施例中,第二设备根据第二组数据的第n个数据,来确定第三组随机数中对应的目标随机数。具体示例与s307中一样,此处不做过多赘述。
137.s406:所述第二设备对所述第二组数据的n个数据在所述第三组随机数中对应n个目标随机数进行异或计算,得到第二结果,并向所述第一设备发送所述第二结果。
138.在本技术实施例中,随机数确定步骤执行完n次之后,第二设备确定第二组数据的n个数据在第三组随机数中对应n个随机数对n个随机数进行异或计算,得到二结果db,具体为:
139.图5为本技术实施例提供的一种数据判等装置结构示意图。
140.生成模块501,用于所述第一设备利用抗量子特性的随机数生成源生成所述第一源数据各数据的所述第一随机数,根据随机数种子通过密钥衍生算法生成第一组随机数。
141.第一发送模块502,用于将所述第一组随机数发送至所述第一设备,使所述第一设备根据抗量子公钥加密算法加密所述第一随机数得到第一加密随机数,根据所述第一加密随机数、所述第一组数据中各数据的值以及所述分组参数确定所述第二随机数。
142.接收模块503,用于接收所述第一设备发送的所述第二随机数,使所述第二设备根据所述第二随机数和所述第一组随机数确定所述第五组随机数,通过抗量子私钥解密算法解密所述第五组随机数得到第四组随机数,根据所述第三组随机数与所述第四组随机数确定所述第二组随机数。
143.第二发送模块504,用于将所述第二组随机数发送至所述第一设备,根据所述第一序号确定所述第二组随机数中第三随机数,根据所述第一随机数和第三随机数确定第四随机数。
144.判等模块505,用于判断所述第一结果与所述第二结果是否相等,若所述第一结果与所述第二结果相等,说明第一源数据与第二源数据相等。
145.在一种可能的实现方式中,数据判等装置中还包括随机数确定模块,用于所述第二设备根据第二组数据的第n个数据确定第二组数据的第一数据在第三组随机数中对应的目标随机数。
146.在一种可能的实现方式中,数据判等装置中还包括计算模块,用于所述第一设备
将第一组数据中的n个数据对应的n个目标随机数进行异或计算得到所述第一结果,同时用于第二设备将第二组数据中的n个数据对应的n个随机数进行异或计算得到所述第二结果。
147.图6为本技术实施例提供的一种数据判等设备结构示意图。如图6所示,该设备600包括存储器602和处理器601。
148.存储器602,用于存放存储处理器可执行的计算机指令。
149.处理器601,用于执行存储器602存储的计算机执行指令,以实现前述方法实施例所描述的数据判等方法。其中,处理器601可能是一个中央处理器(central processing unit,简称为cpu),或者是特定集成电路(application specific integrated circuit,简称为asic),或者是被配置成实施本技术实施例的一个或多个集成电路。具体的,在实现前述方法实施例所描述的数据攀登方法时,该电子设备例如可以是终端、服务器等具有处理功能的电子设备。
150.可选的,该电子设备600还可以包括通信接口603。在具体实现上,如果通信接口603、存储器602和处理器601独立实现,则通信接口603、存储器602和处理器601可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(industry standard architecture,简称为isa)总线、外部设备互连(peripheral component,简称为pci)总线或扩展工业标准体系结构(extended industry standard architecture,简称为eisa)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
151.本技术还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的数据判等方法。
152.本技术还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的数据判等方法。
153.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本技术的其它实施方案。本技术旨在涵盖本技术的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本技术的一般性原理并包括本技术未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本技术的真正范围和精神由下面的权利要求书指出。
154.应当理解的是,本技术并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本技术的范围仅由所附的权利要求书来限制。
再多了解一些

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

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

相关文献