本发明涉及隐私计算,尤其涉及一种基于加密碰撞的多方数据安全匹配方法。
背景技术:
1、多方数据匹配方法是指在多个数据持有者之间进行数据匹配操作,以找到共同的数据或者个体。传统方法通常是参与方将数据集中的关键属性通过哈希函数进行转换,并将哈希值进行匹配操作。在哈希值匹配的情况下,进一步比对原始数据来进行数据匹配操作。
2、基于哈希函数的多方数据匹配方法,存在哈希值唯一性缺失、哈希计算不可逆、大规模数据集计算耗时、哈希长度限制、无法提供充分的数据隐私保护等缺点,需要更安全的多方数据匹配方法。
技术实现思路
1、本发明的目的在于提供一种基于加密碰撞的多方数据安全匹配方法,采用加密碰撞和安全匹配等技术,既有效的实现了多方数据匹配的准确性、保证了各方的数据安全的同时,又解决传统的方法唯一性缺失、长度限制和无法提供充分数据隐私保护的问题。
2、本发明采用的技术方案是:
3、一种基于加密碰撞的多方数据安全匹配方法,其包括以下步骤:
4、步骤1:数据匹配的一方生成私钥sk和公钥pk,将公钥pk发送给数据匹配的另一方;
5、步骤2:数据匹配的另一方接收公钥pk,对数据匹配的另一方的每个匹配数据idai生成一个随机数rai,对随机数rai使用公钥pk加密,对数据匹配的另一方的匹配数据idai取hash,生成第一加密数据发送给数据匹配的一方;
6、步骤3:数据匹配的一方使用私钥sk解密第一加密数据得到解密数据;对数据匹配的一方的每个匹配数据idbi取hash并私钥加密后再hash得到第二加密数据,并将解密数据和第二加密数据发送给数据匹配的另一方;
7、步骤4:数据匹配的另一方把解密数据除以对应的随机数rai,并再次hash得到第三数据,第三数据再和第二加密数据求交得到交集i,将交集i发给数据匹配的一方;
8、步骤5:数据匹配的一方根据第三数据和idbi之间的映射关系以及交集i得到最终的求交结果。
9、进一步地,步骤2中第一加密数据的具体计算式为:pk(rai)*hash(idai)。
10、进一步地,步骤3中解密数据的具体计算式为:rai*sk(hash(idai))。
11、进一步地,步骤3中第二加密数据的具体计算式为:hash(sk(hash(idbi)))。
12、进一步地,步骤3中第三数据的具体计算式为:hash(sk(hash(idai)))。
13、本发明采用以上技术方案,使用加密碰撞和安全匹配技术,解决了传统技术的唯一性缺失、长度限制和数据隐私保护等问题,有效的解决了多方数据安全匹配的问题,大大提升了数据匹配的效率和准确率。本发明为直接加密的安全匹配方法,使用的是一种随机化加密算法, elgamal算法;即使每次用相同密钥加密相同明文得到的密文结果也不相同,因此不存在与rsa算法类似的选择明文攻击问题,是iso同态加密国际标准中唯一指定的乘法同态加密算法,安全性更高。本发明可用于各种多方安全匹配的场景,应用场景和应用范围完全不同。
1.一种基于加密碰撞的多方数据安全匹配方法,其特征在于:其包括以下步骤:
2.根据权利要求1所述的一种基于加密碰撞的多方数据安全匹配方法,其特征在于:步骤2中第一加密数据的具体计算式为:pk(rai)*hash(idai)。
3.根据权利要求1所述的一种基于加密碰撞的多方数据安全匹配方法,其特征在于:步骤3中解密数据的具体计算式为:rai*sk(hash(idai))。
4.根据权利要求1所述的一种基于加密碰撞的多方数据安全匹配方法,其特征在于:步骤3中第二加密数据的具体计算式为:hash(sk(hash(idbi)))。
5.根据权利要求1所述的一种基于加密碰撞的多方数据安全匹配方法,其特征在于:步骤3中第三数据的具体计算式为:hash(sk(hash(idai)))。