JP5432736B2 - Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium - Google Patents

Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium Download PDF

Info

Publication number
JP5432736B2
JP5432736B2 JP2010008241A JP2010008241A JP5432736B2 JP 5432736 B2 JP5432736 B2 JP 5432736B2 JP 2010008241 A JP2010008241 A JP 2010008241A JP 2010008241 A JP2010008241 A JP 2010008241A JP 5432736 B2 JP5432736 B2 JP 5432736B2
Authority
JP
Japan
Prior art keywords
search
information
keyword
predicate
character
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010008241A
Other languages
Japanese (ja)
Other versions
JP2011147074A (en
Inventor
麗生 吉田
哲 小田
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2010008241A priority Critical patent/JP5432736B2/en
Publication of JP2011147074A publication Critical patent/JP2011147074A/en
Application granted granted Critical
Publication of JP5432736B2 publication Critical patent/JP5432736B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化された情報(以下、暗号情報という)に対するキーワード検索を行うことができる検索可能暗号技術に関し、より詳しくは、完全一致検索以外のキーワード検索(例えば部分一致検索)も可能な検索可能暗号技術に関する。   The present invention relates to a searchable encryption technique capable of performing keyword search for encrypted information (hereinafter referred to as encryption information), and more specifically, keyword search (for example, partial match search) other than exact match search is also possible. It relates to searchable encryption technology.

暗号情報に対して当該暗号情報を復号することなくキーワード検索を行い、この検索結果を得る検索可能暗号技術としてPEKS(Public-key Encryption with Keyword Search)が知られている(非特許文献1、2参照)。例えば非特許文献2に開示されるPEKSは、暗号情報からはどのID(identification)で暗号化したかを知ることのできないIDベース暗号(anonymouse IBE)を利用することでPEKSを実現している。   PEKS (Public-key Encryption with Keyword Search) is known as a searchable encryption technique for performing a keyword search on encryption information without decrypting the encryption information and obtaining the search result (Non-Patent Documents 1 and 2). reference). For example, PEKS disclosed in Non-Patent Document 2 realizes PEKS by using ID-based encryption (anonymouse IBE) that cannot know which ID (identification) is used for encryption from encryption information.

D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, "Public key encryption with keyword search", in proceedings of Eurocrypt 2004, LNCS 3027, pp. 506-522, 2004. [平成22年1月12日検索], インターネット <URL : http://crypto.stanford.edu/~dabo/papers/encsearch.pdf>D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano, "Public key encryption with keyword search", in proceedings of Eurocrypt 2004, LNCS 3027, pp. 506-522, 2004. [January 2010 12 days search], Internet <URL: http://crypto.stanford.edu/~dabo/papers/encsearch.pdf> M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G. Neven, P. Paillier, and H. Shi, "Searchable encryption revisited: Consistency properties, relation to anonymous IBE, and extensions", Journal of Cryptology, 21(3), July 2008. [平成22年1月12日検索], インターネット<URL : http://www.cs.washington.edu/homes/yoshi/papers/PEKS/PEKS.pdf>M. Abdalla, M. Bellare, D. Catalano, E. Kiltz, T. Kohno, T. Lange, J. Malone-Lee, G. Neven, P. Paillier, and H. Shi, "Searchable encryption revisited: Consistency properties , relation to anonymous IBE, and extensions ", Journal of Cryptology, 21 (3), July 2008. [Search January 12, 2010], Internet <URL: http://www.cs.washington.edu/homes /yoshi/papers/PEKS/PEKS.pdf>

従来技術では、暗号情報を例えばサーチエンジンに登録する際に予め指定されたキーワードと、検索の際に用いる検索用キーワードとが最初から最後まで完全に一致していることが検索のマッチングを意味するため、完全一致検索しかできなかった。   In the prior art, for example, a keyword specified in advance when registering encryption information in a search engine and a search keyword used in a search are completely matched from the beginning to the end means search matching. Therefore, only exact match search was possible.

そこで本発明は、キーワードの完全一致検索に加えて完全一致検索以外のキーワード検索(例えば部分一致検索)も可能な検索可能暗号技術を提供することを目的とする。   Accordingly, an object of the present invention is to provide a searchable encryption technique capable of performing keyword search (for example, partial match search) other than complete match search in addition to keyword complete match search.

本発明のキーワード検索システムは、少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、検索対象となるキーワードを登録用キーワードとして、暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求装置は、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、復号鍵kを検索代行装置へ送信する送信部とを含み、検索代行装置は、復号鍵kを受信する受信部と、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定部とを含む。 Keyword search system of the present invention comprises at least a search request device a search proxy device, the information including a character string in the keyword search system that performs keyword search by the search keyword with respect to the encryption information C 1 obtained by encrypting there, as a registration keyword a keyword to be searched, the encryption information C 1, whether the information R 1 capable of identifying a per encryption by predicate encryption scheme the information R 1 using a registration keyword The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained by the conversion, is attached, and the search request device uses the search keyword to convert the information R 2 into the predicate encryption method includes a key generating unit for generating a decryption key k for decrypting *, and a transmitting unit for transmitting the decryption key k * to the search proxy device, the search proxy device receives a decryption key k * A signal unit, decodes the information R 2 in the decoding key k * according predicate encryption method, and a determining whether or not the decoding decision section information obtained matches the information R 1.

具体例として、情報Rは、登録用キーワードから生成される述語暗号方式の属性で情報Rを暗号化して得られ、復号鍵kは、検索用キーワードから生成される述語暗号方式の述語から生成される。 As a specific example, the information R 2 is obtained by encrypting the information R 1 with the predicate encryption method attribute generated from the registration keyword, and the decryption key k * is the predicate encryption method predicate generated from the search keyword. Generated from

例えば、述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であるとし、この場合、属性は、登録用キーワードの最大文字数をrとして、述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X,…,Xからなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルXr,dに登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、述語は、述語論理を属性変数と検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、変数ベクトルXr,dの成分に対応する順に並べたものを成分として持つ述語ベクトルである。 For example, the predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by a standard inner product of an attribute vector and a predicate vector. When the sum of d-1 times at the maximum is allowed in the predicate logic, variables having components as components in the order in which all unary expressions of degree d or less composed of r attribute variables X 1 ,..., X r are arranged in lexicographic order. An attribute vector obtained by setting a character included in the registration keyword in the vector Xr, d , and the predicate is a predicate polynomial in which the predicate logic is expressed by a polynomial using the attribute variable and the character included in the search keyword. This is a predicate vector having as components the coefficients arranged in the order corresponding to the components of the variable vector Xr, d .

述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)として、
《1》検索方式が完全一致検索方式である場合、述語多項式は、

Figure 0005432736

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられる。 The predicate polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number, and the i-th character of the registration keyword W of r characters is w i (1 ≦ i ≦ r). ), The i-th character of the search keyword S for t character is s i (1 ≦ i ≦ t ≦ r),
<< 1 >> When the search method is an exact search method, the predicate polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predicate polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predicate polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predicate polynomial is
Figure 0005432736

Given in.

あるいは、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を文字列終端記号EDとして、属性ベクトルは、r個の部分キーワードWに対応してr個生成され、暗号情報Cには、当たりか否かを識別可能なr個の情報R(以下、R[i](1≦i≦r)とする)と、当該情報R[i]を部分キーワードWで暗号化して得られるr個の情報R(以下、R[i](1≦i≦r)とする)との組である検索用情報C(以下、C[i]=(R[i],R[i])(1≦i≦r)とする)が添付されており、述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》検索方式が完全一致検索方式である場合、述語多項式は、

Figure 0005432736

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、
Figure 0005432736

で与えられ、
復号判定部は、1≦i≦rの各iについて、情報R[i]を復号鍵kで復号し、得られた情報が情報R[i]に一致するか否かを判定する。 Alternatively, the i-th character of the r-character registration keyword W is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the largest non-null character is the subscript. When (max + 1) is set to max, the character w max + 1 is the character string end symbol ED, and the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... w r ‖null i , however, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j, the i-th character of the search for the keyword S of t character s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum subscript of the non-null character is max (max + 1). The character s max + 1 is as a string terminator ED, attribute vector, corresponding to the r number of partial keyword W i is the r generated, the encryption information C 1, or per Distinguishable r pieces of information R 1 or a (hereinafter, R 1 [i] to (1 ≦ i ≦ r)) , obtained by encrypting the information R 1 [i] in the partial keyword W i r Search information C 2 (hereinafter referred to as C 2 [i] = (R 1 [i], R), which is a set of the information R 2 (hereinafter referred to as R 2 [i] (1 ≦ i ≦ r)). 2 [i]) (1 ≦ i ≦ r) is attached, the predicate polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is an exact search method, the predicate polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predicate polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predicate polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predicate polynomial is
Figure 0005432736

Given in
The decryption determination unit decrypts the information R 2 [i] with the decryption key k * for each i of 1 ≦ i ≦ r, and determines whether or not the obtained information matches the information R 1 [i]. .

あるいは、r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を文字列終端記号EDとして、述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》検索方式が完全一致検索方式である場合、述語多項式は、u個(u=1)の述語多項式

Figure 0005432736

で与えられ、
《2》検索方式が前方一致検索方式である場合、述語多項式は、u個(u=1)の述語多項式
Figure 0005432736

で与えられ、
《3》検索方式が後方一致検索方式である場合、述語多項式は、u個(u=r−t+2)の述語多項式
Figure 0005432736

で与えられ、
《4》検索方式が部分一致検索方式である場合、述語多項式は、u個(u=r−t+3)の述語多項式
Figure 0005432736

で与えられ、
復号鍵kは、u個の述語多項式に対応してu個生成され(以下、これをk[c](1≦c≦u)とする)、復号判定部は、1≦c≦uの各cについて、情報Rを復号鍵k[c]で復号し、得られた情報が情報Rに一致するか否かを判定する。 Alternatively, the i-th character of the r-character registration keyword W is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the largest non-null character is the subscript. When (max + 1) is set to max, the character w max + 1 is the character string end symbol ED, and the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... w r ‖null i , however, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j, the i-th character of the search for the keyword S of t character s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum subscript of the non-null character is max (max + 1). The character s max + 1 is As the string terminator ED, the predicate polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is a perfect match search method, the predicate polynomial is u (u = 1) predicate polynomials.
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix match search method, the predicate polynomial is u (u = 1) predicate polynomials.
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the u predicate polynomials are u (u = rt−2) predicate polynomials.
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the number of predicate polynomials is u (u = rt−3) predicate polynomials.
Figure 0005432736

Given in
Decryption keys k * are generated corresponding to u predicate polynomials (hereinafter referred to as k * [c] (1 ≦ c ≦ u)), and the decryption determination unit 1 ≦ c ≦ u determining for each c, decodes the information R 2 in the decryption key k * [c], whether information obtained matches the information R 1 in.

本発明のキーワード検索方法は、少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、検索対象となるキーワードを登録用キーワードとして、暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求装置の鍵生成部が、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、検索要求装置の送信部が、復号鍵kを検索代行装置へ送信する送信ステップと、検索代行装置の受信部が、復号鍵kを受信する受信ステップと、検索代行装置の復号判定部が、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定ステップとを有する。 Keyword search method of the invention comprises the search proxy device with at least the search request unit, definitive keyword search system performs a keyword search by the search keyword information to the encryption information C 1 obtained by encrypting containing the string A keyword search method in which a keyword to be searched is used as a registration keyword, information R 1 that can identify whether or not the encrypted information C 1 is a hit, and a predicate using the information R 1 as a registration keyword Search information C 2 = (R 1 , R 2 ), which is a set with information R 2 obtained by encryption using an encryption method, is attached, and the key generation unit of the search requesting device uses the search keyword. a key generating step of generating a decryption key k * for decrypting the information R 2 a predicate encryption scheme, transmission of the search request apparatus, the search proxy device decryption key k * A transmitting step signal to the receiving unit of the search proxy device, a receiving step of receiving the decryption key k *, the decoding judgment unit of the search proxy device decodes information R 2 in the decoding key k * according predicate encryption scheme, the resulting information has a decoding judgment step of judging whether or not to match the information R 1.

また本発明の検索要求装置は、検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる検索要求装置であって、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成する鍵生成部と、復号鍵kを検索代行装置へ送信する送信部とを含む。 Further, the search requesting apparatus of the present invention uses information R 1 that can identify whether or not the encrypted information C 1 obtained by encrypting information including a character string using the keyword to be searched as a registration keyword. And search information C 2 = (R 1 , R 2 ), which is a set with information R 2 obtained by encrypting the information R 1 using a registration keyword with a predicate encryption method, is attached. A search request device that includes a search request device and a search agent device and is included in a keyword search system that performs a keyword search with respect to the cipher information C 1 using a search keyword, and uses the search keyword to predicate information R 2 It includes a key generation unit that generates a decryption key k * for decryption by an encryption method, and a transmission unit that transmits the decryption key k * to the search agent device.

また本発明の検索代行装置は、検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、少なくとも検索要求装置と検索代行装置を含み、暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムに含まれる検索代行装置であって、検索用キーワードを用いて生成された、情報Rを述語暗号方式により復号するための復号鍵kを、検索要求装置から受信する受信部と、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定する復号判定部とを含む。 Further, the search agent device of the present invention uses information R 1 that can identify whether or not the encrypted information C 1 obtained by encrypting information including a character string using the keyword to be searched as a registration keyword. And search information C 2 = (R 1 , R 2 ), which is a set with information R 2 obtained by encrypting the information R 1 using a registration keyword with a predicate encryption method, is attached. retrieval request unit and includes a retrieval agent apparatus, a search proxy device included in the keyword search system for performing a keyword search by the search keyword with respect to the encryption information C 1, was generated using the search keyword, information R a decryption key k * for decrypting 2 by predicate encryption scheme, a receiver for receiving from the search requesting device, decodes the information R 2 in the decoding key k * according predicate encryption scheme, resulting information There and a decoding judgment unit judges whether matching information R 1.

また、本発明の検索要求装置としてコンピュータを機能させるプログラムによって、コンピュータを検索要求装置として作動処理させることができるところ、このようなプログラムを記録した、コンピュータによって読み取り可能なプログラム記録媒体によって、他のコンピュータを検索要求装置として機能させることや、プログラムを流通させることなどが可能になる。同様に、本発明の検索代行装置としてコンピュータを機能させるプログラムによって、コンピュータを検索代行装置として作動処理させることができるところ、このようなプログラムを記録した、コンピュータによって読み取り可能なプログラム記録媒体によって、他のコンピュータを検索代行装置として機能させることや、プログラムを流通させることなどが可能になる。   In addition, the computer can be operated as a search requesting device by a program that causes the computer to function as the search requesting device of the present invention. It is possible to make a computer function as a search request device and to distribute a program. Similarly, the computer can be operated as a search agent device by a program that causes the computer to function as the search agent device of the present invention. Other programs can be used by a computer-readable program recording medium that records such a program. It is possible to make the computer function as a search agent device and to distribute the program.

本発明に拠れば、暗号情報Cに、当たりか否かを識別可能な情報Rと、当該情報Rを登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、検索要求側で、検索用キーワードを用いて、情報Rを述語暗号方式により復号するための復号鍵kを生成し、検索代行側で、述語暗号方式に従って情報Rを復号鍵kで復号し、得られた情報が情報Rに一致するか否かを判定するところ、検索方式に対応した述語論理の構成により、キーワードの完全一致検索に加えて完全一致検索以外のキーワード検索(例えば部分一致検索)も可能となっている。 According to the present invention, information R 1 that can identify whether or not the encrypted information C 1 is hit, and information R 2 that is obtained by encrypting the information R 1 by a predicate encryption method using a registration keyword The search information C 2 = (R 1 , R 2 ) as a set is attached, and the search request side uses the search keyword to decrypt the information R 2 by the predicate encryption method k *. And the search agent decrypts the information R 2 with the decryption key k * according to the predicate encryption method, and determines whether the obtained information matches the information R 1. The predicate corresponding to the search method Due to the logic configuration, keyword search (for example, partial match search) other than complete match search is possible in addition to keyword complete match search.

実施形態に関るキーワード検索システムの構成図。1 is a configuration diagram of a keyword search system according to an embodiment. 実施形態に関るキーワード検索方法の処理手順を示す図。The figure which shows the process sequence of the keyword search method concerning embodiment. 変形例1に関るキーワード検索方法の処理手順を示す図。The figure which shows the process sequence of the keyword search method regarding the modification 1. FIG. 変形例2に関るキーワード検索方法の処理手順を示す図。The figure which shows the process sequence of the keyword search method regarding the modification 2. 実施形態に関る暗号情報生成装置、検索要求装置、検索代行装置、保管装置の機能ブロック図。FIG. 3 is a functional block diagram of an encryption information generation device, a search request device, a search proxy device, and a storage device according to the embodiment.

図面を参照して本発明の実施形態を説明する。
なお、以下に説明する情報処理では、文字列を含む情報が暗号化の対象となるが、暗号処理の実際では、人間が意味内容を認識可能なテキスト情報である文字そのものが暗号化されるのではなく、例えば当該文字に割り当てられている文字コード情報(EUC-JP、Shift_JIS、UTF-8などのバイト表現)が暗号化の対象となる。従って、後述の説明において例えば変数Xに文字wを代入ないし設定する(X=w)とは、テキスト情報としての文字wを変数Xに代入ないし設定することではなく、文字コード情報としての文字wを変数Xに代入ないし設定することと理解するべきである。このことは暗号処理の常套手段であるから、その詳細な説明を省略する。また、この明細書では、ベクトルの表記として慣用的にベクトルであることを示す記号“→”を省略している場合がある。従って、或る記号がベクトルであるか否かは明細書全体の記載から合理的に理解されたい。
Embodiments of the present invention will be described with reference to the drawings.
In the information processing described below, information including character strings is subject to encryption. However, in the actual encryption process, the characters themselves, which are text information that allows humans to recognize the semantic content, are encrypted. Instead, for example, character code information (byte representation such as EUC-JP, Shift_JIS, UTF-8, etc.) assigned to the character is to be encrypted. Therefore, in the following description, for example, substituting or setting the character w for the variable X (X = w) is not substituting or setting the character w as the text information for the variable X, but the character w as the character code information. Should be understood as substituting or setting to the variable X. Since this is a conventional means of cryptographic processing, its detailed description is omitted. In this specification, the symbol “→” indicating that a vector is conventionally used may be omitted as a vector notation. Therefore, it should be reasonably understood from the description of the entire specification whether or not a certain symbol is a vector.

[キーワード検索システム]
この実施形態のキーワード検索システム1は、図1に示すように、暗号情報生成装置100と、検索要求装置200と、検索代行装置300と、保管装置400とを少なくとも含んで構成される。これらの各装置は、例えばインターネットである通信網5を介して相互に通信可能とされている。
[Keyword search system]
As shown in FIG. 1, the keyword search system 1 of this embodiment includes at least an encryption information generation device 100, a search request device 200, a search proxy device 300, and a storage device 400. These devices can communicate with each other via a communication network 5 which is, for example, the Internet.

キーワード検索システム1におけるキーワード検索処理を、図2を参照しながら叙述する。各装置の機能構成については、図5を参照されたい。   The keyword search process in the keyword search system 1 will be described with reference to FIG. Refer to FIG. 5 for the functional configuration of each device.

《暗号情報生成プロセス》
暗号情報生成装置100の暗号情報生成部101は、文字列を含む情報Mを暗号化して暗号情報Cを得る(ステップS1)。この暗号方式(Enc,Dec)に限定はない。この暗号方式として、例えば共通鍵暗号方式や公開鍵暗号方式を利用できる。共通鍵暗号方式の場合、情報Mは、暗号情報生成装置100と検索装置200との間で共有される共通鍵で暗号化される。また、公開鍵暗号方式の場合、情報Mは検索装置200の公開鍵で暗号化される。つまり、暗号情報Cを得るための情報処理は、暗号化アルゴリズムEncに従い、C=Enc(M)である。
<< Cryptographic information generation process >>
Encryption information generating unit 101 of the encryption information generating apparatus 100 obtains the encryption information C 1 encrypts the information M containing the string (step S1). There is no limitation on the encryption method (Enc, Dec). As this encryption method, for example, a common key encryption method or a public key encryption method can be used. In the case of a common key cryptosystem, the information M is encrypted with a common key shared between the cipher information generation device 100 and the search device 200. In the case of the public key cryptosystem, the information M is encrypted with the public key of the search device 200. That is, the information processing for obtaining the encryption information C 1 in accordance with the encryption algorithm Enc, a C 1 = Enc (M).

暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能な情報Rを任意に設定し(例えば情報Rに数値としてのゼロを設定する)、この情報Rを登録用キーワードWで述語暗号方式により暗号化して情報Rを得る(ステップS2)。登録用キーワードは、例えばユーザによって予め設定される、検索対象となるキーワードである。検索用情報CはC=(R,R)である。情報Rを得る暗号化処理は例えば内積型述語暗号方式によって実現される。内積型述語暗号方式の詳細について、例えば参考文献Aを参照されたい。
(参考文献A)T. Okamoto and K. Takashima, "Hierarchical predicate encryption for inner-products", In ASIACRYPT, pp.214-231, 2009.
The search information generation unit 102 of the cryptographic information generation apparatus 100 arbitrarily sets information R 1 that can identify whether or not the search is successful (for example, sets zero as a numerical value to the information R 1 ). obtain information R 2 is encrypted by the predicate encryption scheme 1 in registration keyword W (step S2). The registration keyword is a keyword to be searched that is preset by the user, for example. The search information C 2 is C 2 = (R 1 , R 2 ). Encryption process to obtain information R 2 is realized by the inner product type predicate encryption scheme, for example. For details of the inner product type predicate cryptosystem, see Reference A, for example.
(Reference A) T. Okamoto and K. Takashima, "Hierarchical predicate encryption for inner-products", In ASIACRYPT, pp.214-231, 2009.

ここでは、内積型述語暗号方式を用いた暗号化処理の一例を説明する。
述語暗号は、送信者による暗号化の過程で暗号メッセージに或る情報Gが組み込まれ、当該情報Gと特定の関係を満たす情報Hを持つ受信者が、暗号メッセージの復号や、メッセージを知ることなくメッセージに関する情報を取得することができる方式である。送信者は、暗号化の際に、必ずしも受信者の持つ情報Hを知っている必要はない。また、送信者は、必ずしも、暗号化する前に受信者を特定している必要もない。送信者は、自由に、能動的に、主導権を持って、情報Gを決めることができる。講学的に、情報Gは属性I(変数)として、情報Hは述語論理f(命題関数、ブール関数)として表される。復号に際し、情報Gと情報Hとが満たすべき特定の関係は、例えばf(I)=1である。内積型述語暗号方式では、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる。ここでは、述語論理を多変数多項式によって表現する。この多変数多項式を述語多項式とも呼ぶ。属性を表す変数を属性変数と呼ぶ。
Here, an example of encryption processing using the inner product type predicate encryption method will be described.
In the predicate encryption, certain information G is incorporated into an encrypted message in the process of encryption by a sender, and a receiver having information H that satisfies a specific relationship with the information G knows the decryption of the encrypted message or knows the message. This is a method that can acquire information about a message without any problem. The sender does not necessarily need to know the information H that the receiver has at the time of encryption. In addition, the sender does not necessarily have to identify the recipient before encryption. The sender can freely and actively determine the information G with the initiative. In theory, the information G is expressed as an attribute I (variable) and the information H is expressed as a predicate logic f (propositional function, Boolean function). A specific relationship that the information G and the information H should satisfy at the time of decoding is, for example, f (I) = 1. In the inner product type predicate encryption method, the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector. Here, the predicate logic is expressed by a multivariable polynomial. This multivariable polynomial is also called a predicate polynomial. A variable representing an attribute is called an attribute variable.

例えば3個の属性変数X,X,Xが、(X=wまたはX=w、かつX=w)の場合にのみ1を返す述語多項式p(X,X,X)は乱数rdを用いて式(1)で表される。式(1)では論理和ORは積の演算で論理積ANDは和の演算で表されている。
p(X,X,X)=(X−w)(X−w)+rd(X−w) (1)
For example, a predicate polynomial p (X 1 , X 3 , which returns 1 only when three attribute variables X 1 , X 2 , X 3 are (X 1 = w 1 or X 2 = w 2 and X 3 = w 3 ). X 2 , X 3 ) is expressed by equation (1) using a random number rd. In the expression (1), the logical OR is expressed by a product operation, and the logical AND is expressed by a sum operation.
p (X 1 , X 2 , X 3 ) = (X 1 −w 1 ) (X 2 −w 2 ) + rd (X 3 −w 3 ) (1)

r個の属性変数X,X,…,Xに対してd−1回の論理和を扱うためには、X,X,…,Xからなる次数d以下の単項式をすべて用意する必要がある。この単項式を1を含めて辞書式順序で並べた順に各成分としたベクトルを、属性変数X,X,…,Xに対するd次の変数ベクトルと呼び、Xr,dと表す。辞書式順序とは、d個の同一の順序集合{1,X,X,…,X}の直積集合に順序を導入したものである。辞書式順序は例えば素朴集合論において論じられ公知であるから、これ以上の詳細な説明は行わない。 r number of attributes variable X 1, X 2, ..., in order to handle the logical sum of the d-1 times for the X r, X 1, X 2 , ..., all of the following monomials degree d consisting X r It is necessary to prepare. A vector having each component in the order in which this monomial is included in a lexicographic order including 1 is called a d-order variable vector with respect to the attribute variables X 1 , X 2 ,..., X r and is expressed as X r, d . The lexicographic order is one in which an order is introduced into a Cartesian product set of d identical ordered sets {1, X 1 , X 2 ,..., X r }. Since lexicographic order is discussed and well known in, for example, naive set theory, no further details will be given.

r文字の登録用キーワードWのi文字目の文字をw(1≦i≦r)とする。属性変数X(1≦i≦r)について、X=wとする。このとき、ベクトルxが変数ベクトルXr,d上の属性ベクトルxであるとは、式(2)を満足する場合をいう。なお、この実施形態ではrはシステム仕様として固定値(1≦rを満たす整数)に設定される。登録用キーワードWの長さ(文字数)がrに満たない場合は、rに達するまでnull文字でパディングする。具体例として、r=2,d=2,Xr,d=(1,X,X,X ,X,X )の場合、属性ベクトルxはx=(1,w,w,w ,w,w )となる。

Figure 0005432736
Let the i-th character of the r-character registration keyword W be w i (1 ≦ i ≦ r). For the attribute variable X i (1 ≦ i ≦ r), let X i = w i . At this time, the fact that the vector x is the attribute vector x on the variable vector X r, d means that the expression (2) is satisfied. In this embodiment, r is set to a fixed value (an integer satisfying 1 ≦ r) as a system specification. If the length (number of characters) of the registration keyword W is less than r, it is padded with null characters until r is reached. As a specific example, when r = 2, d = 2, Xr, d = (1, X 1 , X 2 , X 1 2 , X 1 X 2 , X 2 2 ), the attribute vector x is x = (1 , W 1 , w 2 , w 1 2 , w 1 w 2 , w 2 2 ).
Figure 0005432736

r個の属性変数X,X,…,Xで最大d回の論理和が許されているとき、述語論理を表す属性変数からなる多変数多項式p(Xα,…,Xβ)(1≦α≦β≦r)を、変数ベクトルXr,d上の述語多項式と呼ぶ。 When r logical variables X 1 , X 2 ,..., X r are allowed to be ORed up to d times, a multivariable polynomial p (X α ,..., X β ) composed of attribute variables representing predicate logic is used. (1 ≦ α ≦ β ≦ r) is called a predicate polynomial on the variable vector X r, d .

この変数ベクトルXr,d上の述語多項式p(Xα,…,Xβ)を、変数ベクトルXr,dと述語ベクトルvとの標準内積<Xr,d,v>と考えて、p(Xα,…,Xβ)の係数を、変数ベクトルXr,dの成分に対応する順に述語ベクトルvの成分とする。述語ベクトルvのこれら以外の成分を0とする。この述語ベクトルを変数ベクトルXr,d上の述語ベクトルとも呼ぶ。 This variable vector X r, predicate polynomial p on the d (X α, ..., X β) , and I thought variable vector X r, standard inner product of the d and the predicate vector v <X r, d, v > a, p The coefficients of (X α ,..., X β ) are set as components of the predicate vector v in the order corresponding to the components of the variable vectors X r, d . The other components of the predicate vector v are set to 0. This predicate vector is also called a predicate vector on the variable vector Xr, d .

dは1≦d≦rを満たす固定値にシステム仕様として設定されるが、この実施形態では、d=rとする。つまり、述語多項式において登録用キーワードの最大文字数相当の論理和を許容する。   Although d is set as a system specification to a fixed value satisfying 1 ≦ d ≦ r, in this embodiment, d = r. That is, a logical sum corresponding to the maximum number of characters of the registration keyword is allowed in the predicate polynomial.

さて、内積型述語暗号方式を用いた暗号化処理の一例は次のとおりである。検索用情報生成部102は、式(3)に従って登録用キーワードWから属性ベクトルxを生成する。この式(3)は、変数ベクトルXr,rにおいてX=w(1≦i≦r)とすることを意味する。

Figure 0005432736
An example of encryption processing using the inner product type predicate encryption method is as follows. The search information generation unit 102 generates an attribute vector x from the registration keyword W according to the equation (3). This equation (3) means that X i = w i (1 ≦ i ≦ r) in the variable vector X r, r .
Figure 0005432736

x=(x,x,…,x)∈Fq nとする。つまり、x(1≦i≦n)はn次元直積Fq nの元とする。Fqは有限体であり、qは素数または素数の冪乗値である。検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(4)を計算することにより、情報Rを得る。情報RはR=(cipher1,cipher2)である。

Figure 0005432736
x = (x 1 , x 2 ,..., x n ) ∈F q n . That is, x i (1 ≦ i ≦ n) is an element of the n-dimensional direct product F q n . F q is a finite field, and q is a prime number or a power value of a prime number. The search information generation unit 102 randomly selects δ 1 , δ 2 , and ζ from F q and calculates Expression (4) to obtain information R 2 . Information R 2 is R 2 = (cipher1, cipher2) .
Figure 0005432736

公開パラメータは、例えば位数qの巡回群G1,G2,GTの生成元g1,g2,gT、非退化性を持つ双線形写像e:G1×G2→GT(但し、e(g1,g2)=gT)、位数q、(n+3)次元のベクトル空間Vの直交基底Bを含む。秘密鍵は、双対ベクトル空間Vの直交基底Bを含む。代数構造を有限体Fqとする場合、qは素数または素数の冪乗値である。双線形写像eは例えばTateペアリングやWeilペアリングである。 The public parameters are, for example, generators g 1 , g 2 , g T of the cyclic group G 1 , G 2 , G T of order q, a non-degenerate bilinear map e: G 1 × G 2 → G T ( However, e (g 1 , g 2 ) = g T ), order q, and an orthogonal basis B of the (n + 3) -dimensional vector space V is included. The secret key includes an orthogonal basis B * of the dual vector space V * . When the algebraic structure is a finite field F q , q is a prime number or a power value of a prime number. The bilinear map e is, for example, Tate pairing or Weil pairing.

直交基底Bおよび直交基底Bについて説明を加える。
(n+3)次元のベクトル空間Vの任意の元が、式(5)のように巡回群G1の(n+3)次元直積G1 n+3の元として表されるとする。(n+3)次元のベクトル空間Vの任意の元は、(n+3)次元のベクトル空間Vの標準基底Aを用いて式(6)のように表すこともできる。ただし、aiは(n+3)次元直積G1 n+3の元、ziは(n+3)次元直積Fq n+3の元とする。また、1は加法単位元とする。

Figure 0005432736
The orthogonal base B and the orthogonal base B * will be described.
Assume that an arbitrary element of the (n + 3) -dimensional vector space V is expressed as an element of the (n + 3) -dimensional direct product G 1 n + 3 of the cyclic group G 1 as shown in Expression (5). An arbitrary element of the (n + 3) -dimensional vector space V can also be expressed as in Expression (6) using the standard basis A of the (n + 3) -dimensional vector space V. However, a i is an element of the (n + 3) -dimensional direct product G 1 n + 3 and z i is an element of the (n + 3) -dimensional direct product F q n + 3 . Also, 1 is an additive unit.
Figure 0005432736

直交基底Bは、式(7)のように、標準基底Aに(n+3)次正方行列Xを作用させたものとして得られる。記号Tは転置を表す。なお、行列Xは秘密鍵と同様に秘密とされる。

Figure 0005432736
The orthogonal basis B is obtained by applying the (n + 3) order square matrix X to the standard basis A as shown in the equation (7). The symbol T represents transposition. Note that the matrix X is kept secret as is the secret key.
Figure 0005432736

同様に、ベクトル空間Vと双対な双対ベクトル空間Vの任意の元が、式(8)のように巡回群G2の(n+3)次元直積G2 n+3の元として表されるとする。双対ベクトル空間Vの任意の元は、双対ベクトル空間Vの標準基底Aを用いて式(9)のように表すこともできる。ただし、ai は(n+3)次元直積G2 n+3の元、yi は(n+3)次元直積Fq n+3の元とする。また、1は加法単位元とする。

Figure 0005432736
Similarly, an arbitrary element of the dual vector space V * that is dual to the vector space V is expressed as an element of the (n + 3) -dimensional direct product G 2 n + 3 of the cyclic group G 2 as shown in Expression (8). . Dual space V * any original can also be expressed as Equation (9) using the dual space V * of the standard basis A *. However, a i * is an element of the (n + 3) -dimensional direct product G 2 n + 3 and y i * is an element of the (n + 3) -dimensional direct product F q n + 3 . Also, 1 is an additive unit.
Figure 0005432736

直交基底Bは、式(10)のように、標準基底Aに(n+3)次正方行列T(X-1)を作用させたものとして得られる。記号Eは単位行列を表す。

Figure 0005432736
The orthogonal basis B * is obtained by applying the (n + 3) order square matrix T (X −1 ) to the standard basis A * as shown in Expression (10). The symbol E represents a unit matrix.
Figure 0005432736

暗号情報生成装置100の送信部108は、暗号情報Cと検索用情報Cとを一組として保管装置400へ送信する(ステップS3)。保管装置400の受信部409は、暗号情報と検索用情報との組(C,C)を受信する(ステップS4)。保管装置400の記憶部401には、通常、暗号情報生成装置100から受信した複数の(C,C)が記憶されている。さらに言えば、保管装置400の記憶部401には、一般的に、複数の暗号情報生成装置から受信した複数の(C,C)が記憶されている。各組(C,C)には固有のインデックスが割り当てられている。 Transmission unit 108 of the encryption information generating apparatus 100 transmits the encrypted information C 1 and the search information C 2 to the storage apparatus 400 as one set (step S3). The receiving unit 409 of the storage device 400 receives a set (C 1 , C 2 ) of encryption information and search information (step S4). The storage unit 401 of the storage device 400 normally stores a plurality of (C 1 , C 2 ) received from the encryption information generation device 100. Furthermore, the storage unit 400 of the storage device 400 generally stores a plurality of (C 1 , C 2 ) received from a plurality of encryption information generation devices. Each group (C 1 , C 2 ) is assigned a unique index.

《検索要求プロセス》
検索要求装置200の鍵生成部201は、上記秘密鍵(直交基底B)と、例えばユーザによって入力された検索用キーワードSおよびユーザによって指定された検索方式$の述語論理とを用いて、検索用情報Cに含まれる情報Rを復号するための復号鍵kを生成する(ステップS5)。上記秘密鍵(直交基底B)は検索要求装置200の秘密鍵である。
《Search request process》
The key generation unit 201 of the search requesting device 200 uses the secret key (orthogonal basis B * ) and the search keyword S input by the user and the predicate logic of the search method $ specified by the user, for example. generating a decryption key k * for decoding information R 2 included in the use information C 2 (step S5). The secret key (orthogonal basis B * ) is the secret key of the search requesting device 200.

復号鍵kを得るための情報処理は、暗号情報生成装置100の検索用情報生成部102が実施した述語暗号方式に対応する鍵生成アルゴリズムに従う。この実施形態では、復号鍵kを得るための情報処理は、内積型述語暗号方式によって実現される。具体的には、鍵生成部201は、まず、変数ベクトルXr,r上の述語ベクトルvを生成する。 Information processing for obtaining the decryption key k * follows a key generation algorithm corresponding to the predicate encryption method performed by the search information generation unit 102 of the encryption information generation apparatus 100. In this embodiment, the information processing for obtaining the decryption key k * is realized by the inner product type predicate encryption method. Specifically, the key generation unit 201 first generates a predicate vector v on the variable vector Xr, r .

t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とする。もし、t<rならば、s=0(t<i≦r)とする。鍵生成部201は、後述するように検索方式$に対応するXr,r上の述語多項式p(Xα,…,Xβ)を決定して、Xr,r上の述語ベクトルvを求める。Xr,r上の述語多項式p(Xα,…,Xβ)からXr,r上の述語ベクトルvを求める方法は既述のとおりである。 The i-th character of the t-character search keyword S is s i (1 ≦ i ≦ t ≦ r). If t <r, s i = 0 (t <i ≦ r). The key generation unit 201 determines a predicate polynomial p (X α ,..., X β ) on X r, r corresponding to the search method $ and obtains a predicate vector v on X r, r as described later. . X r, predicate polynomial p on r (X α, ..., X β) method of finding a from X r, predicate vector v on r are as described above.

ここで各検索方式$の述語多項式について説明を加える。rdi,j(1≦i,j≦r)は乱数である。 Here, the predicate polynomial of each search method $ will be described. rd i, j (1 ≦ i, j ≦ r) is a random number.

《1》完全一致検索方式(cm)
完全一致検索方式は、任意のi(1≦i≦r)についてw=sが成立する場合を検索する検索方式である。
完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(11)で与えられる。

Figure 0005432736
<< 1 >> Perfect match search method (cm)
The exact match search method is a search method for searching for a case where w i = s i holds for an arbitrary i (1 ≦ i ≦ r).
The predicate polynomial p (X α ,..., X β ) in the exact match search method is given by equation (11).
Figure 0005432736

《2》前方一致検索方式(fm)
前方一致検索方式は、任意のi(1≦i≦t)についてw=sが成立する場合を検索する検索方式である。
前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(12)で与えられる。

Figure 0005432736
<< 2 >> Forward matching search method (fm)
The forward matching search method is a search method for searching for a case where w i = s i holds for an arbitrary i (1 ≦ i ≦ t).
The predicate polynomial p (X α ,..., X β ) in the forward matching search method is given by equation (12).
Figure 0005432736

《3》後方一致検索方式(bm)
後方一致検索方式は、任意のi(r−t+1≦i≦r)についてw=sが成立する場合を検索する検索方式である。
後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(13)で与えられる。

Figure 0005432736
<< 3 >> Backward match search method (bm)
The backward matching search method is a search method for searching for a case where w i = s i holds for an arbitrary i (r−t + 1 ≦ i ≦ r).
The predicate polynomial p (X α ,..., X β ) in the backward matching search method is given by equation (13).
Figure 0005432736

《4》部分一致検索方式(pm)
部分一致検索方式は、或るjが存在して(j≦i≦t+j−1≦r)を満たすすべてのiについてw=sが成立する場合を検索する検索方式である。
部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(14)で与えられる。

Figure 0005432736
<< 4 >> Partial match search method (pm)
The partial match search method is a search method for searching for a case where w i = s i is satisfied for all i satisfying (j ≦ i ≦ t + j−1 ≦ r).
The predicate polynomial p (X α ,..., X β ) in the partial match search method is given by equation (14).
Figure 0005432736

《5》完全不一致検索方式(ncm)
完全不一致検索方式は、すべてのi(1≦i≦r)についてw=sが成立しない場合を検索する検索方式である。これは完全一致検索方式でヒットした検索結果の補集合として得られる。
<< 5 >> Complete mismatch search method (ncm)
The complete mismatch search method is a search method for searching for a case where w i = s i does not hold for all i (1 ≦ i ≦ r). This is obtained as a complementary set of search results hit by the exact match search method.

《6》「含まない」検索方式(npm)
「含まない」検索方式は、j≦i≦t+j−1≦rを満たすすべてのiについてw=sが成立するようなjが存在しない場合を検索する検索方式である。これは部分一致検索方式でヒットした検索結果の補集合として得られる。
<< 6 >>"Excluded" search method (npm)
The “does not include” search method is a search method for searching for a case where there is no j that satisfies w i = s i for all i satisfying j ≦ i ≦ t + j−1 ≦ r. This is obtained as a complementary set of search results hit by the partial match search method.

次に、鍵生成部201は、述語ベクトルv=(v,v,…,v)∈Fq nに対して、σ,ηをFqからランダムに選択し、式(15)を計算することにより、復号鍵kを得る。

Figure 0005432736
Next, the key generation unit 201 selects σ and η randomly from F q for the predicate vector v = (v 1 , v 2 ,..., V n ) ∈F q n , and formula (15) is obtained. The decryption key k * is obtained by calculation.
Figure 0005432736

検索要求装置200の送信部208は、復号鍵kを検索代行装置300へ送信する(ステップS6)。 The transmission unit 208 of the search request device 200 transmits the decryption key k * to the search proxy device 300 (step S6).

《検索代行プロセス》
検索代行装置300の受信部309は、復号鍵kを受信する(ステップS7)。
《Search agency process》
The receiving unit 309 of the search proxy device 300 receives the decryption key k * (step S7).

検索代行装置300の制御部305は、送信部308を制御して、保管装置400に対して保管装置400の記憶部401に記憶されているすべての検索用情報を検索代行装置300へ送信するように要求し、これを受けて保管装置400の送信部408は記憶部401に記憶されているすべての検索用情報をインデックスとともに検索代行装置300へ送信し、検索代行装置300の受信部309がこれらを受信する(ステップS8)。   The control unit 305 of the search proxy device 300 controls the transmission unit 308 so as to transmit all search information stored in the storage unit 401 of the storage device 400 to the search proxy device 300 to the storage device 400. In response to this, the transmission unit 408 of the storage device 400 transmits all the search information stored in the storage unit 401 together with the index to the search agent device 300, and the reception unit 309 of the search agent device 300 receives these information. Is received (step S8).

検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、復号鍵kを用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9)。具体的には、復号判定部302は、すべての検索用情報について、式(16)に従って情報Rを求め(復号処理)、R=Rの成否を判定する(判定処理)。

Figure 0005432736
The decryption determination unit 301 of the search proxy device 300 sets all the search information as targets for the decryption determination process, and individually decrypts the search information using the decryption key k * to determine whether or not the search is successful ( Step S9). Specifically, the decoding determination unit 302 obtains information R for all search information according to the equation (16) (decoding process), and determines whether R = R 1 is successful (determination process).
Figure 0005432736

検索代行装置300の送信部308は、R=Rが成立した検索用情報のインデックスを検索要求装置200へ送信する(ステップS10)。 Transmission unit 308 of the search proxy apparatus 300 transmits the index of the search information R = R 1 is satisfied to the search request unit 200 (step S10).

《検索結果受信プロセス》
検索要求装置200の受信部209は、R=Rが成立した検索用情報のインデックスを受信する(ステップS11)。
《Search result reception process》
Receiving unit 209 of the search request unit 200 receives the index of the search information R = R 1 is satisfied (step S11).

検索要求装置200の制御部205は、送信部208を制御して、保管装置400に対して、保管装置400の記憶部401に記憶されている、検索代行装置300から受信したインデックスに対応する暗号情報を検索要求装置200へ送信するように要求し、これを受けて保管装置400の送信部408は当該インデックスに対応する暗号情報を検索要求装置200へ送信し、検索要求装置200の受信部209がこれらを受信する(ステップS12)。   The control unit 205 of the search requesting device 200 controls the transmitting unit 208 to encrypt the storage device 400 corresponding to the index received from the search proxy device 300 and stored in the storage unit 401 of the storage device 400. In response to this request, the transmission unit 408 of the storage device 400 transmits the encryption information corresponding to the index to the search request device 200, and the reception unit 209 of the search request device 200. Receive these (step S12).

検索要求装置200の復号部206は、必要に応じて、保管装置400から受信した暗号情報Cを復号して情報Mを得る(ステップS13)。情報Mを得るための情報処理は、暗号情報生成装置100の暗号情報生成部101が実施した暗号方式(Enc,Dec)に対応する復号アルゴリズムDecに従う。つまり、M=Dec(C)である。 Decoding unit 206 of the search request unit 200, if necessary, obtain information M by decrypting the encrypted information C 1 received from the storage device 400 (step S13). Information processing for obtaining the information M follows a decryption algorithm Dec corresponding to the encryption method (Enc, Dec) performed by the encryption information generation unit 101 of the encryption information generation apparatus 100. That is, M = Dec (C 1 ).

<変形例>
上記実施形態では、変数ベクトルXr,dの次元nは、i次以下の単項式の総和がr文字からq文字(1≦q≦i)を選ぶ組み合わせの和になるので、式(17)で表される。

Figure 0005432736
<Modification>
In the above embodiment , the dimension n of the variable vector X r, d is the sum of combinations in which the sum of mononomials of order i and lower is selected from r characters to q characters (1 ≦ q ≦ i). expressed.
Figure 0005432736

式(17)によると、変数ベクトルXr,dの次元nは、登録用キーワードの文字数rと論理和の数dの階乗のオーダーで増加する。そこで、各変形例では、論理和を用いる検索でありながら論理和を用いない変数ベクトルXr,1を構成する。このため各変形例では、登録用キーワードと検索用キーワードに、文字列開始記号としてST、文字列終端記号としてEDを導入する。なお、説明の便宜からこれらの記号をST、EDというように2文字で表現したが、変形例では、文字列開始記号として1文字の長さの記号、文字列終端記号として1文字の長さの記号が設定されることに留意されたい。もちろん、これらの記号の長さを任意に設定してよいが、この場合、述語多項式の表現やそこに現れる添え字が変わるものの、実用上格別の意義を有しないので、通常、1文字分の長さの記号を設定すれば足りる。なお、変形例1については図3を、変形例2については図4を参照のこと。 According to Expression (17), the dimension n of the variable vector Xr, d increases in the factorial order of the number r of characters of the registration keyword and the number d of the logical sum. Therefore, in each modification, a variable vector Xr, 1 that does not use a logical sum although it is a search that uses a logical sum is configured. Therefore, in each modification, ST is introduced as a character string start symbol and ED is introduced as a character string end symbol in the registration keyword and the search keyword. For convenience of explanation, these symbols are expressed by two characters such as ST and ED. However, in the modification, a character having a length of 1 character as a character string start symbol and a character length as a character string end symbol. Note that the symbol is set. Of course, the lengths of these symbols may be arbitrarily set. In this case, although the expression of the predicate polynomial and the subscripts appearing there change, there is no particular significance in practical use. Setting a length symbol is sufficient. Refer to FIG. 3 for Modification 1 and FIG. 4 for Modification 2.

[変形例1]
登録用キーワードWの1文字目wをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目wmax+1をEDとする。登録用キーワードWについて、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullと定義する。ここでnullはi−1個のnullを表す。Wのj番目の文字をwi,jと表すことにする。
[Modification 1]
Let ST be the first character w 1 of the registration keyword W. When the maximum subscript of a non-null character is set to max, the (max + 1) -th character w max + 1 is set to ED. For the registration keyword W, a partial keyword W i (1 ≦ i ≦ r) is defined as W i = w i w i + 1 ... W r ‖null i . Here, null i represents i−1 nulls. The j-th character of W i will be expressed as w i, j.

変形例1では、実施形態のステップS2の処理は、次のように変更される。暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能なr個の情報R[i](1≦i≦r)を任意に設定し(例えばすべて数値としてのゼロとする)、この情報R[i]を部分キーワードWで暗号化して情報R[i]を得る(ステップS2a)。具体的には、検索用情報生成部102は、式(18)に従って、r個の部分キーワードWからr個の属性ベクトルx(1≦i≦r)を生成する。x=(x[i],x[i],…,x[i])∈Fq nとする。

Figure 0005432736
In the modification 1, the process of step S2 of the embodiment is changed as follows. The search information generation unit 102 of the cryptographic information generation apparatus 100 arbitrarily sets r pieces of information R 1 [i] (1 ≦ i ≦ r) that can identify whether or not the search is successful (for example, all are numerical values). This information R 1 [i] is encrypted with the partial keyword W i to obtain information R 2 [i] (step S2a). Specifically, the search information generation unit 102 generates r attribute vectors x i (1 ≦ i ≦ r) from r partial keywords W i according to Expression (18). Let x i = (x 1 [i], x 2 [i],..., x n [i]) ∈F q n .
Figure 0005432736

そして、検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(19)を計算することにより、情報R[i]を得る(1≦i≦r)。情報R[i]はR[i]=(cipher1[i],cipher2[i])である(1≦i≦r)。

Figure 0005432736
Then, the search information generation unit 102 randomly selects δ 1 , δ 2 , and ζ from F q and calculates Expression (19) to obtain information R 2 [i] (1 ≦ i ≦ r ). The information R 2 [i] is R 2 [i] = (cipher1 [i], cipher2 [i]) (1 ≦ i ≦ r).
Figure 0005432736

変形例1では、述語ベクトルは実施形態と同じように構成される。なお、検索用キーワードSの1文字目sをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目smax+1をEDとする。 In the first modification, the predicate vector is configured in the same manner as in the embodiment. Note that ST is the first character s 1 of the search keyword S. Further, when the maximum subscript of a non-null character is set to max, the (max + 1) -th character s max + 1 is set to ED.

変形例1では、実施形態のステップS3、S4の各処理は、次のように変更される。暗号情報生成装置100の送信部108は、暗号情報Cとr個の検索用情報C[i]=(R[i],R[i])とを一組として保管装置400へ送信する(ステップS3a)。保管装置400の受信部409は、暗号情報と検索用情報との組(C,C[1],C[2],…,C[r])を受信する(ステップS4a)。保管装置400の記憶部401には、通常、暗号情報生成装置100から受信した複数の(C,C[1],C[2],…,C[r])が記憶されている。さらに言えば、保管装置400の記憶部401には、一般的に、複数の暗号情報生成装置から受信した複数の(C,C[1],C[2],…,C[r])が記憶されている。各組(C,C[1],C[2],…,C[r])には固有のインデックスが対応付けられている。 In the modification 1, each process of step S3, S4 of embodiment is changed as follows. The transmission unit 108 of the encryption information generation apparatus 100 sends the encryption information C 1 and the r pieces of search information C 2 [i] = (R 1 [i], R 2 [i]) as a set to the storage apparatus 400. Transmit (step S3a). The receiving unit 409 of the storage device 400 receives the set of cipher information and search information (C 1 , C 2 [1], C 2 [2],..., C 2 [r]) (step S4a). The storage unit 401 of the storage device 400 normally stores a plurality of (C 1 , C 2 [1], C 2 [2],..., C 2 [r]) received from the cryptographic information generation device 100. Yes. Furthermore, the storage unit 401 of the storage device 400 generally has a plurality of (C 1 , C 2 [1], C 2 [2],..., C 2 [ r]) is stored. Each group (C 1 , C 2 [1], C 2 [2],..., C 2 [r]) is associated with a unique index.

変形例1では、実施形態のステップS5の処理自体に変更はないが、各検索方式に対応する述語多項式p(Xα,…,Xβ)が次のとおりに変更される。 In the first modification, the processing itself in step S5 of the embodiment is not changed, but the predicate polynomial p (X α ,..., X β ) corresponding to each search method is changed as follows.

《1》完全一致検索方式(cm)
変形例1では、完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(20)で与えられる。

Figure 0005432736
<< 1 >> Perfect match search method (cm)
In the first modification, the predicate polynomial p (X α ,..., X β ) in the exact match search method is given by equation (20).
Figure 0005432736

《2》前方一致検索方式(fm)
変形例1では、前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(21)で与えられる。

Figure 0005432736
<< 2 >> Forward matching search method (fm)
In the first modification, the predicate polynomial p (X α ,..., X β ) in the forward matching search method is given by equation (21).
Figure 0005432736

《3》後方一致検索方式(bm)
変形例1では、後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(22)で与えられる。

Figure 0005432736
<< 3 >> Backward match search method (bm)
In the first modification, the predicate polynomial p (X α ,..., X β ) in the backward matching search method is given by equation (22).
Figure 0005432736

《4》部分一致検索方式(pm)
変形例1では、部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(23)で与えられる。

Figure 0005432736
<< 4 >> Partial match search method (pm)
In the first modification, the predicate polynomial p (X α ,..., X β ) in the partial match search method is given by equation (23).
Figure 0005432736

《5》完全不一致検索方式(ncm)と《6》「含まない」検索方式(npm)は実施形態と同じである。   << 5 >> The completely inconsistent search method (ncm) and << 6 >> the “does not include” search method (npm) are the same as in the embodiment.

変形例1では、実施形態のステップS6以降の各処理について、1個の暗号情報にr個の検索用情報が添付されていることを注意すれば、実質的な変更はない。なお、実施形態におけるステップS9の処理は、次のように変更される。検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、復号鍵kを用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9a)。具体的には、復号判定部301は、すべての検索用情報について、式(23a)に従って情報R[i]を求め(復号処理)、R[i]=R[i]の成否を判定する(判定処理)。

Figure 0005432736
In the first modification, there is no substantial change for each process after step S6 of the embodiment as long as r pieces of search information are attached to one piece of encryption information. In addition, the process of step S9 in embodiment is changed as follows. The decryption determination unit 301 of the search proxy device 300 sets all the search information as targets for the decryption determination process, and individually decrypts the search information using the decryption key k * to determine whether or not the search is successful ( Step S9a). Specifically, the decryption determination unit 301 obtains information R [i] for all search information according to the equation (23a) (decryption process), and determines whether R [i] = R 1 [i] is successful or not. (Determination process).
Figure 0005432736

変形例1によると、復号判定処理の回数は上述の実施形態と比較して一つの暗号情報につきr倍になるが、論理和の使用により変数ベクトルの次元が階乗オーダーで大きくなってしまうことに比べ定数倍の処理の増加で済むので、論理和を使用する検索の場合において上述の実施形態と比較してメリットが大きい。   According to the first modification, the number of times of the decryption determination process is r times for one piece of encryption information as compared with the above-described embodiment, but the dimension of the variable vector is increased in the factorial order by using the logical sum. Compared to the above-described embodiment, there is a great merit in the case of a search using a logical sum.

[変形例2]
論理和を用いる検索でありながら論理和を用いない変数ベクトルXr,1を構成するために、変形例2では、一つの検索用キーワードから複数の述語ベクトルを生成する(なお、諸条件により必ず複数の述語ベクトルが生成されるわけではない。ここでは、特徴的な場合を説明する観点から、生成される述語ベクトルは“複数”であるとして説明する)。各述語ベクトルに対応する復号鍵kが生成される。つまり、特徴的な場合には複数の復号鍵kが生成される。
[Modification 2]
In order to construct the variable vector Xr, 1 that does not use the logical sum while performing the retrieval using the logical sum, in the second modification, a plurality of predicate vectors are generated from a single search keyword (note that it always depends on various conditions). A plurality of predicate vectors are not generated. Here, from the viewpoint of explaining a characteristic case, it is assumed that the generated predicate vectors are “multiple”). A decryption key k * corresponding to each predicate vector is generated. That is, in a characteristic case, a plurality of decryption keys k * are generated.

登録用キーワードWの1文字目wをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目wmax+1をEDとする。登録用キーワードWについて、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullと定義する。ここでnullはi−1個のnullを表す。Wのj番目の文字をwi,jと表すことにする。また、検索用キーワードSの1文字目sをSTとする。また、nullでない文字の最大の添え字をmaxとしたとき、(max+1)文字目smax+1をEDとする。 Let ST be the first character w 1 of the registration keyword W. When the maximum subscript of a non-null character is set to max, the (max + 1) -th character w max + 1 is set to ED. For the registration keyword W, a partial keyword W i (1 ≦ i ≦ r) is defined as W i = w i w i + 1 ... W r ‖null i . Here, null i represents i−1 nulls. The j-th character of W i will be expressed as w i, j. Further, the first character s 1 of the search keyword S is set to ST. Further, when the maximum subscript of a non-null character is set to max, the (max + 1) -th character s max + 1 is set to ED.

変形例2では、実施形態のステップS2、S5、S6、S7、S9の各処理は、次のように変更される。   In the modification 2, each process of step S2, S5, S6, S7, S9 of embodiment is changed as follows.

暗号情報生成装置100の検索用情報生成部102は、検索が当たりか否かを識別可能な情報Rを任意に設定し(例えば数値としてのゼロ)、この情報Rを登録用キーワードWで暗号化して情報Rを得る(ステップS2b)。具体的には、検索用情報生成部102は、式(23b)に従って、登録用キーワードWから属性ベクトルxを生成する。x=(x,x,…,x)∈Fq nとする。

Figure 0005432736
The search information generation unit 102 of the encryption information generation apparatus 100 arbitrarily sets information R 1 that can identify whether or not the search is successful (for example, zero as a numerical value), and uses the registration keyword W as the information R 1. obtain information R 2 is encrypted (step S2b). Specifically, the search information generation unit 102 generates the attribute vector x from the registration keyword W according to the equation (23b). x = (x 1 , x 2 ,..., x n ) ∈F q n .
Figure 0005432736

そして、検索用情報生成部102は、δ,δ,ζをFqからランダムに選択し、式(23c)を計算することにより、情報Rを得る。情報RはR=(cipher1,cipher2)である。

Figure 0005432736
Then, the search information generating unit 102 randomly selects δ 1 , δ 2 , ζ from F q and calculates the equation (23c) to obtain information R 2 . Information R 2 is R 2 = (cipher1, cipher2) .
Figure 0005432736

検索要求装置200の鍵生成部201は、上記秘密鍵(直交基底B)と、例えばユーザによって入力された検索用キーワードSおよびユーザによって指定された検索方式$の述語論理とを用いて、検索用情報Cに含まれる情報Rを復号するための複数の復号鍵kを生成する(ステップS5b)。 The key generation unit 201 of the search requesting device 200 uses the secret key (orthogonal basis B * ) and the search keyword S input by the user and the predicate logic of the search method $ specified by the user, for example. generating a plurality of decryption keys k * for decoding information R 2 included in the use information C 2 (step S5b).

t文字の検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とする。もし、t<rならば、s=0(t<i≦r)とする。鍵生成部201は、後述するように検索方式$に対応するXr,r上の述語多項式p(Xα,…,Xβ)を決定して、Xr,r上の述語ベクトルvを求める。Xr,r上の述語多項式p(Xα,…,Xβ)からXr,r上の述語ベクトルvを求める方法は既述のとおりである。 The i-th character of the t-character search keyword S is s i (1 ≦ i ≦ t ≦ r). If t <r, s i = 0 (t <i ≦ r). The key generation unit 201 determines a predicate polynomial p (X α ,..., X β ) on X r, r corresponding to the search method $ and obtains a predicate vector v on X r, r as described later. . X r, predicate polynomial p on r (X α, ..., X β) method of finding a from X r, predicate vector v on r are as described above.

変形例2では、実施形態と異なり、各検索方式に対応する述語多項式p(Xα,…,Xβ)が次のとおりに変更される。 In the second modification, unlike the embodiment, the predicate polynomial p (X α ,..., X β ) corresponding to each search method is changed as follows.

《1》完全一致検索方式(cm)
変形例2では、完全一致検索方式における述語多項式p(Xα,…,Xβ)は、式(24)で与えられる。

Figure 0005432736
<< 1 >> Perfect match search method (cm)
In the second modification, the predicate polynomial p (X α ,..., X β ) in the exact match search method is given by equation (24).
Figure 0005432736

《2》前方一致検索方式(fm)
変形例2では、前方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(25)で与えられる。

Figure 0005432736
<< 2 >> Forward matching search method (fm)
In the second modification, the predicate polynomial p (X α ,..., X β ) in the forward matching search method is given by equation (25).
Figure 0005432736

《3》後方一致検索方式(bm)
変形例2では、後方一致検索方式における述語多項式p(Xα,…,Xβ)は、式(26)で与えられる。なお、この場合、r−t+2個の述語多項式が得られる。

Figure 0005432736
<< 3 >> Backward match search method (bm)
In the second modification, the predicate polynomial p (X α ,..., X β ) in the backward matching search method is given by Expression (26). In this case, rt + 2 predicate polynomials are obtained.
Figure 0005432736

《4》部分一致検索方式(pm)
変形例2では、部分一致検索方式における述語多項式p(Xα,…,Xβ)は、式(27)で与えられる。なお、この場合、r−t+3個の述語多項式が得られる。

Figure 0005432736
<< 4 >> Partial match search method (pm)
In the second modification, the predicate polynomial p (X α ,..., X β ) in the partial match search method is given by equation (27). In this case, rt + 3 predicate polynomials are obtained.
Figure 0005432736

《5》完全不一致検索方式(ncm)と《6》「含まない」検索方式(npm)は実施形態と同じである。   << 5 >> The completely inconsistent search method (ncm) and << 6 >> the “does not include” search method (npm) are the same as in the embodiment.

次に、鍵生成部201は、u個の述語ベクトルv[c]=(v[c],v[c],…,v[c])∈Fq nに対して、σ,ηをFqからランダムに選択し、式(28)を計算することにより、u個の復号鍵k[c]を得る(1≦c≦u)。《1》と《2》と《5》の場合はu=1である。《3》の場合はu=r−t+2である。《4》と《6》の場合はu=r−t+3である。

Figure 0005432736
Next, the key generation unit 201 calculates σ, v for the u predicate vectors v [c] = (v 1 [c], v 2 [c],..., V n [c]) ∈F q n . By randomly selecting η from F q and calculating equation (28), u decryption keys k * [c] are obtained (1 ≦ c ≦ u). In the case of << 1 >>, << 2 >> and << 5 >>, u = 1. In the case of << 3 >>, u = rt + 2. In the case of << 4 >> and << 6 >>, u = rt−3.
Figure 0005432736

検索要求装置200の送信部208は、u個の復号鍵k[c]を検索代行装置300へ送信する(ステップS6b)。検索代行装置300の受信部309は、u個の復号鍵k[c]を受信する(ステップS7b)。 The transmission unit 208 of the search request device 200 transmits u decryption keys k * [c] to the search proxy device 300 (step S6b). The receiving unit 309 of the search proxy device 300 receives u decryption keys k * [c] (step S7b).

検索代行装置300の復号判定部301は、すべての検索用情報を復号判定処理の対象とし、u個の復号鍵k[c]を用いて検索用情報を個別に復号して検索が当たりか否かを判定する(ステップS9b)。具体的には、復号判定部301は、すべての検索用情報について、式(29)に従って情報R[c]を求め(復号処理)、R[c]=R(1≦c≦u)の成否を判定する(判定処理)。

Figure 0005432736
The decryption determination unit 301 of the search proxy device 300 sets all the search information as targets for the decryption determination process, and decrypts the search information individually using u decryption keys k * [c]. It is determined whether or not (step S9b). Specifically, the decoding determination unit 301 obtains information R [c] for all search information according to the equation (29) (decoding process), and R [c] = R 1 (1 ≦ c ≦ u) Success or failure is determined (determination process).
Figure 0005432736

変形例2では、1個の暗号情報に1個の検索用情報が添付されているものの、1個の検索用キーワードからu個の復号鍵k[c]を生成するため、復号判定処理の回数は上述の実施形態と比較して一つの暗号情報につきu倍になるが、論理和の使用により変数ベクトルの次元が階乗オーダーで大きくなってしまうことに比べ定数倍の処理の増加で済むので、論理和を使用する検索の場合において上述の実施形態と比較してメリットが大きい。 In Modification 2, although one piece of search information is attached to one piece of encrypted information, u pieces of decryption keys k * [c] are generated from one piece of search keyword. The number of times is u times for one piece of cipher information as compared with the above-described embodiment. However, the use of a logical sum makes the variable vector dimension larger in the factorial order, and the number of times of processing can be increased by a constant number. Therefore, in the case of a search using a logical sum, the merit is great compared to the above-described embodiment.

上述の実施形態と各変形例では、検索代行装置300は、複合判定処理において検索用情報と暗号情報との結びつきのみを把握できるだけなので、暗号情報の中身(情報M)や検索用キーワードSが何であるのかということが検索代行装置300に漏れることがない。   In the above-described embodiment and each modification, the search agent device 300 can only grasp the connection between the search information and the encryption information in the composite determination process, so what is the content of the encryption information (information M) and the search keyword S? It does not leak to the search agent device 300.

なお、上述の実施形態と各変形例では、暗号情報生成装置100と検索要求装置200を同一のエンティティとして実施することも可能である。この場合、上述の実施形態と各変形例において、暗号情報生成装置100を検索要求装置200に読み替えればよい。また、上述の実施形態と各変形例では、検索代行装置300と保管装置400を同一のエンティティとして実施することも可能である。この場合、上述の実施形態と各変形例において、保管装置400を検索代行装置300に読み替えればよい。これら両者の形態を組み合わせた変形例としてもよい。これらの場合、上述の実施形態と各変形例で説明した、暗号情報生成装置100と検索要求装置200との間の通信、検索代行装置300と保管装置400との間の通信がそれぞれ不要になる。   In addition, in the above-mentioned embodiment and each modification, it is also possible to implement the encryption information generation device 100 and the search request device 200 as the same entity. In this case, the encryption information generation device 100 may be replaced with the search request device 200 in the above-described embodiment and each modification. In the above-described embodiment and each modification, the search agent device 300 and the storage device 400 can be implemented as the same entity. In this case, the storage device 400 may be replaced with the search agent device 300 in the above-described embodiment and each modification. It is good also as a modification which combined these both forms. In these cases, the communication between the encryption information generation device 100 and the search request device 200 and the communication between the search proxy device 300 and the storage device 400 described in the above embodiment and each modification are not required. .

キーワード検索システムに含まれるハードウェアエンティティ(暗号情報生成装置、検索要求装置、検索代行装置、保管装置)は、キーボードなどが接続可能な入力部、液晶ディスプレイなどが接続可能な出力部、ハードウェアエンティティの外部に通信可能な通信装置(例えば通信ケーブル)が接続可能な通信部、CPU(Central Processing Unit)〔キャッシュメモリやレジスタなどを備えていてもよい。〕、メモリであるRAMやROM、ハードディスクである外部記憶装置並びにこれらの入力部、出力部、通信部、CPU、RAM、ROM、外部記憶装置の間のデータのやり取りが可能なように接続するバスを有している。また必要に応じて、ハードウェアエンティティに、CD−ROMなどの記録媒体を読み書きできる装置(ドライブ)などを設けるとしてもよい。このようなハードウェア資源を備えた物理的実体としては、汎用コンピュータなどがある。   Hardware entities (encryption information generation device, search request device, search proxy device, storage device) included in the keyword search system are an input unit to which a keyboard or the like can be connected, an output unit to which a liquid crystal display or the like can be connected, a hardware entity A communication unit to which a communication device (for example, a communication cable) that can communicate with the outside can be connected, a CPU (Central Processing Unit) [a cache memory, a register, or the like may be provided. ], A RAM or ROM that is a memory, an external storage device that is a hard disk, and a bus that connects the input unit, output unit, communication unit, CPU, RAM, ROM, and external storage device so that data can be exchanged have. If necessary, a hardware entity may be provided with a device (drive) that can read and write a recording medium such as a CD-ROM. A physical entity having such hardware resources includes a general-purpose computer.

ハードウェアエンティティの外部記憶装置には、上述の機能を実現するために必要となるプログラムおよびこのプログラムの処理において必要となるデータなどが記憶されている(外部記憶装置に限らず、例えばプログラムを読み出し専用記憶装置であるROMに記憶させておくなどでもよい。)。また、これらのプログラムの処理によって得られるデータなどは、RAMや外部記憶装置などに適宜に記憶される。上述の説明では、演算結果やその格納領域のアドレスなどを記憶するRAMやレジスタなどの記憶装置を単に「記憶部」とした。   The external storage device of the hardware entity stores a program necessary for realizing the above functions and data necessary for processing the program (not limited to the external storage device, for example, reading a program) It may be stored in a ROM that is a dedicated storage device.) Data obtained by the processing of these programs is appropriately stored in a RAM or an external storage device. In the above description, a storage device such as a RAM or a register that stores an operation result, an address of a storage area thereof, or the like is simply referred to as a “storage unit”.

ハードウェアエンティティでは、外部記憶装置〔あるいはROMなど〕に記憶された各プログラムとこの各プログラムの処理に必要なデータが必要に応じてメモリに読み込まれて、適宜にCPUで解釈実行・処理される。その結果、CPUが所定の機能(例えば、暗号情報生成部、検索用情報生成部、鍵生成部、復号部、復号判定部、制御部など)を実現する。   In the hardware entity, each program stored in an external storage device (or ROM, etc.) and data necessary for processing each program are read into a memory as necessary, and are interpreted and executed by a CPU as appropriate. . As a result, the CPU implements predetermined functions (for example, an encryption information generation unit, a search information generation unit, a key generation unit, a decryption unit, a decryption determination unit, and a control unit).

各実施形態で説明したハードウェアエンティティの細部においては、数論における数値計算処理が必要となる場合があるが、数論における数値計算処理自体は、周知技術と同様にして達成されるので、その演算処理方法などの詳細な説明は省略した(この点の技術水準を示す数論における数値計算処理が可能なソフトウェアとしては、例えばPARI/GP、KANT/KASHなどが挙げられる。PARI/GPについては、例えばインターネット〈URL: http://pari.math.u-bordeaux.fr/〉[平成22年1月13日検索]を参照のこと。KANT/KASHについては、例えばインターネット〈URL: http://www.math.tu-berlin.de/algebra/〉[平成22年1月13日検索]を参照のこと。)。
また、この点に関する文献として、参考文献Bを挙げることができる。
(参考文献B) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.
In the details of the hardware entity described in each embodiment, numerical calculation processing in number theory may be required, but numerical calculation processing in number theory itself is achieved in the same manner as in the well-known technique. A detailed description of the arithmetic processing method and the like has been omitted (software that can perform numerical calculation processing in number theory indicating the technical level of this point includes, for example, PARI / GP, KANT / KASH, etc. About PARI / GP For example, see the Internet <URL: http://pari.math.u-bordeaux.fr/> [searched on January 13, 2010] For KANT / KASH, for example, the Internet <URL: http: / /www.math.tu-berlin.de/algebra/> [Search January 13, 2010].)
Reference literature B can be cited as a literature regarding this point.
(Reference B) H. Cohen, "A Course in Computational Algebraic Number Theory", GTM 138, Springer-Verlag, 1993.

本発明は上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。また、上記実施形態において説明した処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されるとしてもよい。   The present invention is not limited to the above-described embodiment, and can be appropriately changed without departing from the spirit of the present invention. In addition, the processing described in the above embodiment may be executed not only in time series according to the order of description but also in parallel or individually as required by the processing capability of the apparatus that executes the processing. .

また、上記実施形態において説明したハードウェアエンティティにおける処理機能をコンピュータによって実現する場合、ハードウェアエンティティが有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記ハードウェアエンティティにおける処理機能がコンピュータ上で実現される。   Further, when the processing functions in the hardware entity described in the above embodiment are realized by a computer, the processing contents of the functions that the hardware entity should have are described by a program. Then, by executing this program on a computer, the processing functions in the hardware entity are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used. Specifically, for example, as a magnetic recording device, a hard disk device, a flexible disk, a magnetic tape or the like, and as an optical disk, a DVD (Digital Versatile Disc), a DVD-RAM (Random Access Memory), a CD-ROM (Compact Disc Read Only). Memory), CD-R (Recordable) / RW (ReWritable), etc., magneto-optical recording medium, MO (Magneto-Optical disc), etc., semiconductor memory, EEP-ROM (Electronically Erasable and Programmable-Read Only Memory), etc. Can be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、ハードウェアエンティティを構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, a hardware entity is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

Claims (10)

少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報C に対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報C には、当たりか否かを識別可能な情報R と、当該情報R を前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報R との組である検索用情報C =(R ,R )が添付されており、
前記検索要求装置は、
前記検索用キーワードを用いて、前記情報R を前記述語暗号方式により復号するための復号鍵k を生成する鍵生成部と、
前記復号鍵k を前記検索代行装置へ送信する送信部と
を含み、
前記検索代行装置は、
前記復号鍵k を受信する受信部と、
前記述語暗号方式に従って前記情報R を前記復号鍵k で復号し、得られた情報が前記情報R に一致するか否かを判定する復号判定部と
を含み、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数、r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)として、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられる
ことを特徴とするキーワード検索システム。
Including at least the search request unit and the search proxy device, a keyword search system that performs keyword search by the search keyword information to the encryption information C 1 obtained by encrypting containing the string,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ) , which is a set with the information R 2 obtained in this way, is attached,
The search request device includes:
Using the search keyword, a key generating unit for the information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission unit for transmitting the decryption key k * to the search agent device;
Including
The search agent device is:
A receiving unit for receiving the decryption key k * ;
Said decoding the information R 2 according to the predicate encryption scheme in the decryption key k *, obtained information is the information R decryption determining unit that determines whether to match a
Including
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number, and the i-th character of the registration keyword W of r characters is w i (1 ≦ 1). i ≦ r), the i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r),
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Keyword search system characterized by being given by.
少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報C に対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報C には、当たりか否かを識別可能な情報R と、当該情報R を前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報R との組である検索用情報C =(R ,R )が添付されており、
前記検索要求装置は、
前記検索用キーワードを用いて、前記情報R を前記述語暗号方式により復号するための復号鍵k を生成する鍵生成部と、
前記復号鍵k を前記検索代行装置へ送信する送信部と
を含み、
前記検索代行装置は、
前記復号鍵k を受信する受信部と、
前記述語暗号方式に従って前記情報R を前記復号鍵k で復号し、得られた情報が前記情報R に一致するか否かを判定する復号判定部と
を含み、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、
t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を前記文字列終端記号EDとして、
前記属性ベクトルは、r個の部分キーワードWに対応してr個生成され、
前記暗号情報Cには、当たりか否かを識別可能なr個の前記情報R(以下、R[i](1≦i≦r)とする)と、当該情報R[i]を前記部分キーワードWで暗号化して得られるr個の前記情報R(以下、R[i](1≦i≦r)とする)との組である前記検索用情報C(以下、C[i]=(R[i],R[i])(1≦i≦r)とする)が添付されており、
前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
前記復号判定部は、1≦i≦rの各iについて、前記情報R[i]を前記復号鍵kで復号し、得られた情報が前記情報R[i]に一致するか否かを判定する
ことを特徴とするキーワード検索システム。
Including at least the search request unit and the search proxy device, a keyword search system that performs keyword search by the search keyword information to the encryption information C 1 obtained by encrypting containing the string,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ) , which is a set with the information R 2 obtained in this way, is attached,
The search request device includes:
Using the search keyword, a key generating unit for the information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission unit for transmitting the decryption key k * to the search agent device;
Including
The search agent device is:
A receiving unit for receiving the decryption key k * ;
Said decoding the information R 2 according to the predicate encryption scheme in the decryption key k *, obtained information is the information R decryption determining unit that determines whether to match a
Including
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The i-th character of the registration keyword W of r characters is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the maximum non-null character subscript is max The (max + 1) -th character w max + 1 is the character string end symbol ED, the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... W r ‖null i , However, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j,
The i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum non-null character When the subscript is max, the (max + 1) th character s max + 1 is used as the character string end symbol ED.
The attribute vector is the r generated corresponding to the r partial keyword W i,
The encrypted information C 1 includes r pieces of information R 1 (hereinafter, R 1 [i] (1 ≦ i ≦ r)) that can be identified as hit or not, and the information R 1 [i]. The search information C 2 (hereinafter referred to as “R 2 [i] (1 ≦ i ≦ r)”) is obtained as a set of r pieces of information R 2 (hereinafter referred to as R 2 [i] (1 ≦ i ≦ r)) obtained by encrypting with the partial keyword W i. , C 2 [i] = (R 1 [i], R 2 [i]) (assuming 1 ≦ i ≦ r),
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Given in
The decryption determination unit decrypts the information R 2 [i] with the decryption key k * for each i of 1 ≦ i ≦ r, and whether the obtained information matches the information R 1 [i]. A keyword search system characterized by determining whether or not.
少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報C に対して検索用キーワードによりキーワード検索を行うキーワード検索システムであって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報C には、当たりか否かを識別可能な情報R と、当該情報R を前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報R との組である検索用情報C =(R ,R )が添付されており、
前記検索要求装置は、
前記検索用キーワードを用いて、前記情報R を前記述語暗号方式により復号するための復号鍵k を生成する鍵生成部と、
前記復号鍵k を前記検索代行装置へ送信する送信部と
を含み、
前記検索代行装置は、
前記復号鍵k を受信する受信部と、
前記述語暗号方式に従って前記情報R を前記復号鍵k で復号し、得られた情報が前記情報R に一致するか否かを判定する復号判定部と
を含み、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
r文字の前記登録用キーワードWのi文字目の文字をw(1≦i≦r)、ただし、1文字目wを文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目wmax+1を文字列終端記号EDとし、部分キーワードW(1≦i≦r)をW=wi+1…w‖nullとし、ただし、nullはi−1個のnullを表し、Wのj番目の文字をwi,jと表すこととし、
t文字の前記検索用キーワードSのi文字目の文字をs(1≦i≦t≦r)とし、ただし、1文字目sを前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目smax+1を前記文字列終端記号EDとして、
前記述語多項式は検索方式に依存して決定され、rdi,j(1≦i,j≦r)を乱数とし、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、u個(u=r−t+2)の述語多項式
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、u個(u=r−t+3)の述語多項式
Figure 0005432736

で与えられ、
前記復号鍵kは、u個の述語多項式に対応してu個生成され(以下、これをk[c](1≦c≦u)とする)、
前記復号判定部は、1≦c≦uの各cについて、前記情報Rを前記復号鍵k[c]で復号し、得られた情報が前記情報Rに一致するか否かを判定する
ことを特徴とするキーワード検索システム。
Including at least the search request unit and the search proxy device, a keyword search system that performs keyword search by the search keyword information to the encryption information C 1 obtained by encrypting containing the string,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ) , which is a set with the information R 2 obtained in this way, is attached,
The search request device includes:
Using the search keyword, a key generating unit for the information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission unit for transmitting the decryption key k * to the search agent device;
Including
The search agent device is:
A receiving unit for receiving the decryption key k * ;
Said decoding the information R 2 according to the predicate encryption scheme in the decryption key k *, obtained information is the information R decryption determining unit that determines whether to match a
Including
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The i-th character of the registration keyword W of r characters is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the maximum non-null character subscript is max The (max + 1) -th character w max + 1 is the character string end symbol ED, the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... W r ‖null i , However, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j,
The i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum non-null character When the subscript is max, the (max + 1) th character s max + 1 is used as the character string end symbol ED.
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is a perfect match search method, the predescription polynomial is u (u = 1) predicate polynomials.
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix match search method, the predescription polynomial is u predicate polynomials (u = 1)
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is u (u = rt−2) predicate polynomials.
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is u (u = rt−3) predicate polynomials.
Figure 0005432736

Given in
The u decryption keys k * are generated corresponding to u predicate polynomials (hereinafter referred to as k * [c] (1 ≦ c ≦ u)),
The decoding judgment unit determines for each c of 1 ≦ c ≦ u, decoding the information R 2 in the decryption key k * [c], whether information obtained matches the information R 1 A keyword search system characterized by
少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
前記検索要求装置の鍵生成部が、前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、
前記検索要求装置の送信部が、前記復号鍵kを前記検索代行装置へ送信する送信ステップと、
前記検索代行装置の受信部が、前記復号鍵kを受信する受信ステップと、
前記検索代行装置の復号判定部が、前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定ステップと
を有し、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
前記述語多項式は検索方式に依存して決定され、rd i,j (1≦i,j≦r)を乱数、r文字の前記登録用キーワードWのi文字目の文字をw (1≦i≦r)、t文字の前記検索用キーワードSのi文字目の文字をs (1≦i≦t≦r)として、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられる
ことを特徴とするキーワード検索方法。
Including at least the search request unit and the search proxy device, a keyword search system definitive keyword search method of performing a keyword search by the search keyword information including string for encryption information C 1 obtained by encrypting,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained in this way, is attached,
The key generation portion of the search request apparatus, using the search keyword, a key generating step for said information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission step in which the transmission unit of the search requesting device transmits the decryption key k * to the search agent device;
A receiving step in which a receiving unit of the search agent device receives the decryption key k * ;
A decryption determination unit that decrypts the information R 2 with the decryption key k * according to a pre-description encryption scheme and determines whether the obtained information matches the information R 1 And having steps
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number, and the i-th character of the registration keyword W of r characters is w i (1 ≦ 1). i ≦ r), the i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r),
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Given in
A keyword search method characterized by that .
少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
前記検索要求装置の鍵生成部が、前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、
前記検索要求装置の送信部が、前記復号鍵kを前記検索代行装置へ送信する送信ステップと、
前記検索代行装置の受信部が、前記復号鍵kを受信する受信ステップと、
前記検索代行装置の復号判定部が、前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定ステップと
を有し、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
r文字の前記登録用キーワードWのi文字目の文字をw (1≦i≦r)、ただし、1文字目w を文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目w max+1 を文字列終端記号EDとし、部分キーワードW (1≦i≦r)をW =w i+1 …w ‖null とし、ただし、null はi−1個のnullを表し、W のj番目の文字をw i,j と表すこととし、
t文字の前記検索用キーワードSのi文字目の文字をs (1≦i≦t≦r)とし、ただし、1文字目s を前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目s max+1 を前記文字列終端記号EDとして、
前記属性ベクトルは、r個の部分キーワードW に対応してr個生成され、
前記暗号情報C には、当たりか否かを識別可能なr個の前記情報R (以下、R [i](1≦i≦r)とする)と、当該情報R [i]を前記部分キーワードW で暗号化して得られるr個の前記情報R (以下、R [i](1≦i≦r)とする)との組である前記検索用情報C (以下、C [i]=(R [i],R [i])(1≦i≦r)とする)が添付されており、
前記述語多項式は検索方式に依存して決定され、rd i,j (1≦i,j≦r)を乱数とし、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
前記復号判定ステップでは、前記復号判定部が、1≦i≦rの各iについて、前記情報R [i]を前記復号鍵k で復号し、得られた情報が前記情報R [i]に一致するか否かを判定する
ことを特徴とするキーワード検索方法。
Including at least the search request unit and the search proxy device, a keyword search system definitive keyword search method of performing a keyword search by the search keyword information including string for encryption information C 1 obtained by encrypting,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained in this way, is attached,
The key generation portion of the search request apparatus, using the search keyword, a key generating step for said information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission step in which the transmission unit of the search requesting device transmits the decryption key k * to the search agent device;
A receiving step in which a receiving unit of the search agent device receives the decryption key k * ;
A decryption determination unit that decrypts the information R 2 with the decryption key k * according to a pre-description encryption scheme and determines whether the obtained information matches the information R 1 And having steps
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The i-th character of the registration keyword W of r characters is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the maximum non-null character subscript is max The (max + 1) -th character w max + 1 is the character string end symbol ED, the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... W r ‖null i , However, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j,
The i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum non-null character When the subscript is max, the (max + 1) th character s max + 1 is used as the character string end symbol ED.
The attribute vector is the r generated corresponding to the r partial keyword W i,
The encrypted information C 1 includes r pieces of information R 1 (hereinafter, R 1 [i] (1 ≦ i ≦ r)) that can be identified as hit or not, and the information R 1 [i]. The search information C 2 (hereinafter referred to as R 2 [i] (1 ≦ i ≦ r)”) is obtained as a set of r pieces of information R 2 (hereinafter referred to as R 2 [i] (1 ≦ i ≦ r)) obtained by encrypting with the partial keyword W i. , C 2 [i] = (R 1 [i], R 2 [i]) (assuming 1 ≦ i ≦ r),
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Given in
In the decryption determination step, the decryption determination unit decrypts the information R 2 [i] with the decryption key k * for each i of 1 ≦ i ≦ r, and the obtained information is the information R 1 [i ] To match
A keyword search method characterized by that .
少なくとも検索要求装置と検索代行装置を含み、文字列を含む情報を暗号化して得られた暗号情報Cに対して検索用キーワードによりキーワード検索を行うキーワード検索システムおけるキーワード検索方法であって、
検索対象となるキーワードを登録用キーワードとして、前記暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
前記検索要求装置の鍵生成部が、前記検索用キーワードを用いて、前記情報Rを前記述語暗号方式により復号するための復号鍵kを生成する鍵生成ステップと、
前記検索要求装置の送信部が、前記復号鍵kを前記検索代行装置へ送信する送信ステップと、
前記検索代行装置の受信部が、前記復号鍵kを受信する受信ステップと、
前記検索代行装置の復号判定部が、前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定ステップと
を有し、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
r文字の前記登録用キーワードWのi文字目の文字をw (1≦i≦r)、ただし、1文字目w を文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目w max+1 を文字列終端記号EDとし、部分キーワードW (1≦i≦r)をW =w i+1 …w ‖null とし、ただし、null はi−1個のnullを表し、W のj番目の文字をw i,j と表すこととし、
t文字の前記検索用キーワードSのi文字目の文字をs (1≦i≦t≦r)とし、ただし、1文字目s を前記文字列開始記号STとし、nullでない文字の最大の添え字をmaxとしたときに(max+1)文字目s max+1 を前記文字列終端記号EDとして、
前記述語多項式は検索方式に依存して決定され、rd i,j (1≦i,j≦r)を乱数とし、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、u個(u=1)の述語多項式
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、u個(u=r−t+2)の述語多項式
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、u個(u=r−t+3)の述語多項式
Figure 0005432736

で与えられ、
前記復号鍵k は、u個の述語多項式に対応してu個生成され(以下、これをk [c](1≦c≦u)とする)、
前記復号判定ステップでは、前記復号判定部が、1≦c≦uの各cについて、前記情報R を前記復号鍵k [c]で復号し、得られた情報が前記情報R に一致するか否かを判定する
ことを特徴とするキーワード検索方法。
Including at least the search request unit and the search proxy device, a keyword search system definitive keyword search method of performing a keyword search by the search keyword information including string for encryption information C 1 obtained by encrypting,
Using the keyword to be searched as a registration keyword, the encryption information C 1 is encrypted with information R 1 that can be identified as hit or not, and the information R 1 is encrypted by the predicate encryption method using the registration keyword. The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained in this way, is attached,
The key generation portion of the search request apparatus, using the search keyword, a key generating step for said information R 2 to generate a decryption key k * for decrypting by said predicate encryption scheme,
A transmission step in which the transmission unit of the search requesting device transmits the decryption key k * to the search agent device;
A receiving step in which a receiving unit of the search agent device receives the decryption key k * ;
A decryption determination unit that decrypts the information R 2 with the decryption key k * according to a pre-description encryption scheme and determines whether the obtained information matches the information R 1 And having steps
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
The decryption key k * is generated from a predicate of a pre-description encryption method generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The i-th character of the registration keyword W of r characters is w i (1 ≦ i ≦ r), where the first character w 1 is the character string start symbol ST and the maximum non-null character subscript is max The (max + 1) -th character w max + 1 is the character string end symbol ED, the partial keyword W i (1 ≦ i ≦ r) is W i = w i w i + 1 ... W r ‖null i , However, null i represents the i-1 pieces of null, the j-th character of W i and be represented as w i, j,
The i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r), where the first character s 1 is the character string start symbol ST, and the maximum non-null character When the subscript is max, the (max + 1) th character s max + 1 is used as the character string end symbol ED.
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number,
<< 1 >> When the search method is a perfect match search method, the predescription polynomial is u (u = 1) predicate polynomials.
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix match search method, the predescription polynomial is u predicate polynomials (u = 1)
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is u (u = rt−2) predicate polynomials.
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is u (u = rt−3) predicate polynomials.
Figure 0005432736

Given in
The u decryption keys k * are generated corresponding to u predicate polynomials (hereinafter referred to as k * [c] (1 ≦ c ≦ u)),
In the decryption determination step, the decryption determination unit decrypts the information R 2 with the decryption key k * [c] for each c of 1 ≦ c ≦ u, and the obtained information matches the information R 1 Determine whether to
A keyword search method characterized by that .
検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
キーワード検索は、検索用キーワードによって前記暗号情報C に対して行われ、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記情報R を前記述語暗号方式により復号するための復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
前記述語多項式は検索方式に依存して決定され、rd i,j (1≦i,j≦r)を乱数、r文字の前記登録用キーワードWのi文字目の文字をw (1≦i≦r)、t文字の前記検索用キーワードSのi文字目の文字をs (1≦i≦t≦r)として、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
少なくとも検索要求装置と検索代行装置を含むキーワード検索システム
に含まれる前記検索要求装置であって、
記復号鍵kを生成する鍵生成部と、
前記復号鍵kを前記検索代行装置へ送信する送信部と
を含む検索要求装置。
The encryption information C 1 obtained by encrypting the information including the character string using the keyword to be searched as a registration keyword is used to register the information R 1 that can identify whether or not it is hit and the information R 1. The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained by encrypting with the predicate encryption method using the keyword for the search, is attached.
A keyword search is performed on the cipher information C 1 using a search keyword ,
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
Said information wherein the R 2 predicate encryption scheme decryption key for decrypting the k * is generated from the predicate prior written word encryption scheme that is generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number, and the i-th character of the registration keyword W of r characters is w i (1 ≦ 1). i ≦ r), the i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r),
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Given in
At least retrieval request device a search proxy device an the search request unit included in the free inorganic keyword search system,
And a key generation unit for generating a pre-Kifuku No. key k *,
A search requesting device including a transmitting unit that transmits the decryption key k * to the search agent device.
検索対象となるキーワードを登録用キーワードとして、文字列を含む情報を暗号化して得られた暗号情報Cには、当たりか否かを識別可能な情報Rと、当該情報Rを前記登録用キーワードを用いて述語暗号方式により暗号化して得られる情報Rとの組である検索用情報C=(R,R)が添付されており、
キーワード検索は、検索用キーワードによって前記暗号情報C に対して行われ、
前記情報R は、前記登録用キーワードから生成される前記述語暗号方式の属性で前記情報R を暗号化して得られ、
前記情報R を前記述語暗号方式により復号するための復号鍵k は、前記検索用キーワードから生成される前記述語暗号方式の述語から生成され、
前記述語暗号方式は、属性ベクトルと述語ベクトルとの標準内積により述語論理の真偽が与えられる内積型述語暗号方式であり、
前記属性は、前記登録用キーワードの最大文字数をrとして、前記述語論理に最大d−1回の論理和が許される場合に、r個の属性変数X ,…,X からなる次数d以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX r,d に前記登録用キーワードに含まれる文字を設定して得られる属性ベクトルであり、
前記述語は、述語論理を前記属性変数と前記検索用キーワードに含まれる文字を用いて多項式で表現した述語多項式の係数を、前記変数ベクトルX r,d の成分に対応する順に並べたものを成分として持つ述語ベクトルであり、
前記述語多項式は検索方式に依存して決定され、rd i,j (1≦i,j≦r)を乱数、r文字の前記登録用キーワードWのi文字目の文字をw (1≦i≦r)、t文字の前記検索用キーワードSのi文字目の文字をs (1≦i≦t≦r)として、
《1》前記検索方式が完全一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《2》前記検索方式が前方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《3》前記検索方式が後方一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
《4》前記検索方式が部分一致検索方式である場合、前記述語多項式は、
Figure 0005432736

で与えられ、
少なくとも検索要求装置と検索代行装置を含むキーワード検索システム
に含まれる前記検索代行装置であって、
記復号鍵kを、前記検索要求装置から受信する受信部と、
前記述語暗号方式に従って前記情報Rを前記復号鍵kで復号し、得られた情報が前記情報Rに一致するか否かを判定する復号判定部と
を含む検索代行装置。
The encryption information C 1 obtained by encrypting the information including the character string using the keyword to be searched as a registration keyword is used to register the information R 1 that can identify whether or not it is hit and the information R 1. The search information C 2 = (R 1 , R 2 ), which is a set with the information R 2 obtained by encrypting with the predicate encryption method using the keyword for the search, is attached.
A keyword search is performed on the cipher information C 1 using a search keyword ,
The information R 2 is obtained by encrypting the information R 1 with the attribute of the pre-description encryption method generated from the registration keyword ,
Said information wherein the R 2 predicate encryption scheme decryption key for decrypting the k * is generated from the predicate prior written word encryption scheme that is generated from the search keyword,
The predicate encryption method is an inner product type predicate encryption method in which the true / false of the predicate logic is given by the standard inner product of the attribute vector and the predicate vector,
The attribute is a degree d composed of r attribute variables X 1 ,..., X r when the maximum number of characters of the registration keyword is r and a maximum of d−1 logical sums is allowed in the previous description word logic. An attribute vector obtained by setting a character included in the registration keyword in a variable vector X r, d having each component in the order in which all of the following monomials are arranged in a lexicographic order :
The predescript word is obtained by arranging predicate polynomial coefficients in which predicate logic is expressed by a polynomial expression using the attribute variable and the character included in the search keyword in the order corresponding to the components of the variable vector Xr, d. A predicate vector with components,
The predescriptor polynomial is determined depending on the search method, rd i, j (1 ≦ i, j ≦ r) is a random number, and the i-th character of the registration keyword W of r characters is w i (1 ≦ 1). i ≦ r), the i-th character of the search keyword S of t characters is s i (1 ≦ i ≦ t ≦ r),
<< 1 >> When the search method is a perfect match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 2 >> When the search method is a prefix search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 3 >> When the search method is a backward match search method, the predescriptor polynomial is
Figure 0005432736

Given in
<< 4 >> When the search method is a partial match search method, the predescriptor polynomial is
Figure 0005432736

Given in
At least retrieval request device a search proxy device an the search proxy device included in the free inorganic keyword search system,
A receiving unit for the front Kifuku No. key k *, receiving from the search request device,
It said predicate encryption method said information R 2 is decrypted by the decryption key k * accordingly search proxy device including a resulting information is the information R decryption determining unit that determines whether matching 1.
請求項に記載の検索要求装置として、または、請求項に記載の検索代行装置として、コンピュータを機能させるためのプログラム。 A program for causing a computer to function as the search request device according to claim 7 or the search agent device according to claim 8 . 請求項に記載のプログラムを記録した、コンピュータに読み取り可能な記録媒体。 A computer-readable recording medium on which the program according to claim 9 is recorded.
JP2010008241A 2010-01-18 2010-01-18 Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium Active JP5432736B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010008241A JP5432736B2 (en) 2010-01-18 2010-01-18 Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010008241A JP5432736B2 (en) 2010-01-18 2010-01-18 Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium

Publications (2)

Publication Number Publication Date
JP2011147074A JP2011147074A (en) 2011-07-28
JP5432736B2 true JP5432736B2 (en) 2014-03-05

Family

ID=44461500

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010008241A Active JP5432736B2 (en) 2010-01-18 2010-01-18 Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium

Country Status (1)

Country Link
JP (1) JP5432736B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5667969B2 (en) * 2011-12-22 2015-02-12 株式会社日立製作所 Search processing system and partial match search method
EP2808803B1 (en) 2012-01-25 2017-03-01 Mitsubishi Electric Corporation Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device
JP5670365B2 (en) * 2012-01-26 2015-02-18 日本電信電話株式会社 Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program
US20150033032A1 (en) 2012-03-29 2015-01-29 Nec Corporation Encrypted database system, client terminal, database server, data linking method and program
EP2933732A4 (en) 2012-12-12 2016-07-27 Nec Corp Database search device, database search method, and program
JP2014119486A (en) 2012-12-13 2014-06-30 Hitachi Solutions Ltd Secret retrieval processing system, secret retrieval processing method, and secret retrieval processing program
US10235539B2 (en) 2013-02-25 2019-03-19 Mitsubishi Electric Corporation Server device, recording medium, and concealed search system
EP3373504B1 (en) 2016-01-18 2019-09-11 Mitsubishi Electric Corporation Encryption device, retrieval device, encryption program, retrieval program, encryption method, and retrieval method
EP3605505B1 (en) * 2017-05-18 2021-08-25 Mitsubishi Electric Corporation Search device, tag generator, query generator, secret search system, search program, tag generation program, and query generation program
JP6362811B1 (en) * 2017-09-12 2018-07-25 三菱電機株式会社 Registration terminal, key server, search system, registration program

Also Published As

Publication number Publication date
JP2011147074A (en) 2011-07-28

Similar Documents

Publication Publication Date Title
JP5432736B2 (en) Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium
JP5985123B1 (en) Secret search system, management device, secret search method, and secret search program
Boneh et al. Private database queries using somewhat homomorphic encryption
JP5422053B2 (en) Encryption system, encryption communication method, encryption device, key generation device, decryption device, content server device, program, storage medium
JP6180177B2 (en) Encrypted data inquiry method and system capable of protecting privacy
WO2010123122A1 (en) Cryptogram system, cryptogram communication method, encrypting device, key generating device, decrypting device, content server device, programs, and storage medium
WO2013111284A1 (en) Data search device, data search method, data search program, data registration device, data registration method, data registration program and information processing device
US20090138698A1 (en) Method of searching encrypted data using inner product operation and terminal and server therefor
JP6770075B2 (en) Encrypted message search method, message sending / receiving system, terminal, program
JP5670365B2 (en) Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program
CN102187617B (en) cryptographic system
JP2024512110A (en) Data transmission methods, devices, electronic devices and storage media
CN115795514A (en) Private information retrieval method, device and system
JP2007114494A (en) Secrecy computing method and device
US8594329B2 (en) Non-interactive verifiable, delegated computation
JP2010160235A (en) Retrieval system, terminal device, database device, retrieval method, and program
JP5667969B2 (en) Search processing system and partial match search method
CN108920968B (en) File searchable encryption method based on connection keywords
KR100951034B1 (en) Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that
Sudo et al. An efficient private evaluation of a decision graph
JP5713947B2 (en) Proxy encryption system, proxy encryption method, consignment device, proxy device
JP4685621B2 (en) Key generation apparatus, encryption apparatus, decryption apparatus, multiplicative knapsack cryptosystem, multiplicative knapsack cipher decryption method and program
Youn et al. Design of additive homomorphic encryption with multiple message spaces for secure and practical storage services over encrypted data
JP2007295444A (en) Anonymous cipher text communication system, key generation device, communication apparatus, methods thereof, program and recording medium
JP2013105065A (en) Security system, encryption device, decryption device, re-encryption device, obfuscation device, method thereof, and program

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20110624

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130830

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130910

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131107

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131206

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5432736

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350