密文相似度计算方法、装置、系统及存储介质制造方法及图纸

技术编号:28682113 阅读:44 留言:0更新日期:2021-06-02 03:00
本发明专利技术公开了一种密文相似度计算方法、装置、系统及存储介质,方法包括:将第一密文的第一部分和第二密文的第二部分发送给第一用户的客户端,以使第一用户的客户端计算第一授权陷门;将第二密文的第一部分和第一密文的第二部分发送给第二用户的客户端,以使第二用户的客户端计算第二授权陷门;接收第一用户的客户端发送的第一授权陷门和第二用户的客户端发送的第二授权陷门;若第一密文与第二密文符合第一预设条件,则根据两个密文和两个授权陷门,计算得到密文相似度计算结果;将密文相似度计算结果发送给相应用户的客户端。本发明专利技术可以在不对密文解密的前提下,判断两位用户的密文所包含的数据是否相似,在确保安全性前提下,显著提高了便利性。

【技术实现步骤摘要】
密文相似度计算方法、装置、系统及存储介质
本专利技术涉及一种密文相似度计算方法、装置、系统及其存储介质,属于数据安全领域。
技术介绍
云计算与传统行业相结合,具有便捷、可拓展的优点。云存储是其中一项重要业务,具有方便数据备份、共享、节省存储开销等优点。然而,近年来数据泄露事件逐年增加,用户会担忧存储在云上的数据的安全性。为了保护用户存储在云上的数据的安全,可以采取加密后上传的方式,但这种方法会破坏原有数据的特征,原本在明文上的操作,例如搜索、比较等在密文上难以实施。考虑到加密数据库连接、加密基因测试、加密数据查重的实现涉及到比较不同用户的密文数据所包含的信息是否相等,因此,需要实现对不同用户加密数据的比较。目前有名的等值测试公钥加密(PublicKeyEncryptionwithEqualityTest,简称PKEET)技术,服务器可以在不对两位用户的密文进行解密的前提下,判断两个用户的密文是否包含相同数据。然而,目前的PKEET方案只支持精准匹配,若两个用户的数据有任何区别,测试算法都会判定两个密文所包含的数据不同。但在现实中,两个用户的原始数据可能出现微小的拼写差别、拼写错误等。此外,在基因测试、亲子鉴定中,即使是亲属关系的两个人,基因数据也可能由于变异等原因出现差异。从实用性的角度,若两个数据的相似度较高,即相似度大于阈值时判定为“相似”,在实际使用时会更方便。因此,需要实现对不同用户加密数据的模糊比较,判断两个密文所包含的数据的相似度,即实现密文的相似度计算。专利技术内容有鉴于此,本专利技术提供了一种密文相似度计算方法、装置、系统、服务器及存储介质,其使两位用户在授权服务器后,可以在不对密文解密的前提下,判断两位用户的密文所包含的数据是否相似,在确保安全性前提下,显著提高了便利性。本专利技术的第一个目的在于提供一种密文相似度计算方法。本专利技术的第二个目的在于提供一种密文相似度计算装置。本专利技术的第三个目的在于提供一种密文相似度计算系统。本专利技术的第四个目的在于提供一种服务器。本专利技术的第五个目的在于提供一种存储介质。本专利技术的第一个目的通过采取如下技术方案达到:一种密文相似度计算方法,应用于服务器,所述服务器预先存储每个用户的客户端发送的密文,任意两个需要进行密文比较的用户分别为第一用户和第二用户,第一用户的密文为第一密文,第二用户的密文为第二密文,所述方法包括:将第一密文的第一部分和第二密文的第二部分发送给第一用户的客户端,以使第一用户的客户端根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门;将第二密文的第一部分和第一密文的第二部分发送给第二用户的客户端,以使第二用户的客户端根据第二用户的私钥、第二密文的第一部分和第一密文的第二部分,计算第二授权陷门;接收第一用户的客户端发送的第一授权陷门和第二用户的客户端发送的第二授权陷门;若第一密文与第二密文符合第一预设条件,则根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果;将密文相似度计算结果发送给相应用户的客户端。进一步的,所述第一密文与第二密文符合第一预设条件是指以下两个等式均成立:e(C5,g2)=e(H3(C1,C2,C3,1,C4,1,…,C3,n,C4,n),C2)e(C′5,g′2)=e(H3(C′1,C′2,C′3,1,C′4,1,…,C′3,n,C′4,n),C′2)其中,C1、C2、C3,i(1≤i≤n)、C4,i(1≤i≤n)、C5为第一密文的第一部分、第二部分、第三部分、第四部分和第五部分,C′1、C′2、C′3,i(1≤i≤n)、C′4,i(1≤i≤n)、C′5为第二密文的第一部分、第二部分、第三部分、第四部分和第五部分,g2为群生成元,H3(·)为哈希函数,e(·,·)为双线对运算。进一步的,所述根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果,具体为:Li=e(C4,i/H2(e(C3,i,Td2)),C′2)/Td1(1≤i≤n)L={L1,L2,…,Ln}L′i=e(C′4,i/H2(e(C′3,i,Td′2)),C2)/Td′1(1≤i≤n)L′={L′1,L′2,…,L′n}其中,L为第一中间向量,由字符L1,L2,…,Ln组成;L′为第二中间向量,由字符L′1,L′2,…,L′n组成;n为消息长度,v为阈值,C2、C3,i与C4,i为第一密文的第二部分、第三部分和第四部分,C′2、C′3,i与C′4,i为第二密文的第二部分、第三部分和第四部分,H2(·)为哈希函数,e(·,·)为双线对运算,Td1与Td2为第一授权陷门的第一部分和第二部分,Td′1与Td′2为第二授权陷门的第一部分和第二部分;计算L与L′的编辑距离d,若d/n≤v,则判断第一密文与第二密文相似,将密文相似度计算结果设置为“1”;否则,判断第一密文与第二密文不相似,将密文相似度计算结果设置为“0”。进一步的,所述根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门,如下式:其中,C1为第一密文的第一部分,C′2为第二密文的第二部分,e(·,·)为双线对运算,sk1与sk2为第一用户的私钥的第一部分和第二部分,Td1与Td2为第一授权陷门的第一部分和第二部分。进一步的,所述根据第二用户的私钥、第二密文的第一部分和第一密文的第二部分,计算第二授权陷门,如下式:其中,C′1为第二密文的第一部分,C2为第一密文的第二部分,e(·,·)为双线对运算,sk′1与sk′2为第二用户的私钥的第一部分和第二部分,Td′1与Td′2为第二授权陷门的第一部分和第二部分。本专利技术的第二个目的通过采取如下技术方案达到:一种密文相似度计算装置,应用于服务器,所述服务器预先存储每个用户的客户端发送的密文,任意两个需要进行密文比较的用户分别为第一用户和第二用户,第一用户的密文为第一密文,第二用户的密文为第二密文,所述装置包括:第一发送模块,用于将第一密文的第一部分和第二密文的第二部分发送给第一用户的客户端,以使第一用户的客户端根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门;第二发送模块,用于将第二密文的第一部分和第一密文的第二部分发送给第二用户的客户端,以使第二用户的客户端根据第二用户的私钥、第二密文的第一部分和第一密文的第二部分,计算第二授权陷门;接收模块,用于接收第一用户的客户端发送的第一授权陷门和第二用户的客户端发送的第二授权陷门;计算模块,用于若第一密文与第二密文符合第一预设条件,则根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果;第三发送模块,用于将密文相似度计算结果发送给相应用户的客户端。本专利技术的第三个目的通过采取如下技术方案达到本文档来自技高网...

【技术保护点】
1.一种密文相似度计算方法,应用于服务器,其特征在于,所述服务器预先存储每个用户的客户端发送的密文,任意两个需要进行密文比较的用户分别为第一用户和第二用户,第一用户的密文为第一密文,第二用户的密文为第二密文,所述方法包括:/n将第一密文的第一部分和第二密文的第二部分发送给第一用户的客户端,以使第一用户的客户端根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门;/n将第二密文的第一部分和第一密文的第二部分发送给第二用户的客户端,以使第二用户的客户端根据第二用户的私钥、第二密文的第一部分和第一密文的第二部分,计算第二授权陷门;/n接收第一用户的客户端发送的第一授权陷门和第二用户的客户端发送的第二授权陷门;/n若第一密文与第二密文符合第一预设条件,则根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果;/n将密文相似度计算结果发送给相应用户的客户端。/n

【技术特征摘要】
1.一种密文相似度计算方法,应用于服务器,其特征在于,所述服务器预先存储每个用户的客户端发送的密文,任意两个需要进行密文比较的用户分别为第一用户和第二用户,第一用户的密文为第一密文,第二用户的密文为第二密文,所述方法包括:
将第一密文的第一部分和第二密文的第二部分发送给第一用户的客户端,以使第一用户的客户端根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门;
将第二密文的第一部分和第一密文的第二部分发送给第二用户的客户端,以使第二用户的客户端根据第二用户的私钥、第二密文的第一部分和第一密文的第二部分,计算第二授权陷门;
接收第一用户的客户端发送的第一授权陷门和第二用户的客户端发送的第二授权陷门;
若第一密文与第二密文符合第一预设条件,则根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果;
将密文相似度计算结果发送给相应用户的客户端。


2.根据权利要求1所述的密文相似度计算方法,其特征在于,所述符合第一预设条件是指以下两个等式均成立:
e(C5,g2)=e(H3(C1,C2,C3,1,C4,1,…,C3,n,C4,n),C2)
e(C′5,g′2)=e(H3(C′1,C′2,C′3,1,C′4,1,…,C′3,n,C′4,n),C′2)
其中,C1、C2、C3,i、C4,i、C5为第一密文的第一部分、第二部分、第三部分、第四部分和第五部分,C′1、C′2、C′3,i、C′4,i、C′5为第二密文的第一部分、第二部分、第三部分、第四部分和第五部分,g2为群生成元,H3(·)为哈希函数,e(·,·)为双线对运算。


3.根据权利要求1所述的密文相似度计算方法,其特征在于,所述根据第一密文、第二密文、第一授权陷门和第二授权陷门,计算得到密文相似度计算结果,具体为:
Li=e(C4,i/H2(e(C3,i,Td2)),C′2)/Td1
L={L1,L2,…,Ln}
L′i=e(C′4,i/H2(e(C′3,i,Td′2)),C2)/Td′1
L′={L′1,L′2,…,L′n}
其中,L为第一中间向量,由字符L1,L2,…,Ln组成;L′为第二中间向量,由字符L′1,L′2,…,L′n组成;n为消息长度,v为阈值,C2、C3,i与C4,i为第一密文的第二部分、第三部分和第四部分,C′2、C′3,i与C′4,i为第二密文的第二部分、第三部分和第四部分,H2(·)为哈希函数,e(·,·)为双线对运算,Td1与Td2为第一授权陷门的第一部分和第二部分,Td′1与Td′2为第二授权陷门的第一部分和第二部分;
计算L与L′的编辑距离d,若d/n≤v,则判断第一密文与第二密文相似,将密文相似度计算结果设置为“1”;否则,判断第一密文与第二密文不相似,将密文相似度计算结果设置为“0”。


4.根据权利要求1-3任一项所述的密文相似度计算方法,其特征在于,所述根据第一用户的私钥、第一密文的第一部分和第二密文的第二部分,计算第一授权陷门,如下式:<...

【专利技术属性】
技术研发人员:黄琼王元昊李宏博刘文博苗莹
申请(专利权)人:华南农业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1