Search device, search method, program, and recording medium

文档序号:1102646 发布日期:2020-09-25 浏览:30次 中文

阅读说明:本技术 检索装置、检索方法、程序以及记录介质 (Search device, search method, program, and recording medium ) 是由 五十岚大 于 2018-12-10 设计创作,主要内容包括:等号判定部通过使用了隐匿化检索对象词[x<Sub>i</Sub>]和隐匿化检索词[k]的秘密计算,得到e<Sub>i</Sub>=(e<Sub>i,1</Sub>,…,e<Sub>i,N</Sub>)被隐匿了的[e<Sub>i</Sub>],其中,在x<Sub>i,j</Sub>为k<Sub>j</Sub>的情况下,e<Sub>i,j</Sub>=a<Sub>1</Sub>;在x<Sub>i,j</Sub>不为k<Sub>j</Sub>的情况下,e<Sub>i,j</Sub>=a<Sub>0</Sub>。通配符判定部通过使用了[k]的秘密计算,得到w=(w<Sub>1</Sub>,…,w<Sub>N</Sub>)被隐匿了的[w],其中,在k<Sub>j</Sub>为通配符字符的情况下,w<Sub>j</Sub>=b<Sub>1</Sub>,否则,w<Sub>j</Sub>=b<Sub>0</Sub>。逻辑或运算部通过使用了[e<Sub>i</Sub>]和[w]的秘密计算,得到y<Sub>i</Sub>=(y<Sub>i,1</Sub>,…,y<Sub>i,N</Sub>)被隐匿了的[y<Sub>i</Sub>],其中,在满足e<Sub>i,j</Sub>=a<Sub>1</Sub>以及w<Sub>j</Sub>=b<Sub>1</Sub>中的至少一方的情况下,y<Sub>i,j</Sub>=d<Sub>1</Sub>,否则,y<Sub>i,j</Sub>=d<Sub>0</Sub>。(The equal sign determination unit uses the hidden search target word [ x ] i ]And a concealed search term [ k ]]To obtain e i =(e i,1 ,…,e i,N ) Concealed [ e ] i ]Wherein, in x i,j Is k j In the case of (e) i,j =a 1 (ii) a At x i,j Is not k j In the case of (e) i,j =a 0 . The wildcard character determination part uses [ k ]]Obtaining w ═ w (w) by secret calculation of (c) 1 ,…,w N ) Concealed w]Wherein, at k j In the case of wildcard characters, w j =b 1 Otherwise, w j =b 0 . The logical OR operation part uses [ e ] i ]And [ w]To obtain y i =(y i,1 ,…,y i,N ) Concealed y i ]Wherein, in the case of satisfying e i,j =a 1 And w j =b 1 In the case of at least one of (1), y i,j =d 1 Otherwise, y i,j =d 0 。)

1. A search device for performing a perfect match search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0(ii) a And

a logical OR operation unit using the concealed operation result [ e ]i]And the result of the concealment operation [ w ]]To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1And wj=b1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, yi,j=d0

Wherein m, N, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N is not more than N, t (i) is not more than N.

2. A search device for performing a perfect match search by secret calculation, comprising:

a storage part for storing the hidden numberDatabase [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0

A Null determination unit for determining the number of the search target words [ x ] by using the hidden search target wordsi]To obtain an operation result mui=(μi,1,…,μi,N) Concealed operation result [ mu ]i]Wherein, in xi,jIn the case of Null characters, μi,jAt x ═ thetai,jIn the case of characters other than Null, μi,j=θ1

A logical AND operation unit using the concealed operation result [ w ]]And the result of the concealment operation [ mu ]i]To obtain a calculation result vi=(vi,1,…,vi,N) Concealed operation result [ vi]Wherein, when satisfying wj=b1And mui,j=θ1In both cases, vi,j=ρ1At the condition of satisfying wj=b0And mui,j=θ0V is at least one ofi,j=ρ0(ii) a And

a logical OR operation unit using the concealed operation result [ e ]i]And the result of the concealment operation [ v ]i]To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1And vi,j=ρ1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And vi,j=ρ0In both cases, yi,j=d0

Wherein m, N, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N is not more than N, t (i) is not more than N.

3. A search device for performing a forward matching search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]Is calculated to obtainOperation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0

A 1 st Null determination unit for determining whether or not the search word [ k ] is a concealed search word by using the concealed search word]Obtaining the operation result u ═ u (u) by secret calculation of (2)1,…,uN) Concealed operation result u]Wherein, at kjIn the case of Null characters, uj=c1At k, injIn the case of characters other than Null, uj=c0(ii) a And

a logical OR operation unit using the concealed operation result [ e ]i]The result of the hiding operation [ w ]]And the result of the concealment operation [ u ]]To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1、wj=b1And uj=c1In the case of at least one of (3), yi,j=d1At ei,j=a0And wj=b0And uj=c0In all cases, yi,j=d0

Wherein m, N, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N is not more than N, t (i) is not more than N.

4. A search device for performing a forward matching search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0

A 1 st Null determination unit for determining whether or not the search word [ k ] is a concealed search word by using the concealed search word]Obtaining the operation result u ═ u (u) by secret calculation of (2)1,…,uN) Concealed operation result u]Wherein, at kjIn the case of Null characters, uj=c1At k, injIn the case of characters other than Null, uj=c0

A 2 nd Null determination unit for determining whether or not the search word [ x ] to be concealed is usedi]To obtain an operation result mui=(μi,1,…,μi,N) Concealed operation result [ mu ]i]Wherein, in xi,jIn the case of Null characters, μi,j=θ0At xi,jIn the case of characters other than Null, μi,j=θ1

A logical AND operation unit using the concealed operation result [ w ]]And the result of the concealment operation [ mu ]i]To obtain a calculation result vi=(vi,1,…,vi,N) Concealed operation result [ vi]Wherein, when satisfying wj=b1And mui,j=θ1In both cases, vi,j=ρ1At the condition of satisfying wj=b0And mui,j=θ0V is at least one ofi,j=ρ0(ii) a And

a logical OR operation unit using the concealed operation result [ e ]i]The result of the hiding operation [ u ]]And the result of the concealment operation [ v ]i]To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1、vi,j=ρ1And uj=c1In the case of at least one of (3), yi,j=d1At ei,j=a0And vi,j=ρ0And uj=c0In all cases, yi,j=d0

Wherein m, N, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N is not more than N, t (i) is not more than N.

5. The retrieval apparatus according to any one of claims 1 to 4, having:

a logical AND operation unit using the concealed operation result yi]Obtaining a coincidence determination result ziConcealed concealment match determination result [ zi]Wherein at yi,1=…=yi,N=d1In the case of (a), zi=g1In a case other than yi,1=…=yi,N=d1In the case of (a), zi=g0

6. A search device for performing a perfect match search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N(i)) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N(i)) Concealed operation result [ ei]Wherein, in xi,j(i)Is kj(i)In the case of (e)i,j(i)=a1At xi,j(i)Is not kj(i)In the case of (e)i,j(i)=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN(i)) Concealed operation result [ w]Wherein, at kj(i)In the case of the wildcard character, wj(i)=d1At k, inj(i)In the case where the character is not the wildcard character, wj(i)=d0

A 1 st Null determination unit for determining whether or not the search word [ k ] is a concealed search word by using the concealed search word]Obtaining a calculation result u 'by secret calculation of at least a part of'N(i)+1,…,u’NConcealed concealment calculation result [ u']Wherein, at kj”(i)U 'in the case of Null character'j”(i)=c1At k, inj”(i)U 'if not Null character'j”(i)=c0

A logical OR operation unit using the concealed operation result [ e ]i]And the result of the concealment operation [ w ]]Obtaining a calculation result e'i=(e’i,1,…,e’i,N(i)) Concealed concealment calculation result [ e'i]Wherein, in the case of satisfying ei,j(i)=a1And wj(i)=b1E 'in the case of at least any one of (1)'i,j(i)=d1In the presence of a catalyst satisfying ei,j(i)=a0And wj(i)=b0In both cases, e'i,j(i)=d0(ii) a And

a connection unit using the concealed operation result [ u']And a concealment calculation result [ e'i]To obtain a calculation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N) Concealed operation result [ yi],

Wherein m, N, t (i), N (i) are positive integers, N > N (i); 1, …,1, …, N, j (i) 1, …, N (i) +1, …, N ≦ N, and t (i) N ≦ N (i).

7. A search device for performing a perfect match search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N(i)) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0

A logical OR operation unit using the concealed operation result [ e ]i]And the result of the concealment operation [ w ]]Obtaining a calculation result e'i=(e’i,1,…,e’i,N) Concealed concealment calculation result [ e'i]Wherein, in the case of satisfying ei,j=a1And wj=b1E 'in the case of at least any one of (1)'i,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, e'i,j=d0

A 2 nd Null determination unit for determining whether or not the word [ x ] to be concealed is usedi]Obtaining a calculation result mu 'by secret calculation of at least a part of'i=(μ’i,N+1,…,μ’i,N(i)) Concealed concealment calculation result [ mu'i]Wherein, in xi,j”(i)Is Null character,. mu. ')'i,j”(i)=d1At xi,j”(i)Is not Null wordMu 'in the case of symbol'i,j”(i)=d0(ii) a And

a connection unit using the concealed operation result [ e'i]And the result of concealment calculation [ mu'i]To obtain a calculation result yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i)) Concealed operation result [ yi],

Wherein m, N, t (i), N (i) are positive integers, N < N (i), i ═ 1, …, m, j ═ 1, …, N, j (i) ═ 1, …, N (i), N ≦ N, t (i) ≦ N (i), j ≦ N +1, …, N (i).

8. A search device for performing a forward matching search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N(i)) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of the wildcard character, wj=b1At k, injIn the case where the character is not the wildcard character, wj=b0

A Null determination unit for determining the number of the search words [ k ] by using the concealed search word]The secret calculation of (a) is carried out to obtain a calculation result u ″ (u ″) "1,…,u”N) Concealed operation result u "]Wherein, at kjIn the case of Null characters, u "j=c1At k, injIn the case of characters other than Null, u "j=c0

The 1 st logical OR operation unit uses the concealed operation result [ w ]]And the result of the concealment operation [ u ] "]Obtaining a calculation result w '(w)'1,…,w’N) Concealed concealment calculation result [ w']Wherein, in satisfying u "j=c1And wj=b1W 'in the case of at least any one of (1)'j=b’1In the case of satisfying u "j=c0And wj=b0In both cases, w'j=b’0(ii) a And

a 2 nd logical OR operation unit using the concealment operation result [ e ]i]And the concealed operation result [ w']To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1And w'j=b’1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And w'j=b’0In both cases, yi,j=d0

Wherein m, N, t (i), N (i) are positive integers, N < N (i), i ═ 1, …, m, j ═ 1, …, N, j (i) ═ 1, …, N (i), N is not more than N, and t (i) is not more than N (i).

9. A search device for performing a forward matching search by secret calculation, comprising:

a storage unit for storing a hidden database [ x ]1],…,[xm]The hiding database contains a search object word xi=(xi,1,…,xi,t(i),…,xi,N(i)) Concealed search target word [ x ]i]The search object word xiContaining t (i) characters xi,1,…,xi,t(i)

An input unit for receiving a search term k ═ k (k)1,…,kn,…,kN) Concealed search term [ k ]]The search term k comprises n characters k containing wildcard characters1,…,kn

An equal sign determination unit for determining whether or not the word [ x ] to be concealed is usedi]And the concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N(i)) Concealed operation result [ ei]Wherein, in xi,j(i)Is kj(i)In the case of (e)i,j(i)=a1At xi,j(i)Is not kj(i)In the case of (e)i,j(i)=a0

A wildcard character determination unit for determining the search word [ k ] by using the concealed search word]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN(i)) Concealed operation result [ w]Wherein, at kj(i)In the case of the wildcard character, wj(i)=b1At k, inj(i)In the case where the character is not the wildcard character, wj(i)=b0

A Null determination unit for determining the number of the search words [ k ] by using the concealed search word]The secret calculation of (a) is carried out to obtain a calculation result u ″ (u ″) "1,…,u”N) Concealed operation result u "]Wherein, at kjIn the case of Null characters, u "j=c1At k, injIn the case of characters other than Null, u "j=c0

1 st logical OR operationA section for performing a concealment operation using the result [ w ]]And the result of the concealment operation [ u ] "]Obtaining a calculation result w '═ w'1,…,w’N(i)) Concealed concealment calculation result [ w']Wherein, in satisfying u "j(i)=c1And wj(i)=b1W 'in the case of at least any one of (1)'j(i)=b’1In the case of satisfying u "j(i)=c0And wj(i)=b0In both cases, w'j(i)=b’0

A 2 nd logical OR operation unit using the concealment operation result [ e ]i]And the concealed operation result [ w']Obtaining a calculation result e'i=(e’i,1,…,e’i,N(i)) Concealed concealment calculation result [ e'i]Wherein, in the formula, e'i,j(i)=a1And w'j(i)=b’1E 'in the case of at least any one of (1)'i,j(i)=d1In the presence of a catalyst satisfying ei,j(i)=a0And w'j(i)=b’0In both cases, e'i,j(i)=d0(ii) a And

a connection unit using the concealed operation result [ e'i]And the result of the concealment operation [ u ] "]To obtain an operation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N) Concealed operation result [ yi],

Wherein m, N, t (i), N (i) are positive integers, N > N (i), i ═ 1, …, m, j ═ 1, …, N, j (i) ═ 1, …, N (i), j ═ N (i) +1, …, N ≦ N, t ≦ N (i).

10. The retrieval apparatus according to any one of claims 6 to 9, having:

a logical AND operation unit using the concealed operation result yi]Is calculated to obtainCoincidence determination result ziConcealed concealment match determination result [ zi]Wherein at yi,1=…=yi,Nmax=d1In the case of (a), zi=g1In a case other than yi,1=…=yi,Nmax=d1In the case of (a), zi=g0

Wherein, when N is less than or equal to N (i), NmaxAt N (i)>When N (i), Nmax=N。

11. The retrieval method of the retrieval device according to any one of claims 1 to 10.

12. A program for causing a computer to function as the retrieval device according to any one of claims 1 to 10.

13. A computer-readable recording medium storing a program for causing a computer to function as the retrieval device according to any one of claims 1 to 10.

Technical Field

The present invention relates to a secret calculation technique, and more particularly to a technique for searching for confidential data.

Background

A secret calculation technique is known in which a matching search is directly performed with a search word and a search target phrase hidden (see, for example, non-patent document 1).

Disclosure of Invention

Problems to be solved by the invention

In the conventional method, although direct search is realized in a hidden state using a search word including wildcard characters, the communication efficiency is poor, and if both the length of the search target word to be hidden and the length of the search word to be hidden are set to N, the communication efficiency needs to be as high as O (N)2logN) traffic.

The object of the present invention is to efficiently and directly perform a matching search of a database in which search words including wildcard characters are hidden.

Means for solving the problems

The storage part stores a hidden database [ x ]1],…,[xm]. Hiding database [ x ]1],…,[xm]The contained search target word [ x ] with concealmenti]Is composed of t (i) characters xi,1,…,xi,t(i)Search target word xi=(xi,1,…,xi,t(i),…,xi,N) The search target word is concealed and concealed. The input unit accepts a concealed search term [ k ]]Is input. Hiding search term [ k ]]Is composed ofN characters k with wildcard characters1,…,knThe search term k ═ k1,…,kn,…,kN) The concealed search term. The equal sign determination unit uses the hidden search target word [ x ]i]And a concealed search term [ k ]]To obtain an operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1(ii) a At xi,jIs not kjIn the case of (e)i,j=a0. The wildcard character determination unit uses the concealed search word [ k ]]Obtaining the operation result w ═ w (w) by secret calculation of (c)1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. The logical OR operation unit uses the hiding operation result [ e ]i]And a result of the concealment operation [ w ]]To obtain a calculation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1And wj=b1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, yi,j=d0. Wherein m, N, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N is not more than N, t (i) is not more than N.

Effects of the invention

According to the present invention, the matching search of the concealed database can be performed with less communication traffic than in the conventional art.

Brief description of the drawings

FIG. 1 is a block diagram of a retrieval system illustrating an embodiment.

Fig. 2 is a block diagram illustrating a retrieval apparatus of an embodiment.

Fig. 3 is a flowchart for explaining the search method according to embodiment 1.

Fig. 4 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 5 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 6 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 7 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 8 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 9 is a conceptual diagram for explaining the search method according to embodiment 1.

Fig. 10 is a flowchart for explaining the search method according to embodiment 2.

Fig. 11 is a conceptual diagram for explaining the search method according to embodiment 2.

Fig. 12 is a conceptual diagram for explaining the search method according to embodiment 2.

Fig. 13 is a conceptual diagram for explaining the search method according to embodiment 2.

Fig. 14 is a flowchart for explaining the search method according to embodiment 3.

Fig. 15 is a conceptual diagram for explaining the search method according to embodiment 3.

Fig. 16 is a conceptual diagram for explaining the search method according to embodiment 3.

Fig. 17 is a flowchart for explaining the search method according to embodiment 4.

Fig. 18 is a conceptual diagram for explaining the search method according to embodiment 4.

Fig. 19 is a conceptual diagram for explaining the search method according to embodiment 4.

Fig. 20 is a flowchart for explaining the search method according to embodiment 5.

Fig. 21 is a conceptual diagram for explaining a search method according to the embodiment.

Fig. 22 is a conceptual diagram for explaining the search method according to embodiment 5.

Fig. 23 is a conceptual diagram for explaining the search method according to embodiment 5.

Fig. 24 is a conceptual diagram for explaining the search method according to embodiment 5.

Fig. 25 is a flowchart for explaining the search method according to embodiment 6.

Fig. 26 is a conceptual diagram for explaining the search method according to embodiment 6.

Fig. 27 is a conceptual diagram for explaining the search method according to embodiment 6.

Fig. 28 is a conceptual diagram for explaining the search method according to embodiment 6.

Detailed Description

Hereinafter, embodiments of the present invention will be described with reference to the drawings.

[ embodiment 1 ]

Embodiment 1 will be explained. In the present embodiment, a complete match search of a database that is hidden is directly performed with a search term including wildcard characters being hidden.

< Structure >

As shown in fig. 1, the search system 1 of the present embodiment includes a request device 11 that requests a search and a search device 12-h that performs a search, and performs a search process based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more. H ≧ 2 in the case of secret calculation by the secret distribution method, and H ≧ 1 in the case of secret calculation by the homomorphic encryption method.

As shown in fig. 2, the search device 12-h of the present embodiment includes: a control unit 120-h, an equal sign determination unit 121-h, a wildcard determination unit 122-h, a logical or operation unit 123-h, a logical and operation unit 127-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h. The search device 12-h executes each process under the control of the control section 120-h. The data obtained by each unit is stored in the storage unit 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The storage unit 128-h stores a concealed database [ x ]1],…,[xm]The hiding database contains x characters containing t (i)i,1,…,xi,t(i)Search target word xi=(xi,1,…,xi,t(i),…,xi,N) A hidden search target word [ x ] (see, for example, DB in FIGS. 4 and 6) with being hiddeni]. Wherein m, t (i), N is a positive integer, i is 1, …, m, j is 1, …, N, t (i) is not more than N. Search object word xiT (i) characters x contained ini,1,…,xi,t(i)Is a normal character as a retrieval target. On the other hand, the word x is included in the search target wordiThe remaining N-t (i) characters of (a)i,t(i)+1,…,xi,NIs a special character (Null character) that represents the Null value. The Null character is set in advance (for example, "0") and cannot be used as a normal character. When t (i) ═ N, the search target word xiNo Null characters are included. Each character is represented by an element such as a finite field. When secret calculation is performed by a secret distribution method, a search target word [ x ] is suppressedi]Is a search object word xiThe secret scatter value of (1). When secret calculation based on a homomorphic encryption method is performed, a search target word [ x ] is concealedi]Is a search object word xiThe ciphertext of (1). Can convert the character xi,1,…,xi,t(i),…,xi,NRespectively, and a hidden value [ x ] obtained by hiding each of themi,1],…,[xi,t(i)],…,[xi,N]As a word [ x ] to be searched for in a hidden manneri]N characters x can also be combinedi,1,…,xi,t(i),…,xi,NCollectively concealed as a concealed search target word [ x ]i]. In addition, the suppressed value of the content information indicating the position of the content or the content on the network may be the same as the suppressed search target word [ x ]i]And performing association.

< search processing >

The search processing according to the present embodiment will be described with reference to fig. 3.

The requesting device 11 has concealed the n characters k1,…,knThe search term k ═ k1,…,kn,…,kN) (see, for example, FIGS. 4 and 6) to obtain a suppressed search term [ k ]]. Wherein N is a positive integer, and N is less than or equal to N. Character k1,…,knOr may contain more than 1 wildcard character. Character k1,…,knCharacters other than the medium wildcard are normal characters. The wildcard characters are preset (e.g., ") and are not used as normal characters. Note that 1 wildcard character corresponds to 1 normal character or 1Null character (the same applies to the following embodiments). The search target word x described abovei(where i is 1, …, m) does not contain Null characters, the character k1,…,knAny character in (a) may be a wildcard character. On the other hand, in the search target word xiDoes not contain Null character xi,t(i)+1,…,xi,NIn the case of (1), k is set tot(i)+1,…,kNContains no wildcard characters. N-N characters k contained in search word kn+1,…,kNIs a Null character. When N is equal to N, the search word k does not include a Null character (see fig. 4, for example). Null characters included in the search word k and the search target word xiThe N ul characters contained in the Chinese characters are the same. When the search device 12-h performs secret calculation based on the secret distribution method, the search word [ k ] is concealed]Is a secret variance value of the term k. On the other hand, if the search device 12-h performs the secret calculation based on the homomorphic encryption method, the search word [ k ] is suppressed]Is the ciphertext of the search term k. Can convert the character k1,…,kn…,kNRespectively, and a hidden value [ k ] obtained by hiding each of them1],…,[kn],…,[kN]As a concealed search term [ k ]]N characters k can also be used1,…,kn,…,kNCollectively concealed as a concealed search word [ k ]]。

The request device 11 outputs the concealed search term [ k ]. The output concealed search term [ k ] is transmitted to the search device 12-h via a network or the like. The concealed search term [ k ] is input to the input section 1291-h of the search device 12-h and stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 121-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the hidden wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]. Wherein, in xi,jIs kjIn the case of (x)i,j=kjIn the case of (b)), e)i,j=a1At xi,jIs not kjIn the case of (x)i,j≠kjIn the case of (b)), e)i,j=a0。ei,j∈{a0,a1}, e.g. a0=0,a11. Since wildcard characters are different from ordinary characters, at kjIs necessarily e in the case of wildcard charactersi,j=a0. Also, since Null characters are different from ordinary characters, at kjIs a Null character and xi,jIn the case of normal characters, and at kjIs a common character and xi,jIn the case of Null characters, it is inevitably ei,j=a0. Further, if kjAnd xi,jAre all Null characters, then ei,j=a1. For example, the equal sign determining unit 121-h performs [ k ] for j equal to 1, …, N by secret calculationj]And [ x ]i,j]Is equal sign determined (coincidence determination) to obtaini,jConcealed [ e ]i,j]And obtain [ e ]1,j],…,[e1,N]As a result of the concealment operation [ e ]i]. Alternatively, the equal sign determination unit 121-h may use the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]To obtain ei,1,…,ei,NCollectively concealed concealment operation result [ ei]. Hiding operation result [ e ]i]Is stored in the storage section 128-h (step S121-h).

The wildcard character determination unit 122-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0。wj∈{b0,b1}, e.g. b0=0,b 11. For example, the wildcard character determination unit 122-h uses the concealed search word [ k ]]And hiding the wildcard character to obtain a hidden wildcard character, and performing secret calculation to obtain a hidden operation result [ w]. In one example, the wildcard determination unit 122-h performs [ k ] for j ═ 1, …, N by secret calculationj]And the equal sign judgment of the concealed wildcard character to obtain the sum of wjConcealed [ wj]And obtaining [ w1],…,[wN]As a result of the concealment operation [ w ]]. Alternatively, the wildcard character determination unit 122-h may use the hidden search term [ k ]]And secret calculation of the suppressed wildcard character to obtain w1,…,wNCollectively concealed concealment operation result [ w]. Hiding operation result [ w]Is stored in the storage section 128-h (step S122-h).

The logical OR operation unit 123-h uses the concealment operation result [ e ] read from the storage unit 128-hi]And a result of the concealment operation [ w ]]Obtaining and outputting the operation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]. Wherein, when satisfying ei,j=a1And wj=b1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, yi,j=d0。yi,j∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,b0=0,b1=1,d0=0,d1In the case of 1, yi,j=ei,j∨wj. Wherein "V" represents a logical OR (OR). For example, the logical or operation unit 123-h performs [ e ] on j ═ 1, …, N by secret calculationi,j]And [ wj]Is logically OR of yi,j=ei,j∨wjConcealed [ y ]i,j]And obtaining [ yi,1],…,[yi,N]As a result of the concealment operationi]. Alternatively, the logical OR operation unit 123-h may use the concealment operation result [ e ]i]And a result of the concealment operation [ w ]]To obtain yi,1,…,yi,NCollectively concealed concealment operation result [ yi]. Hiding operation result [ yi]Is stored in the storage section 128-h (step S123-h).

The logical AND operation unit 127-h uses the concealment operation result [ y ] read from the storage unit 128-hi]Obtaining and outputting a coincidence determination result ziConcealed concealment match determination result [ zi]. Wherein at yi,1=…=yi,N=d1In the case of (a), zi=g1. In a value other than yi,1=…=yi,N=d1In the case of (a), zi=g0。zi∈{g0,g1}, e.g. g0=0,g 11. For example, at d0=0,d1=1,g0=0,g1In the case of 1, zi=yi,1∧…∧yi,N. Wherein "Λ" represents a logical and. z is a radical ofi=g1Representing search object word xiIn agreement with the search term k, zi=g0Representing search object word xiNot consistent with the search term k. Concealment agreement determination result [ z ]i]Is stored in the storage section 128-h (step S127-h).

The output units 1292-h output the concealment/coincidence determination result [ z ] for each of i 1, …, and mi](step S1292-h). Concealment agreement determination result [ z ]i]Is transmitted to the requesting device 11 via a network or the like. The requesting device 11 restores the concealment/match determination result [ z ] for each of i 1, …, mi]And obtain zi. For example, when secret calculation is performed by the secret sharing method, the requesting device 11 receives [ z ] transmitted from a predetermined number or more of the search devices 12-hi]Restoration of zi. On the other hand, when secret calculation is performed by the homomorphic encryption method, [ z ] transmitted is restoredi]And obtain zi. Thereby obtaining a search result for each i. Then, a process using these search results (for example, matching the search target word [ x ] with the suppressed search result is executedi]A request for a hidden value of corresponding content information, etc.).

< concrete example >

Is shown below as a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1A specific example in the case of 1.

As shown in fig. 4, N ═ t (i), krFor wildcard characters ". ltoreq.r.ltoreq.n, where j other than r is 1, …, n satisfies x1,j=kjIn the case of (e)1(1, …,1,0,1, …,1) and w ═ 0, …,0,1,0, …,0), y1(1, …,1,1,1, …, 1). Thus, z1=1。

As shown in fig. 5, N is t (i), and N satisfies x for j 2, … except for 1 and r2,j=kjIn the case of (e)2(0,1, …,1,0,1, …,1) and w (0,0, …,0,1,0, …,0), y2(0,1, …,1,1, …, 1). Thus, z2=0。

FIG. 6 to FIG. 9 are n<N and t (i)<Examples of N. As shown in FIG. 6, kn+1,…,kNAnd xi,t(i)+1,…,xi,NIs a Null character.

As shown in fig. 7, t (1) ═ n, krFor wildcard characters ". ltoreq.r.ltoreq.n, where j other than r is 1, …, n satisfies x1,j=kjIn the case of (e)1(1,1, …,0, …,1, …,1) and w ═ 0,0, …,1, …,0, …,0), y1(1,1, …,1, …,1, …, 1). Thus, z1=1。

As shown in fig. 8, t (2) ═ n +1, krFor wildcard characters ". ltoreq.r.ltoreq.n, where j other than r is 1, …, n satisfies x2,j=kjIn the case of (e)2(1,1, …,0, …,1,0,1, …,1) and w (0,0, …,1, …,0,0, …,0), y)2(1,1, …,1, …,1,0,1, …, 1). Thus, z2=0。

As shown in fig. 9, t (3) ═ n-1, krFor wildcard characters ". ltoreq.r.ltoreq.n-1, where x is satisfied for j other than r 1, …, n-13,j=kjIn the case of (e)3(1,1, …,0, …,0,1,1, …,1) and w (0,0, …,1, …,0,0, …,0), y)3=(1,1,…,1,…,0,1,1,…,1)。

< feature of the present embodiment >

As described above, in the present embodiment, a complete match search of a database that is hidden can be directly performed with a search term including wildcard characters being hidden. Moreover, the matching search of the concealed database can be performed with less traffic (for example, o (n) traffic) than in the conventional art.

[ 2 nd embodiment ]

In the search object word xiCharacter x ofi,t(i)+1,…,xi,NIs a Null character, a character k of a search term kt(i)+1,…,kNWhen wildcard characters can be included, the method of embodiment 1 may not be able to perform a perfect match search correctly. For example, in the case of the example of fig. 11, the search target word x3Character x of3,n,…,xi,NIs a Null character, a character k of a search term knAre wildcard characters. It must be determined that the wildcard character matches any normal character, but it must be determined that the wildcard character does not match the Null character. However, when x is satisfied for j ═ 1, …, n-13,j=kjIn the case of (1), y in the method of embodiment 13=(1,1,…,1,…,1,1,1,…,1),z 31. In this embodiment, a mode of accurately performing the perfect match search even in such a case will be described. In the following description, differences from the items described so far will be mainly described, and the same reference numerals are used for common items to simplify the description.

< Structure >

As shown in fig. 1, the search system 2 of the present embodiment includes a request device 11 that requests a search and a search device 22-h that performs a search, and performs search processing based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more.

As shown in fig. 2, the search device 22-h of the present embodiment includes: a control unit 120-h, an equal sign determination unit 121-h, a wildcard determination unit 122-h, a logical OR operation unit 223-h, a Null determination unit 224-h, logical AND operation units 127-h and 226-h, a storage unit 128-h, input units 1291-h, and output units 1292-h. The search device 22-h executes each process under the control of the control section 120-h. The data obtained at each section is stored in the storage section 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The same as embodiment 1.

< search processing >

The search processing according to the present embodiment will be described with reference to fig. 10. The requesting device 11 has concealed the n characters k1,…,knThe search term k ═ k1,…,kn,…,kN) To obtain a concealed search word [ k ]]. Wherein N is a positive integer, and N is less than or equal to N. Character k1,…,knWildcard characters may also be included. Unlike embodiment 1, the search target word xiContaining Null character xi,t(i)+1,…,xi,NIn the case of (a), kt(i)+1,…,kNMay contain wildcard characters.

The request device 11 outputs the concealed search term [ k ]. The output concealed search term [ k ] is transmitted to the search device 22-h via a network or the like. The concealed search term [ k ] is input to the input section 1291-h of the search device 22-h and stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 121-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the hidden wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed 1 st concealed operation result [ e ]i]. Wherein, in xi,jIs kjIn the case of (x)i,j=kjIn the case of (b)), e)i,j=a1At xi,jIs not kjIn the case of (x)i,j≠kjIn the case of (b)), e)i,j=a0. Hiding operation result [ e ]i]Is stored in the storage section 128-h (step S121-h).

The wildcard character determination unit 122-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. Hiding operation result [ w]Is stored in the storage section 128-h (step S122-h).

The Null determination unit 224-h uses the word [ x ] to be searched for in a hidden manner read from the storage unit 128-hi]Obtaining and outputting the operation result mui=(μi,1,…,μi,N) Concealed operation result [ mu ]i]. Wherein, in xi,jIn the case of Null characters, μi,j=θ0At xi,jIn the case of characters other than Null, μi,j=θ1。μi,j∈{θ01}, e.g. theta0=0,θ 11. For example, the Null determination unit 224-h uses the search target word [ x ] with concealmenti]And a concealed Null character obtained by concealing the Null character, and obtaining a concealed operation result [ mu ] by secret calculationi]. For example, the Null determination unit 224-h performs [ x ] for j ═ 1, …, N by secret calculationi,j]And equal sign judgment of the concealed Null character to obtain a combined number mui,jConcealed [ mu ]i,j]And obtaining [ mu ]i,1],…,[μi,N]As a result of the concealment operation [ mu ]i]. Alternatively, the Null determination unit 224-h may use the word [ x ] to be searched for in a hidden manneri]And secret calculation of the suppressed Null character to obtain mui,1,…,μi,NCollectively concealed steganography operation result [ mui]. Hiding operation result [ mu ]i]Is stored in the storage section 128-h (step S224-h).

The logical AND operation unit 226-h uses the concealment operation result [ w ] read from the storage unit 128-h]And the hiding operation result [ mu ]i]Obtaining and outputting the operation result vi=(vi,1,…,vi,N) Concealed operation result [ vi]. Wherein, when satisfying wj=b1And mui,j=θ1In both cases, vi,j=ρ1At the condition of satisfying wj=b0And mui,j=θ0V is at least one ofi,j=ρ0。vi,j∈{ρ01}, e.g. p0=0,ρ 11. For example, in b0=0,b1=1,ρ0=0,ρ1In the case of 1, vi,j=wj∧μi,j. For example, the and logic unit 226-h performs [ w ] on j ═ 1, …, N by secret calculationj]And [ mu ] andi,j]is logically ANDed to obtain vi,j=wj∧μi,jConcealed [ v ]i,j]And obtaining [ v ]i,1],…,[vi,N]As a result of the concealment operationi]. Alternatively, the and logic unit 226-h may use the concealment operation result [ w ]]And the hiding operation result [ mu ]i]By secret calculation of (c) to obtain vi,1,…,vi,NCollectively concealed concealment operation result [ vi]. Hiding operation result [ v ]i]Is stored in the storage section 128-h (step S226-h).

The logical OR operation section 223-h uses the concealment operation result [ e ] read from the storage section 128-hi]And a result of the concealment operation [ v ]i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]. Wherein, when satisfying ei,j=a1And vi,j=ρ1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And vi,j=ρ0In both cases, yi,j=d0。yi,j∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,ρ0=0,ρ1=1,d0=0,d1In the case of 1, yi,j=ei,j∨vi,j. For example, the logical or operation unit 223-h performs [ e ] on j ═ 1, …, N by secret calculationi,j]And [ v ]i,j]Is logically OR of yi,j=ei,j∨wi,jConcealed [ y ]i,j]And obtaining [ yi,1],…,[yi,N]As a result of the concealment operationi]. Alternatively, the logical OR operation unit 223-h may use the concealment operation result [ e ]i]And a result of the concealment operation [ v ]i]To obtain yi,1,…,yi,NCollectively concealed concealment operation result [ yi]. Hiding operation result [ yi]Is stored in the storage section 128-h (step S223-h).

Thereafter, the processing of step S127-h and subsequent steps described in embodiment 1 is executed.

< concrete example >

Is shown below as a0=0,a1=1,b0=0,b1=1,ρ0=0,ρ1=1,d0=0,d1=1,g0=0,g1A specific example in the case of 1.

FIG. 11 to FIG. 13 are n<N and t (i)<Examples of N. As shown in FIG. 11, knIs a wildcard character "+", kn+1,…,kNAnd xi,t(i)+1,…,xi,NIs a Null character.

As shown in fig. 12, t (1) ═ n, and n-1 satisfies x for j ═ 1, …1,j=kjIn the case of (e)1=(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). Thus, z1=1。

As shown in fig. 13, t (3) ═ n-1, and n-1 satisfies x for j ═ 1, …1,j=kjIn the case of (e)3=(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). Thus, z3=0。

< feature of the present embodiment >

As described above, in the present embodiment, the search target word x is also searchediCharacter x ofi,t(i)+1,…,xi,NIs a Null character, a character k of a search term kt(i)+1,…,kNWhen a search word including a wildcard character is included, a complete match search of the database which is hidden may be directly performed in a state where the search word including the wildcard character is hidden. Moreover, the database search can be performed with less communication traffic than in the past.

[ embodiment 3 ]

Embodiment 3 is a modification of embodiment 1. In the present embodiment, a front matching search of a database that is hidden is performed directly with search words including wildcard characters being hidden.

< Structure >

As shown in fig. 1, the search system 3 of the present embodiment includes a request device 11 that requests a search and a search device 32-h that performs a search, and performs search processing based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more. H ≧ 2 in the case of secret calculation by the secret distribution method, and H ≧ 1 in the case of secret calculation by the homomorphic encryption method.

As shown in fig. 2, the search device 32-h of the present embodiment includes: a control unit 120-h, an equal sign determination unit 121-h, a wildcard determination unit 122-h, a logical OR operation unit 323-h, a Null determination unit 325-h, a logical AND operation unit 127-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h. The search device 32-h executes each process under the control of the control section 120-h. The data obtained at each section is stored in the storage section 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The same as embodiment 1.

< search processing >

The search processing according to the present embodiment will be described with reference to fig. 14. The requesting device 11 has concealed the n characters k1,…,knThe search term k ═ k1,…,kn,…,kN) To obtain a concealed search word [ k ]]. Wherein N is a positive integer, and N is less than or equal to N. Character k1,…,knWildcard characters may also be included. In the search object word xi(where i is 1, …, m) does not contain Null characters, the character k1,…,knAny character in (a) may be a wildcard character. On the other hand, in the search target word xiContaining Null character xi,t(i)+1,…,xi,NIn the case of (1), k is set tot(i)+1,…,kNContains no wildcard characters.

The request device 11 outputs the concealed search term [ k ]. The output concealed search term [ k ] is transmitted to the search device 32-h via a network or the like. The concealed search term [ k ] is input to the input section 1291-h of the search device 32-h and stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 121-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the hidden wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]. Wherein, in xi,jIs kjIn the case of (x)i,j=kjIn the case of (b)), e)i,j=a1At xi,jIs not kjIn the case of (x)i,j≠kjIn the case of (b)), e)i,j=a0. Hiding operation result [ e ]i]Is stored in the storage part128-h (steps S121-h).

The wildcard character determination unit 122-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. Hiding operation result [ w]Is stored in the storage section 128-h (step S122-h).

The Null determination unit 325-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result u ═ u (u) by secret calculation1,…,uN) Concealed operation result

[u]. Wherein, at kjIn the case of Null characters, uj=c1At k, injIn the case of characters other than Null, uj=c0。uj∈{c0,c1}, e.g. c0=0,c 11. For example, the Null determination unit 325-h uses the concealed search word [ k ]]And a concealed Null character obtained by concealing the Null character, and obtaining a concealed operation result [ u ] by secret calculation]. For example, the Null determination unit 325-h performs [ k ] for j ═ 1, …, N by secret calculationj]And equal sign judgment of the concealed Null character to obtain the sumjConcealed uj]And obtaining [ u ]1],…,[uN]As a result of the concealment operation [ u ]]. Alternatively, the Null determination unit 325-h may use the hidden search word [ k ]]And secret calculation of the concealed Null character to obtain u1,…,uNCollectively concealed steganography operation result u]. Hiding operation result u]Is stored in the storage section 128-h (step S325-h).

The logical OR operation unit 323-h uses the concealment operation result [ e ] read from the storage unit 128-hi]And a result of the concealment operation [ w ]]And the result of the concealment operation [ u ]]Obtaining and outputting the operation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]. Wherein, when satisfying ei,j=a1、wj=b1And uj=c1In the case of at least one of the above, yi,j=d1At ei,j=a0And wj=b0And uj=c0In all cases, yi,j=d0。yi,j∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1In the case of 1, yi,j=ei,j∨wj∨uj. For example, the logical or operation unit 323-h performs [ e ] on j ═ 1, …, N by secret calculationi,j]And [ wj]And [ u ]j]Is logically OR of yi,j=ei,j∨wj∨ujConcealed [ y ]i,j]And obtaining [ yi,1],…,[yi,N]As a result of the concealment operationi]. Alternatively, the logical OR operation unit 323-h may use the concealment operation result [ e ]i]And a result of the concealment operation [ w ]]And the result of the concealment operation [ u ]]To obtain yi,1,…,yi,NCollectively concealed concealment operation result [ yi]. Hiding operation result [ yi]Is stored in the storage section 128-h (step S323-h).

Thereafter, the processing of step S127-h and subsequent steps described in embodiment 1 is executed.

< concrete example >

Is shown below as a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1=1,g0=0,g1A specific example in the case of 1.

As shown in fig. 15, t (2) ═ n +1, and n satisfies x for j ═ 1, …1,j=kjIn the case of (e)2=(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). Thus, z2=1。

As shown in fig. 16, t (3) ═ n-1, and n-1 satisfies x for j ═ 1, …1,j=kjIn the case of (e)3=(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). Thus, z3=0。

< feature of the present embodiment >

As described above, in the present embodiment, the search term including the wildcard character can be directly searched for the front match of the database which is hidden in a state where the search term is hidden. Moreover, the database search can be performed with less communication traffic than in the past.

[ 4 th embodiment ]

Embodiment 4 is a modification of embodiments 2 and 3. In the present embodiment, a front matching search of a database that is hidden is performed directly with search words including wildcard characters being hidden. In the same manner as in the case of the perfect match search, the word x to be searchediCharacter x ofi,t(i)+1,…,xi,NIs a Null character, a character k of a search term kt(i)+1,…,kNWhen wildcard characters can be included, the method of embodiment 3 may not be able to perform a forward matching search correctly. In this embodiment, a mode of performing a forward matching search accurately even in such a case will be described.

< Structure >

As shown in fig. 1, the search system 4 of the present embodiment includes a request device 11 that requests a search and a search device 42-h that performs a search, and performs search processing based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more. H ≧ 2 in the case of secret calculation by the secret distribution method, and H ≧ 1 in the case of secret calculation by the homomorphic encryption method.

As shown in fig. 2, the search device 42-h of the present embodiment includes: control unit 120-h, equal sign determination unit 121-h, wildcard determination unit 122-h, logical OR operation unit 423-h, Null determination units 224-h, 325-h, logical AND operation units 127-h, 226-h, storage unit 128-h, input unit 1291-h, and output unit 1292-h. The search device 32-h executes each process under the control of the control section 120-h. The data obtained at each section is stored in the storage section 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The same as embodiment 1.

< search processing >

The search processing according to the present embodiment will be described with reference to fig. 17. The requesting device 11 has concealed the n characters k1,…,knThe search term k ═ k1,…,kn,…,kN) To obtain a concealed search word [ k ]]. Wherein N is a positive integer, and N is less than or equal to N. Character k1,…,knWildcard characters may also be included. Unlike embodiment 3, the search target word xiContaining Null character xi,t(i)+1,…,xi,NIn the case of (a), kt(i)+1,…,kNMay contain wildcard characters.

The request device 11 outputs the concealed search term [ k ]. The output concealed search term [ k ] is transmitted to the search device 22-h via a network or the like. The concealed search term [ k ] is input to the input section 1291-h of the search device 22-h and stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 121-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the hidden wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]. Wherein, in xi,jIs kjIn the case of (x)i,j=kjIn the case of (b)), e)i,j=a1At xi,jIs not kjIn the case of (x)i,j≠kjIn the case of (b)), e)i,j=a0. Hiding operation result [ e ]i]Is stored in the storage section 128-h (step S121-h).

The wildcard character determination unit 122-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. Hiding operation result [ w]Is stored in the storage section 128-h (step S122-h).

The Null determination unit 325-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result u ═ u (u) by secret calculation1,…,uN) Concealed operation result u]. Wherein, at kjIn the case of Null characters, uj=c1At k, injIn the case of characters other than Null, uj=c0. For example, the Null determination unit 325-h uses the concealed search word [ k ]]And a concealed Null character obtained by concealing the Null character, and obtaining a concealed operation result [ u ] by secret calculation]. Hiding operation result u]Is stored in the storage section 128-h (step S325-h).

The Null determination unit 224-h uses the concealed search word [ x ] read from the storage unit 128-hi]Obtaining and outputting the operation result mui=(μi,1,…,μi,N) Concealed operation result [ mu ]i]. Wherein, in xi,jIn the case of Null characters, μi,j=θ0At xi,jIn the case of characters other than Null, μi,j=θ1. Hiding operation result [ mu ]i]Is stored in the storage section 128-h (step S224-h).

The logical OR operation unit 226-h uses the concealment operation result [ w ] read from the storage unit 128-h]And the hiding operation result [ mu ]i]Obtaining and outputting the operation result vi=(vi,1,…,vi,N) Concealed operation result [ vi]. Wherein, when satisfying wj=b1And mui,j=θ1In both cases, vi,j=ρ1At the condition of satisfying wj=b0And mui,j=θ0V is at least one ofi,j=ρ0. Hiding operation result [ v ]i]Is stored in the storage section 128-h (step S226-h).

The logical OR operation units 423-h use the concealment operation result [ e ] read from the storage unit 128-hi]And the result of the operation of hiding [ u ]]And a result of the concealment operation [ v ]i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]. Wherein, when satisfying ei,j=a1、vi,j=ρ1And uj=c1In the case of at least one of the above, yi,j=d1At ei,j=a0And vi,j=ρ0And uj=c0In all cases, yi,j=d0。yi,j∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,ρ0=0,ρ1=1,c0=0,c1=1,d0=0,d1In the case of 1, yi,j=ei,j∨vi,j∨uj. For example, the logical or operation unit 423-h performs [ e ] on j ═ 1, …, N by secret calculationi,j]And [ v ]i,j]And [ u ]j]Is logically OR of yi,j=ei,j∨vi,j∨ujConcealed [ y ]i,j]And obtaining [ yi,1],…,[yi,N]As a result of the concealment operationi]. Alternatively, the logical or operation units 423-h may use the concealment operation result [ e ]i]And a result of the concealment operation [ v ]i]And hiding operation nodeFruit [ u ]]To obtain yi,1,…,yi,NCollectively concealed concealment operation result [ yi]. Hiding operation result [ yi]Is stored in the storage section 128-h (step S423-h).

Thereafter, the processing of step S127-h and subsequent steps described in embodiment 1 is executed.

< concrete example >

Is shown below as a0=0,a1=1,b0=0,b1=1,c0=0,c1=1,d0=0,d1=1,ρ0=0,ρ1=1,g0=0,g1A specific example in the case of 1. FIG. 18 and FIG. 19 show the symbol "n<N and t (i)<Examples of N. k is a radical ofnIs a wildcard character "+", kn+1,…,kNAnd xi,t(i)+1,…,xi,NIs a Null character.

As shown in fig. 18, t (1) ═ n, and n-1 satisfies x for j ═ 1, …1,j=kjIn the case of (e)1=(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). Thus, z1=1。

As shown in fig. 19, t (3) ═ n-1, and n-1 satisfies x for j ═ 1, …1,j=kjIn the case of (e)3=(1,1,…,1,0,1,1,…,1),w=(0,0,…,0,1,0,0,…,0),u=(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). Thus, z3=0。

< feature of the present embodiment >

As described above, in the present embodiment, the search target word x is also searchediCharacter x ofi,t(i)+1,…,xi,NIs a Null character, a character k of a search term kt(i)+1,…,kNWhen wildcard characters can be included, inclusion of wildcards can be suppressedIn the state of the search word of the character, the front matching search of the database which is concealed is directly performed. Moreover, the database search can be performed with less communication traffic than in the past.

[ 5 th embodiment ]

Embodiment 5 is a modification of embodiments 1 and 2. In embodiments 1 and 2, it is assumed that the lengths of the suppressed search target word and the suppressed search word are the same. In contrast, in the present embodiment, a perfect match search can be performed regardless of whether the lengths of the suppressed search target word and the suppressed search word are the same.

As shown in fig. 1, the search system 5 of the present embodiment includes a request device 11 that requests a search and a search device 52-h that performs a search, and performs search processing based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more. H ≧ 2 in the case of secret calculation by the secret distribution method, and H ≧ 1 in the case of secret calculation by the homomorphic encryption method.

As shown in fig. 2, the search device 52-h of the present embodiment includes: a control unit 120-h, an equal sign determination unit 521-h, a wildcard determination unit 522-h, a logical OR operation unit 523-h, Null determination units 524-h and 525-h, a logical AND operation unit 527-h, a connection unit 528-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h. The search device 52-h executes each process under the control of the control section 120-h. The data obtained at each section is stored in the storage section 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The storage unit 128-h stores a concealed database [ x ]1],…,[xm]The hiding database contains x characters containing t (i)i,1,…,xi,t(i)Search target word xi=(xi,1,…,xi,t(i),…,xi,N) A hidden search target word [ x ] (see, for example, DB in FIG. 21)i]. Wherein m, t (i), n (i) are positive integers, i is 1, …, m, j (i) is 1, …, n (i), and t (i) is not more than n (i). Search object word xiT (i) characters x contained ini,1,…,xi,t(i)Is a normal character as a retrieval target. On the other hand, the word x is included in the search target wordiThe remaining N (i) -t (i) characters x of (1)i,t(i)+1,…,xi,N(i)Is a Null character. Can convert the character xi,1,…,xi,t(i),…,xi,N(i)Respectively, and a hidden value [ x ] obtained by hiding each of themi,1],…,[xi,t(i)],…,[xi,N(i)]As a word [ x ] to be searched for in a hidden manneri]N (i) characters xi,1,…,xi,t(i),…,xi,N(i)Collectively suppressed as a suppressed search target word [ x ]i]. The others are the same as those described in embodiment 1.

< search processing >

The search processing according to the present embodiment will be described with reference to fig. 20. The requesting device 11 has concealed the n characters k1,…,knThe search term k ═ k1,…,kn,…,kN) To obtain a concealed search word [ k ]]. Wherein j is 1, …, N is a positive integer, and N is less than or equal to N. Character k1,…,knWildcard characters may also be included. In the search object word xiContaining Null character xi,t(i)+1,…,xi,NIn the case of (a), kt(i)+1,…,kNWildcard characters may also be included. N and N are positive integers, and N is less than or equal to N. When N is less than or equal to N (i), Mmin=N,N>When N (i), MminN (i). Will be MminIs denoted as MminMin (N (i), N). In addition, when N is less than or equal to N (i), Nmax=N(i),N>When N (i), NmaxN. Will be MmaxIs denoted as MmaxMax (N (i), N). Due to the limitation of the description, N may beminDenoted as "Nmin", NmaxDenoted as "Nmax". j ″ ═ Mmin+1,…,N,j”(i)=Mmin+1, …, n (i). Wherein M isminWhen +1 ≧ N, j "is empty, Mmin+1 ≧ N (i), j "(i) is empty. As described above, the character k may be represented by1,…,kn,…,kNRespectively, and a hidden value [ k ] obtained by hiding each of them1],…,[kn],…,[kN]As a word [ k ] to be searched for in a hidden manner]N characters k can also be used1,…,kn,…,kNCollectively concealed as a concealed search word [ k ]]。

The request device 11 outputs the concealed search term [ k ]. The output concealed search term [ k ] is transmitted to the search device 52-h via a network or the like. The concealed search term [ k ] is input to the input section 1291-h of the search device 52-h and stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 521-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the suppressed wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,Nmin) Concealed operation result [ ei]. Wherein, for j' ═ 1, …, NminAt xi,j’Is kj’In the case of (e)i,j’=a1At xi,j’Is not kj’In the case of (e)i,j’=a0。ei,j’∈{a0,a1}, e.g. a0=0,a11. For example, the equal sign determination unit 521-h performs secret calculation on j' 1, …, NminTo proceed with [ k ]j’]And [ x ]i,j’]Is equal sign determined to obtaini,j’Concealed [ e ]i,j’]And obtain [ e ]1,j’],…,[e1,Nmin]As a result of the concealment operation [ e ]i]. Alternatively, the equal sign determination unit 521-h may use the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]To obtain ei,1,…,ei,NminCollectively concealed concealment operation result [ ei]. Hiding operation result [ e ]i]Is stored in the storage section 128-h (step S521-h).

The wildcard character determination unit 522-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. It is composed ofIn the case of j' ═ 1, …, NminAt k, inj’In the case of wildcard characters, wj’=b1At k, inj’In the case of characters other than wildcard characters, wj’=b0. For example, the wildcard character determination unit 522-h uses the concealed search term [ k ]]And hiding the wildcard character to obtain a hidden wildcard character, and performing secret calculation to obtain a hidden operation result [ w]. For example, the wildcard determination unit 522-h performs secret calculation on j' 1, …, NminTo proceed with [ k ]j’]And the equal sign judgment of the concealed wildcard character to obtain the sum of wj’Concealed [ wj’]And obtaining [ w1],…,[wNmin]As a result of the concealment operation [ w ]]. Alternatively, the wildcard character determination unit 122-h may use the hidden search term [ k ]]And secret calculation of the suppressed wildcard character to obtain w1,…,wNminCollectively concealed concealment operation result [ w]. Hiding operation result [ w]Is stored in the storage section 128-h (step S522-h).

The Null determination unit 525-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting a calculation result u'Nmin+1,…,u’NConcealed concealment calculation result [ u']. Wherein for j ═ Mmin+1, …, N, at kj”U 'in the case of Null character'j”=c1At k, inj”U 'if not Null character'j”=c0。u’j”∈{c0,c1}, e.g. c0=0,c 11. For example, the Null determination unit 525-h uses the concealed search word [ k ]]And a suppressed Null character obtained by suppressing the Null character, and a result of the calculation of suppression [ u']. For example, the Null determination unit 525-h performs secret calculation for j ″ ═ Mmin+1, …, N for [ kj”]And equal sign judgment of the concealed Null character to obtain u'j”Concealed [ u'j”]And to give [ u'Mmin+1],…,[u’N]The set of (b) is a concealment calculation result [ u']. Alternatively, the Null determination unit 525-h may use the hidden search term [ k ]]And secret calculation of the concealed Null character to obtain u'Mmin+1,…,u’NCollectively concealed concealment calculation result [ u']. Hiding calculation result [ u']Is stored in the storage section 128-h (step S525-h). In addition, MminIf +1 ≧ N, the processing of step S525-h is not performed.

The logical OR operation unit 523-h uses the concealment operation result [ e ] read from the storage unit 128-hi]And a result of the concealment operation [ w ]]Obtaining and outputting a calculation result e'i=(e’i,1,…,e’i,Nmin) Concealed concealment calculation result [ e'i]. Wherein, for j' ═ 1, …, NminIn the presence of a catalyst satisfying ei,j’=a1And wj’=b1E 'in the case of at least any one of (1)'i,j’=d1In the presence of a catalyst satisfying ei,j’=a0And wj’=b0In both cases, e'i,j’=d0。e’i,j’∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,b0=0,b1=1,d0=0,d1In case of 1, e'i,j’=ei,j’∨wj’. For example, the logical or operation unit 523-h performs secret calculation on j' ═ 1, …, NminCarry out [ e ]i,j’]And [ wj’]To give a logical OR of'i,j’=ei,j’∨wj’Concealed [ e'i,j’]And to give [ e'i,1],…,[e’i,Nmin]The set of (b) is a concealment calculation result [ e'i]. Alternatively, the logical or operation unit 523-h may use the concealment operation result [ e ]i]And a result of the concealment operation [ w ]]To obtain e'i,1,…,e’i,NminCollectively concealed concealment calculation result [ e'i]. Hiding calculation result [ e'i]Is stored in the storage section 128-h (step S5231-h).

The Null determination unit 524-h uses the concealed search word [ x ] read from the storage unit 128-hi]Obtaining and outputting a calculation result mu 'by secret calculation of at least a part of'i=(μ’i,Nmin+1,…,μ’i,N(i)) Concealed concealment calculation result [ mu'i]. Wherein for j "(i) ═ Mmin+1, …, N (i), at xi,j”(i)Is Null character,. mu. ')'i,j”(i)=d1At xi,j”(i)Not Null character,. mu.'i,j”(i)=d0。μ’i,j”(i)∈{d0,d1}, e.g. d0=0,d 11. For example, the Null determination unit 524-h uses the word [ x ] to be searched for with concealmenti]And a suppressed Null character obtained by suppressing the Null character, and a result [ mu ] of the calculation of suppression is obtained by secret calculation'i]. For example, the Null determination unit 524-h performs secret calculation for j ″ (i) ═ Mmin+1, …, N (i) by [ xi,j”(i)]And equal sign judgment of the concealed Null character to obtain mu'i,j”(i)Concealed [ mu ]'i,j”(i)]And to give [ mu'i,Mmin+1],…,[μ’i,N(i)]The set of (2) is a concealment calculation result [ mu'i]. Alternatively, the Null determination unit 524-h may use the word [ x ] to be searched for in a hidden manneri]And secret calculation of the concealed Null character to obtain mu'i,Nmin+1,…,μ’i,N(i)Collectively concealed concealment calculation result [ mu'i]. Concealed operation result [ mu'i]Is stored in the storage section 128-h (step S524-h). In addition, MminIf +1 ≧ n (i), the process of step S524-h is not performed.

Connection portion 528-h uses at least the concealment calculation result [ e'i]Obtaining and outputting the operation result yiConcealed operation result [ yi]. When N ═ N (i), connection unit 528-h masks the calculation result [ e'i]As a result of the concealment operation [ y ]i]And (6) outputting. In N>In the case of N (i), the connection portion 528-h uses the concealment calculation result [ u']And a concealment calculation result [ e'i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N) Concealed operation result [ yi]. In N<In the case of N (i), the connection portion 528-h uses the concealment calculation result [ e'i]And a result of concealment calculation [ mu'i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i)) Concealed operation result [ yi]。[yi]May be yiThe set of the concealment results obtained by concealing the elements may be yiIs collectively concealed. Hiding operation result [ yi]Is stored in the storage section 128-h (step S528-h).

The logical AND operation unit 527-h uses the concealment operation result [ y ] read from the storage unit 128-hi]By using the secret calculation result [ y ] of the concealment operationi]Obtaining and outputting a coincidence determination result ziConcealed concealment match determination result [ zi]. Wherein at yi,1=…=yi,Nmax=d1In the case of (a), zi=g1In the case of being different from yi,1=…=yi,Nmax=d1In case of zi=g0。zi∈{g0,g1}, e.g. g0=0,g 11. For example, at d0=0,d1=1,g0=0,g1In the case of 1, zi=yi,1∧…∧yi,Nmax. Concealment agreement determination result [ z ]i]Is stored in the storage section 128-h (step S527-h).

Thereafter, the processing in and after step S1292-h described in embodiment 1 is executed.

< concrete example >

The processing of the present embodiment is classified into a case where N ═ N (i), a case where N > N (i), and a case where N < N (i) are described below.

(cases of N ═ N (i))

m, N, t (i), N (i) are positive integers; i is 1, …, m; j is 1, …, N; j (i) ═ 1, …, n (i); n is less than or equal to N; t (i) is less than or equal to N. The equal sign determination unit 521-h uses the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0. The wildcard character determination unit 522-h uses the concealed search term [ k ]]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. The logical OR operation unit 523-h uses the concealment operation result [ e ]i]And a result of the concealment operation [ w ]]Obtaining and outputting the operation result yi=(yi,1,…,yi,N) Concealed operation result [ yi]=[e’i]Wherein, in the case of satisfying ei,j=a1And wj=b1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, yi,j=d0. For example, as shown in FIG. 23, a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1For wildcard characters ". x", x is satisfied for j ═ 1, …, n-2, n2,j=kjIn the case of (e)2=(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). Thus, z2=0。

(cases of N > N (i))

m, N, t (i), N (i) are positive integers; i is 1, …, m; j is 1, …, N; j (i) ═ 1, …, n (i); j "(i) ═ N (i) +1, …, N; n is less than or equal to N; t (i) is less than or equal to N. The equal sign determination unit 521-h uses the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N(i)) Concealed operation result [ ei]Wherein, in xi,j(i)Is kj(i)In the case of (e)i,j(i)=a1At xi,j(i)Is not kj(i)In the case of (e)i,j(i)=a0. The wildcard character determination unit 522-h uses the concealed search term [ k ]]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN(i)) Concealed operation result [ w]Wherein, at kj(i)In the case of wildcard characters, wj(i)=d1At k, inj(i)In the case of characters other than wildcard characters, wj(i)=d0. The Null determination unit 525-h (1 st Null determination unit) uses the concealed search word [ k ]]Obtaining and outputting a calculation result u'N(i)+1,…,u’NConcealed concealment calculation result [ u']Wherein, at kj”(i)U 'in the case of Null character'j”(i)=c1At k, inj”(i)U 'if not Null character'j”(i)=c0. The logical OR operation unit 523-h uses the concealment operation result [ e ]i]And a result of the concealment operation [ w ]]Obtaining and outputting a calculation result e'i=(e’i,1,…,e’i,N(i)) Concealed concealment calculation result [ e'i]Wherein, in the case of satisfying ei,j(i)=a1And wj(i)=b1In the case of at least one of the above, e’i,j(i)=d1In the presence of a catalyst satisfying ei,j(i)=a0And wj(i)=b0In both cases, e'i,j(i)=d0. Connection portion 528-h uses the concealment calculation result [ u']And a concealment calculation result [ e'i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u’N(i)+1,…,u’N) Concealed operation result [ yi]. For example, as shown in FIG. 22, a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1For wildcard characters ". x", x is satisfied for j ═ 1, …, n-2, n1,j=kjIn the case of (e)1=(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). Thus, z1=1。

(cases of N < N (i))

m, N, t (i), N (i) are positive integers; n is a radical of<N (i); i is 1, …, m; j is 1, …, N; j (i) ═ 1, …, n (i); n is less than or equal to N; t (i) is less than or equal to N; j "(i) ═ N +1, …, N (i). The equal sign determination unit 521-h uses the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0. The wildcard character determination unit 522-h uses the concealed search term [ k ]]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. LogicThe OR operation unit 523-h uses the result of the concealment operation [ e ]i]And a result of the concealment operation [ w ]]Obtaining and outputting a calculation result e'i=(e’i,1,…,e’i,N) Concealed concealment calculation result [ e'i]Wherein, in the case of satisfying ei,j=a1And wj=b1E 'in the case of at least any one of (1)'i,j=d1In the presence of a catalyst satisfying ei,j=a0And wj=b0In both cases, e'i,j=d0. The Null determination unit 524-h (2 nd Null determination unit) uses the word [ x ] to be searched for with concealmenti]Obtaining and outputting a calculation result mu 'by secret calculation of at least a part of'i=(μ’i,N+1,…,μ’i,N(i)) Concealed concealment calculation result [ mu'i]Wherein, in xi,j”(i)Is Null character,. mu. ')'i,j”(i)=d1At xi,j”(i)Not Null character,. mu.'i,j”(i)=d0. Connection portion 528-h uses the concealment calculation result [ e'i]And a result of concealment calculation [ mu'i]Obtaining and outputting the operation result yi=(yi,1,…,yi,N(i))=(e’i,1,…,e’i,N,μ’i,N+1,…,μ’i,N(i)) Concealed operation result [ yi]. For example, as shown in FIG. 24, a0=0,a1=1,b0=0,b1=1,d0=0,d1=1,g0=0,g1=1,kn-1For wildcard characters ". x", x is satisfied for j ═ 1, …, n-2, n3,j=kjIn the case of (e)3=(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). Thus, z3=0。

< feature of the present embodiment >

As described above, in the present embodiment,even in the case where the search word k may contain wildcard characters, or in the case of the search word k and the search object word xiIn the case where at least one of the search words may include Null characters, the complete match search of the concealed database can be directly performed with the search word including wildcard characters concealed. Further, in the present embodiment, a perfect match search can be performed regardless of whether the lengths of the suppressed search target word and the suppressed search word are the same. Moreover, the database search can be performed with less communication traffic than in the past.

[ 6 th embodiment ]

Embodiment 6 is a modification of embodiments 3 and 4. In embodiments 3 and 4, it is assumed that the lengths of the suppressed search target word and the suppressed search word are the same. In contrast, in the present embodiment, a forward matching search can be performed regardless of whether or not the lengths of the concealed search target word and the concealed search word are the same.

As shown in fig. 1, the search system 6 of the present embodiment includes a request device 11 that requests a search and a search device 62-h that performs a search, and performs search processing based on secret calculation. Wherein H is 1, …, H is an integer of 1 or more. H ≧ 2 in the case of secret calculation by the secret distribution method, and H ≧ 1 in the case of secret calculation by the homomorphic encryption method.

As shown in fig. 2, the search device 62-h of the present embodiment includes: a control unit 120-h, an equal sign determination unit 521-h, a wildcard determination unit 522-h, a logical OR operation unit 623-h, a Null determination unit 625-h, a logical AND operation unit 527-h, a connection unit 628-h, a storage unit 128-h, an input unit 1291-h, and an output unit 1292-h. The search device 62-h executes each process under the control of the control section 120-h. The data obtained at each section is stored in the storage section 128-h one by one, and is read out as necessary and used for other processing.

< pretreatment >

The same as embodiment 5.

The search processing according to the present embodiment will be described with reference to fig. 25. Requesting device 11 hideHas formed a character k containing n1,…,knThe search term k ═ k1,…,kn,…,kN) To obtain a concealed search word [ k ]]. The request device 11 outputs a concealed search term [ k ]]. The outputted concealed search term [ k ]]Is sent to the retrieval means 62-h via a network or the like. Hiding search term [ k ]]Is inputted to the input section 1291-h of the search device 62-h and is stored in the storage section 128-h (step S1291-h). Thereafter, the following processing is performed for each i 1, …, m.

First, the equal sign determination unit 521-h uses the word [ x ] read from the storage unit 128-h and subjected to the search with the suppressed wordi]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,Nmin) Concealed operation result [ ei]. Wherein, for j' ═ 1, …, NminAt xi,j’Is kj’In the case of (e)i,j’=a1At xi,j’Is not kj’In the case of (e)i,j’=a0. Hiding operation result [ e ]i]Is stored in the storage section 128-h (step S521-h).

The wildcard character determination unit 522-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]. Wherein, for j' ═ 1, …, NminAt k, inj’In the case of wildcard characters, wj’=b1At k, inj’In the case of characters other than wildcard characters, wj’=b0. Hiding operation result [ w]Is stored in the storage section 128-h (step S522-h).

The Null determination unit 625-h uses the concealed search word [ k ] read from the storage unit 128-h]Obtaining and outputting a calculation result u ″ - (u ″) "1,…,u”N) Concealed operation result u "]. Wherein, for j ═ 1, …, N, at kjIn the case of Null characters, u "j=c1At k, injIn the case of characters other than Null, u "j=c0。u”j∈{c0,c1}, e.g. c0=0,c 11. For example, the Null determination unit 625-h searches for [ k ] using concealment]And a concealed Null character obtained by concealing the Null character, and obtaining a concealed operation result [ u ] by secret calculation "]. For example, the Null determination unit 625-h performs [ k ] for j ═ 1, …, N by secret calculationj]And equal sign judgment of the concealed Null character to obtain a general letter "jConcealed [ u ] "j]And obtaining [ u ] "1],…,[u”N]As a result of the concealment operation "]. Alternatively, the Null determination unit 625-h may use the word [ k ] to be searched for with the concealment effect]And secret calculation of the suppressed Null character to obtain u "1,…,u”NCollectively concealed steganography operation result u "]. Hiding operation result u "]Is stored in the storage section 128-h (step S6251-h).

The logical OR operation unit 623-h (1 st logical OR operation unit) uses the concealment operation result [ w ] read from the storage unit 128-h]And the result of the concealment operation [ u ] "]Obtaining and outputting a calculation result w '═ w'1,…,w’Nmin) Concealed concealment calculation result [ w']. Wherein, for j' ═ 1, …, NminIn the case of satisfying u "j’=c1And wj’=b1W 'in the case of at least any one of (1)'j’=b’1In the case of satisfying u "j’=c0And wj’=b0In both cases, w'j’=b’0。w’j∈{b’0,b’1}, e.g. b'0=0,b’11. For example, in b0=0,b1=1,c0=0,c1=1,b’0=0,b’1In case of 1, w'j’=u”j’∨wj’. For example, the logical or operation unit 623-h performs secret calculation on j' 1, …, NminCarry out [ u ] "j’]And [ wj’]Logical or ofTo obtain w'j’=u”j’∨wj’Concealed [ w'j’]And to give [ w'1],…,[w’Nmin]The set of (b) is a concealment calculation result [ w']. Alternatively, the logical OR operation units 623-h may use the concealment operation result [ w ]]And the result of the concealment operation [ u ] "]Is calculated to obtain w'1,…,w’NminCollectively concealed concealment calculation result [ w']. Hiding calculation result [ w']Is stored in the storage section 128-h (step S6231-h).

The logical OR operation unit 623-h (logical OR operation unit 2) uses the concealment operation result [ e ] read from the storage unit 128-hi]And a concealment calculation result [ w']Obtaining and outputting a calculation result e'i=(e’i,1,…,e’i,Nmin) Concealed concealment calculation result [ e'i]. Wherein, for j' ═ 1, …, NminIs when satisfy e'i,j’=a1And w'j’=b’1E 'in the case of at least any one of (1)'i,j’=d1In the presence of a catalyst satisfying ei,j’=a0And w'j’=b’0In both cases, e'i,j’=d0。e’i,j’∈{d0,d1}, e.g. d0=0,d 11. For example, in a0=0,a1=1,b’0=0,b’1=1,d0=0,d1In case of 1, e'i,j’=ei,j’∨w’j’. For example, the logical or operation unit 623-h performs secret calculation on j' 1, …, NminCarry out [ e ]i,j’]And [ w'j’]To give a logical OR of'i,j’=ei,j’∨w’j’Concealed [ e'i,j’]And to give [ e'i,1],…,[e’i,Nmin]The set of (b) is a concealment calculation result [ e'i]. Alternatively, the logical OR operation units 623-h may use the concealment operation result [ e ]i]And a concealment calculation result [ w']To obtain e'i,1,…,e’i,NminCollectively concealed concealment calculation result [ e'i]. Hiding calculation result [ e'i]Is stored in the storage section 128-h (step S6232-h).

The connection part 628-h uses at least the concealment calculation result [ e'i]Obtaining and outputting the operation result yiConcealed operation result [ yi]. When N is less than or equal to N (i), the connection unit 628-h suppresses the calculation result [ e'i]As a result of the concealment operation [ y ]i]And (6) outputting. In N>In the case of N (i), the connection unit 628-h uses the concealment calculation result [ e'i]And a result of the concealment operation [ u ] "]Obtaining and outputting the operation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N) Concealed operation result [ yi]。[yi]May be yiThe set of the concealment results obtained by concealing the elements may be yiAll the elements of (1) are concealed together. Hiding operation result [ yi]Is stored in the storage section 128-h (step S628-h).

Thereafter, the processing of steps 527 to h and steps S1292 to h described in embodiment 1 are executed.

< concrete example >

The processing region of the present embodiment is described as N > N (i) or N ≦ N (i) as follows.

(cases of N > N (i))

m, N, t (i), N (i) are positive integers; i is 1, …, m; j is 1, …, N; j (i) ═ 1, …, n (i); j "(i) ═ N (i) +1, …, N; n is less than or equal to N; t (i) is less than or equal to N (i). The equal sign determination unit 521-h uses the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N(i)) Concealed operation result [ ei]Wherein, in xi,j(i)Is kj(i)In the case ofDown, ei,j(i)=a1At xi,j(i)Is not kj(i)In the case of (e)i,j(i)=a0. The wildcard character determination unit 522-h uses the concealed search term [ k ]]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN(i)) Concealed operation result [ w]Wherein, at kj(i)In the case of wildcard characters, wj(i)=b1At k, inj(i)In the case of characters other than wildcard characters, wj(i)=b0. The Null determination unit 625-h uses the hidden search word [ k ]]Obtaining and outputting a calculation result u ″ - (u ″) "1,…,u”N) Concealed operation result u "]Wherein, at kjIn the case of Null characters, u "j=c1At k, injIn the case of characters other than Null, u "j=c0. The logical OR operation units 623-h use the concealment operation result [ w ]]And the result of the concealment operation [ u ] "]Obtaining and outputting a calculation result w '═ w'1,…,w’N(i)) Concealed concealment calculation result [ w']Wherein, in satisfying u "j(i)=c1And wj(i)=b1W 'in the case of at least any one of (1)'j(i)=b’1In the case of satisfying u "j(i)=c0And wj(i)=b0In both cases, w'j(i)=b’0. The logical OR operation units 623-h use the concealment operation result [ e ]i]And a concealment calculation result [ w']Obtaining and outputting a calculation result e'i=(e’i,1,…,e’i,N(i)) Concealed concealment calculation result [ e'i]Wherein, in the formula, e'i,j(i)=a1And w'j(i)=b’1E 'in the case of at least any one of (1)'i,j(i)=d1In the presence of a catalyst satisfying ei,j(i)=a0And w'j(i)=b’0In both cases, yi,j(i)=d0. The connecting part 628-h is formed by usingThe result of concealment of calculation [ e'i]And a result of the concealment operation [ u ] "]Obtaining and outputting the operation result yi=(yi,1,…,yi,N)=(e’i,1,…,e’i,N(i),u”N(i)+1,…,u”N) Concealed operation result [ yi]. For example, as shown in FIG. 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-1For wildcard characters ". x", x is satisfied for j ═ 1, …, n-2, n1,j=kjIn the case of (e)1=(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). Thus, z1=1。

(ii) case of N. ltoreq. N (i)

m, N, t (i), N (i) are positive integers; i is 1, …, m; j is 1, …, N; j (i) ═ 1, …, n (i); n is less than or equal to N; t (i) is less than or equal to N (i). The equal sign determination unit 521-h uses the word [ x ] to be searched for in a hidden manneri]And a concealed search term [ k ]]Obtaining and outputting the operation result ei=(ei,1,…,ei,N) Concealed operation result [ ei]Wherein, in xi,jIs kjIn the case of (e)i,j=a1At xi,jIs not kjIn the case of (e)i,j=a0. The wildcard character determination unit 522-h uses the concealed search term [ k ]]Obtaining and outputting the operation result w ═ w (w) by secret calculation1,…,wN) Concealed operation result [ w]Wherein, at kjIn the case of wildcard characters, wj=b1At k, injIn the case of characters other than wildcard characters, wj=b0. The Null determination unit 625-h uses the hidden search word [ k ]]Secret calculation ofObtaining and outputting an operation result u ═ u "1,…,u”N) Concealed operation result u "]Wherein, at kjIn the case of Null characters, u "j=c1At k, injIn the case of characters other than Null, u "j=c0. The logical OR operation units 623-h use the concealment operation result [ w ]]And the result of the concealment operation [ u ] "]Obtaining and outputting a calculation result w '═ w'1,…,w’N) Concealed concealment calculation result [ w']Wherein, in satisfying u "j=c1And wj=b1W 'in the case of at least any one of (1)'j=b’1In the case of satisfying u "j=c0And wj=b0In both cases, w'j=b’0. The logical OR operation units 623-h use the concealment operation result [ e ]i]And a concealment calculation result [ w']Obtaining and outputting a calculation result e'i=yi=(yi,1,…,yi,N) Concealed operation result [ yi]Wherein, in the case of satisfying ei,j=a1And w'j=b’1In the case of at least one of the above, yi,j=d1In the presence of a catalyst satisfying ei,j=a0And w'j=b’0In both cases, yi,j=d0. For example, as shown in FIG. 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-1For wildcard characters ". x", x is satisfied for j ═ 1, …, n-2, n1,j=kjAnd N is 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,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). Thus, z 11. For example, as illustrated in FIG. 28, at N<In the case of 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,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, 1). Thus, z3=0。

< feature of the present embodiment >

As described above, in the present embodiment, even when the search word k may include wildcard characters, the search word k and the search target word xiIn the case where at least one of the search words may include Null characters, the search word including wildcard characters can be concealed, and the front matching search of the concealed database can be performed directly. Further, in the present embodiment, a forward matching search can be performed regardless of whether or not the lengths of the suppressed search target word and the suppressed search word are the same. Moreover, the database search can be performed with less communication traffic than in the past.

[ modifications and the like ]

The present invention is not limited to the above embodiments. For example, the search device may directly output the concealment operation result [ yi]Alternatively, the result of the hiding operation [ y ] may be usedi]A different secret calculation is performed than in step S127-h and the result obtained thereby is output.

As described above, the secret calculation method is not limited. If the equal sign determination and the logical operation (logical or operation, logical and operation) by the secret calculation can be performed, the secret calculation by the secret distribution method may be used, or the secret calculation by the homomorphic encryption method may be used. For example, the secret calculation method described below can be used.

Reference 1: ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas touch, "Unconditionally Secure consistent-Rounds Multi-party computing for evaluation, Comparison, Bits and Exponentiation," TCC 2006, pp.285-304.

Reference 2: qiantanhaus, Bintanhaoqi, Isuamao, Gaoqianking, "re-discussion of 3-part verifiable lightweighting hidden Function calculation (Secure Database Operations Using An Improved 3-part verified Secure Function Evaluation)", In CSS, 2010.

Reference 3: takashi Nishide, Kazuo Ohta, "Multiparty computation for Interval, evaluation, and composition with bit-resolution protocol", PKC, pp.343-360,2007.

The various processes described above may be executed not only in time series as described, but also in parallel or individually as needed or depending on the processing capability of the apparatus that executes the processes. It is needless to say that appropriate modifications can be made without departing from the scope of the present invention.

Each of the devices is configured by a general-purpose or special-purpose computer having a processor (hardware processor) such as a cpu (central processing unit) and a memory such as a RAM (random-access memory) or a ROM (read-only memory) and executing a predetermined program.

Such a computer may include one processor and one memory, or may include multiple processors and multiple memories. Such a program may be installed in a computer or may be recorded in advance in a ROM or the like. Instead of an electronic circuit (circuit) that reads a program to realize a functional configuration as in the case of a CPU, a part or all of the processing unit may be configured using an electronic circuit that realizes a processing function without using a program. The electronic circuit constituting one device may include a plurality of CPUs.

When the above configuration is realized by a computer, the processing contents of the functions to be provided by the respective devices are described by a program. The processing functions described above are realized on a computer by executing the program on the computer. The program describing the contents of such processing may be recorded in advance on a computer-readable recording medium. An example of the computer-readable recording medium is a non-transitory (non-transitory) recording medium. Examples of such recording media include magnetic media devices, optical disks, magneto-optical recording media, and semiconductor memories.

Such a program is distributed by, for example, selling, transferring, and renting portable recording media such as DVDs and CD-ROMs on which such a program is recorded. Further, the configuration may be such that: such a program is stored in a storage device of a server computer in advance, and the program is distributed by being transferred from the server computer to another computer via a network.

A computer that executes such a program first temporarily stores a program recorded in a portable recording medium or a program transferred from a server computer in its own storage device, for example. When executing the processing, the computer reads the program stored in its own storage device and executes the processing according to the read program. As another execution mode of the program, the computer may directly read the program from the portable recording medium and execute the processing according to the program, and may sequentially execute the processing according to the received program each time the program is transferred from the server computer to the computer. The processing function may be realized by only the execution instruction and the result acquisition without transmitting the program from the server computer to the computer, that is, the processing may be executed by a so-called asp (application Service provider) type Service.

Instead of executing a predetermined program on a computer to realize the processing functions of the present apparatus, at least a part of the processing functions may be realized by hardware.

[ description of symbols ]

1-4 search system

12-1-H, 22-1-H, 32-1-H, 42-1-H search device

55页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:显示设备故障检测方法、设备、系统及计算机可读介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!