Nothing Special   »   [go: up one dir, main page]

JP4199753B2 - On-demand search method, on-demand search system and terminal - Google Patents

On-demand search method, on-demand search system and terminal Download PDF

Info

Publication number
JP4199753B2
JP4199753B2 JP2005191661A JP2005191661A JP4199753B2 JP 4199753 B2 JP4199753 B2 JP 4199753B2 JP 2005191661 A JP2005191661 A JP 2005191661A JP 2005191661 A JP2005191661 A JP 2005191661A JP 4199753 B2 JP4199753 B2 JP 4199753B2
Authority
JP
Japan
Prior art keywords
keyword search
keyword
random number
providing terminal
search output
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
JP2005191661A
Other languages
Japanese (ja)
Other versions
JP2007013564A (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.)
NEC Solutions Innovators Ltd
Original Assignee
NEC Solutions Innovators Ltd
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 NEC Solutions Innovators Ltd filed Critical NEC Solutions Innovators Ltd
Priority to JP2005191661A priority Critical patent/JP4199753B2/en
Publication of JP2007013564A publication Critical patent/JP2007013564A/en
Application granted granted Critical
Publication of JP4199753B2 publication Critical patent/JP4199753B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Storage Device Security (AREA)

Description

本発明は、複数のキーワードに夫々対応する複数のコンテンツを保有する情報提供者に、利用者が任意に選択したキーワードを知られることなく、その選択したキーワードに関連付けされたコンテンツを得ることができるオンデマンド検索方法及びシステムに関する。   The present invention can obtain the content associated with the selected keyword without the information provider holding the plurality of contents corresponding to the plurality of keywords being made aware of the keyword arbitrarily selected by the user. The present invention relates to an on-demand search method and system.

近年、インターネットを介してのオンデマンド検索システムが相次いで実現されている。オンデマンド検索システムは、利用端末からキーワードを入力すると、提供端末からキーワードに関連付けされた情報が提供されるシステムである。   In recent years, on-demand search systems via the Internet have been realized one after another. The on-demand search system is a system in which information associated with a keyword is provided from a providing terminal when a keyword is input from a use terminal.

オンデマンド検索システムは、オープンなインターネットを利用するために、利用者が入力したキーワード(例えば、購入情報)を秘匿するなど、プライバシの保証が求められる。そこで、プライバシの保証に対応するための技術として提案されたのが、オブリヴィアス キーワード サーチ(Oblivious Keyword Search,以下、OKS)である。   The on-demand search system requires privacy guarantee such as concealing a keyword (for example, purchase information) input by a user in order to use the open Internet. Therefore, the Oblivious Keyword Search (hereinafter referred to as “OKS”) has been proposed as a technique for dealing with the guarantee of privacy.

OKSとは、情報提供者と利用者の間で行われる以下のような2パーティプロトコルである。情報提供者は、情報(ここではn個のコンテンツとする。)を夫々キーワードに関連付けし、暗号化して管理する。また、情報提供者は、利用者に対してn個のキーワードw(i:1,・・・,n)を与える。利用者は情報提供者から与えられたn個のキーワードw(i:1,・・・,n)の中から任意のキーワードwを選択し、そのキーワードwが情報提供者に知られない状態にし(即ち、暗号化し)質問データとして情報提供者へ送る。情報提供者は、利用者からのキーワードwを含む質問データに、コンテンツの暗号化に使用した暗号鍵を用いた処理を加え、利用者に暗号鍵を知られることがない状態にし応答データとして送り返す。情報提供者から利用者に送り返された応答データには、利用者自身が選択したキーワードwと、コンテンツの暗号化に利用された暗号鍵とが含まれる。それゆえ、利用者は受け取った応答データを用いて、情報提供者により管理されている暗号化されたコンテンツを処理することにより、選択したキーワードwに関連付けられたコンテンツのみを正しく復号することができる。 OKS is a following two-party protocol performed between an information provider and a user. The information provider associates information (here, n contents) with each keyword, and manages the information by encrypting it. The information provider gives n keywords w i (i: 1,..., N) to the user. The user selects an arbitrary keyword w * from n keywords w i (i: 1,..., N) given by the information provider, and the keyword w * is known to the information provider. The data is sent to the information provider as question data. The information provider adds the processing using the encryption key used to encrypt the content to the question data including the keyword w * from the user so that the encryption key used by the user is not known, and as response data Send back. The response data sent back from the information provider to the user includes the keyword w * selected by the user himself and the encryption key used for encrypting the content. Therefore, the user can correctly decrypt only the content associated with the selected keyword w * by processing the encrypted content managed by the information provider using the received response data. it can.

以上のようにして、OKSでは、利用者は、選択したキーワードwを情報提供者に知られることなく、キーワードwに関連付けられた情報を得ることができる。また、利用者は、自ら選択した任意のキーワードw以外の他のキーワードに関連付けられた情報を得ることができない。 As described above, in OKS, the user can obtain information associated with the keyword w * without knowing the selected keyword w * by the information provider. Further, the user cannot obtain information associated with other keywords other than the arbitrary keyword w * selected by the user.

OKSの従来方式としては、尾形、黒澤によるRSAブラインド署名方式に基づいたOKSがある(非特許文献1参照。)。   As a conventional OKS system, there is OKS based on the RSA blind signature system by Ogata and Kurosawa (see Non-Patent Document 1).

以下、RSAブラインド署名方式に基づいたOKSについて詳細に説明する。   Hereinafter, OKS based on the RSA blind signature scheme will be described in detail.

step1.
予め、情報提供者側において、キーワードw(i:1,・・・,n)とそれに夫々対応するコンテンツcがデータベースに格納されているとする。
step1.
Assume that on the information provider side, keywords w i (i: 1,..., N) and contents c i corresponding thereto are stored in the database in advance.

まず、情報提供者は、RSA署名の公開鍵(N,e)と秘密鍵(d)を生成し、i=1からnについて、下式によりKを計算し、さらにEを計算する。 First, the information provider generates a public key (N, e) and a secret key (d) for an RSA signature, calculates K i according to the following equation for i = 1 to n, and further calculates E i .

=H(w mod N
=G(w‖K‖i) XOR (0‖c
ここで、H()は暗号学的に安全なハッシュ関数(SHA1など)、G()は擬似乱数生成器、‖はビット列の結合、XORはビット列の排他的論理和、0は連続するl(エル)個の“0”ビット列である。
K i = H (w i ) d mod N
E i = G (w i ‖K i ‖i) XOR (0 l ‖c i )
Here, H () is a cryptographically secure hash function (such as SHA1), G () is a pseudo random number generator, ‖ is a combination of bit strings, XOR is an exclusive OR of bit strings, and 0 l is a continuous l (L) A number of “0” bit strings.

情報提供者は、公開鍵と求めたEとの組である(N,e,E,・・・,E)を利用者に配布する。 The information provider distributes (N, e, E 1 ,..., E n ), which is a set of the public key and the obtained E i , to the users.

step2.
利用者はキーワードw(w〜wのいずれか)について検索したいとする。利用者は、乱数rを選び、
Y=r・H(w) mod N
を計算し、求めたYを情報提供者に送る。
step2.
The user will want to search for (one of the w 1 ~w n) keyword w *. The user selects a random number r,
Y = r e · H (w * ) mod N
And Y obtained is sent to the information provider.

step3.
情報提供者は利用者からYを受け取り、RSA署名の秘密鍵dを用いて、
K′=Y mod N
を計算し、求めたK′を利用者に送る。
step3.
The information provider receives Y from the user, uses the RSA signature private key d,
K ′ = Y d mod N
And the obtained K ′ is sent to the user.

step4.
利用者は情報提供者からK′を受け取り、乱数rを用いて、
K=K′/r mod N
を計算する。それから利用者は、i=1からnまでの全てについて、
‖b=E XOR G(w‖K‖i)
を計算する。ここで、aは始めのl(エル)ビットで、bは残りの文字列である。
step4.
The user receives K ′ from the information provider and uses the random number r,
K = K '/ r mod N
Calculate Then the user can do everything from i = 1 to n.
a i ‖b i = E i XOR G (w i ‖K‖i)
Calculate Here, a i is the first l bit and b i is the remaining character string.

step5.
=0であるとき、即ち先頭から“0”ビットがl(エル)個連続するとき、キーワードwがwと一致するとみなす。このとき、キーワードwに対応するコンテンツcは、bとして得られる。
step5.
when it is a i = 0 l, that is from the beginning "0" when the bit is l (el) pieces continuous, regarded as keyword w i matches the w *. In this case, the content c i corresponding to the keyword w *, obtained as b i.

以上のようにして、利用者は自ら選択した任意のキーワードwを情報提供者に知られることなく、キーワードwに関連付けされた情報を入手できるので、利用者のプライバシが保証される。また、利用者は自ら選択した任意のキーワードwに関連付けされた情報しか入手できないので、情報提供者の利益が保証される。 As described above, since the user can obtain the information associated with the keyword w * without the information provider knowing the arbitrary keyword w * selected by the user, the privacy of the user is guaranteed. Further, since the user can only obtain information associated with an arbitrary keyword w * selected by himself / herself, the profit of the information provider is guaranteed.

尾形わかは,黒澤馨、「オブリヴィアス キーワード サーチ(Oblivious keyword search)」、ジャーナル オブ コンプレクシティ(Journal of Complexity)、2004、vol.20、pp.356−371)Waka Ogata, Satoshi Kurosawa, “Oblivious keyword search”, Journal of Complexity, 2004, vol. 20, pp. 356-371)

従来のオンデマンド検索システムにおいて利用者のプライバシを保護する方式は、RSA署名方式に基づいており、RSA署名方式の安全性を考慮すると、鍵長サイズを1024ビット以上に大きく設定する必要がある。その結果、情報提供者と利用者との間の通信量が大きくなってしまい、効率面に難がある。   In a conventional on-demand search system, a method for protecting the privacy of a user is based on the RSA signature method, and considering the security of the RSA signature method, it is necessary to set the key length size to 1024 bits or more. As a result, the amount of communication between the information provider and the user increases, which is difficult in terms of efficiency.

そこで、本発明は、情報提供者と利用者の間のOKSでやりとりするデータの通信量を削減し、さらに情報提供者が手順とおりに正しく行われているかを検証可能なオンデマンド検索システムを提供することを目的とする。   Therefore, the present invention provides an on-demand search system that can reduce the amount of data exchanged between the information provider and the user by OKS, and can verify whether the information provider is correctly performing according to the procedure. The purpose is to do.

本発明によれば、データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化して暗号化コンテンツを提供する提供端末と、前記暗号化コンテンツを復号して利用するための利用端末とをネットワークを介して接続したオンデマンド検索システムを利用するオンデマンド検索方法であって、前記提供端末が、第一の乱数を生成するステップと、前記提供端末が、前記第一の乱数を用いて公開情報を生成するステップと、前記提供端末が、前記データベースに格納されているキーワードと、そのキーワードに1対1で対応するコンテンツと、前記第一の乱数と、第一のハッシュ関数と、第二のハッシュ関数とを用いて、前記暗号化コンテンツを生成するステップと、前記提供端末が、前記公開情報と、前記暗号化コンテンツとを記録媒体に記録するステップと、前記記録媒体を利用端末に配布するステップと、前記利用端末が、第二の乱数を生成するステップと、前記利用端末が、前記第二の乱数と、アーベル群の生成元と、前記第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換してキーワード検索入力を生成するステップと、前記利用端末が、前記キーワード検索入力をネットワークを介して前記提供端末に送信するステップと、前記提供端末が、前記キーワード検索入力を受信するステップと、前記提供端末が、前記キーワード検索入力と、前記第一の乱数とを用いて、第一のキーワード検索出力を生成するステップと、前記提供端末が、前記第一のキーワード検索出力をネットワークを介して前記利用端末に送信するステップと、前記利用端末が、前記第一のキーワード検索出力を受信するステップと、前記利用端末が、前記記録媒体に記録された前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証するステップと、前記利用端末が、正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成するステップと、前記利用端末が、前記第二のキーワード検索出力と、前記記録媒体に記録された前記暗号化コンテンツと、前記第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るステップと、を備えることを特徴とするオンデマンド検索方法が得られる。   According to the present invention, a providing terminal for providing encrypted content by encrypting content corresponding to a keyword stored in a database on a one-to-one basis, and a use terminal for decrypting and using the encrypted content, On-demand search method using an on-demand search system connected via a network, wherein the providing terminal generates a first random number, and the providing terminal uses the first random number Generating public information, the providing terminal, a keyword stored in the database, content corresponding to the keyword on a one-to-one basis, the first random number, a first hash function, a first Generating the encrypted content using a second hash function, and the providing terminal comprising the public information, the encrypted content, Are recorded on a recording medium, the recording medium is distributed to a user terminal, the user terminal generates a second random number, the user terminal receives the second random number, and Abel Using a group generator and the first hash function, converting an arbitrarily selected keyword into a form not known to the providing terminal to generate a keyword search input, and the using terminal, Transmitting the keyword search input to the providing terminal via a network; receiving the keyword search input by the providing terminal; and providing the keyword search input; and the first random number; And generating the first keyword search output using the network, and the providing terminal outputs the first keyword search output via the network. Transmitting to the terminal; receiving the first keyword search output; using the public information recorded on the recording medium; the keyword search input; and the abel Verifying the validity of the first keyword search output using a group generator and a verification formula using the nature of the pairing operation, and the use terminal is considered valid Generating a second keyword search output using the first keyword search output, the public information, and the second random number; and the user terminal, the second keyword search output, Using the encrypted content recorded on the recording medium, the second hash function, and the arbitrarily selected keyword, the arbitrarily selected keyword is 1: 1. And obtaining a corresponding content with the on-demand search method.

また、本発明によれば、データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化して暗号化コンテンツを提供する提供端末と、前記暗号化コンテンツを復号して利用するための利用端末とをネットワークを介して接続したオンデマンド検索システムであって、前記提供端末は、第一の乱数を生成する第一の乱数生成手段と、前記第一の乱数を用いて公開情報を生成する公開情報生成手段と、前記データベースに格納されているキーワードと、そのキーワードに1対1で対応するコンテンツと、前記第一の乱数と、第一のハッシュ関数と、第二のハッシュ関数とを用いて、前記暗号化コンテンツを生成するコンテンツ暗号化手段と、前記公開情報と、前記暗号化コンテンツとを前記利用端末に配布するために記録媒体に記録する記録媒体書込み手段と、前記利用端末から前記ネットワークを介して送信されるキーワード検索入力を受信するキーワード検索入力受信手段と、前記キーワード検索入力と、前記第一の乱数とを用いて、第一のキーワード検索出力を生成する第一のキーワード検索出力生成手段と、前記第一のキーワード検索出力をネットワークを介して前記利用端末に送信する第一のキーワード検索出力送信手段と、を備え、前記利用端末は、第二の乱数を生成する第二の乱数生成手段と、前記第二の乱数と、アーベル群の生成元と、前記第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換して前記キーワード検索入力を生成するキーワード検索入力生成手段と、前記キーワード検索入力を前記ネットワークを介して前記提供端末に送信するキーワード検索入力送信手段と、前記提供端末から前記ネットワークを介して送信される前記第一のキーワード検索出力を受信する第一のキーワード検索出力受信手段と、前記記録媒体に記録された前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証する第一のキーワード検索出力正当性検証手段と、正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成する第二のキーワード検索出力生成手段と、前記第二のキーワード検索出力と、前記記録媒体に記録された前記暗号化コンテンツと、前記第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るコンテンツ復号手段とを備えることを特徴とするオンデマンド検索システムが得られる。   In addition, according to the present invention, a providing terminal that provides encrypted content by encrypting content corresponding to a keyword stored in a database on a one-to-one basis, and use for decrypting and using the encrypted content An on-demand search system in which a terminal is connected via a network, wherein the providing terminal generates first random number generation means for generating a first random number and public information using the first random number Using public information generating means, a keyword stored in the database, content corresponding to the keyword on a one-to-one basis, the first random number, a first hash function, and a second hash function In order to distribute the content encryption means for generating the encrypted content, the public information, and the encrypted content to the user terminal, Recording medium writing means for recording, keyword search input receiving means for receiving a keyword search input transmitted from the user terminal via the network, the keyword search input, and the first random number, First keyword search output generation means for generating one keyword search output, and first keyword search output transmission means for transmitting the first keyword search output to the user terminal via a network, The user terminal uses the second random number generation means for generating the second random number, the second random number, the generation source of the abelian group, and the keyword selected arbitrarily using the first hash function. A keyword search input generation means for generating the keyword search input by converting the information into a form that is not known to the providing terminal; A keyword search input transmitting means for transmitting to the providing terminal via a network; a first keyword search output receiving means for receiving the first keyword search output transmitted from the providing terminal via the network; Validity of the first keyword search output using the public information recorded on the recording medium, the keyword search input, the generation source of the abelian group, and a verification formula using the nature of the pairing operation Using the first keyword search output validity verification means for verifying, the first keyword search output deemed valid, the public information, and the second random number, Second keyword search output generation means for generating a search output, the second keyword search output, and the encrypted content recorded on the recording medium And content decrypting means for obtaining content corresponding to the arbitrarily selected keyword on a one-to-one basis using the second hash function and the arbitrarily selected keyword. An on-demand search system is obtained.

さらに本発明によれば、データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化した暗号化コンテンツと公開情報とを提供するとともに、ネットワークを介して受信したキーワード検索入力を第一の乱数を用いて変換し、第一のキーワード検索出力を生成して返送する提供端末を含むオンデマンド検索システムに用いられる利用端末において、第二の乱数を生成する第二の乱数生成手段と、前記第二の乱数と、アーベル群の生成元と、第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換して前記キーワード検索入力を生成するキーワード検索入力生成手段と、前記キーワード検索入力を前記ネットワークを介して前記提供端末に送信するキーワード検索入力送信手段と、前記提供端末から前記ネットワークを介して送信される前記第一のキーワード検索出力を受信する第一のキーワード検索出力受信手段と、前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証する第一のキーワード検索出力正当性検証手段と、正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成する第二のキーワード検索出力生成手段と、前記第二のキーワード検索出力と、前記暗号化コンテンツと、第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るコンテンツ復号手段と、を備えることを特徴とする利用端末が得られる。   Further, according to the present invention, the encrypted content obtained by encrypting the content corresponding to the keyword stored in the database on a one-to-one basis and the public information are provided, and the keyword search input received via the network is the first. A second random number generating means for generating a second random number in a user terminal used for an on-demand search system including a providing terminal that converts and generates a first keyword search output by Using the second random number, the abel group generator, and the first hash function, the keyword search input is generated by converting an arbitrarily selected keyword into a form not known to the providing terminal. Keyword search input generation means and keyword search input transmission for transmitting the keyword search input to the providing terminal via the network A first keyword search output receiving means for receiving the first keyword search output transmitted from the providing terminal via the network, the public information, the keyword search input, and the abelian group. First keyword search output validity verification means for verifying the validity of the first keyword search output using a generation source and a verification expression using the nature of the pairing operation is regarded as valid. A second keyword search output generating means for generating a second keyword search output using the first keyword search output, the public information, and the second random number; and the second keyword search. Using the output, the encrypted content, the second hash function, and the arbitrarily selected keyword, one-to-one correspondence with the arbitrarily selected keyword A content decryption means for obtaining the content that, the user terminal characterized in that it comprises the obtained.

本発明によれば、鍵長サイズを160ビット程度で設定できる楕円曲線上の離散対数問題に基づく方式を適用することで、従来方式に比べて通信量を1/3に削減でき、効率面が改良される。   According to the present invention, by applying a method based on the discrete logarithm problem on an elliptic curve in which the key length size can be set at about 160 bits, the amount of communication can be reduced to 1/3 compared with the conventional method, and the efficiency side Improved.

また、本発明によれば、情報提供者と利用者の間のOKSでやりとりしたデータをベイユ・ペアリングあるいはテイト・ペアリングで検証することにより、利用者は情報提供者において手順のとおりに正しく処理が行われているを検証でき、情報提供者の不正を防止できる。   Further, according to the present invention, by verifying the data exchanged by the OKS between the information provider and the user by means of Bayeux pairing or Tate pairing, the user can correctly follow the procedure in the information provider. It is possible to verify that processing is being performed, and to prevent fraud of information providers.

以下、図面を参照して、本発明の一実施の形態について詳細に説明する。   Hereinafter, an embodiment of the present invention will be described in detail with reference to the drawings.

図1に、本発明に一実施の形態に係るオンデマンド検索システムの概略構成を示す。図示のシステムは、ネットワーク(ここでは、インターネット)10を介して互いに接続された提供端末(提供者端末)20及び利用端末(利用者端末)30を有している。また、提供端末20にはデータベース40が接続されている。   FIG. 1 shows a schematic configuration of an on-demand search system according to an embodiment of the present invention. The illustrated system includes a providing terminal (provider terminal) 20 and a use terminal (user terminal) 30 that are connected to each other via a network (here, the Internet) 10. In addition, a database 40 is connected to the providing terminal 20.

提供端末20は、データベースに登録されているキーワード及びコンテンツの一部または全てを暗号化し、利用端末30に提供する。ここで、キーワードとコンテンツとは1対1で対応するものとする。また、暗号化されたキーワード及びコンテンツは、任意の記録媒体(例えば、CD−ROMやDVD)により利用端末30に提供されるものとする。   The providing terminal 20 encrypts some or all of the keywords and contents registered in the database, and provides them to the use terminal 30. Here, it is assumed that the keyword and the content correspond one-to-one. The encrypted keyword and content are provided to the use terminal 30 by an arbitrary recording medium (for example, CD-ROM or DVD).

利用端末30は、任意に選択したキーワードを一方向性関数により提供端末20に知得されない形態に変換して、ネットワーク10を介して提供端末20へ送る。また、提供端末20は、利用端末30からのキーワードを含むデータを、コンテンツの暗号化に使用した暗号鍵を用いた一方向性関数により利用端末30に知得されない形態に変換し、ネットワーク10を介して利用端末30へ送り返す。ここでの利用端末30と提供端末20との間のデータの送受信には、鍵長サイズが比較的小さい楕円曲線上の離散対数問題に基づく方式を適用して、通信量を削減する。   The use terminal 30 converts the arbitrarily selected keyword into a form not known to the providing terminal 20 by the one-way function, and sends the converted keyword to the providing terminal 20 via the network 10. In addition, the providing terminal 20 converts the data including the keyword from the use terminal 30 into a form that is not known to the use terminal 30 by a one-way function using the encryption key used for encrypting the content. To the user terminal 30 via Here, a method based on a discrete logarithm problem on an elliptic curve having a relatively small key length size is applied to the transmission / reception of data between the use terminal 30 and the providing terminal 20 to reduce the communication amount.

提供端末20からのデータを受け取った利用端末30は、楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリング(Weil pairing)あるいはテイト・ペアリング(Tate pairing)e(P,Q)を用いて、情報提供30での処理が手順どおりに正しく行われているか検証する。   The user terminal 30 that has received the data from the providing terminal 20 receives a pair of multiplicative multiplicative groups with respect to two points P and Q defined on the elliptic curve, such as Weil pairing or Tate. Using the pairing (Tate pairing) e (P, Q), it is verified whether the processing in the information provision 30 is correctly performed according to the procedure.

以下、図2及び図3を参照してさらに本実施の形態について説明する。   Hereinafter, the present embodiment will be further described with reference to FIGS.

楕円曲線上の離散対数問題に基づくOKSを実現するために、まず、有限体上の離散対数問題に基づく効率的なOKSについて、図2を参照して説明する。   In order to realize the OKS based on the discrete logarithm problem on the elliptic curve, first, an efficient OKS based on the discrete logarithm problem on the finite field will be described with reference to FIG.

(1)有限体上の離散対数問題に基づくOKS
step1.
位数が素数qのアーベル群(可換群)をG、その群Gの生成元をgとする。また、ランダムなハッシュ関数をH()、H()とする。
(1) OKS based on discrete logarithm problem over finite field
step1.
An abelian group (commutative group) whose order is a prime number q is G, and a generation source of the group G is g. Also, let H 0 () and H 1 () be random hash functions.

データベース40には、予めn個のキーワードw(i:1,・・・,n)とそれに1対1で対応するコンテンツcがデータベースに格納されているとする。 In the database 40, it is assumed that n keywords w i (i: 1,..., N) and content c i corresponding to the keywords one by one are stored in the database in advance.

step2.
提供端末20(情報提供者)は乱数sを選び、
y=g
を計算する。また、提供端末20は、i=1からnの全てについて、
=H(w
=H(w‖K‖i) XOR (0‖c
を計算する。ここで、‖はビット列の結合、XORはビット列の排他的論理和、0は、連続するl(エル)個の“0”ビットである。
step2.
The providing terminal 20 (information provider) selects the random number s,
y = g s
Calculate In addition, the providing terminal 20 performs the following for all i = 1 to n.
K i = H 0 (w i ) s
E i = H 1 (w i ‖K i ‖i) XOR (0 l ‖c i )
Calculate Here, ‖ is a combination of bit strings, XOR is an exclusive OR of bit strings, and 0 l is l (0) consecutive “0” bits.

提供端末20は、求めたy及びEを配布データ(y,E,・・・,E)として、CD−ROMやDVD等の記録媒体等に記録する。提供端末20を使用する情報提供者は、その記録媒体を利用者に配布する
step3.
利用端末30を使用する利用者はキーワードw〜wのうちの任意のwについて検索したいとする。利用端末30は、乱数rを選び、
Y=g(w
を計算し、得られたYをインターネット10を介して提供端末20に送る。
The providing terminal 20 records the obtained y and E i as distribution data (y, E 1 ,..., E n ) on a recording medium such as a CD-ROM or DVD. The information provider who uses the providing terminal 20 distributes the recording medium to the users.
User to use the user terminal 30 and you would like to search for any of w * of the keyword w 1 ~w n. The user terminal 30 selects a random number r,
Y = g r H 0 (w * )
And Y obtained is sent to the providing terminal 20 via the Internet 10.

step4.
提供端末20は利用端末30からのYを受け取ると、乱数sを用いて、
K′=Y
を計算し、得られたK′をインターネット10を介して利用端末30に送る。
step4.
When the providing terminal 20 receives Y from the use terminal 30, it uses the random number s,
K ′ = Y s
And the obtained K ′ is sent to the user terminal 30 via the Internet 10.

step5.
利用端末30は、提供端末20からのK′を受け取ると、乱数rとyとを用いて
K=K′/y
を計算する。さらに利用端末30は、i=1からnまでの全てについて、
‖b=E XOR H(w‖K‖i)
を計算する。ここでaは始めのl(エル)ビット、bは残りの文字列である。
step5.
When the usage terminal 30 receives K ′ from the providing terminal 20, K = K ′ / y r using the random numbers r and y.
Calculate Furthermore, the use terminal 30 is configured for all of i = 1 to n.
a i ‖b i = E i XOR H 1 (w i ‖K‖i)
Calculate Here, a i is the first l (el) bit, and b i is the remaining character string.

step6.
=0であるとき、即ち、始めの連続するl(エル)ビットが全て“0”のとき、キーワードwがwと一致するとみなす。このとき、対応するコンテンツcは、bとして得られる。
step6.
When a i = 0 l, that is, when the first consecutive l bits are all “0”, it is considered that the keyword w i matches w * . At this time, the corresponding content c i is obtained as b i .

次に、情報提供者の不正を検出可能なOKSに拡張した例を、図3を参照して説明する。   Next, an example in which the information provider's fraud is extended to OKS will be described with reference to FIG.

(2)情報提供者の不正検出可能なOKS
step1.
楕円曲線上で定義された位数が素数qのアーベル群(可換群)をG、その群Gの生成元をPとする。また、ランダムなハッシュ関数をH()、H()とする。
(2) OKS that can detect fraudulent information providers
step1.
An abelian group (commutative group) whose order is a prime number q defined on the elliptic curve is G, and a generation source of the group G is P. Also, let H 0 () and H 1 () be random hash functions.

データベース40には、予めn個のキーワードw(i:1,・・・,n)とそれに1対1で対応するコンテンツcがデータベースに格納されているとする。 In the database 40, it is assumed that n keywords w i (i: 1,..., N) and content c i corresponding to the keywords one by one are stored in the database in advance.

step2.
提供端末20(情報提供者)は乱数sを選び、
公開情報Y=sP
を計算する。また、提供端末20は、i=1からnの全てについて、
暗号鍵 Ki=sH(wi)
暗号化コンテンツ Ei=H(wi‖Ki‖i) XOR (0‖ci)
を計算する。ここで、‖はビット列の結合、XORはビット列の排他的論理和、0は、連続するl(エル)個の“0”ビットである。
step2.
The providing terminal 20 (information provider) selects the random number s,
Public information Y = sP
Calculate In addition, the providing terminal 20 performs the following for all i = 1 to n.
Encryption key Ki = sH 0 (wi)
Encrypted content Ei = H 1 (wi‖Ki‖i) XOR (0 l ‖ci)
Calculate Here, ‖ is a combination of bit strings, XOR is an exclusive OR of bit strings, and 0 l is l (0) consecutive “0” bits.

提供端末20は、求めたY及びEをCD−ROMやDVD等の記録媒体等に記録する。提供端末20を使用する情報提供者は、その記録媒体を利用者に配布することによって、(Y,E,・・・,E)を配布する。 Providing terminal 20 records the obtained Y and E i to a recording medium such as a CD-ROM or DVD. The information provider who uses the providing terminal 20 distributes (Y, E 1 ,..., E n ) by distributing the recording medium to the user.

step3.
利用端末30を使用する利用者はキーワードw1〜wnのうちの任意のwについて検索したいとする。利用端末30は、乱数rを選び、
キーワード検索入力X=rP+H(w
を計算し、得られたXをインターネット10を介して提供端末20に送る。
step3.
It is assumed that the user who uses the user terminal 30 wants to search for any w * among the keywords w1 to wn. The user terminal 30 selects a random number r,
Keyword search input X = rP + H 0 (w * )
And the obtained X is sent to the providing terminal 20 via the Internet 10.

step4.
提供端末20は利用端末30からのXを受け取ると、乱数sを用いて、
第一のキーワード検索出力 K′=sX
を計算し、得られたK′をインターネット10を介して利用端末30に送る。
step4.
When the providing terminal 20 receives X from the use terminal 30, it uses the random number s,
First keyword search output K '= sX
And the obtained K ′ is sent to the user terminal 30 via the Internet 10.

step5.
利用端末30は提供端末20からのK′を受け取ると、K′の正当性について、楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリング(Weil pairing)あるいはテイト・ペアリング(Tate pairing)e(P,Q)を用いてe(P,K′)=e(Y,X)が等しいかどうかを検証する。
step5.
When the use terminal 30 receives K ′ from the providing terminal 20, the validity of K ′ is a Beille pair that is a mapping to a multiplicative group having bilinearity with respect to two points P and Q defined on the elliptic curve. It is verified whether e (P, K ′) = e (Y, X) is equal using a Weil pairing or Tate pairing e (P, Q).

ベイユ・ペアリングについては、宮地充子・菊池浩明 編著者、「IT Text 情報セキュリティ」、90ページ、オーム社、2003.10.25に記載されている。   The Beille pairing is described in Mitsuko Miyaji and Hiroaki Kikuchi, “IT Text Information Security”, page 90, Ohmsha, 2003.10.25.

利用端末30は、e(P,K′)=e(Y,X)が等価であるならば、K′は正当であるとみなし、等価でないならば、K′は不正であるとみなす。   The user terminal 30 regards K ′ as valid if e (P, K ′) = e (Y, X) is equivalent, and regards K ′ as invalid if it is not equivalent.

step6.
利用端末30はstep5.の検証で正当であるとみなしたK′と乱数rとYとを用いて、
第二のキーワード検索出力 K=K′−rY
を計算する。さらに利用端末30は、i=1からnの全てについて、
ai‖bi=Ei XOR H(wi‖K‖i)
を計算する。ここで、aiは始めのl(エル)ビット、biは残りの文字列である。
step6.
The use terminal 30 has step5. Using K ′ and random numbers r and Y that are considered valid in the verification of
Second keyword search output K = K'-rY
Calculate Furthermore, the use terminal 30 determines that i = 1 to n.
ai‖bi = Ei XOR H 1 (wi‖K‖i)
Calculate Here, ai is the first l bit and bi is the remaining character string.

step7.
=0であるとき、即ち、始めの連続するl(エル)ビットが全て“0”のとき、キーワードwがwと一致するとみなす。このとき、対応するコンテンツcは、bとして得られる。
step7.
When a i = 0 l, that is, when the first consecutive l bits are all “0”, it is considered that the keyword w i matches w * . At this time, the corresponding content c i is obtained as b i .

以上のように、本実施の形態では、楕円曲線上の離散対数問題に基づく方式を採用することで、鍵長サイズ(乱数s及びrのサイズ)を160ビット程度に設定することができ、従来方式に比べて通信量を1/3に削減できる。   As described above, in the present embodiment, by adopting a method based on the discrete logarithm problem on an elliptic curve, the key length size (the size of random numbers s and r) can be set to about 160 bits. The amount of communication can be reduced to 1/3 compared to the method.

また、提供端末20と利用端末30との間のOKSでやりとりしたデータをベイユ・ペアリングあるいはテイト・ペアリングで検証することにより、提供端末20における処理が手順とおりに正しく行われているかを検証できる。   Further, by verifying the data exchanged between the providing terminal 20 and the use terminal 30 by OKS using Bayeux pairing or ate pairing, it is verified whether the processing in the providing terminal 20 is correctly performed according to the procedure. it can.

本発明の一実施の形態に係るオンデマンド検索システムの構成を示す概略図である。It is the schematic which shows the structure of the on-demand search system which concerns on one embodiment of this invention. 図1のシステムを用いて行われる有限体上の離散対数問題に基づくOKSの処理手順を説明するための図である。It is a figure for demonstrating the processing procedure of OKS based on the discrete logarithm problem on the finite field performed using the system of FIG. 図2のシステムを用いて行われる有限体上の離散対数問題に基づくOKSの処理手順を説明するための図である。It is a figure for demonstrating the processing procedure of OKS based on the discrete logarithm problem on the finite field performed using the system of FIG.

符号の説明Explanation of symbols

10 ネットワーク
20 提供端末
30 利用端末
40 データベース
10 network 20 providing terminal 30 using terminal 40 database

Claims (9)

データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化して暗号化コンテンツを提供する提供端末と、前記暗号化コンテンツを復号して利用するための利用端末とをネットワークを介して接続したオンデマンド検索システムを利用するオンデマンド検索方法であって、
前記提供端末が、第一の乱数を生成するステップと、
前記提供端末が、前記第一の乱数を用いて公開情報を生成するステップと、
前記提供端末が、前記データベースに格納されているキーワードと、そのキーワードに1対1で対応するコンテンツと、前記第一の乱数と、第一のハッシュ関数と、第二のハッシュ関数とを用いて、前記暗号化コンテンツを生成するステップと、
前記提供端末が、前記公開情報と、前記暗号化コンテンツとを記録媒体に記録するステップと、
前記記録媒体を利用端末に配布するステップと、
前記利用端末が、第二の乱数を生成するステップと、
前記利用端末が、前記第二の乱数と、アーベル群の生成元と、前記第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換してキーワード検索入力を生成するステップと、
前記利用端末が、前記キーワード検索入力をネットワークを介して前記提供端末に送信するステップと、
前記提供端末が、前記キーワード検索入力を受信するステップと、
前記提供端末が、前記キーワード検索入力と、前記第一の乱数とを用いて、第一のキーワード検索出力を生成するステップと、
前記提供端末が、前記第一のキーワード検索出力をネットワークを介して前記利用端末に送信するステップと、
前記利用端末が、前記第一のキーワード検索出力を受信するステップと、
前記利用端末が、前記記録媒体に記録された前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証するステップと、
前記利用端末が、正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成するステップと、
前記利用端末が、前記第二のキーワード検索出力と、前記記録媒体に記録された前記暗号化コンテンツと、前記第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るステップと、
を備えることを特徴とするオンデマンド検索方法。
A providing terminal that encrypts contents corresponding to keywords stored in the database on a one-to-one basis and provides the encrypted contents and a use terminal for decrypting and using the encrypted contents are connected via a network. An on-demand search method using the on-demand search system,
The providing terminal generates a first random number;
The providing terminal generates public information using the first random number;
The providing terminal uses a keyword stored in the database, content corresponding to the keyword on a one-to-one basis, the first random number, a first hash function, and a second hash function. Generating the encrypted content;
The providing terminal recording the public information and the encrypted content on a recording medium;
Distributing the recording medium to use terminals;
The user terminal generating a second random number;
The user terminal uses the second random number, the abel group generator, and the first hash function to convert an arbitrarily selected keyword into a form that is not known to the providing terminal. Generating a search input;
The user terminal transmitting the keyword search input to the providing terminal via a network;
The providing terminal receiving the keyword search input;
The providing terminal generates a first keyword search output using the keyword search input and the first random number;
The providing terminal transmitting the first keyword search output to the user terminal via a network;
The user terminal receiving the first keyword search output;
The use terminal uses the public information recorded on the recording medium, the keyword search input, the generation source of the abelian group, and a verification formula using the property of pairing operation, Verifying the validity of the keyword search output;
Generating a second keyword search output using the first keyword search output deemed valid by the user terminal, the public information, and the second random number;
The user terminal uses the second keyword search output, the encrypted content recorded on the recording medium, the second hash function, and the arbitrarily selected keyword to arbitrarily Obtaining content corresponding one-to-one with the selected keyword;
An on-demand search method comprising:
オブリヴィアス・キーワード・サーチ(Oblivious Keyword Search:OKS)を用いることを特徴とする請求項1記載のオンデマンド検索方法。   2. The on-demand search method according to claim 1, wherein an Oblivious Keyword Search (OKS) is used. 前記提供端末が、楕円曲線上で定義された位数が素数qのアーベル群(可換群)をG、その群Gの生成元をP、前記第1の乱数をs、前記公開情報をY=sP、前記第一のハッシュ関数をH、前記第二のハッシュ関数をHと設定し、インデックスi=1からnの全てのキーワードwi及びコンテンツciについて、
暗号鍵 Ki=sH(wi)
及び
前記暗号化コンテンツ Ei=H(wi‖Ki‖i) XOR (0‖ci)
(但し、XORはビット列の排他的論理和、0は連続するl個の0ビット、‖はビット列の結合である)
を計算する楕円曲線上の離散対数問題に基づく暗号方法を適用し、前記提供端末と前記利用端末との間で送受信されるデータの通信量を削減することを特徴とする請求項2記載のオンデマンド検索方法。
The providing terminal uses G as an abelian group (commutative group) whose order is a prime number q defined on an elliptic curve, P as a generation source of the group G, s as the first random number, and Y as the public information. = SP, the first hash function is set as H 0 , the second hash function is set as H 1, and for all the keywords wi and contents ci of indexes i = 1 to n,
Encryption key Ki = sH 0 (wi)
And the encrypted content Ei = H 1 (wi‖Ki‖i) XOR (0 l ‖ci)
(Where XOR is an exclusive OR of bit strings, 0 l is a series of l 0 bits, and ‖ is a combination of bit strings)
3. The method according to claim 2, wherein an encryption method based on a discrete logarithm problem on an elliptic curve for calculating is applied to reduce the amount of data transmitted and received between the providing terminal and the using terminal. Demand search method.
前記利用端末が、前記第一のキーワード検索出力として受信したK′が正当なデータであるかどうかを検証するために、前記公開情報Yと、前記第二の乱数をr、前記任意に選択されたキーワードをwとしたときのキーワード検索入力X=rP+H(w)と、前記アーベル群の生成元Pと、前記楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリングあるいはテイト・ペアリングe(P,Q)とを用いて、
検証式 e(P,K′)=e(Y,X)
が等しいかを検証し、その検証式が等しいならば、前記第一のキーワード検索出力K′が正当なデータであるとみなすことを特徴とする請求項3記載のオンデマンド検索方法。
In order to verify whether or not K ′ received as the first keyword search output is valid data, the user terminal uses the public information Y and the second random number as r, and is arbitrarily selected. The keyword search input X = rP + H 0 (w * ) when the keyword is w * , the generation source P of the abelian group, and the two points P and Q defined on the elliptic curve are bilinear. Using Beille pairing or Tate pairing e (P, Q), which is a mapping to the multiplicative group,
Verification equation e (P, K ′) = e (Y, X)
4. The on-demand search method according to claim 3, wherein the first keyword search output K ′ is regarded as valid data if the verification expressions are equal.
データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化して暗号化コンテンツを提供する提供端末と、前記暗号化コンテンツを復号して利用するための利用端末とをネットワークを介して接続したオンデマンド検索システムであって、
前記提供端末は、
第一の乱数を生成する第一の乱数生成手段と、
前記第一の乱数を用いて公開情報を生成する公開情報生成手段と、
前記データベースに格納されているキーワードと、そのキーワードに1対1で対応するコンテンツと、前記第一の乱数と、第一のハッシュ関数と、第二のハッシュ関数とを用いて、前記暗号化コンテンツを生成するコンテンツ暗号化手段と、
前記公開情報と、前記暗号化コンテンツとを前記利用端末に配布するために記録媒体に記録する記録媒体書込み手段と、
前記利用端末から前記ネットワークを介して送信されるキーワード検索入力を受信するキーワード検索入力受信手段と、
前記キーワード検索入力と、前記第一の乱数とを用いて、第一のキーワード検索出力を生成する第一のキーワード検索出力生成手段と、
前記第一のキーワード検索出力をネットワークを介して前記利用端末に送信する第一のキーワード検索出力送信手段と、
を備え、
前記利用端末は、
第二の乱数を生成する第二の乱数生成手段と、
前記第二の乱数と、アーベル群の生成元と、前記第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換して前記キーワード検索入力を生成するキーワード検索入力生成手段と、
前記キーワード検索入力を前記ネットワークを介して前記提供端末に送信するキーワード検索入力送信手段と、
前記提供端末から前記ネットワークを介して送信される前記第一のキーワード検索出力を受信する第一のキーワード検索出力受信手段と、
前記記録媒体に記録された前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証する第一のキーワード検索出力正当性検証手段と、
正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成する第二のキーワード検索出力生成手段と、
前記第二のキーワード検索出力と、前記記録媒体に記録された前記暗号化コンテンツと、前記第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るコンテンツ復号手段と
を備える
ことを特徴とするオンデマンド検索システム。
A providing terminal that encrypts contents corresponding to keywords stored in the database on a one-to-one basis and provides the encrypted contents and a use terminal for decrypting and using the encrypted contents are connected via a network. On-demand search system,
The providing terminal is:
First random number generating means for generating a first random number;
Public information generating means for generating public information using the first random number;
Using the keyword stored in the database, the content corresponding to the keyword on a one-to-one basis, the first random number, the first hash function, and the second hash function, the encrypted content Content encryption means for generating
A recording medium writing means for recording the public information and the encrypted content on a recording medium for distribution to the user terminal;
Keyword search input receiving means for receiving a keyword search input transmitted from the user terminal via the network;
First keyword search output generation means for generating a first keyword search output using the keyword search input and the first random number;
First keyword search output transmission means for transmitting the first keyword search output to the user terminal via a network;
With
The user terminal is
Second random number generation means for generating a second random number;
Using the second random number, the abel group generator, and the first hash function, the keyword selection input is generated by converting an arbitrarily selected keyword into a form not known to the providing terminal. Keyword search input generation means for performing,
Keyword search input transmission means for transmitting the keyword search input to the providing terminal via the network;
First keyword search output receiving means for receiving the first keyword search output transmitted from the providing terminal via the network;
Validating the first keyword search output using the public information recorded on the recording medium, the keyword search input, the generation source of the abelian group, and a verification formula using the nature of the pairing operation First keyword search output correctness verification means for verifying
Second keyword search output generation means for generating a second keyword search output using the first keyword search output deemed valid, the public information, and the second random number;
Using the second keyword search output, the encrypted content recorded on the recording medium, the second hash function, and the arbitrarily selected keyword, to the arbitrarily selected keyword An on-demand search system comprising: content decrypting means for obtaining content corresponding one-to-one.
前記提供端末が、楕円曲線上で定義された位数が素数qのアーベル群(可換群)をG、その群Gの生成元をP、前記第一の乱数をs、前記公開情報をY=sP、前記第一のハッシュ関数をH、前記第二のハッシュ関数をHと設定し、インデックスi=1からnの全てのキーワードwi及びコンテンツciについて、
暗号鍵 Ki=sH(wi)
及び
前記暗号化コンテンツ Ei=H(wi‖Ki‖i) XOR (0‖ci)
(但し、XORはビット列の排他的論理和、0は連続するl個の0ビット、‖はビット列の結合である)
を計算し、前記利用端末と前記提供端末との間で送受信されるデータの通信量を削減する楕円曲線上の離散対数問題に基づく暗号方法を適用し、
前記利用端末が、前記第一のキーワード検索出力として受信したK′が正当なデータであるかどうかを検証するために、前記公開情報Yと、前記第二の乱数をr、前記任意に選択されたキーワードをwとしたときのキーワード検索入力X=rP+H(w)と、前記アーベル群の生成元Pと、前記楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリングあるいはテイト・ペアリングe(P,Q)とを用いて、
検証式 e(P,K′)=e(Y,X)
が等しいかを検証し、その検証式が等しいならば、前記第一のキーワード検索出力K′が正当なデータであるとみなすことを特徴とする請求項5記載のオンデマンド検索システム。
The providing terminal uses G as an abelian group (commutative group) whose order is a prime number q defined on an elliptic curve, P as a generation source of the group G, s as the first random number, and Y as the public information. = SP, the first hash function is set as H 0 , the second hash function is set as H 1, and for all the keywords wi and contents ci of indexes i = 1 to n,
Encryption key Ki = sH 0 (wi)
And the encrypted content Ei = H 1 (wi‖Ki‖i) XOR (0 l ‖ci)
(Where XOR is an exclusive OR of bit strings, 0 l is a series of l 0 bits, and ‖ is a combination of bit strings)
And applying a cryptographic method based on a discrete logarithm problem on an elliptic curve that reduces the amount of data transmitted and received between the user terminal and the providing terminal,
In order to verify whether or not K ′ received as the first keyword search output is valid data, the user terminal uses the public information Y and the second random number as r, and is arbitrarily selected. The keyword search input X = rP + H 0 (w * ) when the keyword is w * , the generation source P of the abelian group, and the two points P and Q defined on the elliptic curve are bilinear. Using Beille pairing or Tate pairing e (P, Q), which is a mapping to the multiplicative group,
Verification equation e (P, K ′) = e (Y, X)
6. The on-demand search system according to claim 5, wherein if the verification expressions are equal, the first keyword search output K ′ is regarded as valid data.
データベースに格納されているキーワードに1対1で対応するコンテンツを暗号化した暗号化コンテンツと公開情報とを提供するとともに、ネットワークを介して受信したキーワード検索入力を第一の乱数を用いて変換し、第一のキーワード検索出力を生成して返送する提供端末を含むオンデマンド検索システムに用いられる利用端末において、
第二の乱数を生成する第二の乱数生成手段と、
前記第二の乱数と、アーベル群の生成元と、第一のハッシュ関数とを用いて、任意に選択されたキーワードを前記提供端末に知得されない形態に変換して前記キーワード検索入力を生成するキーワード検索入力生成手段と、
前記キーワード検索入力を前記ネットワークを介して前記提供端末に送信するキーワード検索入力送信手段と、
前記提供端末から前記ネットワークを介して送信される前記第一のキーワード検索出力を受信する第一のキーワード検索出力受信手段と、
前記公開情報と、前記キーワード検索入力と、前記アーベル群の生成元と、ペアリング演算の性質を利用した検証式とを用いて、前記第一のキーワード検索出力の正当性を検証する第一のキーワード検索出力正当性検証手段と、
正当であるとみなされた前記第一のキーワード検索出力と、前記公開情報と、前記第二の乱数とを用いて、第二のキーワード検索出力を生成する第二のキーワード検索出力生成手段と、
前記第二のキーワード検索出力と、前記暗号化コンテンツと、第二のハッシュ関数と、前記任意に選択されたキーワードとを用いて、当該任意に選択されたキーワードに1対1で対応するコンテンツを得るコンテンツ復号手段と、
を備えることを特徴とする利用端末。
It provides encrypted content obtained by encrypting content corresponding to keywords stored in the database on a one-to-one basis and public information, and converts a keyword search input received via a network using a first random number. In a use terminal used in an on-demand search system including a providing terminal that generates and returns a first keyword search output,
Second random number generation means for generating a second random number;
Using the second random number, the abel group generator, and the first hash function, the keyword search input is generated by converting an arbitrarily selected keyword into a form not known to the providing terminal. Keyword search input generation means;
Keyword search input transmission means for transmitting the keyword search input to the providing terminal via the network;
First keyword search output receiving means for receiving the first keyword search output transmitted from the providing terminal via the network;
The first information for verifying the validity of the first keyword search output using the public information, the keyword search input, the generation source of the abelian group, and the verification formula using the property of the pairing operation A keyword search output correctness verification means;
Second keyword search output generation means for generating a second keyword search output using the first keyword search output deemed valid, the public information, and the second random number;
Using the second keyword search output, the encrypted content, the second hash function, and the arbitrarily selected keyword, content corresponding to the arbitrarily selected keyword is one-to-one. Content decrypting means to obtain;
A use terminal comprising:
前記提供端末が、楕円曲線上で定義された位数が素数qのアーベル群(可換群)をG、その群Gの生成元をP、前記第一の乱数をs、前記公開情報をY=sP、第一のハッシュ関数をH、前記第二のハッシュ関数をHと設定し、インデックスi=1からnの全てのキーワードwi及びコンテンツciについて、
暗号鍵 Ki=sH(wi)
及び
前記暗号化コンテンツEi=H(wi‖Ki‖i) XOR (0‖ci)
(但し、XORはビット列の排他的論理和、0は連続するl個の0ビット、‖はビット列の結合である)
を計算し、前記利用端末と前記提供端末との間で送受信されるデータの通信量を削減する楕円曲線上の離散対数問題に基づく暗号方法を適用し、
前記利用端末が、前記第一のキーワード検索出力として受信したK′が正当なデータであるかどうかを検証するために、前記公開情報Yと、前記第二の乱数をr、前記任意に選択されたキーワードをwとしたときのキーワード検索入力X=rP+H(w)と、前記アーベル群の生成元Pと、前記楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリングあるいはテイト・ペアリングe(P,Q)とを用いて、
検証式 e(P,K′)=e(Y,X)
が等しいかを検証し、その検証式が等しいならば、前記第一のキーワード検索出力K′が正当なデータであるとみなすことを特徴とする請求項7記載の利用端末。
The providing terminal uses G as an abelian group (commutative group) whose order is a prime number q defined on an elliptic curve, P as a generation source of the group G, s as the first random number, and Y as the public information. = SP, the first hash function is set as H 0 , the second hash function is set as H 1, and all the keywords wi and contents ci of indexes i = 1 to n are set as follows:
Encryption key Ki = sH 0 (wi)
And the encrypted content Ei = H 1 (wi‖Ki‖i) XOR (0 l ‖ci)
(Where XOR is an exclusive OR of bit strings, 0 l is a series of l 0 bits, and ‖ is a combination of bit strings)
And applying a cryptographic method based on a discrete logarithm problem on an elliptic curve that reduces the amount of data transmitted and received between the user terminal and the providing terminal,
In order to verify whether or not K ′ received as the first keyword search output is valid data, the user terminal uses the public information Y and the second random number as r, and is arbitrarily selected. The keyword search input X = rP + H 0 (w * ) when the keyword is w * , the generation source P of the abelian group, and the two points P and Q defined on the elliptic curve are bilinear. Using Beille pairing or Tate pairing e (P, Q), which is a mapping to the multiplicative group,
Verification equation e (P, K ′) = e (Y, X)
8. The use terminal according to claim 7, wherein the first keyword search output K ′ is regarded as valid data if the verification expressions are equal to each other.
前記提供端末が、楕円曲線上で定義された位数が素数qのアーベル群(可換群)をG、その群Gの生成元をP、前記第一の乱数をs、前記公開情報をY=sP、前記第一のハッシュ関数をH、前記第二のハッシュ関数をHと設定し、インデックスi=1からnの全てのキーワードwi及びコンテンツciについて、
暗号鍵 Ki=sH(wi)
及び
暗号化コンテンツ Ei=H(wi‖Ki‖i) XOR (0‖ci)
(但し、XORはビット列の排他的論理和、0は連続するl個の0ビット、‖はビット列の結合である)
を計算し、前記利用端末と前記提供端末との間で送受信されるデータの通信量を削減する楕円曲線上の離散対数問題に基づく暗号方法を適用し、
前記利用端末が、前記第一のキーワード検索出力として受信したK′が正当なデータであるかどうかを検証するために、前記公開情報Yと、前記第二の乱数をr、前記任意に選択されたキーワードをwとしたときのキーワード検索入力X=rP+H(w)と、前記アーベル群の生成元Pと、前記楕円曲線上で定義されている2点P、Qに対する双線形を持つ乗法群への写像であるベイユ・ペアリングあるいはテイト・ペアリングe(P,Q)とを用いて、
検証式 e(P,K′)=e(Y,X)
が等しいかを検証し、その検証式が等しいならば、前記第一のキーワード検索出力K′が正当なデータであるとみなすことを特徴とする請求項1記載のオンデマンド検索方法。
The providing terminal uses G as an abelian group (commutative group) whose order is a prime number q defined on an elliptic curve, P as a generation source of the group G, s as the first random number, and Y as the public information. = SP, the first hash function is set as H 0 , the second hash function is set as H 1, and for all the keywords wi and contents ci of indexes i = 1 to n,
Encryption key Ki = sH 0 (wi)
And encrypted content Ei = H 1 (wi‖Ki‖i) XOR (0 l ‖ci)
(Where XOR is an exclusive OR of bit strings, 0 l is a series of l 0 bits, and ‖ is a combination of bit strings)
And applying a cryptographic method based on a discrete logarithm problem on an elliptic curve that reduces the amount of data transmitted and received between the user terminal and the providing terminal,
In order to verify whether or not K ′ received as the first keyword search output is valid data, the user terminal uses the public information Y and the second random number as r, and is arbitrarily selected. The keyword search input X = rP + H 0 (w * ) when the keyword is w * , the generation source P of the abelian group, and the two points P and Q defined on the elliptic curve are bilinear. Using Beille pairing or Tate pairing e (P, Q), which is a mapping to the multiplicative group,
Verification equation e (P, K ′) = e (Y, X)
The on-demand search method according to claim 1, wherein the first keyword search output K 'is regarded as valid data if the verification expressions are equal.
JP2005191661A 2005-06-30 2005-06-30 On-demand search method, on-demand search system and terminal Active JP4199753B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005191661A JP4199753B2 (en) 2005-06-30 2005-06-30 On-demand search method, on-demand search system and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005191661A JP4199753B2 (en) 2005-06-30 2005-06-30 On-demand search method, on-demand search system and terminal

Publications (2)

Publication Number Publication Date
JP2007013564A JP2007013564A (en) 2007-01-18
JP4199753B2 true JP4199753B2 (en) 2008-12-17

Family

ID=37751460

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005191661A Active JP4199753B2 (en) 2005-06-30 2005-06-30 On-demand search method, on-demand search system and terminal

Country Status (1)

Country Link
JP (1) JP4199753B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8382265B2 (en) 2003-12-26 2013-02-26 Canon Kabushiki Kaisha Liquid container and liquid supplying system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8382265B2 (en) 2003-12-26 2013-02-26 Canon Kabushiki Kaisha Liquid container and liquid supplying system
US8454141B2 (en) 2003-12-26 2013-06-04 Canon Kabushiki Kaisha Liquid container and liquid supplying system
US8678570B2 (en) 2003-12-26 2014-03-25 Canon Kabushiki Kaisha Liquid container and liquid supplying system

Also Published As

Publication number Publication date
JP2007013564A (en) 2007-01-18

Similar Documents

Publication Publication Date Title
CN111106936B (en) SM 9-based attribute encryption method and system
JP4546231B2 (en) ID-based signature and encryption system and method
US7590236B1 (en) Identity-based-encryption system
US8429408B2 (en) Masking the output of random number generators in key generation protocols
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US20150288527A1 (en) Verifiable Implicit Certificates
WO2012085664A2 (en) Cryptography module for use with fragmented key and methods for use therewith
US9813386B2 (en) Cooperation service providing system and server apparatus
JP6194886B2 (en) Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program
US20100172496A1 (en) Key generating apparatus, encrypting apparatus and decrypting apparatus
US20180278417A1 (en) Apparatus and method for generating key, and apparatus and method for encryption
KR20210063378A (en) Computer-implemented systems and methods that share common secrets
CN116830523A (en) threshold key exchange
CN114338229B (en) Lightweight dynamic broadcast agent re-encryption and cloud data sharing method
JP2014515125A (en) Method, computer program, and apparatus for data encryption
US20050220300A1 (en) Public key cryptographic methods and systems
CN114095171A (en) Identity-based wearable proxy re-encryption method
JPWO2016199507A1 (en) KEY EXCHANGE METHOD, KEY EXCHANGE SYSTEM, KEY DISTRIBUTION DEVICE, COMMUNICATION DEVICE, AND PROGRAM
US20050135610A1 (en) Identifier-based signcryption
CA2742530C (en) Masking the output of random number generators in key generation protocols
CN116743358A (en) Repudiation multi-receiver authentication method and system
CN115361109B (en) Homomorphic encryption method supporting bidirectional proxy re-encryption
JP4199753B2 (en) On-demand search method, on-demand search system and terminal
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
JP4485122B2 (en) Public key cryptosystem, signature system, cryptographic communication system, secret key generator, public key generator, and computer program

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080521

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080718

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: 20080924

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081003

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111010

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4199753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121010

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131010

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250