一种隐私保护的匹配方法及系统技术方案

技术编号:36745545 阅读:25 留言:0更新日期:2023-03-04 10:27
本发明专利技术公开了一种隐私保护的匹配方法,其包括步骤:向第二端发送所述字符子串的长度值m,以使所述第二端将所述第二端自身持有的长字符串切分为g个长度为m的字符串;接收所述第二端返回的数量g,并获取数值k生,成两个g行k列的随机二进制矩阵,分别为矩阵T和矩阵U;在接收到以接收端参与不经意传输指令的情况下,以矩阵T和矩阵U的对应列为输入执行k次长度为g的不经意传输;在接收到不经意伪随机函数执行指令的情况下,以字符子串为输入执行g次预设的不经意伪随机函数,得到第一输出结果;获取所述第二端发送的第二输入结果,比较所述第一输出结果和所述第二输出结果确认匹配结果。相应地,本发明专利技术公开了隐私保护的匹配系统。本发明专利技术公开了隐私保护的匹配系统。本发明专利技术公开了隐私保护的匹配系统。

【技术实现步骤摘要】
一种隐私保护的匹配方法及系统


[0001]本专利技术涉及一种隐私计算技术,尤其涉及一种隐私保护的匹配方法及系统。

技术介绍

[0002]模式匹配是字符串中一种基础算法,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串。模式匹配广泛应用于敏感词检测、论文查重、基因测序、模式挖掘等场景。
[0003]随着网络安全法,个人信息保护法等法律法规的出台和完善,数据的合规和隐私安全日益受到重视。如何在不暴露原始明文数据的前提下进行模式匹配拥有诸多应用场景。例如:敏感词检测,在一些内容生产平台上,内容创作者在发布文章之前需要通过平台的敏感词检测和相关的内容审核;如果能够在不暴露文章明文的前提下完成敏感词检测,那么将会有效的保护内容创作者的知识产权,也将增加平台的吸引力和公信力。
[0004]现有技术中,可以用朴素哈希的方法,即参与双方A、B可以使用同一个哈希函数H,计算数据的哈希值,再将哈希过的数据互相发送给对方,然后判断是否匹配。这种方法简单、快速,但并不安全,有可能会泄露额外的信息。如果参与双方需要求交集的数据本身,数据空间比较小,那么一个恶意的参与方,就可以通过哈希碰撞的方式,碰撞出对方传输的哈希值,从而窃取到额外的信息。
[0005]鉴于此,希望获得一种新的隐私保护的匹配方法,该方案能够在保护参与信息匹配双方的数据隐私的同时完成模式匹配。

技术实现思路

[0006]本专利技术的目的之一在于提供一种隐私保护的匹配方法,该方法在进行模式匹配时不会泄露交互双方的信息,从而在保护私有信息不被泄露的同时完成模式匹配,并且显著提高匹配效率,降低通信开销。
[0007]基于根据上述专利技术目的,本专利技术提出了一种隐私保护的匹配方法,应用于持有匹配目标所对应的字符子串的第一端,其包括步骤:
[0008]向第二端发送所述字符子串的长度值m,以使所述第二端将所述第二端自身持有的长字符串切分为g个长度为m的字符串;
[0009]接收所述第二端返回的数量g,并获取数值k生,成两个g行k列的随机二进制矩阵,分别为矩阵T和矩阵U;
[0010]在接收到以接收端参与不经意传输指令的情况下,以矩阵T和矩阵U的对应列为输入执行k次长度为g的不经意传输;
[0011]在接收到不经意伪随机函数执行指令的情况下,以字符子串为输入执行g次预设的不经意伪随机函数,得到第一输出结果;
[0012]获取所述第二端发送的第二输入结果,比较所述第一输出结果和所述第二输出结果确认匹配结果。
[0013]在本专利技术中,提出了一种隐私保护下的模式匹配方案,能够同时保护长字符串和字符子串的数据隐私不被泄露,并同时完成模式匹配;基于不经意传输扩展协议进行协议构造,能够有效降低通信代价,大幅提高了运算效率。
[0014]进一步地,在一些实施方式中,所述初始化两个g行k列的随机二进制矩阵包括:
[0015]初始化g行k列的随机二进制矩阵T;
[0016]获取预设的随机编码函数C,以字符子串p为输入获取编码结果C(p);
[0017]将所述矩阵T的第i列与C(p)的异或结果作为矩阵U的第i列,构建矩阵U。
[0018]进一步地,在一些实施方式中,以字符子串为输入执行g次预设的不经意伪随机函数,得到第一输出结果包括:
[0019]获取哈希函数H,输出以当前次数j以及矩阵T第j行tj为输入的哈希值,得到第一输出结果。
[0020]更进一步地,在一些实施方式中,所述以矩阵T和矩阵U的对应列为输入执行k次长度为g的不经意传输,包括:
[0021]在接收到以发送端参与不经意传输指令的情况下,以矩阵T的第i列ti和矩阵U的第i列ui为输入,执行k次不经意传输。
[0022]进一步地,在一些实施方式中,通过比较所述第一输出结果和所述第二输出结果确认匹配结果包括:
[0023]在所述第二输出结果中包括与所述第一输出结果相同的结果的情况下,指示所述长字符串包含与待匹配字符子串匹配的字符串。
[0024]进一步地,在一些实施方式中,通过比较所述第一输出结果和所述第二输出结果确认匹配结果包括:
[0025]在所述第二输出结果中包括第三结果,且所述第三结果与所述第一输出结果相同的情况下,根据所述第三结果在所述第二输出结果中的位置确定与所述待匹配的字符子串相匹配的字符串在所述长字符串中的位置。
[0026]进一步地,在一些实施方式中,获取并发送所述字符子串的长度m之后,所述方法还包括
[0027]接收所述第二端返回的数值g,以所述字符子串为行重复排列g行,生成矩阵P,所述矩阵P用于构建矩阵U和矩阵T。
[0028]本专利技术还提出了另一种隐私保护的匹配方法,应用于持有待匹配的长字符串的第二端,其包括步骤:
[0029]接收第一端发送的长度值m,并将所述待匹配的长字符串切分为g个长度为m的字符串,其中长度值m是所述第一端持有的匹配目标所对应的字符子串的长度值;
[0030]获取k,初始化长度为k的随机向量s;
[0031]在接收到以接收端参与不经意传输指令的情况下,以随机向量s中的元素为输入,执行k次不经意传输,并根据上述k次不经意传输得到的k列输出结果,构建矩阵Q;
[0032]在接收到以发送端参与不经意伪随机函数指令的情况下,将所述切分后的字符串作为变量输入,以矩阵Q的行作为密钥计算预设的不经意伪随机函数,得到第二输出结果,将所述第二输出结果发送给所述第一端,所述第二输出结果用于所述第一端输出所述长字符串与待匹配字符子串的匹配结果。
[0033]进一步地,在一些实施方式中,所述计算预设的不经意伪随机函数,得到并发送第二输出结果包括:
[0034]获取哈希函数H以及编码函数C;
[0035]依次以切分后的字符串xj为输入,获取编码结果C(xj);
[0036]根据执行次数j以及C(x)、随机向量s和矩阵Q的第j行qj生成哈希值,得到第二输出结果。
[0037]进一步地,在一些实施方式中,获取匹配目标所对应字符子串的长度值m之后,所述方法包括:
[0038]获取匹配目标所对应字符子串的长度值m;
[0039]计算所持有的待匹配长字符串z的长度n,计算n

m+1记为g,发送数值g至所述第一端。
[0040]进一步地,在一些实施方式中,获取匹配目标所对应字符子串的长度值m,并将所述待匹配的长字符串切分为g个长度为m的字符串包括:
[0041]接收第一端发送的长度值m;
[0042]根据所持有的待匹配长字符串z的长度n,计算n

m+1,记为g;
[0043]从字符串z首位起,依次移动一位作为起点,生成长度为g的字符串,将字符串依次排列得到输入矩阵X,其中,矩阵X的每一行为切分后的长度为m的字符串,所述矩阵X用于作为不经意伪随机函数的输入矩阵。
[0044]本专利技术的另一目的在于提供一种隐私本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种隐私保护的匹配方法,应用于持有匹配目标所对应的字符子串的第一端,所述方法包括:向第二端发送所述字符子串的长度值m,以使所述第二端将所述第二端自身持有的长字符串切分为g个长度为m的字符串;接收所述第二端返回的数量g,并获取数值k,生成两个g行k列的随机二进制矩阵,分别为矩阵T和矩阵U;在接收到以接收端参与不经意传输指令的情况下,以矩阵T和矩阵U的对应列为输入执行k次长度为g的不经意传输;在接收到不经意伪随机函数执行指令的情况下,以字符子串为输入执行g次预设的不经意伪随机函数,得到第一输出结果;获取所述第二端发送的第二输入结果,比较所述第一输出结果和所述第二输出结果确认匹配结果。2.根据权利要求1所述的隐私保护的匹配方法,所述初始化两个g行k列的随机二进制矩阵包括:初始化g行k列的随机二进制矩阵T;获取预设的随机编码函数C,以字符子串p为输入获取编码结果C(p);将所述矩阵T的第i列与C(p)的异或结果作为矩阵U的第i列,构建矩阵U。3.根据权利要求1所述的隐私保护的匹配方法,以字符子串为输入执行g次预设的不经意伪随机函数,得到第一输出结果包括:获取哈希函数H,输出以当前次数j以及矩阵T第j行t
j
为输入的哈希值,得到第一输出结果。4.根据权利要求1所述的隐私保护的匹配方法,所述以矩阵T和矩阵U的对应列为输入执行k次长度为g的不经意传输,包括:在接收到以发送端参与不经意传输指令的情况下,以矩阵T的第i列t
i
和矩阵U的第i列u
i
为输入,执行k次不经意传输。5.根据权利要求1所述的隐私保护的匹配方法,通过比较所述第一输出结果和所述第二输出结果确认匹配结果包括:在所述第二输出结果中包括与所述第一输出结果相同的结果的情况下,指示所述长字符串包含与待匹配字符子串匹配的字符串。6.根据权利要求1所述的隐私保护的匹配方法,通过比较所述第一输出结果和所述第二输出结果确认匹配结果包括:在所述第二输出结果中包括第三结果,且所述第三结果与所述第一输出结果相同的情况下,根据所述第三结果在所述第二输出结果中的位置确定与所述待匹配的字符子串相匹配的字符串在所述长字符串中的位置。7.根据权利要求1所述的隐私保护的匹配方法,向第二端发送所述字符子串的长度m之后,所述方法还包括接收所述第二端返回的数值g,以所述字符子串为行重复排列g行,生成矩阵P,所述矩阵P用于构建矩阵U和矩阵T。8.一种隐私保护的匹配方法,应用于持有待匹配的长字符串的第二端,所述方法包括:
接收第一端发送的长度值m,并将所述待匹配的长字符串切分为g个长度为m的字符串,其中长度值m是所述第一端持有的匹配目标所对应的字符子串的长度值;获取k,初始化长度为k的随机向量s;在接收到以接收端参与不经意传输指令的情况下,以随机向量s中的元素为输入,执行k次不经意传输,并根据上述k次不经意传输得到的k列输出结果,构建矩阵Q;在接收到以发送端参与不经意伪随机函数指令的情况下,将所述切分后的字符串作为变量输入,以矩阵Q的行作为密钥计算预设的不经意伪随机函数,得到第二输出结果,将所述第二输出结果发送给所述第一端,所述第二输出结果用于所述第一端输出所述长字符串与待匹配字符子串的匹配结果。9.根据权利要求8所述的隐私保护的匹配方法,所述计算预设的不经意伪随机函数,得到并发送第二输出结果包括:获取哈希函数H以及编码函数C;依次以切分后的字符串x
j
为输入,获取编码结果C(x
j
);根据执行次数j以及C(x)、随机向量s和矩阵Q的第j行q
j
生成哈希值,得到第二输出结果。10.根据权利要求8所述的隐私保护的匹配方法,接收第一端发送的长度值m之后,所述方法包括:获取匹配目标所对应字符子串的长度值m;计算所持有的待匹配长字符串z的长度n,计算n

m+1记为g,发送数值g至所述第一端。11.根据权利要求8所述的隐私保护的匹配方法,接收第一端发送的长度值m,并将所述...

【专利技术属性】
技术研发人员:周启贤
申请(专利权)人:支付宝杭州信息技术有限公司
类型:发明
国别省市:

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

1