1.带查询功能的安全通配符模式匹配方法,其特征是,包括:用户终端获取待查询模式字符串;
用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。
2.如权利要求1所述的带查询功能的安全通配符模式匹配方法,其特征是,用户终端获取待查询模式字符串;具体包括:数据库终端输入文本字符串t和待查询模式字符串的长度m;用户终端输入所述待查询模式字符串p和所述文本字符串的长度n;其中,m
3.如权利要求1所述的带查询功能的安全通配符模式匹配方法,其特征是,用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;具体包括:用户终端对所述待查询模式字符串p的每一比特进行重编码,得到比特对 其中, 表示通配符位, 表示普通字符位。
4.如权利要求3所述的带查询功能的安全通配符模式匹配方法,其特征是,编码规则如下:
若pj=*,
若pj=0,
若pj=1,
其中,*表示通配符,可以匹配任意字母。
5.如权利要求1所述的带查询功能的安全通配符模式匹配方法,其特征是,基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;具体包括:数据库终端选择随机数,并利用随机数对文本字符串t的每个子字符串tj进行盲化;每个子字符串tj的长度为m,j的取值范围为1到n‑m+1;
基于通配符位 对于每一个子字符串tj,数据库终端与用户终端执行一次茫然传输协议;茫然传输协议执行结束后,用户终端得到茫然协议的输出值qj。
6.如权利要求5所述的带查询功能的安全通配符模式匹配方法,其特征是,所述数据库终端选择随机数,并利用随机数对文本字符串t的每个子字符串tj进行盲化;具体包括:
n‑m+1
数据库终端D选择随机数kj∈{0,1} ,计算 其中tj为t的第j个长度为n‑m+1的子串, 表示异或。
7.如权利要求1所述的带查询功能的安全通配符模式匹配方法,其特征是,基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;具体包括:数据库终端基于盲化后的数据,生成m×(n‑m+1)的第一矩阵;用户终端基于茫然协议的输出值qj生成第二矩阵;
基于第一矩阵和第二矩阵,数据库终端与用户终端执行n‑m+1次共享等值测试协议;共享等值测试协议执行结束后,数据库终端输出第i次SEQ协议中数据库端的输出份额 用户终端U输出第i次SEQ协议中用户的输出份额
8.如权利要求1所述的带查询功能的安全通配符模式匹配方法,其特征是,基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置;具体包括:数据库终端与用户终端执行共享选择比特的茫然传输协议;共享选择比特的茫然传输协议执行结束后,如果文本字符串t的第i个子字符串ti与待查询模式字符串p匹配,则用户终端输出第i个子字符串ti的位置i和第i个子字符串ti。
9.如权利要求1或8所述的带查询功能的安全通配符模式匹配方法,其特征是,共享选择比特的茫然传输协议的具体构造方法:发送方S和接收方R执行一个2选1茫然传输协议作为2选1茫然传输协议 的发送方,S输入 其中,b1为选择比特;
x为消息;
作为2选1茫然传输协议 的接收方,R输入选择比特b2;
如果 R输出x,否则R输出0。
10.带查询功能的安全通配符模式匹配系统,其特征是,包括:数据库终端和用户终端;
用户终端获取待查询模式字符串;
用户终端对待查询模式字符串进行重编码得到通配符位和普通字符位;
基于每个通配符位,用户终端与数据库终端执行一次茫然传输协议,用户终端得到茫然传输协议的输出值;
基于茫然传输协议的输出值以及普通字符位,用户终端与数据库终端执行若干次共享等值测试协议,得到共享等值测试协议的输出值;
基于共享等值测试协议的输出值,数据库终端与用户终端执行若干次共享选择比特的茫然传输协议,用户终端得到待查询模式字符串在数据库中的位置。