【技术实现步骤摘要】
一种隐私保护的匹配方法及系统
[0001]本专利技术涉及一种隐私计算技术,尤其涉及一种隐私保护的匹配方法及系统。
技术介绍
[0002]模式匹配是字符串中一种基础算法,给定一个子串,要求在某个字符串中找出与该子串相同的所有子串。模式匹配广泛应用于敏感词检测、论文查重、基因测序、模式挖掘等场景。
[0003]随着网络安全法,个人信息保护法等法律法规的出台和完善,数据的合规和隐私安全日益受到重视。如何在不暴露原始明文数据的前提下进行模式匹配拥有诸多应用场景。例如:敏感词检测,在一些内容生产平台上,内容创作者在发布文章之前需要通过平台的敏感词检测和相关的内容审核;如果能够在不暴露文章明文的前提下完成敏感词检测,那么将会有效的保护内容创作者的知识产权,也将增加平台的吸引力和公信力。
[0004]现有技术中,可以用朴素哈希的方法,即参与双方A、B可以使用同一个哈希函数H,计算数据的哈希值,再将哈希过的数据互相发送给对方,然后判断是否匹配。这种方法简单、快速,但并不安全,有可能会泄露额外的信息。如果参与双方需要求交集的数据本身,数据空间比较小,那么一个恶意的参与方,就可以通过哈希碰撞的方式,碰撞出对方传输的哈希值,从而窃取到额外的信息。
[0005]鉴于此,希望获得一种新的隐私保护的匹配方法,该方案能够在保护参与信息匹配双方的数据隐私的同时完成模式匹配。
技术实现思路
[0006]本专利技术的目的之一在于提供一种隐私保护的匹配方法,该方法在进行模式匹配时不会泄露交互双方的信息,从而在保护私 ...
【技术保护点】
【技术特征摘要】
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,并将所述...
【专利技术属性】
技术研发人员:周启贤,
申请(专利权)人:支付宝杭州信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。