一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

带查询功能的安全通配符模式匹配方法及系统与流程

2021-11-29 13:14:00 来源:中国专利 TAG:


1.本公开涉及安全通配符模式匹配技术领域,特别是涉及带查询功能的安全通配符模式匹配方法及系统。


背景技术:

2.本部分的陈述仅仅是提到了与本公开相关的背景技术,并不必然构成现有技术。
3.标准通配符模式匹配仅允许模式持有者获取与含有通配符的模式匹配的文本子串的位置,而对通配符位置的匹配内容一无所知。事实上,在很多应用场景中,用户终端更希望获取匹配的实际数据,而不是位置或其他信息。因此,扩展标准的通配符模式匹配,使其能够实现查询功能(允许模式持有者在匹配位置获取实际数据)是非常必要的。
4.带查询功能的通配符模式匹配的应用非常广泛,如在基因匹配系统中,基因组数据库提供基因序列查询服务,研究人员持有一潜在致病基因的序列,由a(腺嘌呤)、g(鸟嘌呤)、c(胞嘧啶)、t(胸腺嘧啶)和n(不确定的位置,通常是由于缺失或遗漏)组成。研究人员想要确定数据库中是否存在与目标序列匹配的基因序列(例如,寻找某疾病的易感人群),同时也希望获得这些基因序列的具体信息,以便更好地进行后续研究。考虑到基因数据的敏感性,研究人员不想将其研究的潜在致病基因的序列泄露给基因组数据库,数据库终端也不想泄露数据库中其他不相关的基因序列。


技术实现要素:

5.为了解决现有技术的不足,本公开提供了带查询功能的安全通配符模式匹配方法及系统;使用本专利,持有模式信息的用户终端可以获得其模式与文本匹配的位置,以及这些位置的实际数据。通过茫然传输协议、共享等值比较协议和选择

共享茫然传输协议,数据库终端无法得知用户终端的模式信息,用户终端无法得知数据库中的其他数据信息。
6.第一方面,本公开提供了带查询功能的安全通配符模式匹配方法;
7.带查询功能的安全通配符模式匹配方法,包括:
8.用户终端获取待查询模式字符串;
9.用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
10.基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
11.基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
12.基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。
13.第二方面,本公开提供了带查询功能的安全通配符模式匹配系统;
14.带查询功能的安全通配符模式匹配系统,包括:数据库终端和用户终端;
15.用户终端获取待查询模式字符串;
16.用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
17.基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
18.基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
19.基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。
20.与现有技术相比,本公开的有益效果是:
21.通过使用本专利中描述的方法,能够让持有模式信息的用户终端获得其模式与文本匹配的位置,以及这些位置上的实际数据,但无法获得文本的其他相关信息,而持有文本的数据库终端无法获得关于模式的任何信息。
22.本发明附加方面的优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
23.构成本公开的一部分的说明书附图用来提供对本公开的进一步理解,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。
24.图1为第一个实施例的方法流程图。
具体实施方式
25.应该指出,以下详细说明都是示例性的,旨在对本公开提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本公开所属技术领域的普通技术人员通常理解的相同含义。
26.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
27.在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
28.本实施例所有数据的获取都在符合法律法规和用户终端同意的基础上,对数据的合法应用。
29.术语解释:
30.茫然传输(oblivious transfer,ot)协议是一个两方协议,两个参与方分别为发送方s和接收方r。在一个2选1茫然传输协议协议中,发送方s输入2个消息(x0,x1),接收方r输入一个选择比特σ∈{0,1},双方执行协议后,r输出x
σ
。除此之外,不泄露任何额外信息。
31.共享等值测试(shared equality test,seq)协议是一个两方协议,两个参与方分别为发送方s和接收方r,其中,发送方s的输入为x0,接收方r的输入为x1。双方执行协议后,s
输出b1,r输出b2。若x0=x1,满足否则满足此处,b1和b2为布尔份额。除此之外,不泄露任何额外信息。
32.实施例一
33.本实施例提供了带查询功能的安全通配符模式匹配方法;
34.如图1所示,带查询功能的安全通配符模式匹配方法,包括:
35.s1:用户终端获取待查询模式字符串;
36.s2:用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
37.s3:基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
38.s4:基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
39.s5:基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。
40.进一步地,所述数据库终端为设有数据库的计算机终端。
41.进一步地,所述s1:用户终端获取待查询模式字符串;具体包括:
42.数据库终端输入文本字符串t和待查询模式字符串的长度m;用户终端输入所述待查询模式字符串p和所述文本字符串的长度n;其中,m<n。
43.进一步地,所述数据库终端输入文本字符串t和待查询模式字符串的长度m;用户终端输入所述待查询模式字符串p和所述文本字符串的长度n;其中,通配符模式匹配包含两个参与方,分别是数据库终端和用终端。数据库终端持有文本字符串t,t是一个长字符串,长度为n。用户终端持有待查询模式字符串p,p是一个短字符串,长度为m,p中含有通配符*,通配符*可以匹配字母表中任意字母。
44.进一步地,所述s2:用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;具体包括:
45.用户终端对所述待查询模式字符串p的每一比特进行重编码,得到比特对其中,表示通配符位,表示普通字符位(即0和1)。
46.进一步地,所述用户终端对所述待查询模式字符串p的每一比特进行重编码,得到比特对其中,表示通配符位,表示普通字符位;具体包括:
47.用户终端u将所述待查询模式字符串p的每一比特p
j
重编码为j∈[m],其中,代表通配符位,目的是使得通配符位置可以匹配任意字母,代表普通位,目的是使得普通位只有在完全相同时才能匹配。
[0048]
编码规则如下:
[0049]
若p
j
=*,
[0050]
若p
j
=0,
[0051]
若p
j
=1,
[0052]
其中,*表示通配符,可以匹配任意字母。
[0053]
进一步地,所述s3:基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;具体包括:
[0054]
数据库终端选择随机数,并利用随机数对文本字符串t的每个子字符串t
j
进行盲化;每个子字符串t
j
的长度为m,j的取值范围为1到n

m 1;
[0055]
基于通配符位对于每一个子字符串t
j
,数据库终端与用户终端执行一次茫然传输协议;茫然传输协议执行结束后,用户终端得到茫然协议的输出值q
j

[0056]
进一步地,所述数据库终端选择随机数,并利用随机数对文本字符串t的每个子字符串t
j
进行盲化;具体包括:
[0057]
数据库终端d选择随机数k
j
∈{0,1}
n

m 1
,计算其中t
j
为t的第j个长度为n

m 1的子串,表示异或。
[0058]
进一步地,所述在茫然传输协议中,数据库终端作为发送方,其输入为随机数和利用当前随机数对子字符串t
j
进行加密后的数据,用户终端作为接收方,其输入为通配符位茫然传输协议执行结束后,用户终端茫然协议的输出值q
j

[0059]
进一步地,所述对于每一个子字符串t
j
,数据库终端与用户终端执行一次茫然传输协议;茫然传输协议执行结束后,用户终端得到茫然协议的输出值q
j
;具体包括:
[0060]
对于每一个j∈[m],数据库终端d与用户终端u执行一个茫然传输协议ot。其中,数据库终端d作为发送方,其输入为用户终端u作为接收方,其输入为茫然传输协议ot执行结束后,用户终端u输出q
j
。当q
j
=k
j
;当
[0061]
进一步地,所述s4:基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;具体包括:
[0062]
数据库终端基于盲化后的数据,生成m
×
(n

m 1)的第一矩阵;用户终端基于茫然协议的输出值q
j
生成第二矩阵;
[0063]
基于第一矩阵和第二矩阵,数据库终端与用户终端执行n

m 1次共享等值测试协议;共享等值测试协议执行结束后,数据库终端输出第i次seq协议中数据库端的输出份额用户终端u输出第i次seq协议中用户的输出份额
[0064]
进一步地,所述数据库终端基于加密后的数据,生成m
×
(n

m 1)的第一矩阵;用户终端基于q
j
生成第二矩阵;具体包括:
[0065]
数据库终端d生成m
×
(n

m 1)的矩阵w,w的第j行为向量用户终端u生成m
×
(n

m 1)的矩阵v,v的第j行为向量其中,此处,定义一个函数c(a)={a}
n

m 1
,如当a=1,n=6,m=3时,c(a)=1111。
[0066]
进一步地,所述在共享等值测试协议中,数据库终端作为发送方,其输入为第一矩
阵的第i列,用户终端作为接收方,其输入为第二矩阵的第i列,共享等值测试协议执行结束后,数据库终端输出第i次seq协议中数据库端的输出份额用户终端u输出第i次seq协议中用户的输出份额
[0067]
进一步地,所述基于第一矩阵和第二矩阵,数据库终端与用户终端执行n

m 1次共享等值测试协议;共享等值测试协议执行结束后,数据库终端输出第i次seq协议中数据库端的输出份额用户终端u输出第i次seq协议中用户的输出份额具体包括:
[0068]
对于每一个i∈[n

m 1],数据库终端d与用户终端u执行一个seq协议。其中,数据库终端d作为发送方,其输入为矩阵w的第i列,记为w
i
。用户终端u作为接收方,其输入为矩阵v的第i列,记为v
i
。seq协议执行结束后,数据库终端d输出用户终端u输出
[0069]
进一步地,所述s5:基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置;具体包括:
[0070]
数据库终端与用户终端执行共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议;共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议执行结束后,如果文本字符串t的第i个子字符串t
i
与待查询模式字符串p匹配,则用户终端输出第i个子字符串t
i
的位置i和第i个子字符串t
i

[0071]
进一步地,所述在共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议中,数据库终端的输入为t
i
,用户终端的输入为选择

共享茫然传输协议执行结束后,如果文本字符串t的第i个子字符串t
i
与模式字符串p匹配,则用户终端输出第i个子字符串t
i
的位置i和第i个子字符串t
i

[0072]
进一步地,所述数据库终端与用户终端执行n

m 1次共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议;共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议执行结束后,如果文本字符串t的第i个子字符串t
i
与模式字符串p匹配,则用户终端输出第i个子字符串t
i
的位置i和第i个子字符串t
i
;具体包括:
[0073]
对于每一个i∈[n

m 1],数据库终端d与用户终端u执行一个共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议;
[0074]
其中,数据库终端d的输入为t
i
,用户终端u的输入为共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议执行结束后,若用户终端u输出t
i
以及i。
[0075]
在共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议中,参与方s的输入为消息x与选择比特b1∈{0,1},参与方r的输入为选择比特b2∈{0,1};协议运行结束后,如果r输出x。
[0076]
此协议为本发明首次提出,基于此协议,我们设计了带查询功能的安全通配符模式匹配协议。该协议的形式化描述如下:
[0077]
输入:s的输入为(x,b1),r的输入为b2。
[0078]
输出:若r输出x,否则r输出空。
[0079]
共享选择比特的茫然传输(choice

sharing oblivious transfer,csot)协议的具体构造方法:
[0080]
发送方s和接收方r执行一个2选1茫然传输协议
[0081]
作为2选1茫然传输协议的发送方,s输入其中,b1为选择比特;x为消息;
[0082]
作为2选1茫然传输协议的接收方,r输入选择比特b2;
[0083]
如果r输出x,否则r输出0。
[0084]
综上所述,本发明在带查询功能的安全通配符模式匹配协议,数据库方d的输入为文本字符串t∈{0,1}
n
和m,其中m为模式字符串p的长度。用户u的输入为模式字符串p∈{0,1,*}
m
和n,其中n为文本字符串t的长度,*为通配符,可匹配相同位置上的任意字母。协议执行结束后,如果t
i
与p匹配,那么用户u输出位置i以及t
i
,t
i
为t的第i个长度为m的子字符串。此协议为本发明首次提出,形式化描述如下:
[0085]
输入:数据库终端d的输入为(t,m),用户终端u的输入为(p,n)。
[0086]
输出:如果t
i
与p匹配,用户终端u输出位置i以及t
i

[0087]
实施例二
[0088]
本实施例提供了带查询功能的安全通配符模式匹配系统;
[0089]
带查询功能的安全通配符模式匹配系统,包括:数据库终端和用户终端;
[0090]
用户终端获取待查询模式字符串;
[0091]
用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
[0092]
基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
[0093]
基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
[0094]
基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。
[0095]
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献