CN111712868B - 检索装置、检索方法、以及记录介质 - Google Patents

检索装置、检索方法、以及记录介质 Download PDF

Info

Publication number
CN111712868B
CN111712868B CN201880081581.2A CN201880081581A CN111712868B CN 111712868 B CN111712868 B CN 111712868B CN 201880081581 A CN201880081581 A CN 201880081581A CN 111712868 B CN111712868 B CN 111712868B
Authority
CN
China
Prior art keywords
result
hidden
case
search
concealed
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201880081581.2A
Other languages
English (en)
Other versions
CN111712868A (zh
Inventor
五十岚大
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of CN111712868A publication Critical patent/CN111712868A/zh
Application granted granted Critical
Publication of CN111712868B publication Critical patent/CN111712868B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

等号判定部通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到ei=(ei,1,…,ei,N)被隐匿了的[ei],其中,在xi,j为kj的情况下,ei,j=a1;在xi,j不为kj的情况下,ei,j=a0。通配符判定部通过使用了[k]的秘密计算,得到w=(w1,…,wN)被隐匿了的[w],其中,在kj为通配符字符的情况下,wj=b1,否则,wj=b0。逻辑或运算部通过使用了[ei]和[w]的秘密计算,得到yi=(yi,1,…,yi,N)被隐匿了的[yi],其中,在满足ei,j=a1以及wj=b1中的至少一方的情况下,yi,j=d1,否则,yi,j=d0

Description

检索装置、检索方法、以及记录介质
技术领域
本发明涉及秘密计算技术,尤其涉及在隐匿数据上进行检索的技术。
背景技术
已知一种在隐匿了检索词以及检索对象词组的状态下直接进行一致检索的秘密计算技术(例如,参照非专利文献1等)。
现有技术文献
非专利文献
非专利文献1:滨田浩气,桐渊直人,五十岚大,“一轮高效的秘密计算模式匹配(ARound-Efficient Pattern Matching Algorithm for Secure Multi-PartyComputation)”计算机安全研讨会(CSS)2014。
发明内容
发明所要解决的课题
在现有方式中,虽然实现了使用包含通配符字符的检索词在隐匿的状态下直接检索,但通信效率差,如果将隐匿化检索对象词长度和隐匿化检索词长度都设置为N,则需要高达O(N2logN)的通信量。
本发明的目的在于,在隐匿了包含通配符字符的检索词的状态下,直接高效地进行被隐匿了的数据库的一致检索。
用于解决课题的手段
存储部储存有隐匿化数据库[x1],…,[xm]。隐匿化数据库[x1],…,[xm]所包含的隐匿化检索对象词[xi]是包含t(i)个字符xi,1,…,xi,t(i)的检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词。输入部受理隐匿化检索词[k]的输入。隐匿化检索词[k]是包含含有通配符字符的n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词。等号判定部通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1;在xi,j不为kj的情况下,ei,j=a0。通配符判定部通过使用了隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。逻辑或运算部通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,yi,j=d0。其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N。
发明效果
根据本发明,能够以比以往少的通信量进行被隐匿数据库的一致检索。
附图简单说明
图1是例示实施方式的检索系统的框图。
图2是例示实施方式的检索装置的框图。
图3是用于说明第1实施方式的检索方法的流程图。
图4是用于说明第1实施方式的检索方法的概念图。
图5是用于说明第1实施方式的检索方法的概念图。
图6是用于说明第1实施方式的检索方法的概念图。
图7是用于说明第1实施方式的检索方法的概念图。
图8是用于说明第1实施方式的检索方法的概念图。
图9是用于说明第1实施方式的检索方法的概念图。
图10是用于说明第2实施方式的检索方法的流程图。
图11是用于说明第2实施方式的检索方法的概念图。
图12是用于说明第2实施方式的检索方法的概念图。
图13是用于说明第2实施方式的检索方法的概念图。
图14是用于说明第3实施方式的检索方法的流程图。
图15是用于说明第3实施方式的检索方法的概念图。
图16是用于说明第3实施方式的检索方法的概念图。
图17是用于说明第4实施方式的检索方法的流程图。
图18是用于说明第4实施方式的检索方法的概念图。
图19是用于说明第4实施方式的检索方法的概念图。
图20是用于说明第5实施方式的检索方法的流程图。
图21是用于说明第5实施方式的检索方法的概念图。
图22是用于说明第5实施方式的检索方法的概念图。
图23是用于说明第5实施方式的检索方法的概念图。
图24是用于说明第5实施方式的检索方法的概念图。
图25是用于说明第6实施方式的检索方法的流程图。
图26是用于说明第6实施方式的检索方法的概念图。
图27是用于说明第6实施方式的检索方法的概念图。
图28是用于说明第6实施方式的检索方法的概念图。
具体实施方式
以下,参照附图对本发明的实施方式进行说明。
[第1实施方式]
对第1实施方式进行说明。在本实施方式中,在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿了的数据库的完全一致检索。
<结构>
如图1所示,本实施方式的检索系统1具有请求检索的请求装置11和进行检索的检索装置12-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。在进行基于秘密分散方式的秘密计算的情况下,H≧2,在进行基于同态加密方式的秘密计算的情况下,H=1。
如图2所示,本实施方式的检索装置12-h具有:控制部120-h、等号判定部121-h、通配符判定部122-h、逻辑或运算部123-h、逻辑与运算部127-h、存储部128-h、输入部1291-h以及输出部1292-h。检索装置12-h在控制部120-h的控制下执行各处理。此外,各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
存储部128-h储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含含有t(i)个字符xi,1,…,xi,t(i)的检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)(例如,参照图4和图6的DB)被隐匿了的隐匿化检索对象词[xi]。其中,m,t(i),N为正整数,i=1,…,m,j=1,…,N,t(i)≤N。检索对象词xi中包含的t(i)个字符xi,1,…,xi,t(i)是作为检索对象的普通字符。另一方面,包含在检索对象词xi中的剩余的N-t(i)个字符xi,t(i)+1,…,xi,N是表示Null值的特殊字符(Null字符)。Null字符是预先设定的(例如,“0”),不能作为普通字符使用。在t(i)=N的情况下,检索对象词xi不含Null字符。各字符由例如有限域的元素表示。在进行基于秘密分散方式的秘密计算的情况下,隐匿化检索对象词[xi]是检索对象词xi的秘密分散值。在进行基于同态加密方式的秘密计算的情况下,隐匿化检索对象词[xi]是检索对象词xi的密文。可以将字符xi,1,…,xi,t(i),…,xi,N中的每一个分别隐匿化而得到的隐匿值[xi,1],…,[xi,t(i)],…,[xi,N]的集合作为隐匿化检索对象词[xi],也可以将N个字符xi,1,…,xi,t(i),…,xi,N一并隐匿而作为隐匿化检索对象词[xi]。此外,表示内容或网络上的内容的位置的内容信息的隐匿值也可以与各隐匿化检索对象词[xi]进行关联。
<检索处理>
使用图3说明本实施方式的检索处理。
请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)(例如,参照图4和图6)得到隐匿化检索词[k]。其中,n是正整数,n≤N。字符k1,…,kn也可以包含1个以上的通配符字符。字符k1,…,kn中通配符字符以外的字符是普通字符。通配符字符是预先设定的(例如,“*”),不作为普通字符使用。此外,1个通配符字符对应1个普通字符或者1个Null字符(在以下的各实施方式中也是相同的)。在上述的检索对象词xi(其中i=1,…,m)不包含Null字符的情况下,字符k1,…,kn中的任何字符都可以是通配符字符。另一方面,在检索对象词xi不包含Null字符xi,t(i)+1,…,xi,N的情况下,在本实施方式中使kt(i)+1,…,kN不包含通配符字符。包含在检索词k里的N-n个字符kn+1,…,kN是Null字符。其中,在n=N的情况下,检索词k不包含Null字符(例如,参照图4)。检索词k中包含的Null字符与上述检索对象词xi中包含的Null字符相同。如果在检索装置12-h中进行基于秘密分散方式的秘密计算,则隐匿化检索词[k]是检索词k的秘密分散值。另一方面,如果在检索装置12-h中进行基于同态加密方式的秘密计算,则隐匿化检索词[k]是检索词k的密文。可以将字符k1,…,kn…,kN中的每一个分别隐匿化而得到的隐匿值[k1],…,[kn],…,[kN]的集合作为隐匿化检索词[k],也可以将N个字符k1,…,kn,…,kN一并隐匿化而作为隐匿化检索词[k]。
请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置12-h。隐匿化检索词[k]被输入至检索装置12-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部121-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei]。其中,在xi,j为kj的情况下(xi,j=kj的情况下),ei,j=a1,在xi,j不为kj的情况下(xi,j≠kj的情况下),ei,j=a0。ei,j∈{a0,a1},例如,a0=0,a1=1。由于通配符字符与普通字符不同,因而在kj为通配符字符的情况下必然为ei,j=a0。同样,由于Null字符和普通字符不同,因而在kj为Null字符且xi,j为普通字符的情况下,以及在kj为普通字符且xi,j为Null字符的情况下,必然为ei,j=a0。此外,如果kj以及xi,j均为Null字符,则ei,j=a1。例如,等号判定部121-h通过秘密计算,针对j=1,…,N进行[kj]和[xi,j]的等号判定(一致判定),得到将ei,j隐匿化了的[ei,j],并得到[ei,1],…,[ei,N]的集合作为隐匿化运算结果[ei]。或者,等号判定部121-h也可以通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到ei,1,…,ei,N被一并隐匿了的隐匿化运算结果[ei]。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S121-h)。
通配符判定部122-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w]。其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。wj∈{b0,b1},例如,b0=0,b1=1。例如,通配符判定部122-h使用隐匿化检索词[k]和将通配符字符隐匿化而得到的隐匿化通配符字符,并通过秘密计算,得到隐匿化运算结果[w]。举一个例子,通配符判定部122-h通过秘密计算,针对j=1,…,N进行[kj]和隐匿化通配符字符的等号判定,得到将wj隐匿化了的[wj],并得到[w1],…,[wN]的集合作为隐匿化运算结果[w]。或者,通配符判定部122-h也可以通过使用了隐匿化检索词[k]和隐匿化通配符字符的秘密计算,得到w1,…,wN被一并隐匿了的隐匿化运算结果[w]。隐匿化运算结果[w]被储存在存储部128-h中(步骤S122-h)。
逻辑或运算部123-h通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi]。其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,yi,j=d0。yi,j
{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,b0=0,b1=1,d0=0,d1=1的情况下,yi,j=ei,j∨wj。其中,“∨”表示逻辑或(OR)。例如,逻辑或运算部123-h通过秘密计算,针对j=1,…,N进行[ei,j]和[wj]的逻辑或,得到将yi,j=ei,j∨wj隐匿化的[yi,j],并得到[yi,1],…,[yi,N]的集合作为隐匿化运算结果[yi]。或者,逻辑或运算部123-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到yi,1,…,yi,N被一并隐匿了的隐匿化运算结果[yi]。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S123-h)。
逻辑与运算部127-h通过使用了从存储部128-h中读出的隐匿化运算结果[yi]的秘密计算,得到并输出一致判定结果zi被隐匿了的隐匿化一致判定结果[zi]。其中,在yi,1=…=yi,N=d1的情况下,zi=g1。在不为yi,1=…=yi,N=d1的情况下,zi=g0。zi∈{g0,g1},例如,g0=0,g1=1。例如,在d0=0,d1=1,g0=0,g1=1的情况下,zi=yi,1∧…∧yi,N。其中,“∧”表示逻辑与。zi=g1表示检索对象词xi与检索词k一致,zi=g0表示检索对象词xi与检索词k不一致。隐匿化一致判定结果[zi]被储存在存储部128-h中(步骤S127-h)。
输出部1292-h输出针对各i=1,…,m的隐匿化一致判定结果[zi](步骤S1292-h)。隐匿化一致判定结果[zi]经由网络等被发送给请求装置11。请求装置11针对各i=1,…,m复原隐匿化一致判定结果[zi]并得到zi。例如,在进行基于秘密分散方式的秘密计算的情况下,请求装置11根据从规定数目以上的检索装置12-h发送的[zi]复原zi。另一方面,在进行基于同态加密方式的秘密计算的情况下,复原被发送的[zi]并得到zi。由此得到针对各i的检索结果。然后,执行使用了这些检索结果的处理(例如,与一致的隐匿化检索对象词[xi]对应的内容信息的隐匿值的要求等)。
<具体例子>
以下,表示在a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1的情况下的具体例子。
如图4所示,N=n=t(i),kr为通配符字符“*”,1≤r≤n,在针对r以外的j=1,…,n满足x1,j=kj的情况下,e1=(1,…,1,0,1,…,1)以及w=(0,…,0,1,0,…,0),y1=(1,…,1,1,1,…,1)。因此,z1=1。
如图5所示,N=n=t(i),在仅针对1以及r以外的j=2,…,n满足x2,j=kj的情况下,e2=(0,1,…,1,0,1,…,1)以及w=(0,0,…,0,1,0,…,0),y2=(0,1,…,1,1,1,…,1)。因此,z2=0。
图6至图9是n<N以及t(i)<N的例子。如图6所示,kn+1,…,kN以及xi,t(i)+1,…,xi,N是Null字符。
如图7所示,t(1)=n,kr为通配符字符“*”,1≤r≤n,在针对r以外的j=1,…,n满足x1,j=kj的情况下,e1=(1,1,…,0,…,1,…,1)以及
w=(0,0,…,1,…,0,…,0),y1=(1,1,…,1,…,1,…,1)。因此,z1=1。
如图8所示,t(2)=n+1,kr为通配符字符“*”,1≤r≤n,在针对r以外的j=1,…,n满足x2,j=kj的情况下,e2=(1,1,…,0,…,1,0,1,…,1)以及w=(0,0,…,1,…,0,0,0,…,0),y2=(1,1,…,1,…,1,0,1,…,1)。因此,z2=0。
如图9所示,t(3)=n-1,kr为通配符字符“*”,1≤r≤n-1,在仅针对r以外的j=1,…,n-1满足x3,j=kj的情况下,e3=(1,1,…,0,…,0,1,1,…,1)以及w=(0,0,…,1,…,0,0,0,…,0),y3=(1,1,…,1,…,0,1,1,…,1)。
<本实施方式的特征>
如上所述,在本实施方式中,能够在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的完全一致检索。此外,能够以比以往少的通信量(例如,O(N)的通信量)进行被隐匿的数据库的一致检索。
[第2实施方式]
在检索对象词xi的字符xi,t(i)+1,…,xi,N是Null字符,检索词k的字符kt(i)+1,…,kN可以包含通配符字符的情况下,第1实施方式的方法有时不能正确地进行完全一致检索。例如,在图11的例子的情况下,检索对象词x3的字符x3,n,…,xi,N是Null字符,检索词k的字符kn是通配符字符。必须判定为通配符字符与任何普通字符一致,但必须判定为通配符字符与Null字符不一致。然而,在针对j=1,…,n-1满足x3,j=kj的情况下,第1实施方式的方法中y3=(1,1,…,1,…,1,1,1,…,1),z3=1。在本实施方式中,说明在这样的情况下也正确地进行完全一致检索的方式。另外,以下以与目前为止说明的事项的不同点为中心进行说明,对于共同的事项则引用相同的参照编号简化说明。
<结构>
如图1所示,本实施方式的检索系统2具有请求检索的请求装置11以及进行检索的检索装置22-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。
如图2所示,本实施方式的检索装置22-h具有:控制部120-h、等号判定部121-h、通配符判定部122-h、逻辑或运算部223-h、Null判定部224-h、逻辑与运算部127-h、226-h、存储部128-h、输入部1291-h、以及输出部1292-h。检索装置22-h在控制部120-h的控制下执行各处理。此外,在各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
与第1实施方式相同。
<检索处理>
使用图10说明本实施方式的检索处理。请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)而得到隐匿化检索词[k]。其中,n是正整数,n≤N。字符k1,…,kn也可以包含通配符字符。与第1实施方式不同,在检索对象词xi包含Null字符xi,t(i)+1,…,xi,N的情况下,kt(i)+1,…,kN可以包含通配符字符。
请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置22-h。隐匿化检索词[k]被输入至检索装置22-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部121-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei]。其中,在xi,j为kj的情况下(xi,j=kj的情况下),ei,j=a1,在xi,j不为kj的情况下(xi,j≠kj的情况下),ei,j=a0。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S121-h)。
通配符判定部122-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w]。其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。隐匿化运算结果[w]被储存在存储部128-h中(步骤S122-h)。
Null判定部224-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]的秘密计算,得到并输出运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi]。其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1。μi,j∈{θ01},例如,θ0=0,θ1=1。例如,Null判定部224-h使用隐匿化检索对象词[xi]和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[μi]。举一个例子,Null判定部224-h通过秘密计算,针对j=1,…,N进行[xi,j]和隐匿化Null字符的等号判定,得到将μi,j隐匿化了的[μi,j],并得到[μi,1],…,[μi,N]的集合作为隐匿化运算结果[μi]。或者,Null判定部224-h也可以通过使用了隐匿化检索对象词[xi]和隐匿化Null字符的秘密计算,得到μi,1,…,μi,N被一并隐匿了的隐匿化运算结果[μi]。隐匿化运算结果[μi]被储存在存储部128-h中(步骤S224-h)。
逻辑与运算部226-h通过使用了从存储部128-h中读出的隐匿化运算结果[w]和隐匿化运算结果[μi]的秘密计算,得到并输出运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi]。其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0。vi,j∈{ρ01},例如,ρ0=0,ρ1=1。例如,在b0=0,b1=1,ρ0=0,ρ1=1的情况下,vi,j=wj∧μi,j。例如,逻辑与运算部226-h通过秘密计算,针对j=1,…,N进行[wj]和[μi,j]的逻辑与,得到将vi,j=wj∧μi,j隐匿化的[vi,j],并得到[vi,1],…,[vi,N]的集合作为隐匿化运算结果[vi]。或者,逻辑与运算部226-h也可以通过使用了隐匿化运算结果[w]和隐匿化运算结果[μi]的秘密计算,得到vi,1,…,vi,N被一并隐匿了的隐匿化运算结果[vi]。隐匿化运算结果[vi]被储存在存储部128-h中(步骤S226-h)。
逻辑或运算部223-h通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[vi]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi]。其中,在满足ei,j=a1以及vi,j=ρ1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及vi,j=ρ0双方的情况下,yi,j=d0。yi,j∈{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,ρ0=0,ρ1=1,d0=0,d1=1的情况下,yi,j=ei,j∨vi,j。例如,逻辑或运算部223-h通过秘密计算,针对j=1,…,N进行[ei,j]和[vi,j]的逻辑或,得到将yi,j=ei,j∨wi,j隐匿化的[yi,j],并得到[yi,1],…,[yi,N]的集合作为隐匿化运算结果[yi]。或者,逻辑或运算部223-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[vi]的秘密计算,得到yi,1,…,yi,N被一并隐匿了的隐匿化运算结果[yi]。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S223-h)。
之后,执行在第1实施方式中说明了的步骤S127-h以后的处理。
<具体例子>
以下,表示在a0=0,a1=1,b0=0,b1=1,ρ0=0,ρ1=1,d0=0,d1=1,g0=0,g1=1的情况下的具体例子。
图11至图13是n<N以及t(i)<N的例子。如图11所示,kn是通配符字符“*”,kn+1,…,kN以及xi,t(i)+1,…,xi,N是Null字符。
如图12所示,t(1)=n,在针对j=1,…,n-1满足x1,j=kj的情况下,e1=(1,1,…,1,0,1,1,…,1),w=(0,0,…,0,1,0,0,…,0),μ1=(1,1,…,1,1,0,0,…,0),v1=(0,0,…,0,1,0,0,…,0),y1=(1,1,…,1,1,1,1,…,1)。因此,z1=1。
如图13所示,t(3)=n-1,在针对j=1,…,n-1满足x1,j=kj的情况下,e3=(1,1,…,1,0,1,1,…,1),w=(0,0,…,0,1,0,0,…,0),μ3=(1,1,…,1,0,0,0,…,0),v3=(0,0,…,0,0,0,0,…,0),y3=(1,1,…,1,0,1,1,…,1)。因此,z3=0。
<本实施方式的特征>
如上所述,在本实施方式中,即使在检索对象词xi的字符xi,t(i)+1,…,xi,N是Null字符,检索词k的字符kt(i)+1,…,kN可以包含通配符字符的情况下,也可以在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的完全一致检索。此外,能够以比以往少的通信量进行被隐匿的数据库的一致检索。
[第3实施方式]
第3实施方式是第1实施方式的变形例。在本实施方式中,在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的前方一致检索。
<结构>
如图1所示,本实施方式的检索系统3具有请求检索的请求装置11以及进行检索的检索装置32-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。在进行基于秘密分散方式的秘密计算的情况下,H≧2,在进行基于同态加密方式的秘密计算的情况下,H=1。
如图2所示,本实施方式的检索装置32-h具有:控制部120-h、等号判定部121-h、通配符判定部122-h、逻辑或运算部323-h、Null判定部325-h、逻辑与运算部127-h、存储部128-h,输入部1291-h、以及输出部1292-h。检索装置32-h在控制部120-h的控制下执行各处理。此外,在各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
与第1实施方式相同。
<检索处理>
使用图14说明本实施方式的检索处理。请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)而得到隐匿化检索词[k]。其中,n是正整数,n≤N。字符k1,…,kn也可以包含通配符字符。在检索对象词xi(其中i=1,…,m)不包含Null字符的情况下,字符k1,…,kn中的任何字符都可以是通配符字符。另一方面,在检索对象词xi包含Null字符xi,t(i)+1,…,xi,N的情况下,在本实施方式中使kt(i)+1,…,kN不包含通配符字符。
请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置32-h。隐匿化检索词[k]被输入至检索装置32-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部121-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei]。其中,在xi,j为kj的情况下(xi,j=kj的情况下),ei,j=a1,在xi,j不为kj的情况下(xi,j≠kj的情况下),ei,j=a0。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S121-h)。
通配符判定部122-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w]。其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。隐匿化运算结果[w]被储存在存储部128-h中(步骤S122-h)。
Null判定部325-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u]。其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0。uj∈{c0,c1},例如,c0=0,c1=1。例如,Null判定部325-h使用隐匿化检索词[k]和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[u]。举一个例子,Null判定部325-h通过秘密计算,针对j=1,…,N进行[kj]和隐匿化Null字符的等号判定,得到将uj隐匿化了的[uj],并得到[u1],…,[uN]的集合作为隐匿化运算结果[u]。或者,Null判定部325-h也可以通过使用了隐匿化检索词[k]和隐匿化Null字符的秘密计算,得到u1,…,uN被一并隐匿了的隐匿化运算结果[u]。隐匿化运算结果[u]被储存在存储部128-h中(步骤S325-h)。
逻辑或运算部323-h通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[w]以及隐匿化运算结果[u]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi]。其中,在满足ei,j=a1、wj=b1以及uj=c1中的至少任一方的情况下,yi,j=d1,在ei,j=a0以及wj=b0以及uj=c0全部满足的情况下,yi,j=d0。yi,j∈{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1=1的情况下,yi,j=ei,j∨wj∨uj。例如,逻辑或运算部323-h通过秘密计算,针对j=1,…,N进行[ei,j]和[wj]以及[uj]的逻辑或,得到将yi,j=ei,j∨wj∨uj隐匿化的[yi,j],并得到[yi,1],…,[yi,N]的集合作为隐匿化运算结果[yi]。或者,逻辑或运算部323-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]以及隐匿化运算结果[u]的秘密计算,得到yi,1,…,yi,N被一并隐匿了的隐匿化运算结果[yi]。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S323-h)。
之后,执行在第1实施方式中说明了的步骤S127-h以后的处理。
<具体例子>
以下,表示在a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1=1,g0=0,g1=1的情况下的具体例子。
如图15所示,t(2)=n+1,在针对j=1,…,n满足x1,j=kj的情况下,e2=(1,1,…,0,…,1,0,1,…,1),w=(0,0,…,1,…,0,0,0,…,0),u=(0,0,…,0,…,0,1,1,…,1),y2=(1,1,…,1,…,1,1,1,…,1)。因此,z2=1。
如图16所示,t(3)=n-1,在针对j=1,…,n-1满足x1,j=kj的情况下,e3=(1,1,…,0,…,0,1,1,…,1),w=(0,0,…,1,…,0,0,0,…,0),u=(0,0,…,0,…,0,1,1,…,1),y3=(1,1,…,1,…,0,1,1,…,1)。因此,z3=0。
<本实施方式的特征>
如上所述,在本实施方式中,可以在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的前方一致检索。此外,能够以比以往少的通信量进行被隐匿的数据库的一致检索。
[第4实施方式]
第4实施方式是第2、3实施方式的变形例。在本实施方式中,在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的前方一致检索。与完全一致检索的情况同样,在检索对象词xi的字符xi,t(i)+1,…,xi,N是Null字符,检索词k的字符kt(i)+1,…,kN可以包含通配符字符的情况下,第3实施方式的方法有时不能正确地进行前方一致检索。在本实施方式中,说明在这样的情况下也正确地进行前方一致检索的方式。
<结构>
如图1所示,本实施方式的检索系统4具有请求检索的请求装置11以及进行检索的检索装置42-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。在进行基于秘密分散方式的秘密计算的情况下,H≧2,在进行基于同态加密方式的秘密计算的情况下,H=1。
如图2所示,本实施方式的检索装置42-h具有:控制部120-h、等号判定部121-h、通配符判定部122-h、逻辑或运算部423-h、Null判定部224-h、325-h、逻辑与运算部127-h、226-h、存储部128-h、输入部1291-h、以及输出部1292-h。检索装置42-h在控制部120-h的控制下执行各处理。此外,在各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
与第1实施方式相同。
<检索处理>
使用图17说明本实施方式的检索处理。请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)而得到隐匿化检索词[k]。其中,n是正整数,n≤N。字符k1,…,kn也可以包含通配符字符。与第3实施方式不同,在检索对象词xi包含Null字符xi,t(i)+1,…,xi,N的情况下,kt(i)+1,…,kN可以包含通配符字符。
请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置42-h。隐匿化检索词[k]被输入至检索装置42-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部121-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei]。其中,在xi,j为kj的情况下(xi,j=kj的情况下),ei,j=a1,在xi,j不为kj的情况下(xi,j≠kj的情况下),ei,j=a0。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S121-h)。
通配符判定部122-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w]。其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。隐匿化运算结果[w]被储存在存储部128-h中(步骤S122-h)。
Null判定部325-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u]。其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0。例如,Null判定部325-h使用隐匿化检索词[k]和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[u]。隐匿化运算结果[u]被储存在存储部128-h中(步骤S325-h)。
Null判定部224-h通过使用了从存储部128-h中读出的隐匿化检索词[xi]的秘密计算,得到并输出运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi]。其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1。隐匿化运算结果[μi]被储存在存储部128-h中(步骤S224-h)。
逻辑或运算部226-h通过使用了从存储部128-h中读出的隐匿化运算结果[w]和隐匿化运算结果[μi]的秘密计算,得到并输出运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi]。其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0。隐匿化运算结果[vi]被储存在存储部128-h中(步骤S226-h)。
逻辑或运算部423-h通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[u]以及隐匿化运算结果[vi]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi]。其中,在满足ei,j=a1、vi,j=ρ1以及uj=c1中的至少任一方的情况下,yi,j=d1,在ei,j=a0以及vi,j=ρ0以及uj=c0全部满足的情况下,yi,j=d0。yi,j∈{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,ρ0=0,ρ1=1,c0=0,c1=1,d0=0,d1=1的情况下,yi,j=ei,j∨vi,j∨uj。例如,逻辑或运算部423-h通过秘密计算,针对j=1,…,N进行[ei,j]和[vi,j]以及[uj]的逻辑或,得到将yi,j=ei,j∨vi,j∨uj隐匿化的[yi,j],并得到[yi,1],…,[yi,N]的集合作为隐匿化运算结果[yi]。或者,逻辑或运算部423-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[vi]以及隐匿化运算结果[u]的秘密计算,得到yi,1,…,yi,N被一并隐匿了的隐匿化运算结果[yi]。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S423-h)。
之后,执行在第1实施方式中说明了的步骤S127-h以后的处理。
<具体例子>
以下,表示在a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1=1,ρ0=0,ρ1=1,g0=0,g1=1的情况下的具体例子。图18以及图19是n<N以及t(i)<N的例子。kn是通配符字符“*”,kn+1,…,kN以及xi,t(i)+1,…,xi,N是Null字符。
如图18所示,t(1)=n,在针对j=1,…,n-1满足x1,j=kj的情况下,e1=(1,1,…,1,0,1,1,…,1),w=(0,0,…,0,1,0,0,…,0),u=(0,0,…,0,1,1,…,1),μ1=(1,1,…,1,1,0,0,…,0),v1=(0,0,…,0,1,0,0,…,0),y1=(1,1,…,1,1,1,1,…,1)。因此,z1=1。
如图19所示,t(3)=n-1,在针对j=1,…,n-1满足x1,j=kj的情况下,e3=(1,1,…,1,0,1,1,…,1),w=(0,0,…,0,1,0,0,…,0),u=(0,0,…,0,0,1,1,…,1),μ3=(1,1,…,1,0,0,0,…,0),v3=(0,0,…,0,0,0,0,…,0),y3=(1,1,…,1,0,1,1,…,1)。因此,z3=0。
<本实施方式的特征>
如上所述,在本实施方式中,即使在检索对象词xi的字符xi,t(i)+1,…,xi,N是Null字符,检索词k的字符kt(i)+1,…,kN可以包含通配符字符的情况下,也能够在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的前方一致检索。此外,能够以比以往少的通信量进行被隐匿的数据库的一致检索。
[第5实施方式]
第5实施方式是第1、2实施方式的变形例。在第1、2实施方式中,以隐匿化检索对象词和隐匿化检索词的长度彼此相同为前提。与此相对,在本实施方式中,不论隐匿化检索对象词和隐匿化检索词的长度是否彼此相同,都能够进行完全一致检索。
<结构>
如图1所示,本实施方式的检索系统5具有请求检索的请求装置11以及进行检索的检索装置52-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。在进行基于秘密分散方式的秘密计算的情况下,H≧2,在进行基于同态加密方式的秘密计算的情况下,H=1。
如图2所示,本实施方式的检索装置52-h具有:控制部120-h、等号判定部521-h、通配符判定部522-h、逻辑或运算部523-h、Null判定部524-h、525-h、逻辑与运算部527-h、连接部528-h、存储部128-h、输入部1291-h、以及输出部1292-h。检索装置52-h在控制部120-h的控制下执行各处理。此外,在各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
存储部128-h储存有隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含含有t(i)个字符xi,1,…,xi,t(i)的检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)(例如,参照图21的DB)被隐匿了的隐匿化检索对象词[xi]。其中,m,t(i),N(i)为正整数,i=1,…,m,j(i)=1,…,N(i),t(i)≤N(i)。检索对象词xi中包含的t(i)个字符xi,1,…,xi,t(i)是作为检索对象的普通字符。另一方面,包含在检索对象词xi中的剩余的N(i)-t(i)个字符xi,t(i)+1,…,xi,N(i)是Null字符。可以将字符xi,1,…,xi,t(i),…,xi,N(i)中的每一个分别隐匿化而得到的隐匿值[xi,1],…,[xi,t(i)],…,[xi,N(i)]的集合作为隐匿化检索对象词[xi],也可以将N(i)个字符xi,1,…,xi,t(i),…,xi,N(i)一并隐匿化而作为隐匿化检索对象词[xi]。其他与第1实施方式中所述的相同。
<检索处理>
使用图20说明本实施方式的检索处理。请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)而得到隐匿化检索词[k]。其中,j=1,…,N,n是正整数,n≤N。字符k1,…,kn也可以包含通配符字符。在检索对象词xi包含Null字符xi,t(i)+1,…,xi,N(i)的情况下,kt(i)+1,…,kN也可以包含通配符字符。n、N是正整数,n≤N。N≤N(i)时,Mmin=N,N>N(i)时,Mmin=N(i)。将这种Mmin表示为Mmin=min(N(i),N)。此外,N≤N(i)时,Nmax=N(i),N>N(i)时,Nmax=N。将这种Mmax表示为Mmax=max(N(i),N)。由于记载表示的限制,有时将Nmin表示为“Nmin”,将Nmax表示为“Nmax”。j”=Mmin+1,…,N,j”(i)=Mmin+1,…,N(i)。其中,Mmin+1≧N时,j”为空,Mmin+1≧N(i)时,j”(i)为空。如上所述,可以将字符k1,…,kn,…,kN中的每一个分别隐匿化而得到的隐匿值[k1],…,[kn],…,[kN]的集合作为隐匿化检索对象词[k],也可以将N个字符k1,…,kn,…,kN一并隐匿化而作为隐匿化检索词[k]。
请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置52-h。隐匿化检索词[k]被输入至检索装置52-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部521-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,Nmin)被隐匿了的隐匿化运算结果[ei]。其中,针对j’=1,…,Nmin,在xi,j’为kj’的情况下,ei,j’=a1,在xi,j’不为kj’的情况下,ei,j’=a0。ei,j’∈{a0,a1},例如,a0=0,a1=1。例如,等号判定部521-h通过秘密计算,针对j’=1,…,Nmin进行[kj’]和[xi,j’]的等号判定,得到将ei,j’隐匿化了的[ei,j’],并得到[ei,1],…,[ei,Nmin]的集合作为隐匿化运算结果[ei]。或者,等号判定部521-h也可以通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到ei,1,…,ei,Nmin被一并隐匿了的隐匿化运算结果[ei]。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S521-h)。
通配符判定部522-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wNmin)被隐匿了的隐匿化运算结果[w]。其中,针对j’=1,…,Nmin,在kj’为通配符字符的情况下,wj’=b1,在kj’不为通配符字符的情况下,wj’=b0。例如,通配符判定部522-h使用隐匿化检索词[k]和将通配符字符隐匿化而得到的隐匿化通配符字符,并通过秘密计算,得到隐匿化运算结果[w]。举一个例子,通配符判定部522-h通过秘密计算,针对j’=1,…,Nmin进行[kj’]和隐匿化通配符字符的等号判定,得到将wj’隐匿化了的[wj’],并得到[w1],…,[wNmin]的集合作为隐匿化运算结果[w]。或者,通配符判定部522-h也可以通过使用了隐匿化检索词[k]和隐匿化通配符字符的秘密计算,得到w1,…,wNmin被一并隐匿了的隐匿化运算结果[w]。隐匿化运算结果[w]被储存在存储部128-h中(步骤S522-h)。
Null判定部525-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的至少一部分的秘密计算,得到并输出运算结果u’Mmin+1,…,u’N被隐匿了的隐匿化运算结果[u’]。其中,针对j”=Mmin+1,…,N,在kj”为Null字符的情况下,u’j”=c1,在kj”不为Null字符的情况下,u’j”=c0。u’j”∈{c0,c1},例如,c0=0,c1=1。例如,Null判定部525-h使用隐匿化检索词[k]的至少一部分和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[u’]。举一个例子,Null判定部525-h通过秘密计算,针对j”=Mmin+1,…,N进行[kj”]和隐匿化Null字符的等号判定,得到将u’j”隐匿化了的[u’j”],并得到[u’Mmin+1],…,[u’N]的集合作为隐匿化运算结果[u’]。或者,Null判定部525-h也可以通过使用了隐匿化检索词[k]和隐匿化Null字符的秘密计算,得到u’Mmin+1,…,u’N被一并隐匿了的隐匿化运算结果[u’]。隐匿化运算结果[u’]被储存在存储部128-h中(步骤S525-h)。另外,Mmin+1≧N时,不实行步骤S525-h的处理。
逻辑或运算部523-h通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到并输出运算结果e’i=(e’i,1,…,e’i,Nmin)被隐匿了的隐匿化运算结果[e’i]。其中,针对j’=1,…,Nmin,在满足ei,j’=a1以及wj’=b1中的至少任一方的情况下,e’i,j’=d1,在满足ei,j’=a0以及wj’=b0双方的情况下,e’i,j’=d0。e’i,j’∈{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,b0=0,b1=1,d0=0,d1=1的情况下,e’i,j’=ei,j’∨wj’。例如,逻辑或运算部523-h通过秘密计算,针对j’=1,…,Nmin进行[ei,j’]和[wj’]的逻辑或,得到将e’i,j’=ei,j’∨wj’隐匿化的[e’i,j’],并得到[e’i,1],…,[e’i,Nmin]的集合作为隐匿化运算结果[e’i]。或者,逻辑或运算部523-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到e’i,1,…,e’i,Nmin被一并隐匿了的隐匿化运算结果[e’i]。隐匿化运算结果[e’i]被储存在存储部128-h中(步骤S5231-h)。
Null判定部524-h通过使用了从存储部128-h中读出的隐匿化检索词[xi]的至少一部分的秘密计算,得到并输出运算结果μ’i=(μ’i,Mmin+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[μ’i]。其中,针对j”(i)=Mmin+1,…,N(i),在xi,j”(i)为Nul l字符的情况下,μ’i,j”(i)=d1,在xi,j”(i)不为Null字符的情况下,μ’i,j”(i)=d0。μ’i,j”(i)∈{d0,d1},例如,d0=0,d1=1。例如,Null判定部524-h使用隐匿化检索对象词[xi]的至少一部分和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[μ’i]。举一个例子,Null判定部524-h通过秘密计算,针对j”(i)=Mmin+1,…,N(i)进行[xi,j”(i)]和隐匿化Null字符的等号判定,得到将μ’i,j”(i)隐匿化了的[μ’i,j”(i)],并得到[μ’i,Mmin+1],…,[μ’i,N(i)]的集合作为隐匿化运算结果[μ’i]。或者,Null判定部524-h也可以通过使用了隐匿化检索对象词[xi]和隐匿化Null字符的秘密计算,得到μ’i,Mmin+1,…,μ’i,N(i)被一并隐匿了的隐匿化运算结果[μ’i]。隐匿化运算结果[μ’i]被储存在存储部128-h中(步骤S524-h)。另外,Mmin+1≧N(i)时,不实行步骤S524-h的处理。
连接部528-h至少通过使用了隐匿化运算结果[e’i]的秘密计算,得到并输出运算结果yi被隐匿了的隐匿化运算结果[yi]。在N=N(i)的情况下,连接部528-h将隐匿化运算结果[e’i]作为隐匿化运算结果[yi]输出。在N>N(i)的情况下,连接部528-h通过使用了隐匿化运算结果[u’]以及隐匿化运算结果[e’i]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)被隐匿了的隐匿化运算结果[yi]。在N<N(i)的情况下,连接部528-h通过使用了隐匿化运算结果[e’i]以及隐匿化运算结果[μ’i]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[yi]。[yi]可以是yi的要素分别被隐匿化的隐匿化结果的集合,也可以是yi的所有要素被一并隐匿化的集合。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S528-h)。
逻辑与运算部527-h通过使用了从存储部128-h中读出的隐匿化运算结果[yi]的秘密计算,得到并输出一致判定结果zi被隐匿了的隐匿化一致判定结果[zi]。其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不为yi,1=…=yi,Nmax=d1情况下,zi=g0。zi∈{g0,g1},例如,g0=0,g1=1。例如,在d0=0,d1=1,g0=0,g1=1的情况下,zi=yi,1∧…∧yi,Nmax。隐匿化一致判定结果[zi]被储存在存储部128-h中(步骤S527-h)。
之后,执行在第1实施方式中说明了的步骤S1292-h以后的处理。
<具体例子>
将本实施方式的处理区分为N=N(i)的情况、N>N(i)的情况、N<N(i)的情况记载如下。
《N=N(i)的情况》
m,n,t(i),N,N(i)为正整数;i=1,…,m;j=1,…,N;j(i)=1,…,N(i);n≤N;t(i)≤N。等号判定部521-h通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0。通配符判定部522-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。逻辑或运算部523-h通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi]=[e’i],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,yi,j=d0。例如,如图23所示,a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1为通配符字符“*”,在针对j=1,…,n-2,n,满足x2,j=kj的情况下,e2=(1,1,…,1,0,1,0,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),y2=e’2=(1,1,…,1,1,1,0,1,…,1)。因此,z2=0。
《N>N(i)的情况》
m,n,t(i),N,N(i)为正整数;i=1,…,m;j=1,…,N;j(i)=1,…,N(i);j”(i)=N(i)+1,…,N;n≤N;t(i)≤N。等号判定部521-h通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0。通配符判定部522-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为通配符字符的情况下,wj(i)=b1,在kj(i)不为通配符字符的情况下,wj(i)=b0。Null判定部525-h(第1Null判定部)通过使用了隐匿化检索词[k]的至少一部分的秘密计算,得到并输出运算结果u’N(i)+1,…,u’N被隐匿了的隐匿化运算结果[u’],其中,在kj”(i)为Null字符的情况下,u’j”(i)=c1,在kj”(i)不为Null字符的情况下,u’j”(i)=c0。逻辑或运算部523-h通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到并输出运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j(i)=a1以及wj(i)=b1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及wj(i)=b0双方的情况下,e’i,j(i)=d0。连接部528-h通过使用了隐匿化运算结果[u’]以及隐匿化运算结果[e’i]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)被隐匿了的隐匿化运算结果[yi]。例如,如图22所示,a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1为通配符字符“*”,在针对j=1,…,n-2,n,满足x1,j=kj的情况下,e1=(1,1,…,1,0,1,1,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),e’1=(1,1,…,1,1,1,1,1,…,1),y1=(1,1,…,1,1,1,1,1,…,1,1)。因此,z1=1。
《N<N(i)的情况》
m,n,t(i),N,N(i)为正整数;N<N(i);i=1,…,m;j=1,…,N;j(i)=1,…,N(i);n≤N;t(i)≤N;j”(i)=N+1,…,N(i)。等号判定部521-h通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0。通配符判定部522-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。逻辑或运算部523-h通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w]的秘密计算,得到并输出运算结果e’i=(e’i,1,…,e’i,N)被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,e’i,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,e’i,j=d0。Null判定部524-h(第2Null判定部)通过使用了隐匿化检索对象词[xi]的至少一部分的秘密计算,得到并输出运算结果μ’i=(μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[μ’i],其中,在xi,j”(i)为Null字符的情况下,μ’i,j”(i)=d1,在xi,j”(i)不为Null字符的情况下,μ’i,j”(i)=d0。连接部528-h通过使用了隐匿化运算结果[e’i]以及隐匿化运算结果[μ’i]的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[yi]。例如,如图24所示,a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1为通配符字符“*”,在针对j=1,…,n-2,n,满足x3,j=kj的情况下,e3=(1,1,…,1,0,0,1,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),e’3=(1,1,…,1,1,0,1,1,…,1),y3=(1,1,…,1,1,0,1,1,…,1,1)。因此,z3=0。
<本实施方式的特征>
如上所述,在本实施方式中,即使在检索词k可以包含通配符字符的情况下,或者在检索词k以及检索对象词xi中的至少任一方可以包含Null字符的情况下,都能够在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的完全一致检索。进一步地,在本实施方式中,不论隐匿化检索对象词和隐匿化检索词的长度是否彼此相同,都能够进行完全一致检索。此外,能够以比以往少的通信量进行被隐匿的数据库的一致检索。
[第6实施方式]
第6实施方式是第3、4实施方式的变形例。在第3、4实施方式中,以隐匿化检索对象词和隐匿化检索词的长度彼此相同为前提。与此相对,在本实施方式中,不论隐匿化检索对象词和隐匿化检索词的长度是否彼此相同,都能够进行前方一致检索。
<结构>
如图1所示,本实施方式的检索系统6具有请求检索的请求装置11以及进行检索的检索装置62-h,进行基于秘密计算的检索处理。其中,h=1,…,H,H是1以上的整数。在进行基于秘密分散方式的秘密计算的情况下,H≧2,在进行基于同态加密方式的秘密计算的情况下,H=1。
如图2所示,本实施方式的检索装置62-h具有:控制部120-h、等号判定部521-h、通配符判定部522-h、逻辑或运算部623-h、Null判定部625-h、逻辑与运算部527-h、连接部628-h、存储部128-h、输入部1291-h、以及输出部1292-h。检索装置62-h在控制部120-h的控制下执行各处理。此外,在各部得到的数据逐一被储存在存储部128-h中,根据需要被读出而用于其他处理。
<预处理>
与第5实施方式相同。
<检索处理>
使用图25说明本实施方式的检索处理。请求装置11隐匿化了包含n个字符k1,…,kn的检索词k=(k1,…,kn,…,kN)而得到隐匿化检索词[k]。请求装置11输出隐匿化检索词[k]。所输出的隐匿化检索词[k]经由网络等被发送给检索装置62-h。隐匿化检索词[k]被输入至检索装置62-h的输入部1291-h,并被储存在存储部128-h中(步骤S1291-h)。之后,针对各i=1,…,m执行以下处理。
首先,等号判定部521-h通过使用了从存储部128-h中读出的隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,Nmin)被隐匿了的隐匿化运算结果[ei]。其中,针对j’=1,…,Nmin,在xi,j’为kj’的情况下,ei,j’=a1,在xi,j’不为kj’的情况下,ei,j’=a0。隐匿化运算结果[ei]被储存在存储部128-h中(步骤S521-h)。
通配符判定部522-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w]。其中,针对j’=1,…,Nmin,在kj’为通配符字符的情况下,wj’=b1,在kj’
不为通配符字符的情况下,wj’=b0。隐匿化运算结果[w]被储存在存储部128-h中(步骤S522-h)。
Null判定部625-h通过使用了从存储部128-h中读出的隐匿化检索词[k]的秘密计算,得到并输出运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”]。其中,针对j=1,…,N,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0。u”j∈{c0,c1},例如,c0=0,c1=1。例如,Null判定部625-h使用隐匿化检索[k]的至少一部分和将Null字符隐匿化而得到的隐匿化Null字符,并通过秘密计算,得到隐匿化运算结果[u”]。举一个例子,Nul l判定部625-h通过秘密计算,针对j=1,…,N进行[kj]和隐匿化Null字符的等号判定,得到将u”j隐匿化了的[u”j],并得到[u”1],…,[u”N]的集合作为隐匿化运算结果[u”]。或者,Null判定部625-h也可以通过使用了隐匿化检索对象词[k]和隐匿化Null字符的秘密计算,得到u”1,…,u”N被一并隐匿了的隐匿化运算结果[u”]。隐匿化运算结果[u”]被储存在存储部128-h中(步骤S6251-h)。
逻辑或运算部623-h(第1逻辑或运算部)通过使用了从存储部128-h中读出的隐匿化运算结果[w]和隐匿化运算结果[u”]的至少一部分的秘密计算,得到并输出运算结果w’=(w’1,…,w’Nmin)被隐匿了的隐匿化运算结果[w’]。其中,针对j’=1,…,Nmin,在满足u”j’=c1以及wj’=b1中的至少任一方的情况下,w’j’=b’1,在满足u”j’=c0以及wj’=b0双方的情况下,w’j’=b’0。w’j∈{b’0,b’1},例如,b’0=0,b’1=1。例如,在b0=0,b1=1,c0=0,c1=1,b’0=0,b’1=1的情况下,w’j’=u”j’∨wj’。例如,逻辑或运算部623-h通过秘密计算,针对j’=1,…,Nmin进行[u”j’]和[wj’]的逻辑或,得到将w’j’=u”j’∨wj’隐匿化的[w’j’],并得到[w’1],…,[w’Nmin]的集合作为隐匿化运算结果[w’]。或者,逻辑或运算部623-h也可以通过使用了隐匿化运算结果[w]和隐匿化运算结果[u”]的秘密计算,得到w’1,…,w’Nmin被一并隐匿了的隐匿化运算结果[w’]。隐匿化运算结果[w’]被储存在存储部128-h中(步骤S6231-h)。
逻辑或运算部623-h(第2逻辑或运算部)通过使用了从存储部128-h中读出的隐匿化运算结果[ei]和隐匿化运算结果[w’]的秘密计算,得到并输出运算结果e’i=(e’i,1,…,e’i,Nmin)被隐匿了的隐匿化运算结果[e’i]。其中,针对j’=1,…,Nmin,在满足ei,j’=a1以及w’j’=b’1中的至少任一方的情况下,e’i,j’=d1,在满足ei,j’=a0以及w’j’=b’0双方的情况下,e’i,j’=d0。e’i,j’∈{d0,d1},例如,d0=0,d1=1。例如,在a0=0,a1=1,b’0=0,b’1=1,d0=0,d1=1的情况下,e’i,j’=ei,j’∨w’j’。例如,逻辑或运算部623-h通过秘密计算,针对j’=1,…,Nmin进行[ei,j’]和[w’j’]的逻辑或,得到将e’i,j’=ei,j’∨w’j’隐匿化的[e’i,j’],并得到[e’i,1],…,[e’i,Nmin]的集合作为隐匿化运算结果[e’i]。或者,逻辑或运算部623-h也可以通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w’]的秘密计算,得到e’i,1,…,e’i,Nmin被一并隐匿了的隐匿化运算结果[e’i]。隐匿化运算结果[e’i]被储存在存储部128-h中(步骤S6232-h)。
连接部628-h至少通过使用了隐匿化运算结果[e’i]的秘密计算,得到并输出运算结果yi被隐匿了的隐匿化运算结果[yi]。在N≤N(i)的情况下,连接部628-h将隐匿化运算结果[e’i]作为隐匿化运算结果[yi]输出。在N>N(i)的情况下,连接部628-h通过使用了隐匿化运算结果[e’i]以及隐匿化运算结果[u”]的至少一部分的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)被隐匿了的隐匿化运算结果[yi]。[yi]可以是yi的要素分别被隐匿化的隐匿化结果的集合,也可以是将yi的所有要素一并隐匿化的结果。隐匿化运算结果[yi]被储存在存储部128-h中(步骤S628-h)。
之后,执行步骤527-h以及在第1实施方式中说明了的步骤S1292-h以后的处理。
<具体例子>
将本实施方式的处理区分为N>N(i)的情况、N≤N(i)的情况记载如下。
《N>N(i)的情况》
m,n,t(i),N,N(i)为正整数;i=1,…,m;j=1,…,N;j(i)=1,…,N(i);j”(i)=N(i)+1,…,N;n≤N;t(i)≤N(i)。等号判定部521-h通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0。通配符判定部522-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为通配符字符的情况下,wj(i)=b1,在kj(i)不为通配符字符的情况下,wj(i)=b0。Null判定部625-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0。逻辑或运算部623-h通过使用了隐匿化运算结果[w]和隐匿化运算结果[u”]的至少一部分的秘密计算,得到并输出运算结果w’=(w’1,…,w’N(i))被隐匿了的隐匿化运算结果[w’],其中,在满足u”j(i)=c1以及wj(i)=b1中的至少任一方的情况下,w’j(i)=b’1,在满足u”j(i)=c0以及wj(i)=b0双方的情况下,w’j(i)=b’0。逻辑或运算部623-h通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w’]的秘密计算,得到并输出运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j(i)=a1以及w’j(i)=b’1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及w’j(i)=b’0双方的情况下,e’i,j(i)=d0。连接部628-h通过使用了隐匿化运算结果[e’i]以及隐匿化运算结果[u”]的至少一部分的秘密计算,得到并输出运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)被隐匿了的隐匿化运算结果[yi]。例如,如图26所示,a0=0,a1=1,b0=0,b1=1,b’0=0,b’1=1,c0=0,c1=1,d0=0,d1=1,g0=0,g1=1,kn-1为通配符字符“*”,在针对j=1,…,n-2,n,满足x1,j=kj的情况下,e1=(1,1,…,1,0,1,1,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),u”=(0,0,…,0,0,0,1,1,…,1,1),w’=(0,0,…,0,1,0,1,1,…,1),e’1=(1,1,…,1,1,1,1,1,…,1),y1=(1,1,…,1,1,1,1,1,…,1,1)。因此,z1=1。
《N≤N(i)的情况》
m,n,t(i),N,N(i)为正整数;i=1,…,m;j=1,…,N;j(i)=1,…,N(i);n≤N;t(i)≤N(i)。等号判定部521-h通过使用了隐匿化检索对象词[xi]和隐匿化检索词[k]的秘密计算,得到并输出运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0。通配符判定部522-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为通配符字符的情况下,wj=b1,在kj不为通配符字符的情况下,wj=b0。Null判定部625-h通过使用了隐匿化检索词[k]的秘密计算,得到并输出运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0。逻辑或运算部623-h通过使用了隐匿化运算结果[w]和隐匿化运算结果[u”]的秘密计算,得到并输出运算结果w’=(w’1,…,w’N)被隐匿了的隐匿化运算结果[w’],其中,在满足u”j=c1以及wj=b1中的至少任一方的情况下,w’j=b’1,在满足u”j=c0以及wj=b0双方的情况下,w’j=b’0。逻辑或运算部623-h通过使用了隐匿化运算结果[ei]和隐匿化运算结果[w’]的秘密计算,得到并输出运算结果e’i=yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及w’j=b’1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及w’j=b’0双方的情况下,yi,j=d0。例如,如图27所示,a0=0,a1=1,b0=0,b1=1,b’0=0,b’1=1,c0=0,c1=1,d0=0,d1=1,g0=0,g1=1,kn-1为通配符字符“*”,在针对j=1,…,n-2,n,满足x1,j=kj,且N=N(2)的情况下,e2=(1,1,…,1,0,1,1,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),u”=(0,0,…,0,0,0,1,1,…,1),w’=(0,0,…,0,1,0,1,1,…,1),e’2=(1,1,…,1,1,1,1,1,…,1),y2=(1,1,…,1,1,1,1,1,…,1)。因此,z1=1。例如,如图28所例示,在N<N(3)的情况下,e3=(1,1,…,1,0,0,1,1,…,1),w=(0,0,…,0,1,0,0,0,…,0),u”=(0,0,…,0,0,0,1,1,…,1),w’=(0,0,…,0,1,0,1,1,…,1),e’3=(1,1,…,1,1,0,1,1,…,1),y3=(1,1,…,1,1,0,1,1,…,1)。因此,z3=0。
<本实施方式的特征>
如上所述,在本实施方式中,即使在检索词k可以包含通配符字符的情况下,或者在检索词k以及检索对象词xi中的至少任一方可以包含Null字符的情况下,都能够在隐匿了包含通配符字符的检索词的状态下,直接进行被隐匿的数据库的前方一致检索。进一步地,在本实施方式中,不论隐匿化检索对象词和隐匿化检索词的长度是否彼此相同,都能够进行前方一致检索。此外,能够以比以往少的通信量进行被隐匿的数据库的一致检索。
[变形例等]
另外,本发明并不限定于上述实施方式。例如,检索装置可以直接输出隐匿化运算结果[yi],也可以对隐匿化运算结果[yi]实施与步骤S127-h不同的秘密计算,并输出由此得到的结果。
如上所述,秘密计算方式没有限定。如果能够进行基于秘密计算的等号判定以及逻辑运算(逻辑或运算、逻辑与运算),则可以使用基于秘密分散方式的秘密计算,也可以使用基于同态加密方式的秘密计算。例如,可以使用以下记载的秘密计算方式。
参考文献1:Ivan Damgard,Matthias Fitzi,Eike Kiltz,Jesper Buus Nielsen,Tomas Toft,“Unconditionally Secure Constant-Rounds Multi-party Computation for Equality,Comparison,Bits and Exponentiation”,TCC 2006,pp.285-304。
参考文献2:千田浩司,滨田浩气,五十岚大,高桥克己,“轻量化可验证3方隐匿函数计算的再探讨(AThree-party Secure Function Evaluation with LightweightVerifiability Revisited)”,In CSS,2010。
参考文献3:Takashi Nishide,Kazuo Ohta,“Multiparty computationforinterval,equality,and comparison without bit-decomposition protocol”,PKC,pp.343-360,2007。
上述的各种处理不仅按照记载以时间序列执行,也可以根据执行处理的装置的处理能力或根据需要并行或个别地执行。另外,在不脱离本发明主旨的范围内,当然可以进行适当的变更。
上述各装置,例如,由具有CPU(central processing unit)等处理器(硬件处理器)以及RAM(random-access memory)、ROM(read-only memory)等存储器等的通用或专用的计算机执行规定的程序而构成。
这种计算机可以包括一个处理器和一个存储器,也可以包括多个处理器和多个存储器。这种程序可以安装在计算机中,也可以预先记录在ROM等中。此外,也可以不是如CPU那样通过读入程序来实现功能结构的电子电路(circuitry),而是使用不使用程序来实现处理功能的电子电路来构成一部分或全部的处理部。构成一个装置的电子电路也可以包含多个CPU。
在通过计算机实现上述结构的情况下,各装置应该具有的功能的处理内容通过程序记述。通过在计算机上执行该程序,在计算机上实现上述处理功能。记述这种处理内容的程序可以事先记录在计算机可读取的记录介质上。计算机可读取的记录介质的例子是非临时的(non-transitory)记录介质。这样的记录介质的例子有磁介质装置、光盘、光磁记录介质、半导体存储器等。
这种程序的流通,例如,通过销售、转让、租借记录有这种程序的DVD、CD-ROM等便携式记录介质来进行。进一步地,也可以构成为:事先将这种程序储存在服务器计算机的存储装置中,通过网络从服务器计算机向其他计算机传送该程序,从而使该程序流通。
执行这种程序的计算机,例如,首先,将记录在便携型记录介质中的程序或从服务器计算机传送来的程序暂时储存在自己的存储装置中。当执行处理时,计算机读取储存在自己的存储装置中的程序,并根据读取的程序执行处理。作为该程序的其他执行方式,计算机可以从便携式记录介质直接读取程序,根据该程序执行处理,进一步地,每当从服务器计算机向该计算机传送程序时,也可以依次执行根据接收到的程序的处理。也可以构成为,不进行从服务器计算机向该计算机的程序的传送,仅通过其执行指示和结果取得来实现处理功能,即通过所谓的ASP(Application Service Provider)型的服务来执行上述处理。
不是在计算机上执行规定的程序来实现本装置的处理功能,也可以通过硬件来实现至少一部分的这些处理功能。
[符号说明]
1~4 检索系统
12-1~H,22-1~H,32-1~H,42-1~H 检索装置

Claims (17)

1.一种通过秘密计算进行完全一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,yi,j=d0;以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
2.一种通过秘密计算进行完全一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
Null判定部,通过使用了所述隐匿化检索对象词[xi]的秘密计算,得到运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi],其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1
逻辑与运算部,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[μi]的秘密计算,得到运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi],其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[vi]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及vi,j=ρ1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及vi,j=ρ0双方的情况下,yi,j=d0;以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,θ0和θ1是集合{θ0,θ1}的元素,ρ0和ρ1是集合{ρ0,ρ1}的元素,g0和g1是集合{g0,g1}的元素。
3.一种通过秘密计算进行前方一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
第1Null判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u],其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]、所述隐匿化运算结果[w]和所述隐匿化运算结果[u]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1、wj=b1以及uj=c1中的至少一个的情况下,yi,j=d1,在ei,j=a0以及wj=b0以及uj=c0全部满足的情况下,yi,j=d0;以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
4.一种通过秘密计算进行前方一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
第1Null判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u],其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0
第2Null判定部,通过使用了所述隐匿化检索对象词[xi]的秘密计算,得到运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi],其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1
逻辑与运算部,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[μi]的秘密计算,得到运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi],其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]、所述隐匿化运算结果[u]和所述隐匿化运算结果[vi]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1、vi,j=ρ1以及uj=c1中的至少一个的情况下,yi,j=d1,在ei,j=a0以及vi,j=ρ0以及uj=c0全部满足的情况下,yi,j=d0;以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,θ0和θ1是集合{θ0,θ1}的元素,ρ0和ρ1是集合{ρ0,ρ1}的元素,g0和g1是集合{g0,g1}的元素。
5.一种通过秘密计算进行完全一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为所述通配符字符的情况下,wj(i)=b1,在kj(i)不为所述通配符字符的情况下,wj(i)=b0
第1Null判定部,通过使用了所述隐匿化检索词[k]的至少一部分的秘密计算,得到运算结果u’N(i)+1,…,u’N被隐匿了的隐匿化运算结果[u’],其中,在kj”(i)为Null字符的情况下,u’j”(i)=c1,在kj”(i)不为Null字符的情况下,u’j”(i)=c0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j(i)=a1以及wj(i)=b1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及wj(i)=b0双方的情况下,e’i,j(i)=d0
连接部,通过使用了所述隐匿化运算结果[u’]以及隐匿化运算结果[e’i]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N>N(i);i=1,…,m,j=1,…,N,j(i)=1,…,N(i),j”(i)=N(i)+1,…,N,n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
6.一种通过秘密计算进行完全一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N)被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,e’i,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,e’i,j=d0
第2Null判定部,通过使用了所述隐匿化对象词[xi]的至少一部分的秘密计算,得到运算结果μ’i=(μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[μ’i],其中,在xi,j”(i)为Null字符的情况下,μ’i,j”(i)=d1,在xi,j”(i)不为Null字符的情况下,μ’i,j”(i)=d0
连接部,通过使用了所述隐匿化运算结果[e’i]和所述隐匿化运算结果[μ’i]的秘密计算,得到运算结果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N<N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),n≤N,t(i)≤N(i),j”(i)=N+1,…,N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
7.一种通过秘密计算进行前方一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
Null判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0
第1逻辑或运算部,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[u”]的秘密计算,得到运算结果w’=(w’1,…,w’N)被隐匿了的隐匿化运算结果[w’],其中,在满足u”j=c1以及wj=b1中的至少任一方的情况下,w’j=b’1,在满足u”j=c0以及wj=b0双方的情况下,w’j=b’0
第2逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w’]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及w’j=b’1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及w’j=b’0双方的情况下,yi,j=d0;以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N<N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,b’0和b’1是集合{b’0,b’1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
8.一种通过秘密计算进行前方一致检索的检索装置,具有:
存储部,储存隐匿化数据库[x1],…,[xm],所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi=包含t(i)个字符xi,1,…,xi,t(i)
输入部,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定部,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0
通配符判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为所述通配符字符的情况下,wj(i)=b1,在kj(i)不为所述通配符字符的情况下,wj(i)=b0
Null判定部,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0
第1逻辑或运算部,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[u”]的至少一部分的秘密计算,得到运算结果w’=(w’1,…,w’N(i))被隐匿了的隐匿化运算结果[w’],其中,在满足u”j(i)=c1以及wj(i)=b1中的至少任一方的情况下,w’j(i)=b’1,在满足u”j(i)=c0以及wj(i)=b0双方的情况下,w’j(i)=b’0
第2逻辑或运算部,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w’]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足e’i,j(i)=a1以及w’j(i)=b’1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及w’j(i)=b’0双方的情况下,e’i,j(i)=d0
连接部,通过使用了所述隐匿化运算结果[e’i]和所述隐匿化运算结果[u”]的至少一部分的秘密计算,得到运算结果
yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算部,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N>N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),j”(i)=N(i)+1,…,N,n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,b’0和b’1是集合{b’0,b’1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
9.一种通过秘密计算进行完全一致检索的检索方法,
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,yi,j=d0;以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
10.一种通过秘密计算进行完全一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
Null判定步骤,通过使用了所述隐匿化检索对象词[xi]的秘密计算,得到运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi],其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1
逻辑与运算步骤,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[μi]的秘密计算,得到运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi],其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[vi]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及vi,j=ρ1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及vi,j=ρ0双方的情况下,yi,j=d0;以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,θ0和θ1是集合{θ0,θ1}的元素,ρ0和ρ1是集合{ρ0,ρ1}的元素,g0和g1是集合{g0,g1}的元素。
11.一种通过秘密计算进行前方一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
第1Null判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u],其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]、所述隐匿化运算结果[w]和所述隐匿化运算结果[u]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1、wj=b1以及uj=c1中的至少一个的情况下,yi,j=d1,在ei,j=a0以及wj=b0以及uj=c0全部满足的情况下,yi,j=d0;以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
12.一种通过秘密计算进行前方一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N)被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
第1Null判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u=(u1,…,uN)被隐匿了的隐匿化运算结果[u],其中,在kj为Null字符的情况下,uj=c1,在kj不为Null字符的情况下,uj=c0
第2Null判定步骤,通过使用了所述隐匿化检索对象词[xi]的秘密计算,得到运算结果μi=(μi,1,…,μi,N)被隐匿了的隐匿化运算结果[μi],其中,在xi,j为Null字符的情况下,μi,j=θ0,在xi,j不为Null字符的情况下,μi,j=θ1
逻辑与运算步骤,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[μi]的秘密计算,得到运算结果vi=(vi,1,…,vi,N)被隐匿了的隐匿化运算结果[vi],其中,在满足wj=b1以及μi,j=θ1双方的情况下,vi,j=ρ1,在满足wj=b0以及μi,j=θ0中的至少任一方的情况下,vi,j=ρ0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]、所述隐匿化运算结果[u]和所述隐匿化运算结果[vi]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1、vi,j=ρ1以及uj=c1中的至少一个的情况下,yi,j=d1,在ei,j=a0以及vi,j=ρ0以及uj=c0全部满足的情况下,yi,j=d0;以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,N=d1的情况下,zi=g1,在不是yi,1=…=yi,N=d1的情况下,zi=g0
其中,m,n,t(i),N为正整数,i=1,…,m,j=1,…,N,n≤N,t(i)≤N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,θ0和θ1是集合{θ0,θ1}的元素,ρ0和ρ1是集合{ρ0,ρ1}的元素,g0和g1是集合{g0,g1}的元素。
13.一种通过秘密计算进行完全一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为所述通配符字符的情况下,wj(i)=b1,在kj(i)不为所述通配符字符的情况下,wj(i)=b0
第1Null判定步骤,通过使用了所述隐匿化检索词[k]的至少一部分的秘密计算,得到运算结果u’N(i)+1,…,u’N被隐匿了的隐匿化运算结果[u’],其中,在kj”(i)为Null字符的情况下,u’j”(i)=c1,在kj”(i)不为Null字符的情况下,u’j”(i)=c0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j(i)=a1以及wj(i)=b1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及wj(i)=b0双方的情况下,e’i,j(i)=d0
连接步骤,通过使用了所述隐匿化运算结果[u’]以及隐匿化运算结果[e’i]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N)被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N>N(i);i=1,…,m,j=1,…,N,j(i)=1,…,N(i),j”(i)=N(i)+1,…,N,n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
14.一种通过秘密计算进行完全一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N)被隐匿了的隐匿化运算结果[e’i],其中,在满足ei,j=a1以及wj=b1中的至少任一方的情况下,e’i,j=d1,在满足ei,j=a0以及wj=b0双方的情况下,e’i,j=d0
第2Null判定步骤,通过使用了所述隐匿化对象词[xi]的至少一部分的秘密计算,得到运算结果μ’i=(μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[μ’i],其中,在xi,j”(i)为Null字符的情况下,μ’i,j”(i)=d1,在xi,j”(i)不为Null字符的情况下,μ’i,j”(i)=d0
连接步骤,通过使用了所述隐匿化运算结果[e’i]和所述隐匿化运算结果[μ’i]的秘密计算,得到运算结果yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i))被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N<N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),n≤N,t(i)≤N(i),j”(i)=N+1,…,N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
15.一种通过秘密计算进行前方一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N)被隐匿了的隐匿化运算结果[ei],其中,在xi,j为kj的情况下,ei,j=a1,在xi,j不为kj的情况下,ei,j=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN)被隐匿了的隐匿化运算结果[w],其中,在kj为所述通配符字符的情况下,wj=b1,在kj不为所述通配符字符的情况下,wj=b0
Null判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0
第1逻辑或运算步骤,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[u”]的秘密计算,得到运算结果w’=(w’1,…,w’N)被隐匿了的隐匿化运算结果[w’],其中,在满足u”j=c1以及wj=b1中的至少任一方的情况下,w’j=b’1,在满足u”j=c0以及wj=b0双方的情况下,w’j=b’0
第2逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w’]的秘密计算,得到运算结果yi=(yi,1,…,yi,N)被隐匿了的隐匿化运算结果[yi],其中,在满足ei,j=a1以及w’j=b’1中的至少任一方的情况下,yi,j=d1,在满足ei,j=a0以及w’j=b’0双方的情况下,yi,j=d0;以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N<N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,b’0和b’1是集合{b’0,b’1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
16.一种通过秘密计算进行前方一致检索的检索方法,具有:
隐匿化数据库[x1],…,[xm]被储存在存储部中,所述隐匿化数据库包含检索对象词xi=(xi,1,…,xi,t(i),…,xi,N(i))被隐匿了的隐匿化检索对象词[xi],所述检索对象词xi=包含t(i)个字符xi,1,…,xi,t(i)
所述检索方法具有:
输入步骤,受理检索词k=(k1,…,kn,…,kN)被隐匿了的隐匿化检索词[k]的输入,所述检索词k包含含有通配符字符的n个字符k1,…,kn
等号判定步骤,通过使用了所述隐匿化检索对象词[xi]和所述隐匿化检索词[k]的秘密计算,得到运算结果ei=(ei,1,…,ei,N(i))被隐匿了的隐匿化运算结果[ei],其中,在xi,j(i)为kj(i)的情况下,ei,j(i)=a1,在xi,j(i)不为kj(i)的情况下,ei,j(i)=a0
通配符判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果w=(w1,…,wN(i))被隐匿了的隐匿化运算结果[w],其中,在kj(i)为所述通配符字符的情况下,wj(i)=b1,在kj(i)不为所述通配符字符的情况下,wj(i)=b0
Null判定步骤,通过使用了所述隐匿化检索词[k]的秘密计算,得到运算结果u”=(u”1,…,u”N)被隐匿了的隐匿化运算结果[u”],其中,在kj为Null字符的情况下,u”j=c1,在kj不为Null字符的情况下,u”j=c0
第1逻辑或运算步骤,通过使用了所述隐匿化运算结果[w]和所述隐匿化运算结果[u”]的至少一部分的秘密计算,得到运算结果w’=(w’1,…,w’N(i))被隐匿了的隐匿化运算结果[w’],其中,在满足u”j(i)=c1以及wj(i)=b1中的至少任一方的情况下,w’j(i)=b’1,在满足u”j(i)=c0以及wj(i)=b0双方的情况下,w’j(i)=b’0
第2逻辑或运算步骤,通过使用了所述隐匿化运算结果[ei]和所述隐匿化运算结果[w’]的秘密计算,得到运算结果e’i=(e’i,1,…,e’i,N(i))被隐匿了的隐匿化运算结果[e’i],其中,在满足e’i,j(i)=a1以及w’j(i)=b’1中的至少任一方的情况下,e’i,j(i)=d1,在满足ei,j(i)=a0以及w’j(i)=b’0双方的情况下,e’i,j(i)=d0
连接步骤,通过使用了所述隐匿化运算结果[e’i]和所述隐匿化运算结果[u”]的至少一部分的秘密计算,得到运算结果
yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N)被隐匿了的隐匿化运算结果[yi];以及
逻辑与运算步骤,通过使用了所述隐匿化运算结果[yi]的秘密计算,得到一致判定结果zi被隐匿了的隐匿化一致判定结果[zi],其中,在yi,1=…=yi,Nmax=d1的情况下,zi=g1,在不是yi,1=…=yi,Nmax=d1的情况下,zi=g0
其中,m,n,t(i),N,N(i)为正整数,N>N(i),i=1,…,m,j=1,…,N,j(i)=1,…,N(i),j”(i)=N(i)+1,…,N,n≤N,t(i)≤N(i),在N≤N(i)时,Nmax=N(i),在N>N(i)时,Nmax=N,a0和a1是集合{a0,a1}的元素,b0和b1是集合{b0,b1}的元素,c0和c1是集合{c0,c1}的元素,b’0和b’1是集合{b’0,b’1}的元素,d0和d1是集合{d0,d1}的元素,g0和g1是集合{g0,g1}的元素。
17.一种计算机可读取记录介质,存储有用于使计算机作为如权利要求1至8中的任一项所述的检索装置发挥功能的程序。
CN201880081581.2A 2017-12-19 2018-12-10 检索装置、检索方法、以及记录介质 Active CN111712868B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017242830 2017-12-19
JP2017-242830 2017-12-19
PCT/JP2018/045254 WO2019124134A1 (ja) 2017-12-19 2018-12-10 検索装置、検索方法、プログラム、および記録媒体

Publications (2)

Publication Number Publication Date
CN111712868A CN111712868A (zh) 2020-09-25
CN111712868B true CN111712868B (zh) 2023-08-08

Family

ID=66993387

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880081581.2A Active CN111712868B (zh) 2017-12-19 2018-12-10 检索装置、检索方法、以及记录介质

Country Status (6)

Country Link
US (1) US11675847B2 (zh)
EP (1) EP3731215B1 (zh)
JP (1) JP6927332B2 (zh)
CN (1) CN111712868B (zh)
AU (1) AU2018389418B2 (zh)
WO (1) WO2019124134A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713995A (zh) * 2010-01-15 2012-10-03 三菱电机株式会社 隐匿检索系统以及密码处理系统
US9009089B1 (en) * 2011-06-27 2015-04-14 Hrl Laboratories, Llc Secure pattern matching
JP2016148693A (ja) * 2015-02-10 2016-08-18 日本電信電話株式会社 秘匿パターンマッチング装置、端末装置、それらの方法、およびプログラム
CN106209761A (zh) * 2015-05-29 2016-12-07 松下电器(美国)知识产权公司 相似信息检索方法、终端装置以及相似信息检索系统
CN106796764A (zh) * 2014-10-08 2017-05-31 日本电信电话株式会社 部分字符串位置检测装置、部分字符串位置检测方法及程序

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7500111B2 (en) * 2003-05-30 2009-03-03 International Business Machines Corporation Querying encrypted data in a relational database system
KR100903599B1 (ko) * 2007-11-22 2009-06-18 한국전자통신연구원 내적을 이용한 암호화된 데이터 검색 방법 및 이를 위한단말 장치와 서버
US9613292B1 (en) * 2012-01-26 2017-04-04 Hrl Laboratories, Llc Secure multi-dimensional pattern matching for secure search and recognition
US20130238646A1 (en) * 2012-03-06 2013-09-12 Evrichart, Inc. Partial-Match Searches of Encrypted Data Sets
US10235539B2 (en) * 2013-02-25 2019-03-19 Mitsubishi Electric Corporation Server device, recording medium, and concealed search system
US9652511B2 (en) * 2013-03-13 2017-05-16 International Business Machines Corporation Secure matching supporting fuzzy data
US10417442B2 (en) * 2015-02-09 2019-09-17 Nec Corporation Server device, data search system, search method, and recording medium for extracting concealed data
JP6305946B2 (ja) * 2015-02-10 2018-04-04 日本電信電話株式会社 秘匿パターンマッチング装置、その方法、およびプログラム
US10404669B2 (en) * 2015-06-09 2019-09-03 Skyhigh Networks, Llc Wildcard search in encrypted text
US9894042B2 (en) * 2015-07-24 2018-02-13 Skyhigh Networks, Inc. Searchable encryption enabling encrypted search based on document type
US9760637B2 (en) * 2015-09-11 2017-09-12 Skyhigh Networks, Inc. Wildcard search in encrypted text using order preserving encryption

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102713995A (zh) * 2010-01-15 2012-10-03 三菱电机株式会社 隐匿检索系统以及密码处理系统
US9009089B1 (en) * 2011-06-27 2015-04-14 Hrl Laboratories, Llc Secure pattern matching
CN106796764A (zh) * 2014-10-08 2017-05-31 日本电信电话株式会社 部分字符串位置检测装置、部分字符串位置检测方法及程序
JP2016148693A (ja) * 2015-02-10 2016-08-18 日本電信電話株式会社 秘匿パターンマッチング装置、端末装置、それらの方法、およびプログラム
CN106209761A (zh) * 2015-05-29 2016-12-07 松下电器(美国)知识产权公司 相似信息检索方法、终端装置以及相似信息检索系统

Also Published As

Publication number Publication date
JP6927332B2 (ja) 2021-08-25
JPWO2019124134A1 (ja) 2020-12-03
CN111712868A (zh) 2020-09-25
AU2018389418A1 (en) 2020-07-02
EP3731215A1 (en) 2020-10-28
WO2019124134A1 (ja) 2019-06-27
EP3731215A4 (en) 2021-08-04
US11675847B2 (en) 2023-06-13
EP3731215B1 (en) 2024-02-07
AU2018389418B2 (en) 2021-11-04
US20210011953A1 (en) 2021-01-14

Similar Documents

Publication Publication Date Title
US20220358242A1 (en) Data security hub
CN111401558B (zh) 数据处理模型训练方法、数据处理方法、装置、电子设备
US11568257B2 (en) Secure cloud-based machine learning without sending original data to the cloud
CN110457912B (zh) 数据处理方法、装置和电子设备
CN111784001B (zh) 一种模型训练方法、设备及计算机可读存储介质
CN110505228B (zh) 基于边缘云架构的大数据处理方法、系统、介质及装置
CN112134883B (zh) 基于可信计算进行节点间信任关系快速认证的方法、装置及相关产品
CN115883261A (zh) 一种基于att和ck的电力系统apt攻击建模方法
CN117390657A (zh) 数据加密方法、装置、计算机设备和存储介质
Cui et al. Towards privacy-preserving malware detection systems for android
Wilczyński et al. Blockchain networks–Security aspects and consensus models
CN111712868B (zh) 检索装置、检索方法、以及记录介质
CN114726634B (zh) 一种基于知识图谱的黑客攻击场景构建方法和设备
Mihailescu et al. Big data cryptography
CN115314265A (zh) 基于流量和时序识别tls加密应用的方法和系统
CN111858575A (zh) 私有数据分析方法及系统
Loporchio et al. An analysis of bitcoin dust through authenticated queries
Dharanikota et al. Breeding unicorns: Developing trustworthy and scalable randomness beacons
US11962562B2 (en) Anonymous message board server verification
CN113779567B (zh) 一种面向dpi缓存丢失攻击的防御方法、计算机及存储介质
US11698977B1 (en) Predicting and quantifying weaponization of software weaknesses
US20240111890A1 (en) Systems and methods for sanitizing sensitive data and preventing data leakage from mobile devices
US20240177018A1 (en) Systems and Methods for Differentially Private Federated Machine Learning for Large Models and a Strong Adversary
Alizadeh Saveh A PERMISSIONED BLOCKCHAIN-BASED MODEL FOR DIGITAL FORENSICS
US20240111891A1 (en) Systems and methods for sanitizing sensitive data and preventing data leakage using on-demand artificial intelligence models

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant