恶意敌手模型下的向量相似度判断方法及通信设备与流程



1.本发明涉及通信技术领域,尤其是指一种恶意敌手模型下的向量相似度判断方法及通信设备


背景技术:



2.随着数据时代的发展,隐私泄露事件层出不穷,隐私泄露问题受到越来越多的关注,如何在使用数据的同时保障数据的隐私成为安全研究人员的研究重点。为了解决这一问题,安全多方计算技术被提出。两点间的欧氏距离计算具有重要的应用价值,例如在一些机器学习算法中,需要计算两点间的欧式距离来判断相似度。在联邦学习场景中,多方需要计算自己持有数据跟其他参与方数据间的欧氏距离,同时保证各方数据的隐私性。因为欧式距离都是两点间进行计算,所以这个安全多方计算问题可以归约为安全两方欧式距离计算。在保证数据隐私的前提下,如何能够再恶意敌手模型下进行安全两方欧式距离计算,在得到结果的同时确保结果的正确性,可以基于向量伸缩变换的隐私保护下进行向量相似性判断,在不公开向量每个维度的值的前提下,通过比较向量的模长高效的判断向量之间的相似性,并且对密文比较的效率和明文比较对比,性能几乎没有下降。
3.但是上述隐私保护下的向量相似性判断方法,是基于半诚实模型下建立的,并没有对计算结果进行验证。在半诚实模型下,参与方无法篡改或发送虚假数据。而在现实场景中,参与双方往往互不信任,不想让对方得到真实数据,这在实际应用中局限性较大。且上述判断方法仅仅通过同态加密比较向量模长来判断向量的相似性,没有真正计算其欧氏距离本身,若计算二者比较后模长相似,则会导致检测结果具有出入,实际应用中局限性较大;且上述判断方法中待比较标准向量只有两个,数据样本较小,不具备广泛应用性。


技术实现要素:



4.本发明实施例的目的在于提供一种恶意敌手模型下的向量相似度判断方法及通信设备,以解决现有的向量相似性判断方法绝限性大不具备广泛应用性的问题。
5.为了解决上述问题,本发明实施例提供一种恶意敌手模型下的向量相似度判断方法,所述恶意敌手模型包括第一通信设备和第二通信设备,所述方法包括:
6.第一通信设备生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;
7.所述第一通信设备和所述第二通信设备分别生成初始参数
8.所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;
9.所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。
10.其中,所述第一通信设备和所述第二通信设备分别生成初始参数,包括:
11.所述第一通信设备输入第二安全参数,生成第一通信设备的初始参数并发送至所述第二通信设备,所述第一通信设备的初始参数包括:第一随机数ra、第一哈希函数h()以
及相似度判断阈值δ;
12.所述第二通信设备输入第三安全参数,生成第二通信设备的初始参数,所述第二通信设备的初始参数包括:第二随机数rb、第三随机数r以及随机盐值salt。
13.其中,所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互,包括:
14.第一通信设备根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra)和第二中间参数e(xi)并发送至第二通信设备;其中,e()表示加密处理;
15.第二通信设备根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-ryi)并发送至第一通信设备;
16.第一通信设备利用私钥解密所述第三中间参数e(rx
i-ryi)后计算第四中间参数m并发送至第二通信设备;其中,m=∑i(rx
i-ryi)2。
17.其中,所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互,还包括:
18.第二通信设备根据第一中间参数e(xi+ra)、公钥、第二数据向量yi以及第二随机数rb进行运算,得到第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb),并将第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb)随机排序后发送至所述第一通信设备;
19.第一通信设备利用私钥解密第一数据组e(xi+ra)
·
e(-yi)并去随机化后,选取s个值计算得到第五中间参数τ=∑
i∈[1,s]
(x
i-yi)2并发送至第二通信设备;
[0020]
所述第一通信设备利用私钥解密第二数据组e(xi+ra)
·
e(-yi+rb)并去随机化后得到第六中间参数x
i-yi+rb,选取n-s个第六中间参数x
i-yi+rb发送至所述第二通信设备;其中,n为第一数据向量和第二数据向量的数量,s为大于0且小于n的整数;
[0021]
所述第二通信设备接收到n-s个第六中间参数x
i-yi+rb并去随机化后,计算得到第七中间参数τ

=∑
i∈[1,n-s]
(x
i-yi)2;
[0022]
所述第二通信设备将所述第七中间参数τ

和第五中间参数τ求和,得到第八中间参数z。
[0023]
其中,所述方法还包括:
[0024]
第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,并将第一哈希值h发送至所述第一通信设备。
[0025]
其中,所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似,包括:
[0026]
所述第二通信设备判断第三随机数r和第八中间参数z的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第二通信设备确定第一数据向量xi和第二数据向量yi相似;
[0027]
在所述第二通信设备确定第一数据向量xi和第二数据向量yi相似后,所述第二通信设备将第七中间参数τ

、第三随机数r以及随机盐值salt发送至所述第一通信设备;
[0028]
所述第一通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,若第二哈希值h

与第一哈希值h相同,则所述第一通信设备将第七中间参数τ

和第五中间参数τ求和,得到计算参数z


[0029]
所述第一通信设备判断第三随机数r和计算参数z

的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第一通信设备确定第一数据向量xi和第二数据向量yi相似。
[0030]
其中,第一通信设备根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra),包括:
[0031]
所述第一通信设备利用paillier加密算法的同态性对第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra);
[0032]
其中,e(xi+ra)=e(xi)
×
e(ra);e(xi)表示利用公钥加密后的xi;e(ra)表示利用公钥加密后的ra;所述公钥为paillier加密算法的公钥。
[0033]
其中,所述第二通信设备根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-ryi),包括:
[0034]
所述第二通信设备确定第三中间参数e(rx
i-ryi)=(e(xi))r·
(e(-yi))r。
[0035]
其中,第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,包括:
[0036]
所述第二通信设备确定第一哈希值h=h(salt||r)。
[0037]
其中,所述第一通信设备第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,包括:
[0038]
所述第一通信设备确定第二哈希值h

=h(salt||r)。
[0039]
本发明实施例还提供一种通信设备,所述通信设备包括恶意敌手模型中的第一通信设备和第二通信设备,所述通信设备包括处理器和收发器,所述收发器在处理器的控制下接收和发送数据,其特征在于,所述第一通信设备的处理器用于执行以下操作:
[0040]
生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;
[0041]
所述第一通信设备和所述第二通信设备的处理器还用于执行以下操作:
[0042]
分别生成初始参数;
[0043]
分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;
[0044]
分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。
[0045]
其中,所述第一通信设备的处理器还用于执行以下操作:
[0046]
输入第二安全参数,生成第一通信设备的初始参数并发送至所述第二通信设备,所述第一通信设备的初始参数包括:第一随机数ra、第一哈希函数h()以及相似度判断阈值δ;
[0047]
所述第二通信设备的处理器还用于执行以下操作:
[0048]
输入第三安全参数,生成第二通信设备的初始参数,所述第二通信设备的初始参数包括:第二随机数rb、第三随机数r以及随机盐值salt。
[0049]
其中,所述第一通信设备的处理器还用于执行以下操作:
[0050]
根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra)和第二中间参数e(xi)并发送至第二通信设备;其中,e()表示加密处理;
[0051]
所述第二通信设备的处理器还用于执行以下操作:
[0052]
根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-ryi)并发送至第一通信设备;
[0053]
所述第一通信设备的处理器还用于执行以下操作:
[0054]
利用私钥解密所述第三中间参数e(rx
i-ryi)后计算第四中间参数m并发送至第二通信设备;其中,m=∑i(rx
i-ryi)2。
[0055]
其中,所述第二通信设备的处理器还用于执行以下操作:
[0056]
根据第一中间参数e(xi+ra)、公钥、第二数据向量yi以及第二随机数rb进行运算,得到第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb),并将第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb)随机排序后发送至所述第一通信设备;
[0057]
所述第一通信设备的处理器还用于执行以下操作:
[0058]
利用私钥解密第一数据组e(xi+ra)
·
e(-yi)并去随机化后,选取s个值计算得到第五中间参数τ=∑
i∈[1,s]
(x
i-yi)2并发送至第二通信设备;
[0059]
利用私钥解密第二数据组e(xi+ra)
·
e(-yi+rb)并去随机化后得到第六中间参数x
i-yi+rb,选取n-s个第六中间参数x
i-yi+rb发送至所述第二通信设备;其中,n为第一数据向量和第二数据向量的数量,s为大于0且小于n的整数;
[0060]
所述第二通信设备的处理器还用于执行以下操作:
[0061]
接收到n-s个第六中间参数x
i-yi+rb并去随机化后,计算得到第七中间参数τ

=∑
i∈[1,n-s]
(x
i-yi)2;
[0062]
将所述第七中间参数τ

和第五中间参数τ求和,得到第八中间参数z。
[0063]
其中,所述第二通信设备的处理器还用于执行以下操作:
[0064]
根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,并将第一哈希值h发送至所述第一通信设备。
[0065]
其中,所述第二通信设备的处理器还用于执行以下操作:
[0066]
判断第三随机数r和第八中间参数z的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,确定第一数据向量xi和第二数据向量yi相似;
[0067]
在确定第一数据向量xi和第二数据向量yi相似后,将第七中间参数τ

、第三随机数r以及随机盐值salt发送至所述第一通信设备;
[0068]
所述第一通信设备的处理器还用于执行以下操作:
[0069]
根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,若第二哈希值h

与第一哈希值h相同,则将第七中间参数τ

和第五中间参数τ求和,得到计算参数z


[0070]
判断第三随机数r和计算参数z

的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,确定第一数据向量xi和第二数据向量yi相似。
[0071]
其中,所述第一通信设备的处理器还用于执行以下操作:
[0072]
利用paillier加密算法的同态性对第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra);
[0073]
其中,e(xi+ra)=e(xi)
×
e(ra);e(xi)表示利用公钥加密后的xi;e(ra)表示利用公钥加密后的ra;所述公钥为paillier加密算法的公钥。
[0074]
其中,所述第二通信设备的处理器还用于执行以下操作:
[0075]
确定第三中间参数e(rx
i-ryi)=(e(xi))r·
(e(-yi))r。
[0076]
其中,所述第二通信设备的处理器还用于执行以下操作:
[0077]
确定第一哈希值h=h(salt||r)。
[0078]
其中,所述第一通信设备的处理器还用于执行以下操作:
[0079]
确定第二哈希值h

=h(salt||r)。
[0080]
本发明实施例还提供一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时实现如上所述的恶意敌手模型下的向量相似度判断方法。
[0081]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的恶意敌手模型下的向量相似度判断方法中的步骤。
[0082]
本发明的上述技术方案至少具有如下有益效果:
[0083]
本发明实施例的恶意敌手模型下的向量相似度判断方法及通信设备中,在初始化阶段,第一通信设备生成公私钥并将公钥公开,同时第一通信设备和第二通信设备分别生成各自的交互过程中所需的初始参数;在交互阶段,第一通信设备和第二通信设备各自根据自身的数据向量、密钥与初始参数进行运算,并将计算后的中间参数进行交互,保证了双方均能够有效的计算出最终结果;且在最后验证阶段,双方分别计算的中间参数进行验证,保证了双方计算结果的准确性和机密性。
附图说明
[0084]
图1表示本发明实施例提供的恶意敌手模型下的向量相似度判断方法的步骤流程图;
[0085]
图2表示本发明实施例提供的通信设备的结构示意图。
具体实施方式
[0086]
为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0087]
如图1所示,本发明实施例提供一种恶意敌手模型下的向量相似度判断方法,所述恶意敌手模型包括第一通信设备和第二通信设备,所述方法包括:
[0088]
步骤101,第一通信设备生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;
[0089]
步骤102,所述第一通信设备和所述第二通信设备分别生成初始参数;
[0090]
步骤103,所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;
[0091]
该步骤中,第一通信设备的密钥信息包括:公钥和私钥;而第二通信设备的密钥信息仅包括公钥;
[0092]
步骤104,所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,
确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。
[0093]
需要说明的是,本发明实施例提供的向量相似度判断方法应用于恶意敌手模型,在该恶意敌手模型下,双方实体均为不怀好意的,在交互的每一步双方均可能会对传递内容进行篡改;即参与双方均为不可信的,均能够篡改或恶意发送虚假数据,因此为了得到真实的数值,本方案中参与双方不仅需要对自身数据向量进行隐私保护,同时需要对计算结果进行可验证计算,只有当验证成功时,才能证明双方均在不暴露隐私的前提下发送了真实数据,使得计算结果有效。
[0094]
针对恶意敌手模型,本发明实施例提供的向量相似度判断方法,在初始化阶段,第一通信设备生成公私钥并将公钥公开,同时第一通信设备和第二通信设备分别生成各自的交互过程中所需的初始参数;在交互阶段,第一通信设备和第二通信设备各自根据自身的数据向量、密钥与初始参数进行运算,并将计算后的中间参数进行交互,保证了双方均能够有效的计算出最终结果;且由于本方案在恶意敌手模型下进行,双方实体均为不怀好意的,在交互的每一步双方均可能会对传递内容进行篡改,因此在最后验证阶段,双方分别计算的中间参数进行验证,保证了双方计算结果的准确性和机密性。
[0095]
作为一个可选实施例,步骤101中第一通信设备生成密钥信息,包括:
[0096]
第一通信设备输入第一安全参数,生成paillier加密算法的密钥信息。密钥信息包括:公钥pk与私钥sk,并将公钥pk公开。
[0097]
本发明实施例在进行两方计算时,采用paillier同态加密与ot(不经意传输)的技术,对数据进行分布式传输,在保护数据向量隐私的同时,在交互过程中使得参与双方均无法获得对方真实数据也能够得出计算结果。
[0098]
在本发明的至少一个可选实施例中,步骤102包括:
[0099]
所述第一通信设备输入第二安全参数,生成第一通信设备的初始参数并发送至所述第二通信设备,所述第一通信设备的初始参数包括:第一随机数ra、第一哈希函数h()以及相似度判断阈值δ;
[0100]
所述第二通信设备输入第三安全参数,生成第二通信设备的初始参数,所述第二通信设备的初始参数包括:第二随机数rb、第三随机数r以及随机盐值salt。
[0101]
需要说明的是,第二安全参数和第三安全参数可以相同也可以不同,在此不做具体限定。在初始化节点,第一通信设备会将其生成的初始参数公开,而第二通信设备生成的初始参数不公开,仅第二通信设备知晓。
[0102]
在本发明的至少一个可选实施例中,步骤103包括:
[0103]
第一通信设备根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra)和第二中间参数e(xi)并发送至第二通信设备;其中,e()表示加密处理;
[0104]
第二通信设备根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-ryi)并发送至第一通信设备;
[0105]
第一通信设备利用私钥解密所述第三中间参数e(rx
i-ryi)后计算第四中间参数m并发送至第二通信设备;其中,m=∑i(rx
i-ryi)2。
[0106]
其中,i∈[1,n]。e(xi+ra)表示加密的xi+ra;e(xi)表示加密的xi。
[0107]
作为一个可选实施例,第一通信设备根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra),包括:
[0108]
所述第一通信设备利用paillier加密算法的同态性对第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra);
[0109]
其中,e(xi+ra)=e(xi)
×
e(ra);e(xi)表示利用公钥加密后的xi;e(ra)表示利用公钥加密后的ra;所述公钥为paillier加密算法的公钥。
[0110]
本发明实施例在进行两方计算时,采用paillier同态加密与ot(不经意传输)的技术,对数据进行分布式传输,在保护数据向量隐私的同时,在交互过程中使得参与双方均无法获得对方真实数据也能够得出计算结果。
[0111]
作为又一个可选实施例,所述第二通信设备根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-rti),包括:
[0112]
所述第二通信设备确定第三中间参数e(rx
i-ryi)=(e(xi))r·
(e(-yi))r。
[0113]
换言之,第二通信设备根据第三随机数r,对于每一个i∈[1,n]与第二数据向量yi,第二通信设备计算第三中间参数e(rx
i-ryi)=(e(xi))r·
(e(-yi))r并打乱顺序后发给第一通信设备。其中,e(rx
i-ryi)表示加密的rx
i-ryi。
[0114]
进一步的,在本发明的至少一个可选实施例中,步骤103还包括:
[0115]
第二通信设备根据第一中间参数e(xi+ra)、公钥、第二数据向量yi以及第二随机数rb进行运算,得到第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb),并将第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb)随机排序后发送至所述第一通信设备;
[0116]
第一通信设备利用私钥解密第一数据组e(xi+ra)
·
e(-yi)并去随机化后,选取s个值计算得到第五中间参数τ=∑
i∈[1,s]
(x
i-yi)2并发送至第二通信设备;
[0117]
所述第一通信设备利用私钥解密第二数据组e(xi+ra)
·
e(-yi+rb)并去随机化后得到第六中间参数x
i-yi+rb,选取n-s个第六中间参数x
i-yi+rb发送至所述第二通信设备;其中,n为第一数据向量和第二数据向量的数量,s为大于0且小于n的整数;
[0118]
所述第二通信设备接收到n-s个第六中间参数x
i-yi+rb并去随机化后,计算得到第七中间参数τ

=∑
i∈[1,n-s]
(x
i-yi)2;
[0119]
所述第二通信设备将所述第七中间参数τ

和第五中间参数τ求和,得到第八中间参数z。其中,第八中间参数z=∑
i∈[1,n]
(x
i-yi)2。
[0120]
换言之,第一通信设备从第一数据组中选取s个值,从第二数据组中选取另外n-s个值。首先用私钥sk解密第一数据组s个值e(xi+ra)
·
e(-yi)并去随机化,计算出τ=∑
i∈[1,s]
(x
i-yi)2并发送给第二通信设备。继续解密第二数据组的n-s个值e(xi+ra)
·
e(-yi+rb)并去随机化,将n-s个x
tj-y
tj
+rb发送给第二通信设备。第二通信设备接收到n-s个之后进行去随机化操作,可以计算得到τ

=∑
i∈[1,n-s]
(x
i-yi)2。将其与τ=∑
i∈[1,s]
(x
i-yi)2求和即可得到z=∑
i∈[1,n]
(x
i-yi)2。
[0121]
在本发明的另一个可选实施例中,所述方法还包括:
[0122]
第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,并将第一哈希值h发送至所述第一通信设备。
[0123]
其中,第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,包括:
[0124]
所述第二通信设备确定第一哈希值h=h(salt||r)。其中,第三随机数r以及随机
盐值salt由第二通信设备自身生成。
[0125]
需要说明的是,第一哈希值代表一个单项散列函数的值,起到一个验证的作用,若与第二哈希值相同,则验证成功。
[0126]
在本发明的至少一个可选实施例中,步骤104包括:
[0127]
所述第二通信设备判断第三随机数r和第八中间参数z的乘积是否与第四中间参数m相等;若相等(则第二通信设备认为第一通信设备城市的执行了协议),确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第二通信设备确定第一数据向量xi和第二数据向量yi相似;
[0128]
在所述第二通信设备确定第一数据向量xi和第二数据向量yi相似后,所述第二通信设备将第七中间参数τ

、第三随机数r以及随机盐值salt发送至所述第一通信设备;
[0129]
所述第一通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,若第二哈希值h

与第一哈希值h相同,则所述第一通信设备将第七中间参数τ

和第五中间参数τ求和,得到计算参数z


[0130]
所述第一通信设备判断第三随机数r和计算参数z

的乘积是否与第四中间参数m相等;若相等(则第一通信设备认为第二通信设备诚实的执行了协议),确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第一通信设备确定第一数据向量xi和第二数据向量yi相似。
[0131]
其中,所述第一通信设备第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,包括:
[0132]
所述第一通信设备确定第二哈希值h

=h(salt||r)。其中,第三随机数r以及随机盐值salt是由第二通信设备验证成功后发送给第一通信设备。
[0133]
本发明实施例中,第一数据向量xi和第二数据向量yi的欧式距离是由第一通信设备根据接收到中间参数以及自身初始参数计算得到的,而第一数据向量xi和第二数据向量yi的欧式距离是由第二通信设备根据接收到的中间参数以及自身初始参数计算得到的,保证了对方数据和自身数据的真实性,任何一方恶意篡改数据均无法得到双方均无法得到正确数据。
[0134]
综上,本发明实施例在恶意敌手模型下实现了安全两方向量相似度判断,双方分别对计算结果进行可验证计算,只要有一方传递虚假数据,则双方均不会得到正确结果,这在现实场景中更具有实用性;且通过paillier加密与不经意传输技术,通过计算向量之间的欧式距离来计算其相似性能够更加准确地计算向量相似性,使得结果更具有说服力。
[0135]
如图2所示,本发明实施例还提供一种通信设备,所述通信设备包括恶意敌手模型中的第一通信设备和第二通信设备,其特征在于,所述通信设备包括处理器200和收发器210,所述收发器210在处理器200的控制下接收和发送数据,所述第一通信设备的处理器200用于执行以下操作:
[0136]
生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;
[0137]
所述第一通信设备和所述第二通信设备的处理器还用于执行以下操作:
[0138]
分别生成初始参数;
[0139]
分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中
间参数进行交互;
[0140]
分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。
[0141]
作为一个可选实施例,所述第一通信设备的处理器还用于执行以下操作:
[0142]
输入第二安全参数,生成第一通信设备的初始参数并发送至所述第二通信设备,所述第一通信设备的初始参数包括:第一随机数ra、第一哈希函数h()以及相似度判断阈值δ;
[0143]
所述第二通信设备的处理器还用于执行以下操作:
[0144]
输入第三安全参数,生成第二通信设备的初始参数,所述第二通信设备的初始参数包括:第二随机数rb、第三随机数r以及随机盐值salt。
[0145]
作为一个可选实施例,所述第一通信设备的处理器还用于执行以下操作:
[0146]
根据公钥、第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra)和第二中间参数e(xi)并发送至第二通信设备;其中,e()表示加密处理;
[0147]
所述第二通信设备的处理器还用于执行以下操作:
[0148]
根据第二中间参数e(xi)、公钥、第二数据向量yi以及第三随机数r进行运算,得到第三中间参数e(rx
i-ryi)并发送至第一通信设备;
[0149]
所述第一通信设备的处理器还用于执行以下操作:
[0150]
利用私钥解密所述第三中间参数e(rx
i-ryi)后计算第四中间参数m并发送至第二通信设备;其中,m=∑i(rx
i-ryi)2。
[0151]
作为一个可选实施例,所述第二通信设备的处理器还用于执行以下操作:
[0152]
根据第一中间参数e(xi+ra)、公钥、第二数据向量yi以及第二随机数rb进行运算,得到第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb),并将第一数据组e(xi+ra)
·
e(-yi)和第二数据组e(xi+ra)
·
e(-yi+rb)随机排序后发送至所述第一通信设备;
[0153]
所述第一通信设备的处理器还用于执行以下操作:
[0154]
利用私钥解密第一数据组e(xi+ra)
·
e(-yi)并去随机化后,选取s个值计算得到第五中间参数τ=∑
i∈[1,s]
(x
i-yi)2并发送至第二通信设备;
[0155]
利用私钥解密第二数据组e(xi+ra)
·
e(-yi+rb)并去随机化后得到第六中间参数x
i-yi+rb,选取n-s个第六中间参数x
i-yi+rb发送至所述第二通信设备;其中,n为第一数据向量和第二数据向量的数量,s为大于0且小于n的整数;
[0156]
所述第二通信设备的处理器还用于执行以下操作:
[0157]
接收到n-s个第六中间参数x
i-yi+rb并去随机化后,计算得到第七中间参数τ

=∑
i∈[1,n-s]
(x
i-yi)2;
[0158]
将所述第七中间参数τ

和第五中间参数τ求和,得到第八中间参数z。
[0159]
作为一个可选实施例,所述第二通信设备的处理器还用于执行以下操作:
[0160]
根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,并将第一哈希值h发送至所述第一通信设备。
[0161]
作为一个可选实施例,所述第二通信设备的处理器还用于执行以下操作:
[0162]
判断第三随机数r和第八中间参数z的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值
δ范围内,确定第一数据向量xi和第二数据向量yi相似;
[0163]
在确定第一数据向量xi和第二数据向量yi相似后,将第七中间参数τ

、第三随机数r以及随机盐值salt发送至所述第一通信设备;
[0164]
所述第一通信设备的处理器还用于执行以下操作:
[0165]
根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,若第二哈希值h

与第一哈希值h相同,则将第七中间参数τ

和第五中间参数τ求和,得到计算参数z


[0166]
判断第三随机数r和计算参数z

的乘积是否与第四中间参数m相等;若相等,确定第一数据向量xi和第二数据向量yi的欧式距离计算结果为若在相似度判断阈值δ范围内,确定第一数据向量xi和第二数据向量yi相似。
[0167]
作为一个可选实施例,所述第一通信设备的处理器还用于执行以下操作:
[0168]
利用paillier加密算法的同态性对第一随机数ra以及第一数据向量xi进行运算,得到第一中间参数e(xi+ra);
[0169]
其中,e(xi+ra)=e(xi)
×
e(ra);e(xi)表示利用公钥加密后的xi;e(ra)表示利用公钥加密后的ra;所述公钥为paillier加密算法的公钥。
[0170]
作为一个可选实施例,所述第二通信设备的处理器还用于执行以下操作:
[0171]
确定第三中间参数e(rx
i-ryi)=(e(xi))r·
(e(-yi))r。
[0172]
作为一个可选实施例,所述第二通信设备的处理器还用于执行以下操作:
[0173]
确定第一哈希值h=h(salt||r)。
[0174]
作为一个可选实施例,所述第一通信设备的处理器还用于执行以下操作:
[0175]
确定第二哈希值h

=h(salt||r)。
[0176]
本发明实施例中,在初始化阶段,第一通信设备生成公私钥并将公钥公开,同时第一通信设备和第二通信设备分别生成各自的交互过程中所需的初始参数;在交互阶段,第一通信设备和第二通信设备各自根据自身的数据向量、密钥与初始参数进行运算,并将计算后的中间参数进行交互,保证了双方均能够有效的计算出最终结果;且在最后验证阶段,双方分别计算的中间参数进行验证,保证了双方计算结果的准确性和机密性;由于双方分别对计算结果进行可验证计算,只要有一方传递虚假数据,则双方均不会得到正确结果,这在现实场景中更具有实用性;且通过paillier加密与不经意传输技术,通过计算向量之间的欧式距离来计算其相似性能够更加准确地计算向量相似性,使得结果更具有说服力。
[0177]
本发明实施例还提供一种通信设备,该通信设备为第一通信设备或第二通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如上所述的恶意敌手模型下的向量相似度判断方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0178]
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的恶意敌手模型下的向量相似度判断方法实施例中的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read-only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0179]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序
产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0180]
本技术是参照根据本技术实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或一个方框或多个方框中指定的功能的装置。
[0181]
这些计算机程序指令也可存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储介质中,使得存储在该计算机可读存储介质中的指令产生包括指令装置的纸制品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0182]
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他科编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0183]
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

技术特征:


1.一种恶意敌手模型下的向量相似度判断方法,其特征在于,所述恶意敌手模型包括第一通信设备和第二通信设备,所述方法包括:第一通信设备生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;所述第一通信设备和所述第二通信设备分别生成初始参数;所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。2.根据权利要求1所述的方法,其特征在于,所述第一通信设备和所述第二通信设备分别生成初始参数,包括:所述第一通信设备输入第二安全参数,生成第一通信设备的初始参数并发送至所述第二通信设备,所述第一通信设备的初始参数包括:第一随机数r
a
、第一哈希函数h()以及相似度判断阈值δ;所述第二通信设备输入第三安全参数,生成第二通信设备的初始参数,所述第二通信设备的初始参数包括:第二随机数r
b
、第三随机数r以及随机盐值salt。3.根据权利要求2所述的方法,其特征在于,所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互,包括:第一通信设备根据公钥、第一随机数r
a
以及第一数据向量x
i
进行运算,得到第一中间参数e(x
i
+r
a
)和第二中间参数e(x
i
)并发送至第二通信设备;其中,e()表示加密处理;第二通信设备根据第二中间参数e(x
i
)、公钥、第二数据向量y
i
以及第三随机数r进行运算,得到第三中间参数e(rx
i-ry
i
)并发送至第一通信设备;第一通信设备利用私钥解密所述第三中间参数e(rx
i-ry
i
)后计算第四中间参数m并发送至第二通信设备;其中,m=∑
i
(rx
i-ry
i
)2。4.根据权利要求3所述的方法,其特征在于,所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互,还包括:第二通信设备根据第一中间参数e(x
i
+r
a
)、公钥、第二数据向量y
i
以及第二随机数r
b
进行运算,得到第一数据组e(x
i
+r
a
)
·
e(-y
i
)和第二数据组e(x
i
+r
a
)
·
e(-y
i
+r
b
),并将第一数据组e(x
i
+r
a
)
·
e(-y
i
)和第二数据组e(x
i
+r
a
)
·
e(-y
i
+r
b
)随机排序后发送至所述第一通信设备;第一通信设备利用私钥解密第一数据组e(x
i
+r
a
)
·
e(-y
i
)并去随机化后,选取s个值计算得到第五中间参数τ=∑
i∈[1,s]
(x
i-y
i
)2并发送至第二通信设备;所述第一通信设备利用私钥解密第二数据组e(x
i
+r
a
)
·
e(-y
i
+r
b
)并去随机化后得到第六中间参数x
i-y
i
+r
b
,选取n-s个第六中间参数x
i-y
i
+r
b
发送至所述第二通信设备;其中,n为第一数据向量和第二数据向量的数量,s为大于0且小于n的整数;所述第二通信设备接收到n-s个第六中间参数x
i-y
i
+r
b
并去随机化后,计算得到第七中间参数τ

=∑
i∈[1,n-s]
(x
i-y
i
)2;所述第二通信设备将所述第七中间参数τ

和第五中间参数τ求和,得到第八中间参数
z。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,并将第一哈希值h发送至所述第一通信设备。6.根据权利要求5所述的方法,其特征在于,所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似,包括:所述第二通信设备判断第三随机数r和第八中间参数z的乘积是否与第四中间参数m相等;若相等,确定第一数据向量x
i
和第二数据向量y
i
的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第二通信设备确定第一数据向量x
i
和第二数据向量y
i
相似;在所述第二通信设备确定第一数据向量x
i
和第二数据向量y
i
相似后,所述第二通信设备将第七中间参数τ

、第三随机数r以及随机盐值salt发送至所述第一通信设备;所述第一通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,若第二哈希值h

与第一哈希值h相同,则所述第一通信设备将第七中间参数τ

和第五中间参数t求和,得到计算参数z

;所述第一通信设备判断第三随机数r和计算参数z

的乘积是否与第四中间参数m相等;若相等,确定第一数据向量x
i
和第二数据向量y
i
的欧式距离计算结果为若在相似度判断阈值δ范围内,所述第一通信设备确定第一数据向量x
i
和第二数据向量y
i
相似。7.根据权利要求3所述的方法,其特征在于,第一通信设备根据公钥、第一随机数r
a
以及第一数据向量x
i
进行运算,得到第一中间参数e(x
i
+r
a
),包括:所述第一通信设备利用paillier加密算法的同态性对第一随机数r
a
以及第一数据向量x
i
进行运算,得到第一中间参数e(x
i
+r
a
);其中,e(x
i
+r
a
)=e(x
i
)
×
e(r
a
);e(x
i
)表示利用公钥加密后的x
i
;e(r
a
)表示利用公钥加密后的r
a
;所述公钥为paillier加密算法的公钥。8.根据权利要求3所述的方法,其特征在于,所述第二通信设备根据第二中间参数e(x
i
)、公钥、第二数据向量y
i
以及第三随机数r进行运算,得到第三中间参数e(rx
i-ry
i
),包括:所述第二通信设备确定第三中间参数e(rx
i-ry
i
)=(e(x
i
))
r
·
(e(-y
i
))
r
。9.根据权利要求5所述的方法,其特征在于,第二通信设备根据第一哈希函数h()、第三随机数r以及随机盐值salt得到第一哈希值h,包括:所述第二通信设备确定第一哈希值h=h(salt||r)。10.根据权利要求6所述的方法,其特征在于,所述第一通信设备第一哈希函数h()、第三随机数r以及随机盐值salt得到第二哈希值h

,包括:所述第一通信设备确定第二哈希值h

=h(salt||r)。11.一种通信设备,所述通信设备包括恶意敌手模型中的第一通信设备和第二通信设备,其特征在于,所述通信设备包括处理器和收发器,所述收发器在处理器的控制下接收和发送数据,其特征在于,所述第一通信设备的处理器用于执行以下操作:生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;所述第一通信设备和所述第二通信设备的处理器还用于执行以下操作:
分别生成初始参数;分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似。12.一种通信设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至10任一项所述的恶意敌手模型下的向量相似度判断方法。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至10任一项所述的恶意敌手模型下的向量相似度判断方法中的步骤。

技术总结


本发明提供一种恶意敌手模型下的向量相似度判断方法及通信设备,该方法包括:第一通信设备生成包括公钥和私钥的密钥信息,并将公钥发送给第二通信设备;所述第一通信设备和所述第二通信设备分别生成初始参数;所述第一通信设备和所述第二通信设备分别根据自身的数据向量、密钥信息以及初始参数进行运算,并将运算得到的中间参数进行交互;所述第一通信设备和所述第二通信设备分别对所述中间参数进行验证,确定第一通信设备的第一数据向量和第二通信设备的第二数据向量是否相似;本发明实施例中双方分别对计算结果进行可验证计算,只要有一方传递虚假数据,则双方均不会得到正确结果,更具有实用性。更具有实用性。更具有实用性。


技术研发人员:

郭斯栩 粟栗 耿慧拯 张鑫月 张星

受保护的技术使用者:

中国移动通信集团有限公司

技术研发日:

2021.06.25

技术公布日:

2022/12/26

本文发布于:2024-09-20 13:48:22,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/49071.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通信设备   所述   向量   参数
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议