JP2009271584A - Similar information retrieval system and similar information retrieval program - Google Patents

Similar information retrieval system and similar information retrieval program Download PDF

Info

Publication number
JP2009271584A
JP2009271584A JP2008118871A JP2008118871A JP2009271584A JP 2009271584 A JP2009271584 A JP 2009271584A JP 2008118871 A JP2008118871 A JP 2008118871A JP 2008118871 A JP2008118871 A JP 2008118871A JP 2009271584 A JP2009271584 A JP 2009271584A
Authority
JP
Japan
Prior art keywords
information
search
polynomial
numerical value
registered
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.)
Pending
Application number
JP2008118871A
Other languages
Japanese (ja)
Inventor
Shogo Shimizu
將吾 清水
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.)
Tokyo Metropolitan Public University Corp
Original Assignee
Tokyo Metropolitan Public University 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 Tokyo Metropolitan Public University Corp filed Critical Tokyo Metropolitan Public University Corp
Priority to JP2008118871A priority Critical patent/JP2009271584A/en
Publication of JP2009271584A publication Critical patent/JP2009271584A/en
Pending legal-status Critical Current

Links

Abstract

<P>PROBLEM TO BE SOLVED: To efficiently retrieve similar information of retrieval information while being concealed from a manager and a third person. <P>SOLUTION: This similar information retrieval system is provided with: a secret registration information storage means CD2 for storing a polynomial point group (R); a retrieval numerical value discriminating means CD4 for discriminating whether or not retrieval numerics (b<SB>1</SB>to b<SB>m-L</SB>) included in secret retrieval information (B*) are the same values as numerical values (a<SB>1</SB>to a<SB>r</SB>) included in respective secret registration information (R<SB>1</SB>to R<SB>N</SB>); a polynomial point subset calculation means CD5 for calculating polynomial point subsets (Q<SB>1</SB>* to Q<SB>N</SB>*); a polynomial point subset element number discriminating means CD6 for discriminating whether or not the points of the polynomial point subsets (Q<SB>1</SB>* to Q<SB>N</SB>*) are equal to or more than (c-L) pieces; and a secret similar information calculation means CD7 for calculating secret similar information (R<SB>A</SB>) by calculating respective secret registration information (R<SB>1</SB>to R<SB>N</SB>) corresponding to the polynomial point subsets (Q<SB>1</SB>* to Q<SB>N</SB>*) having at least (c-L) pieces of points. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、データベースの外部委託業者としての管理者および第三者から秘匿された状態で前記データベースから検索情報の類似情報を検索する類似情報検索システムおよび類似情報検索プログラムに関する。   The present invention relates to a similar information search system and a similar information search program for searching for similar information of search information from the database in a state that it is concealed from an administrator as a database outsourcer and a third party.

従来より、データベースの管理業務について、前記データベースの構築等の技術的な問題や、前記データベースのメンテナンス費や管理費の削減等の経済的な問題から、外部委託をすることが行われている。前記データベースの外部委託のモデルについて、例えば、Database-as-a-Service(DAS、DaaS)モデルが知られている。なお、本願明細書では、以降、「DASモデル」と記載する。
前記DASモデルは、前記データベースに情報(データ)を登録する(格納する)データ所有者としての「登録者」と、前記データベースから前記情報を検索する「検索者」と、前記データベースを管理する「管理者」とによって構成される。なお、前記登録者と前記検索者とは必ずしも同一人物である必要はなく、前記管理者は、いわゆる、外部委託業者であり、前記データベースの管理業務のみ委託されるものとする。
Conventionally, database management work has been outsourced due to technical problems such as construction of the database and economic problems such as reduction of maintenance and management costs of the database. As a database outsourcing model, for example, a Database-as-a-Service (DAS, DaaS) model is known. In the specification of the present application, it is hereinafter referred to as “DAS model”.
The DAS model registers (stores) information (data) in the database, a “registrant” as a data owner, a “searcher” who searches for the information from the database, and manages the database. "Administrator". Note that the registrant and the searcher are not necessarily the same person, and the manager is a so-called outsourcing contractor, and only the management work of the database is entrusted.

前記DASモデルにおいて、例えば、前記情報が個人情報や機密情報等であった場合には、前記登録者および前記検索者以外の第三者、すなわち、前記登録者および前記検索者と前記データベースとの間の通信路上の第三者から、前記情報を秘匿できることが望ましい。また、この場合、外部委託業者である前記管理者からも、前記第三者と同様に、前記情報を秘匿できることが望ましい。
前記データベースに格納された前記情報を、前記第三者等から秘匿するための技術として、下記の非特許文献1〜4に記載の技術が知られている。
In the DAS model, for example, when the information is personal information or confidential information, a third party other than the registrant and the searcher, that is, the registrant and the searcher and the database. It is desirable that the information can be concealed from a third party on the communication path. In this case, it is desirable that the information can be concealed from the manager who is an outsourcer as well as the third party.
As techniques for concealing the information stored in the database from the third party or the like, techniques described in Non-Patent Documents 1 to 4 below are known.

非特許文献1〜3には、DASモデルにおいて、暗号化されたデータである暗号化データが格納されたデータベース、いわゆる、暗号化データベースについての技術が記載されている。非特許文献1〜3には、従来公知のSQL(Structured Query Language)を用いて問い合わせ等の操作が行われる、いわゆる、関係データベース(RDB:Relational Database、リレーショナルデータベース)について、前記SQLにより、前記暗号化データに関する問い合わせ処理を行う技術について記載されている。
なお、非特許文献1〜3において、前記暗号化データは、属性等の情報が付与された、いわゆる、関係データである。このため、前記SQLによる問い合わせ処理は、前記属性に基づいて、効率的に行うことができる。例えば、所定の範囲内の属性の値を有する前記暗号化データのみを抽出するフィルタリング処理等を行うことができる。
Non-Patent Documents 1 to 3 describe a technique about a database in which encrypted data that is encrypted data in the DAS model is stored, that is, a so-called encrypted database. In Non-Patent Documents 1 to 3, a so-called relational database (RDB: Relational Database), in which an operation such as a query is performed using a conventionally known SQL (Structured Query Language), the encryption is performed by the SQL. Describes a technique for performing inquiries regarding digitized data.
In Non-Patent Documents 1 to 3, the encrypted data is so-called relational data to which information such as attributes is added. For this reason, the inquiry process by the SQL can be efficiently performed based on the attribute. For example, a filtering process or the like that extracts only the encrypted data having an attribute value within a predetermined range can be performed.

また、非特許文献4には、DASモデルとは直接関係ないが、複数のデータ提供者(provider、Bob)およびデータ検索者(querier、Alice)が存在する場合に、前記データ検索者の問い合わせた質問のデータ、いわゆる、クエリ(query)が、前記データ提供者が有するドキュメント(document)のデータベースに含まれるか否かを安全に問い合わせるために、ブルームフィルタ(Bloom filter)を用いた技術が記載されている。ここで、前記ブルームフィルタとは、前記データ提供者の鍵(K)で暗号化された前記ドキュメントおよび前記データ検索者の鍵(K)で暗号化された前記クエリのことである。 In Non-Patent Document 4, although there is no direct relationship with the DAS model, when there are a plurality of data providers (provider, Bob) and data searchers (querier, Alice), the data searcher makes an inquiry. A technique using a Bloom filter is described for safely inquiring whether query data, so-called query, is included in the document database of the data provider. ing. Here, the Bloom filter is the document encrypted with the data provider key (K B ) and the query encrypted with the data searcher key (K A ).

非特許文献4では、まず、前記データ提供者が、前記データ提供者のブルームフィルタを公開する。次に、前記データ検索者が、前記データ検索者のブルームフィルタを、信頼できる第三者機関(trusted third party,Ted)に送信する。次に、前記第三者機関が、グループ暗号の原理に基づいて、前記データ検索者のブルームフィルタ、すなわち、前記データ検索者の鍵で暗号化された前記クエリを変換して、前記データ提供者の鍵で暗号化された前記クエリを出力する。そして、前記第三者機関が、前記データ提供者の鍵で暗号化された前記クエリと、公開された前記データ提供者のブルームフィルタとを照合することにより、前記クエリが、前記ドキュメントとして前記データベースに格納されているか否かを判別する。すなわち、非特許文献4には、前記クエリと、前記ドキュメントとを暗号化した状態で照合する技術が記載されている。   In Non-Patent Document 4, the data provider first discloses the data provider's Bloom filter. Next, the data searcher sends the data searcher's Bloom filter to a trusted third party (Ted). Next, the third party converts the query encrypted with the data searcher's Bloom filter, that is, the key of the data searcher, based on the principle of group encryption, and the data provider The query encrypted with the key is output. Then, the third party collates the query encrypted with the data provider's key with the published data provider's Bloom filter, so that the query becomes the database as the document. It is determined whether it is stored in the. That is, Non-Patent Document 4 describes a technique for collating the query and the document in an encrypted state.

ハカン・ハジグィムィシ(Hakan Hacigumus)、他2名、“暗号化されたデータの検索について(Search on Encrypted Data)”、“アドバンシーズ・イン・インフォメーション・セキュリティ(第33巻)セキュア・データ・マネジメント・イン・ディセントラライズド・システムズ(Advances in Information Security / Secure Data Management in Decentralized Systems (Edited by T. Yu and S. Jajodia))”、(米国)、シュプリンガー(Springer)、2007年5月11日、p.383−426Hakan Hacigumus and two others, “Search on Encrypted Data”, “Advances in Information Security (Vol. 33) Secure Data Management in・ Decentralized Systems (Advances in Information Security / Secure Data Management in Decentralized Systems (Edited by T. Yu and S. Jajodia)) ”, (USA), Springer, May 11, 2007, p. . 383-426 ハカン・ハジグィムィシ(Hakan Hacigumus)、他3名、“データベースサービスプロバイダモデルの暗号化されたデータに対するSQLの実施について(Executing SQL over Encrypted Data in the Database-Service-Provider Model)”、“エスアイジーエムオーディ・カンファレンス(SIGMOD Conference(Edited by M. J. Franklin, B. Moon and A. Ailamaki))”、(米国)、エーシーエム(ACM)、2002年、p.216−227Hakan Hacigumus and three others, “Executing SQL over Encrypted Data in the Database-Service-Provider Model”, “SMD MOD SIGMOD Conference (Edited by MJ Franklin, B. Moon and A. Ailamaki) ”, (USA), ACM, 2002, p. 216-227 三浦志保、渡辺知恵美、“管理者に対しても機密を保持できる暗号化データベースの索引構成法”、「online」、2007年、電子情報通信学会第18回データ工学ワークショップ/第5回日本データベース学会年次大会(DEWS2007)、「2008年3月26日検索」、インターネット<URL:http://www.ieice.org/iss/de/DEWS/DEWS2007/pdf/e7-8.pdf>Shiho Miura, Chiemi Watanabe, “Index Construction Method for Encrypted Databases That Can Keep Confidentiality for Administrators”, “online”, 2007, IEICE 18th Data Engineering Workshop / 5th Japan Database Annual Conference of the Society (DEWS2007), "Search on March 26, 2008", Internet <URL: http://www.ieice.org/iss/de/DEWS/DEWS2007/pdf/e7-8.pdf> スティーブン・エム・ベロビン(Steven M. Bellovin)、他1名、“暗号化されたブルームフィルタを用いて秘匿性が高められた検索について(Privacy-Enhanced Searches Using Encrypted Bloom Filters)”、(米国)、エーティアンドティ(AT&T)、2004年3月29日Steven M. Bellovin and one other, “Privacy-Enhanced Searches Using Encrypted Bloom Filters” (US), AT & T, March 29, 2004 エスコ・ウッコネン(Esko Ukkonen)、“q−gramおよび最大の共通文字列集合に関する類似文字列照合について(Approximate string matching with q-grams and maximal matches)”、セオレシカル・コンピュータ・サイエンス・92(Theoretical Computer Science 92)、(米国)、エルシビアー(Elsevier)、1992年、p.191−211Esko Ukkonen, “Approximate string matching with q-grams and maximal matches”, Theoretical Computer Science 92 92), (USA), Elsevier, 1992, p. 191-211 今井秀樹著、「符号理論」、社団法人電子情報通信学会、1990年、p.47−54,155−160,169−174,179−180Hideki Imai, “Code Theory”, The Institute of Electronics, Information and Communication Engineers, 1990, p. 47-54, 155-160, 169-174, 179-180 アリ・ジュエルズ(Ari Juels)、他1名、“ファジーボールトについて(A Fuzzy Vault Scheme)”、「online」、2006年、デザインズ・コーズ・アンド・クリプトグラフィ(Designs, Codes and Cryptography)、「2008年4月1日検索」、インターネット<URL:http://www.rsa.com/rsalabs/staff/bios/ajuels/publications/fuzzy-vault/fuzzy_vault.pdf>Ari Juels, 1 other, “A Fuzzy Vault Scheme”, “online”, 2006, Designs, Codes and Cryptography, “2008 Search April 1, 2009, Internet <URL: http://www.rsa.com/rsalabs/staff/bios/ajuels/publications/fuzzy-vault/fuzzy_vault.pdf> 大貫泰紀、高橋佑介、「指紋がキーとなる金庫 "Indexed Fuzzy Vault" の開発」、「online」、2008年2月14日、東海大学、「2008年3月7日検索」、インターネット<URL:http://www.cs.dm.u-tokai.ac.jp/DM2007/A1-Kikuchi2.doc>Onuki Yasunori and Takahashi Keisuke, “Development of Indexed Fuzzy Vault”, “online”, February 14, 2008, Tokai University, “March 7, 2008 search”, Internet <URL: http://www.cs.dm.u-tokai.ac.jp/DM2007/A1-Kikuchi2.doc> 權娟大、他2名、“GGDB:糖鎖遺伝子データベース検索システム(GGDB: A database system for glycogenes)”、“第2回 糖鎖科学コンソーシアムシンポジウム(The Second Symposium of Japanese Consortium for Glycobiology and Glycotechnology)”、日本糖鎖科学コンソーシアム、2004年、p.42−43Tsujidai and two others, “GGDB: A database system for glycogenes”, “The Second Symposium of Japanese Consortium for Glycobiology and Glycotechnology” , Japan Glycoscience Consortium, 2004, p. 42-43 ルイ・ヤン(Rui Yang)、他2名、“木構造データの類似評価について(Similarity Evaluation on Tree-structured Data)”、“エスアイジーエムオーディー・カンファレンス(SIGMOD Conference)”、(米国)、エーシーエム(ACM)、2005年、p.754−765Rui Yang and two others, “Similarity Evaluation on Tree-structured Data”, “SIGMOD Conference”, (USA), ACM ( ACM), 2005, p. 754-765 カリン・カイリング(Karin Kailing)、他3名、“大規模データベースにおける階層データの効果的な類似検索について(Efficient Similarity Search for Hierarchical Data in Large Databases)”、(ギリシャ共和国)、エクステンディング・データベース・テクノロジー(Extending Database Technology)、2004年、p.676−693Karin Kailing and three others, “Efficient Similarity Search for Hierarchical Data in Large Databases”, (Greece), Extending Database Technology (Extending Database Technology), 2004, p. 676-693 アポストロス・エヌ・パラドポウロス(Apostolos N. Papadopoulos)、他1名、“グラフのヒストグラムによる構造化された類似検索について(Structure-Based Similarity Search with Graph Histograms)”、(ギリシャ共和国)、“ディーイーエックスエー・ワークショップ(DEXA Workshop)”、1999年、p.174−178Apostolos N. Papadopoulos, 1 other, “Structure-Based Similarity Search with Graph Histograms”, (Greece), “DLX "DEXA Workshop", 1999, p. 174-178

(従来技術の問題点)
前記DASモデルにおいて、例えば、前記情報がDNA(Deoxyribonucleic acid、デオキシリボ核酸)の塩基配列情報(核酸配列情報)や、蛋白質のアミノ酸配列情報等の、いわゆる、遺伝子情報であった場合、前記データベースは、前記遺伝子情報が格納された遺伝子情報データベースとなる。なお、前記遺伝子情報データベースは、いわゆる、遺伝子解析の分野における研究機関等において利用されている。
ここで、前記遺伝子情報が、疾患等に関わる可能性がある遺伝子、いわゆる、候補遺伝子の情報を含む場合には、経済的・商業的・実用的な用途や価値を有する可能性があり、機密情報として取り扱われることがある。この場合、前記第三者および前記管理者から、前記遺伝子情報を秘匿できることが望ましい。
(Problems of conventional technology)
In the DAS model, for example, when the information is so-called gene information such as DNA (Deoxyribonucleic acid, deoxyribonucleic acid) base sequence information (nucleic acid sequence information) and protein amino acid sequence information, the database is: The gene information database stores the gene information. The gene information database is used in so-called research institutions in the field of gene analysis.
Here, if the gene information includes information on genes that may be related to diseases, so-called candidate genes, there is a possibility of having economic, commercial, practical use and value, and confidentiality. May be treated as information. In this case, it is desirable that the genetic information can be concealed from the third party and the administrator.

図9はDASモデルにおける遺伝子情報データベースに従来公知の暗号化データベースの技術を適用した場合の説明図である。
よって、前記遺伝子情報を秘匿するために、図9に示すように、前記非特許文献1〜3に記載された暗号化データベースの技術を適用することが考えられる。
しかしながら、前記非特許文献1〜3の技術では、前記暗号化データを暗号化する際に従来公知の暗号アルゴリズムを使用する場合には、前記登録者および前記検索者が、暗号化された前記関係データや前記問い合わせを生成するための鍵が必要になる。
FIG. 9 is an explanatory diagram when a conventionally known encryption database technique is applied to the gene information database in the DAS model.
Therefore, in order to conceal the genetic information, it is conceivable to apply the encryption database technology described in Non-Patent Documents 1 to 3, as shown in FIG.
However, in the techniques of Non-Patent Documents 1 to 3, when a conventionally known encryption algorithm is used when encrypting the encrypted data, the registrant and the searcher are connected with the encrypted relationship. A key is required to generate data and the query.

このため、前記登録者および前記検索者の人数に応じて前記鍵の管理等の問題があった。すなわち、前記登録者および前記検索者の人数に比例して前記鍵の数が多くなるため、鍵管理の安全性(厳格性)やそれに伴う管理コスト等の問題があった。
また、前記非特許文献4の技術については、前記複数のデータ提供者およびデータ検索者と、信頼できる第三者機関とが存在する場合に適用される。すなわち、前記非特許文献4の技術は、前記第三者機関を介した前記各データ提供者と前記各データ検索者との直接通信、いわゆる、P2P(Peer to Peer,peer-to-peer)型の通信に用いられることが想定されている。このため、前記各データ提供者どうしで共有する前記遺伝子情報データベースを構築すること自体が想定されておらず、前記DASモデルを適用できないという問題がある。また、仮に、前記各データ提供者のデータベースを前記遺伝子情報データベースと想定した場合でも、前記非特許文献1〜3と同様に、前記各データ提供者、前記各データ検索者、前記第三者機関が有する鍵について、前記鍵管理の問題があった。
For this reason, there existed problems, such as management of the said key, according to the number of the said registrants and the said searchers. That is, since the number of keys increases in proportion to the number of registrants and searchers, there are problems such as the security (strictness) of key management and the associated management costs.
The technique of Non-Patent Document 4 is applied when there are a plurality of data providers and data searchers and a reliable third party organization. That is, the technique of Non-Patent Document 4 is a direct communication between each data provider and each data searcher via the third party organization, so-called P2P (Peer to Peer, peer-to-peer) type. It is assumed that it will be used for communication. For this reason, it is not envisaged to construct the gene information database shared by the data providers, and the DAS model cannot be applied. Further, even if the database of each data provider is assumed to be the gene information database, each of the data providers, each data searcher, and the third party organization, as in the non-patent documents 1 to 3. There is a problem of the key management with respect to the keys possessed by.

また、前記遺伝子解析では、前記検索者が知得した遺伝子情報が業界内で既知であるか否かを判別するために、前記遺伝子情報に基づく検索情報(問い合わせ情報)から、前記遺伝子情報データベースに格納された遺伝子情報のうち、前記検索情報に類似する前記遺伝子情報である類似情報を検索する類似情報検索処理が頻繁に行われる。例えば、図9に示すように、前記遺伝子情報を塩基配列の文字列情報とした場合に、前記検索情報(「GGCCAGGGCACC」)に対して、前記遺伝子情報データベースに格納された前記類似情報(「GACCGGGGTGCA」)が出力される前記類似情報検索処理が頻繁に行われる。   Further, in the gene analysis, in order to determine whether the gene information obtained by the searcher is known in the industry, from the search information (inquiry information) based on the gene information to the gene information database. Of the stored gene information, a similar information search process for searching for similar information that is the gene information similar to the search information is frequently performed. For example, as shown in FIG. 9, when the gene information is character string information of a base sequence, the similarity information (“GACCGGGGTGCA”) stored in the gene information database is compared with the search information (“GGCCAGGGCACC”). The similar information search process in which “)” is output is frequently performed.

しかしながら、前記非特許文献1〜3では、前記関係データベースに格納された暗号化データは、前記SQLによる問い合わせ処理に応じた前記属性等の情報が付加された関係データである。このため、前記類似情報検索処理のような類似文字列検索等が想定されておらず、暗号化された前記関係データのままでは効率良く前記類似情報を出力できないという問題があった。例えば、前記暗号化データの完全一致や属性一致による検索等しか行うことができないという問題があった。
また、前記非特許文献4の技術についても、前記類似情報検索処理のような類似文字列検索等が想定されておらず、前記類似情報であるか否かを判別するために、暗号化された前記ブルームフィルタを復号化してから照合する必要があるため、効率的に前記類似情報を出力できないという問題があった。
However, in Non-Patent Documents 1 to 3, the encrypted data stored in the relational database is relational data to which information such as the attribute corresponding to the inquiry processing by the SQL is added. For this reason, a similar character string search or the like as in the similar information search process is not assumed, and there is a problem in that the similar information cannot be output efficiently with the encrypted relational data. For example, there has been a problem that only search based on complete match or attribute match of the encrypted data can be performed.
Further, the technique of Non-Patent Document 4 is also assumed to be similar character search such as the similar information search process, and is encrypted to determine whether the information is the similar information. Since it is necessary to collate after decoding the Bloom filter, there is a problem that the similar information cannot be output efficiently.

本発明は、前述の事情に鑑み、管理者および第三者から秘匿された状態で検索情報の類似情報を効率良く検索することを技術的課題とする。   In view of the above-described circumstances, an object of the present invention is to efficiently search for similar information of search information in a state of being hidden from an administrator and a third party.

前記技術的課題を解決するために、請求項1記載の発明の類似情報検索システムは、
登録対象の情報である登録情報を記憶する記憶装置と、
前記記憶装置と情報の送受信が可能に接続され、前記記憶装置に対して、前記登録情報を登録させる登録装置と、
前記記憶装置と情報の送受信が可能に接続され、前記記憶装置に対して、記憶された前記登録情報のうち、検索対象の情報である検索情報と同一または類似する前記登録情報である類似情報を検索させる検索装置と、
を有する類似情報検索システムであって、
自然数をそれぞれc,d,k,L,n,m,q,rとし、前記検索情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であり、且つ、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧L,r≧nがそれぞれ成立するものとした場合に、
前記登録装置は、
前記登録情報に基づいて、(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式を演算する多項式演算手段と、
前記登録情報に基づいて、前記登録情報を復元可能なn個の前記部分情報である登録部分情報を抽出する登録部分情報抽出手段と、
抽出されたn個の前記登録部分情報に基づいて、n種類の数値である登録数値を要素とする集合である登録集合を演算する登録集合演算手段と、
前記登録数値が代入された前記多項式の数値である登録代入値を演算する登録代入値演算手段と、
前記登録数値以外の数値である(r−n)種類の擬似数値を演算する擬似数値演算手段と、
前記擬似数値が代入された前記多項式の数値以外の数値である擬似代入値を演算する擬似代入値演算手段と、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、前記擬似数値および前記擬似数値に対応する前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を演算することにより、前記登録情報が秘匿化された秘匿登録情報を演算する秘匿登録情報演算手段と、
演算された前記秘匿登録情報を、前記記憶装置に対して送信する秘匿登録情報送信手段と、
を有し、
前記記憶装置は、
前記秘匿登録情報送信手段により送信された前記秘匿登録情報を受信する秘匿登録情報受信手段と、
受信した前記秘匿登録情報を記憶する秘匿登録情報記憶手段と、
を有し、
前記検索装置は、
前記検索情報に基づいて、前記検索情報を復元可能なm個の前記部分情報である検索部分情報を抽出する検索部分情報抽出手段と、
抽出されたm個の前記検索部分情報に基づいて、m種類の数値である検索数値を要素とする集合である検索集合を演算する検索集合演算手段と、
演算された前記検索集合を記憶する検索集合記憶手段と、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を演算することにより、前記検索情報が秘匿化された秘匿検索情報を演算する秘匿検索情報演算手段と、
演算された前記秘匿検索情報を、前記記憶装置に対して送信する秘匿検索情報送信手段と、
を有し、
前記記憶装置は、
前記秘匿検索情報送信手段により送信された前記秘匿検索情報を受信する秘匿検索情報受信手段と、
受信した前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段と、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段と、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段と、
演算された前記秘匿類似情報を、前記検索装置に対して送信する秘匿類似情報送信手段と、
を有し、
前記検索装置は、
前記秘匿類似情報送信手段により送信された前記秘匿類似情報を受信する秘匿類似情報受信手段と、
記憶した前記検索集合に含まれる前記検索数値が、受信した前記各秘匿類似情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値および前記擬似数値を抽出する数値抽出手段と、
抽出された前記登録数値および前記擬似数値がc個以上であるか否かを判別することにより、前記各秘匿類似情報が、前記検索情報に対する前記類似情報として復元可能であるか否かを判別する類似情報復元判別手段と、
抽出された前記登録数値および前記擬似数値がc個以上である場合に、前記登録数値および前記擬似数値に基づいて、前記多項式を演算して前記類似情報を復元する類似情報復元手段と、
を有する
ことを特徴とする。
In order to solve the technical problem, the similar information search system according to the first aspect of the present invention provides:
A storage device for storing registration information which is information to be registered;
A registration device that is connected to the storage device so as to be able to transmit and receive information, and that registers the registration information to the storage device;
Information similar to the registration information that is the same as or similar to the search information that is the search target information among the stored registration information that is connected to the storage device so as to be able to transmit and receive information. A search device for searching;
A similar information retrieval system having
The natural numbers are c, d, k, L, n, m, q, and r, respectively, and d operations of insertion / deletion / replacement are performed on the operation unit information that is the unit information to be operated in the search information. The search information is converted into the similar information, and n pieces of partial information having q pieces of the operation unit information can be calculated for the registration information. m or more pieces of partial information having q pieces of the operation unit information can be calculated, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L, r ≧ n Are assumed to hold,
The registration device
Based on the registration information, a polynomial computing means for computing the polynomial that is a univariate (k-1) dimension and that can restore the registration information;
Registered partial information extracting means for extracting registered partial information, which is n pieces of partial information capable of restoring the registered information, based on the registered information;
A registered set calculation means for calculating a registered set, which is a set having n registered numeric values as elements, based on the extracted n pieces of registered partial information;
A registered substitution value calculating means for calculating a registered substitution value that is a numerical value of the polynomial into which the registered numeric value is substituted;
Pseudo numerical value calculating means for calculating (rn) types of pseudo numerical values which are numerical values other than the registered numerical values;
Pseudo-substitution value calculating means for calculating a pseudo-substitution value that is a numerical value other than the numerical value of the polynomial into which the pseudo-numeric value is substituted;
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point, and the pseudo numerical value and the pseudo substitution value corresponding to the pseudo numerical value are a set. When a point other than the polynomial is set as a pseudo-polynomial point, a polynomial point set that is a set of r points having n registered polynomial points and (r−n) pseudo-polynomial points is calculated. A secret registration information calculation means for calculating secret registration information in which the registration information is concealed;
Secret registration information transmitting means for transmitting the calculated secret registration information to the storage device;
Have
The storage device
Confidential registration information receiving means for receiving the confidential registration information transmitted by the confidential registration information transmitting means;
Secret registration information storage means for storing the received secret registration information;
Have
The search device includes:
Search partial information extraction means for extracting search partial information which is m pieces of partial information capable of restoring the search information based on the search information;
A search set calculation means for calculating a search set that is a set having m search numerical values as elements based on the extracted m pieces of search partial information;
Search set storage means for storing the calculated search set;
By calculating a search subset that is a subset of the search set having (m−L) types of the search numerical values excluding L types of the search numerical values among the m types of search numerical values, the search Secret search information calculation means for calculating secret search information in which information is concealed;
A secret search information transmitting means for transmitting the calculated secret search information to the storage device;
Have
The storage device
Secret search information receiving means for receiving the secret search information transmitted by the secret search information transmitting means;
Search numerical value determining means for determining whether the search numerical value included in the received confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
Polynomial point subset element number determining means for determining whether or not the calculated points of the polynomial point subset are (c−L) or more;
(CL) Concealed similarity information computing means for computing concealed similarity information in which the similar information is concealed by computing each concealment registration information corresponding to the polynomial point subset having at least (c−L) points ,
A secret similarity information transmitting means for transmitting the calculated secret similarity information to the search device;
Have
The search device includes:
A concealment similarity information receiving means for receiving the concealment similarity information transmitted by the concealment similarity information transmission means;
Search numerical value determining means for determining whether or not the search numerical value included in the stored search set is the same as the registered numerical value or the pseudo numerical value included in each received secret similar information;
Numerical value extraction means for extracting the registered numerical value and the pseudo numerical value that are the same as the search numerical value;
It is determined whether or not each of the secret similar information can be restored as the similar information with respect to the search information by determining whether or not the extracted registered numerical value and the pseudo numerical value are c or more. Similar information restoration discrimination means,
Similar information restoration means for computing the polynomial and restoring the similar information based on the registered numeric value and the pseudo numeric value when the extracted registered numeric value and the pseudo numeric value are c or more,
It is characterized by having.

請求項2に記載の発明は、請求項1に記載の類似情報検索システムにおいて、
前記自然数c,k,nについて、c≧(n+k)/2が成立するものとした場合に、
前記登録装置は、
前記登録情報に基づいて、(k−1)次元で1変数の多項式であって、前記登録情報を復元するために必要な前記多項式上の点が{(n+k)/2}個以上となる前記多項式を演算する多項式演算手段と、
を有する
ことを特徴とする。
The invention according to claim 2 is the similar information search system according to claim 1,
When c ≧ (n + k) / 2 holds for the natural numbers c, k, n,
The registration device
Based on the registration information, the polynomial is a one-variable polynomial in (k−1) dimensions, and the number of points on the polynomial necessary for restoring the registration information is {(n + k) / 2} or more. A polynomial calculation means for calculating a polynomial;
It is characterized by having.

前記技術的課題を解決するために、請求項3記載の発明の類似情報検索システムは、
登録対象の情報を登録情報とし、
前記登録情報と同一または類似する情報を類似情報とし、
自然数をそれぞれd,k,n,q,rとし、
前記登録情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記登録情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、r≧nが成立するものとし、
前記登録情報に基づいて抽出された前記登録情報を復元可能なn個の前記部分情報を登録部分情報とし、
抽出されたn個の前記登録部分情報に基づいて演算されたn種類の数値である登録数値を要素とする集合を登録集合とし、
前記登録情報に基づいて演算された(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式に前記登録数値が代入されて演算された数値を登録代入値とし、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、
前記登録数値以外の数値である擬似数値および前記擬似数値に対応する擬似代入値であって、前記擬似数値が代入された前記多項式の数値以外の数値である前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、
n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を、前記登録情報が秘匿化された秘匿登録情報として記憶する秘匿登録情報記憶手段と、
検索対象の情報を検索情報とし、
自然数をそれぞれc,L,mとし、
前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であり、且つ、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧Lがそれぞれ成立するものとし、
前記検索情報のうちの前記操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記検索情報に基づいて抽出された前記検索情報を復元可能なm個の前記部分情報を検索部分情報とし、
抽出されたm個の前記検索部分情報に基づいて演算されたm種類の数値である検索数値を要素とする集合を検索集合とし、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を、前記検索情報が秘匿化された秘匿検索情報とした場合に、
前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段と、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段と、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段と、
を備えたことを特徴とする。
In order to solve the technical problem, a similar information retrieval system according to claim 3 is provided.
Information to be registered is registered information,
Information that is the same as or similar to the registration information is similar information,
The natural numbers are d, k, n, q, r, respectively.
With respect to operation unit information that is information of a unit to be operated in the registration information, the registration information is converted into the similar information by performing d insertion / deletion / replacement operations, and the registration For information, it is assumed that n or more pieces of partial information having q pieces of operation unit information can be calculated, and r ≧ n holds.
The n pieces of partial information that can restore the registration information extracted based on the registration information are used as registration partial information.
A set having a registered numerical value, which is an n-type numerical value calculated based on the extracted n pieces of registered partial information, as a registered set,
A (k−1) -dimensional univariate polynomial calculated based on the registration information, and a numerical value calculated by substituting the registered numerical value for the polynomial that can restore the registration information is used as a registered substitution value. ,
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point,
A pseudo numerical value that is a numerical value other than the registered numerical value and a pseudo substituted value corresponding to the pseudo numerical value, and the pseudo substituted value that is a numerical value other than the numerical value of the polynomial to which the pseudo numerical value is substituted is a set. When a point other than a polynomial is a pseudo-polynomial point,
A polynomial point set, which is a set of r points each having n registration polynomial points and (r−n) pseudo-polynomial points, is stored as secret registration information in which the registration information is concealed. A secret registration information storage means;
The search target information is the search information,
Let natural numbers be c, L, m respectively.
For the search information, m or more pieces of partial information having q pieces of operation unit information can be calculated, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L is established,
With respect to the operation unit information in the search information, the search information is converted into the similar information by performing d insertion / deletion / replacement operations, and the search information is extracted based on the search information. The m pieces of partial information capable of restoring the search information are set as search partial information,
A set having as elements search numerical values that are m types of numerical values calculated based on the extracted m pieces of search partial information is defined as a search set.
Of the m types of search numerical values, the search information conceals a search subset that is a subset of the search set whose elements are the (m−L) types of search numerical values excluding the L types of search numerical values. If the search information is hidden,
Search numerical value determination means for determining whether the search numerical value included in the confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
Polynomial point subset element number determining means for determining whether or not the calculated points of the polynomial point subset are (c−L) or more;
(CL) Concealed similarity information computing means for computing concealed similarity information in which the similar information is concealed by computing each concealment registration information corresponding to the polynomial point subset having at least (c−L) points ,
It is provided with.

前記技術的課題を解決するために、請求項4記載の発明の類似情報検索プログラムは、
コンピュータを、
登録対象の情報を登録情報とし、
前記登録情報と同一または類似する情報を類似情報とし、
自然数をそれぞれd,k,n,q,rとし、
前記登録情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記登録情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、r≧nが成立するものとし、
前記登録情報に基づいて抽出された前記登録情報を復元可能なn個の前記部分情報を登録部分情報とし、
抽出されたn個の前記登録部分情報に基づいて演算されたn種類の数値である登録数値を要素とする集合を登録集合とし、
前記登録情報に基づいて演算された(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式に前記登録数値が代入されて演算された数値を登録代入値とし、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、
前記登録数値以外の数値である擬似数値および前記擬似数値に対応する擬似代入値であって、前記擬似数値が代入された前記多項式の数値以外の数値である前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、
n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を、前記登録情報が秘匿化された秘匿登録情報として記憶する秘匿登録情報記憶手段、
検索対象の情報を検索情報とし、
自然数をそれぞれc,L,mとし、
前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であれば、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧Lがそれぞれ成立するものとし、
前記検索情報のうちの前記操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記検索情報に基づいて抽出された前記検索情報を復元可能なm個の前記部分情報を検索部分情報とし、
抽出されたm個の前記検索部分情報に基づいて演算されたm種類の数値である検索数値を要素とする集合を検索集合とし、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を、前記検索情報が秘匿化された秘匿検索情報とした場合に、
前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段、
として機能させることを特徴とする。
In order to solve the technical problem, a similar information search program according to a fourth aspect of the present invention provides:
Computer
Information to be registered is registered information,
Information that is the same as or similar to the registration information is similar information,
The natural numbers are d, k, n, q, r, respectively.
With respect to operation unit information that is information of a unit to be operated in the registration information, the registration information is converted into the similar information by performing d insertion / deletion / replacement operations, and the registration For information, it is assumed that n or more pieces of partial information having q pieces of operation unit information can be calculated, and r ≧ n holds.
The n pieces of partial information that can restore the registration information extracted based on the registration information are used as registration partial information.
A set having a registered numerical value, which is an n-type numerical value calculated based on the extracted n pieces of registered partial information, as a registered set,
A (k−1) -dimensional univariate polynomial calculated based on the registration information, and a numerical value calculated by substituting the registered numerical value for the polynomial that can restore the registration information is used as a registered substitution value. ,
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point,
A pseudo numerical value that is a numerical value other than the registered numerical value and a pseudo substituted value corresponding to the pseudo numerical value, and the pseudo substituted value that is a numerical value other than the numerical value of the polynomial to which the pseudo numerical value is substituted is a set. When a point other than a polynomial is a pseudo-polynomial point,
A polynomial point set, which is a set of r points each having n registration polynomial points and (r−n) pseudo-polynomial points, is stored as secret registration information in which the registration information is concealed. Secret registration information storage means,
The search target information is the search information,
Let natural numbers be c, L, m respectively.
If m or more pieces of partial information having q pieces of operation unit information can be calculated for the search information, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L Each holds,
With respect to the operation unit information in the search information, the search information is converted into the similar information by performing d insertion / deletion / replacement operations, and the search information is extracted based on the search information. The m pieces of partial information capable of restoring the search information are set as search partial information,
A set having as elements search numerical values that are m types of numerical values calculated based on the extracted m pieces of search partial information is defined as a search set.
Of the m types of search numerical values, the search information conceals a search subset that is a subset of the search set whose elements are the (m−L) types of search numerical values excluding the L types of search numerical values. If the search information is hidden,
Search numerical value determining means for determining whether the search numerical value included in the confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
A polynomial point subset element number discriminating means for discriminating whether or not there are (c−L) or more calculated points of the polynomial point subset;
(CL) Secret similar information calculation means for calculating secret similar information in which the similar information is concealed by calculating each secret registration information corresponding to the polynomial point subset having more than (c−L) points;
It is made to function as.

請求項1に記載の発明によれば、前記各装置間で送受信される各情報(登録情報、検索情報、類似情報)が秘匿化されているため、前記各装置のユーザ以外の第三者から前記各情報を秘匿することができる。また、請求項1に記載の発明によれば、前記記憶装置では、前記登録情報が前記秘匿登録情報として秘匿化されており、且つ、前記検索情報が前記秘匿検索情報として秘匿化されているため、前記記憶装置のユーザである管理者からも前記各情報を秘匿することができる。この結果、前記第三者および前記管理者から、前記各情報が秘匿された状態で、前記登録情報の所有者であって前記登録装置のユーザである登録者と、前記検索情報の知得者であって前記検索装置のユーザである検索者と、前記記憶装置の管理業務を委託された外部委託業者としての前記管理者とを有する前記DASモデルを構成できる。   According to the first aspect of the present invention, since each piece of information (registration information, search information, similar information) transmitted / received between the devices is concealed, a third party other than the user of each device Each information can be kept secret. According to the first aspect of the present invention, in the storage device, the registration information is concealed as the secret registration information, and the search information is concealed as the secret search information. The information can be concealed from an administrator who is a user of the storage device. As a result, a registrant who is the owner of the registration information and is a user of the registration device in a state where the information is kept secret from the third party and the administrator, and an acquaintance of the search information The DAS model can be configured to include a searcher who is a user of the search device and the manager as an outsourcer entrusted with the management operation of the storage device.

また、請求項1に記載の発明によれば、前記登録装置は、前記登録者ごとの鍵を使用しなくても、前記登録情報を秘匿化できると共に、前記登録装置は、前記検索者ごとの鍵を使用しなくても、前記検索情報を秘匿化できる。この結果、前記各装置との間で送受信される各情報(登録情報、検索情報、類似情報)が、前記鍵を使用せずに秘匿化でき、従来公知の前記暗号化データベースにおける鍵管理の安全性(厳格性)やそれに伴う管理コスト等の問題を解決することができる。
また、請求項1に記載の発明によれば、前記秘匿類似情報を検索する際に、前記秘匿検索情報に含まれる検索数値と、前記各秘匿登録情報に含まれる各数値とを照合するため、暗号化された登録情報や検索情報を復号化してから照合を行う場合に比べ、効率的に前記秘匿類似情報を検索できる。
In addition, according to the first aspect of the present invention, the registration device can conceal the registration information without using a key for each registrant, and the registration device can be used for each searcher. The search information can be concealed without using a key. As a result, each information (registration information, search information, similar information) transmitted / received to / from each device can be concealed without using the key, and the key management safety in the conventionally known encryption database can be secured. It is possible to solve problems such as sex (rigidity) and management costs associated therewith.
Further, according to the invention of claim 1, when searching for the secret similar information, in order to collate the search numerical value included in the secret search information and each numerical value included in the respective secret registration information, The secret similar information can be searched more efficiently than in the case where the verification is performed after decrypting the encrypted registration information and search information.

請求項2に記載の発明によれば、{(n+k)/2}個以上の前記登録多項式点が判明すれば前記多項式が復元できることが保証されており、且つ、cがd,q,n,mに基づいて演算され、且つ、c≧(n+k)/2,c≧Lがそれぞれ成立する。このため、前記検索装置は、受信した前記各秘匿類似情報に含まれるc個以上の前記登録数値または前記擬似数値に、{(n+k)/2}個以上の前記登録数値が含まれていれば、前記各秘匿類似情報から前記各類似情報を常に復元することができる。この結果、前記検索装置は、前記秘匿類似情報を復元する際に、抽出された前記登録数値および前記擬似数値がc個以上であるか否かを判別することにより、前記各秘匿類似情報が、前記検索情報に対する前記類似情報として復元可能であるか否かを適切に判別することができる。また、前記記憶装置は、前記秘匿類似情報を検索する際に、抽出された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別することにより、前記多項式点集合が、前記検索情報に対する前記類似情報として復元可能であるか否かを適切に判別することができる。   According to the invention described in claim 2, it is guaranteed that the polynomial can be restored if {(n + k) / 2} or more of the registered polynomial points are found, and c is d, q, n, It is calculated based on m, and c ≧ (n + k) / 2 and c ≧ L are established. For this reason, the search device may include {(n + k) / 2} or more of the registered numerical values in the c or more of the registered numerical values or the pseudo numerical values included in the received secret similar information. The similar information can be always restored from the secret similar information. As a result, when the search device restores the concealment similarity information, by determining whether or not the extracted registered numerical value and the pseudo numerical value are c or more, the respective concealment similar information is It is possible to appropriately determine whether or not the similar information with respect to the search information can be restored. Further, the storage device determines whether or not the number of extracted polynomial point subsets is (c−L) or more when searching for the secret similarity information, thereby determining the polynomial point set. However, it is possible to appropriately determine whether or not it can be restored as the similar information with respect to the search information.

請求項3に記載の発明によれば、記憶した前記秘匿登録情報を、前記登録情報に復元されずに秘匿化されたままの状態で検索できる。また、検索対象としての前記検索情報も、前記秘匿検索情報として秘匿化されたままの状態で前記検索が実行できる。したがって、前記検索情報の知得者である検索者以外の第三者から前記各情報(登録情報、検索情報、類似情報)を秘匿することができると共に、前記類似情報検索システムの管理者からも前記各情報を秘匿することができる。
また、請求項3に記載の発明によれば、前記検索者ごとの鍵を使用しなくても、前記検索情報を秘匿化できる。この結果、従来公知の前記暗号化データベースにおける鍵管理の安全性(厳格性)やそれに伴う管理コスト等の問題を解決することができる。
また、請求項3に記載の発明によれば、前記秘匿類似情報を検索する際に、前記秘匿検索情報に含まれる検索数値と、前記各秘匿登録情報に含まれる各数値とを照合するため、暗号化された登録情報や検索情報を復号化してから照合を行う場合に比べ、効率的に前記秘匿類似情報を検索できる。
According to the third aspect of the present invention, the stored secret registration information can be searched without being restored to the registration information. Further, the search can be executed in a state where the search information as a search target is kept secret as the secret search information. Accordingly, the information (registration information, search information, and similar information) can be concealed from a third party other than the searcher who is the acquirer of the search information, and also from the administrator of the similar information search system. Each information can be kept secret.
According to the invention of claim 3, the search information can be concealed without using a key for each searcher. As a result, it is possible to solve problems such as the security (strictness) of key management in the conventionally known encrypted database and the management cost associated therewith.
Further, according to the invention of claim 3, when searching for the secret similar information, in order to collate the search numerical value included in the secret search information and each numerical value included in the respective secret registration information, The secret similar information can be searched efficiently compared to the case where the verification is performed after decrypting the encrypted registration information and search information.

請求項4に記載の発明によれば、記憶した前記秘匿登録情報を、前記登録情報に復元されずに秘匿化されたままの状態で検索できる。また、検索対象としての前記検索情報も、前記秘匿検索情報として秘匿化されたままの状態で前記検索が実行できる。したがって、前記検索情報の知得者である検索者以外の第三者から前記各情報(登録情報、検索情報、類似情報)を秘匿することができると共に、前記類似情報検索システムの管理者からも前記各情報を秘匿することができる。
また、請求項4に記載の発明によれば、前記検索者ごとの鍵を使用しなくても、前記検索情報を秘匿化できる。この結果、従来公知の前記暗号化データベースにおける鍵管理の安全性(厳格性)やそれに伴う管理コスト等の問題を解決することができる。
また、請求項4に記載の発明によれば、前記秘匿類似情報を検索する際に、前記秘匿検索情報に含まれる検索数値と、前記各秘匿登録情報に含まれる各数値とを照合するため、暗号化された登録情報や検索情報を復号化してから照合を行う場合に比べ、効率的に前記秘匿類似情報を検索できる。
According to the fourth aspect of the present invention, the stored secret registration information can be searched without being restored to the registration information. Further, the search can be executed in a state where the search information as a search target is kept secret as the secret search information. Accordingly, the information (registration information, search information, and similar information) can be concealed from a third party other than the searcher who is the acquirer of the search information, and also from the administrator of the similar information search system. Each information can be kept secret.
According to the invention of claim 4, the search information can be concealed without using a key for each searcher. As a result, it is possible to solve problems such as the security (strictness) of key management in the conventionally known encrypted database and the management cost associated therewith.
According to the invention of claim 4, when searching for the secret similar information, in order to collate the search numerical value included in the secret search information and each numerical value included in the respective secret registration information, The secret similar information can be searched efficiently compared to the case where the verification is performed after decrypting the encrypted registration information and search information.

次に図面を参照しながら、本発明の実施の形態の具体例(以下、実施例と記載する)を説明するが、本発明は以下の実施例に限定されるものではない。
なお、以下の図面を使用した説明において、理解の容易のために説明に必要な部材以外の図示は適宜省略されている。
Next, specific examples of embodiments of the present invention (hereinafter referred to as examples) will be described with reference to the drawings, but the present invention is not limited to the following examples.
In the following description using the drawings, illustrations other than members necessary for the description are omitted as appropriate for easy understanding.

図1は本発明の実施例1の類似情報検索システムの全体説明図である。
図1において、本発明の実施例1の類似情報検索システムSは、登録対象の情報(データ)である登録情報を記憶する記憶装置の一例としてのデータベースサーバ(類似情報検索装置)DSを有する。また、前記類似情報検索システムSは、通信回線の一例としてのインターネット1を介して前記データベースサーバDSと情報の送受信が可能に接続され、前記データベースサーバDSに対して、前記登録情報を登録させる(格納させる)登録装置の一例としての登録用クライアントパソコンPCaを有する。
FIG. 1 is an overall explanatory diagram of a similar information search system according to a first embodiment of the present invention.
1, the similar information search system S according to the first embodiment of the present invention includes a database server (similar information search device) DS as an example of a storage device that stores registration information that is information (data) to be registered. Further, the similar information search system S is connected to the database server DS through the Internet 1 as an example of a communication line so that information can be transmitted and received, and causes the database server DS to register the registration information ( A registration client personal computer PCa as an example of a registration device.

さらに、前記類似情報検索システムSは、前記インターネット1を介して前記データベースサーバDSと情報の送受信が可能に接続され、前記データベースサーバDSに対して、記憶された前記登録情報のうち、検索対象の情報である検索情報と同一または類似する前記登録情報である類似情報を検索させる検索装置の一例としての検索用クライアントパソコンPCbを有する。
実施例1の前記データベースサーバDSおよび前記各クライアントパソコンPCa,PCbは、コンピュータ本体H1、ディスプレイH2、入力装置であるキーボードH3、マウスH4、図示しないハードディスクドライブ、DVD(Digital Versatile Disc)ドライブ等により構成されている。
Further, the similar information search system S is connected to the database server DS through the Internet 1 so as to be able to send and receive information. It has a search client personal computer PCb as an example of a search device that searches for similar information that is the registered information that is the same as or similar to the search information that is information.
The database server DS and each of the client personal computers PCa and PCb of the first embodiment are configured by a computer main body H1, a display H2, a keyboard H3 as an input device, a mouse H4, a hard disk drive (not shown), a DVD (Digital Versatile Disc) drive, and the like. Has been.

(実施例1の制御部の説明)
図2は本発明の実施例1の類似情報検索システムを構成する各装置の機能をブロック図(機能ブロック図)で示した説明図である。
図2において、前記データベースサーバDSおよび前記各クライアントパソコンPCa,PCbのコンピュータ本体H1は、外部との信号の入出力および入出力信号レベルの調節等を行うI/O(入出力インターフェース)、必要な起動処理を行うためのプログラムおよびデータ等が記憶されたROM(リードオンリーメモリ、記録媒体)、必要なデータ及びプログラムを一時的に記憶するためのRAM(ランダムアクセスメモリ、記録媒体)、ROM等に記憶された起動プログラムに応じた処理を行うCPU(中央演算処理装置)、ならびにクロック発振器等を有しており、前記ROM及びRAM等に記憶されたプログラムを実行することにより種々の機能を実現することができる。
前記構成の前記データベースサーバDSおよび前記各クライアントパソコンPCa,PCbは、前記ハードディスクやROM等に記憶されたプログラムを実行することにより種々の機能を実現することができる。
(Description of the control part of Example 1)
FIG. 2 is an explanatory diagram showing the function of each device constituting the similar information retrieval system of the first embodiment of the present invention in a block diagram (functional block diagram).
In FIG. 2, the database server DS and the computer main body H1 of each of the client personal computers PCa and PCb have an I / O (input / output interface) that performs input / output of signals to / from the outside and adjustment of input / output signal levels, etc. ROM (read-only memory, recording medium) that stores programs and data for performing startup processing, RAM (random access memory, recording medium), ROM, etc. for temporarily storing necessary data and programs It has a CPU (Central Processing Unit) that performs processing according to the stored startup program, a clock oscillator, and the like, and implements various functions by executing programs stored in the ROM, RAM, and the like. be able to.
The database server DS and the client personal computers PCa and PCb configured as described above can realize various functions by executing programs stored in the hard disk, ROM, or the like.

(登録用クライアントパソコンPCaの制御部の説明)
前記登録用クライアントパソコンPCaのハードディスクドライブには、前記登録用クライアントパソコンPCaの基本動作を制御する基本ソフト(オペレーティングシステム)OSや、アプリケーションプログラムとしての秘匿登録情報送信プログラムAP1、その他の図示しないソフトウェアが記憶されている。
(Description of control unit of registration client personal computer PCa)
The hard disk drive of the registration client personal computer PCa includes a basic software (operating system) OS that controls the basic operation of the registration client personal computer PCa, a secret registration information transmission program AP1 as an application program, and other software (not shown). It is remembered.

(秘匿登録情報送信プログラムAP1)
前記秘匿登録情報送信プログラムAP1は、下記の機能手段(プログラムモジュール)を有する。
(Secret registration information transmission program AP1)
The secret registration information transmission program AP1 has the following functional means (program modules).

図3は実施例1の登録画像の説明図である。
CA1:登録画像表示手段
登録画像表示手段CA1は、図3に示す、前記登録情報を前記データベースサーバDSに登録させるための登録画像2を前記ディスプレイH2に表示する。実施例1の前記登録画像2は、前記登録情報を入力するための登録情報入力部2aと、入力された前記登録情報を前記データベースサーバDSに登録するための登録ボタン2bとを有する。なお、実施例1では、前記登録情報入力部2aには、図3に示すように、文字列情報により構成された前記登録情報s(例えば、塩基配列の文字列情報である「AGCCGGAAGGCC」)が入力される。
FIG. 3 is an explanatory diagram of a registered image according to the first embodiment.
CA1: Registered image display means The registered image display means CA1 displays a registered image 2 shown in FIG. 3 for registering the registration information in the database server DS on the display H2. The registration image 2 according to the first embodiment includes a registration information input unit 2a for inputting the registration information, and a registration button 2b for registering the input registration information in the database server DS. In Example 1, as shown in FIG. 3, the registration information input unit 2a includes the registration information s (for example, “AGCCCGGAAGGGCC” which is character string information of a base sequence) configured by character string information. Entered.

CA2:登録判別手段
登録判別手段CA2は、前記登録情報sを前記データベースサーバDSに登録するか否かを判別する。実施例1の前記登録判別手段CA2は、前記登録情報入力部2aに前記登録情報sが入力されて前記登録ボタン2bが入力されたか否かを判別することにより、前記登録情報sを前記データベースサーバDSに登録するか否かを判別する。
ここで、実施例1の前記類似情報検索システムSでは、類似文字列検索手法であるq−gramの技術と、生体認証やパスワードの復元等に利用されている曖昧照合法であるファジーボールト(Fuzzy Vault、Fuzzy Vault Scheme)の技術とを組み合わせることにより、前記登録情報sが秘匿化された状態で登録・検索等の各処理が実行される。
CA2: Registration Discriminating Unit The registration discriminating unit CA2 discriminates whether or not to register the registration information s in the database server DS. The registration determination unit CA2 according to the first embodiment determines whether the registration information s is input to the registration information input unit 2a and the registration button 2b is input, so that the registration information s is stored in the database server. It is determined whether or not to register with the DS.
Here, in the similar information search system S according to the first embodiment, the q-gram technique, which is a similar character string search method, and the fuzzy vault (Fuzzy vault, which is an ambiguous collation method used for biometric authentication, password restoration, etc.) By combining with the technology of Vault and Fuzzy Vault Scheme, each process such as registration and search is executed in a state where the registration information s is kept secret.

(q−gramを用いた類似文字列検索手法について)
ここで、類似文字列検索手法とは、ある文字列に対して、文字の挿入・削除・置換の各編集操作の回数である編集距離が、所定の値以下になる文字列を類似文字列として検出する手法をいう。すなわち、2つの文字列を同一にするために必要な前記各編集操作の最小値である前記編集距離に基づいて、データベース内の全ての文字列から前記類似文字列を検索する手法をいう。
また、q−gramとは、0を除いた自然数をqとした場合に、元の文字列の長さqとなる部分文字列のことをいう。例えば、元の文字列を「ABCDEFG」とし、q=4とした場合、前記q−gramは、「ABCD」,「BCDE」,「CDEF」,「DEFG」の4つである。
(About similar character string search method using q-gram)
Here, the similar character string search method refers to a character string in which the edit distance, which is the number of character insertion / deletion / replacement operations, is less than or equal to a predetermined value for a character string. This is a detection method. That is, it refers to a method of searching for the similar character string from all the character strings in the database based on the edit distance that is the minimum value of the editing operations necessary to make two character strings the same.
Further, q-gram refers to a partial character string having the length q of the original character string, where q is a natural number excluding 0. For example, when the original character string is “ABCDEFG” and q = 4, the q-gram is four of “ABCD”, “BCDE”, “CDEF”, and “DEFG”.

なお、0を除いた自然数をそれぞれd,n,mとし、長さnの第1の文字列と長さmの第2の文字列との前記編集距離をdとし、前記自然数n,mのうちのいずれか大きい値をmax(n,m)とした場合に、前記第1の文字列と前記第2の文字列とは、少なくとも、{max(n,m)−(d−1)q−1}個の前記q−gramを共通に持つことが保証されている(例えば、非特許文献10参照)。
したがって、q−gramを用いた類似文字列検索手法は、まず、前記文字列をsqgとした場合に、予め設定された前記自然数n,m,q,dの値に基づいて、前記q−gramの共有数の最小値(max(n,m)−(d−1)q−1)を演算し、前記文字列sqgと、前記データベース内の各文字列との各共有数を演算することにより、共有数が前記最小値以下となる前記各文字列を前記類似文字列の候補から排除する、いわゆる、フィルタリング処理を実行する。そして、前記文字列sqgと、前記類似文字列の候補となった前記各文字列との前記編集距離を実際に演算することにより、最終的な解である前記類似文字列を演算する、いわゆる、洗練化処理を実行する。
The natural numbers excluding 0 are d, n, and m, respectively, and the edit distance between the first character string of length n and the second character string of length m is d, and the natural numbers n, m When any one of the values is max (n, m), the first character string and the second character string are at least {max (n, m) − (d−1) q −1} pieces of the q-gram are guaranteed in common (for example, see Non-Patent Document 10).
Therefore, in the similar character string search method using q-gram, first, when the character string is set to s qg , based on the values of the natural numbers n, m, q, and d set in advance, The minimum value (max (n, m) − (d−1) q−1) of the shared number of gram is calculated, and each shared number between the character string s qg and each character string in the database is calculated. Thus, a so-called filtering process is performed in which each character string having the number of shares less than or equal to the minimum value is excluded from the similar character string candidates. Then, by actually calculating the edit distance between the character string s qg and each character string that is a candidate for the similar character string, the similar character string that is the final solution is calculated. Execute the refinement process.

この結果、q−gramを用いた類似文字列検索手法は、総当りの類似文字列検索手法に比べ、処理を高速化できる。すなわち、長さnの第1の文字列と長さmの第2の文字列との前記編集距離の計算について、計算量を評価するためのランダウの記号(ランダウの記法、O-記法)を用いた場合、総当りの類似文字列検索手法では、前記計算量がO(nm)時間となる。すなわち、n=mとした場合、O(n)時間であるため、計算量がnの二乗関数的に大きくなる。これに対して、前記q−gramを用いた類似文字列検索手法では、前記計算量がO(n+m)時間となる。このため、前記フィルタリング処理を高速化できる。すなわち、n=mとした場合、O(2n)時間であるため、計算量がnの線形関数的に大きくなり、計算量を低減できる。 As a result, the similar character string search method using q-gram can speed up processing compared to the brute force similar character string search method. That is, for the calculation of the edit distance between the first character string of length n and the second character string of length m, Landau symbols (Landau notation, O-notation) for evaluating the amount of calculation are used. When used, in the brute force similar character string search method, the calculation amount is O (nm) time. That is, when n = m, since the time is O (n 2 ), the amount of calculation increases as a square function of n. On the other hand, in the similar character string search method using the q-gram, the calculation amount is O (n + m) time. For this reason, the filtering process can be speeded up. That is, when n = m, since it is O (2n) time, the calculation amount increases in a linear function of n, and the calculation amount can be reduced.

(ファジーボールトについて)
また、ファジーボールトとは、誤り訂正符号を用いて、秘匿化された情報どうしの曖昧な照合を実行する手法である。ここで、誤り訂正符号とは、冗長性(redundancy)が付加された情報の集合としての符号であって、前記冗長性が前記情報に含まれる誤りの訂正に用いられる符号のことである。このため、前記誤り訂正符号であれば、例えば、送信中にノイズが混入した場合でも、前記冗長性に基づいて、前記ノイズが除去された前記情報を受信できる。
前記ファジーボールトでは、秘密情報を施錠する施錠処理と、施錠された前記秘密情報を開錠する開錠処理とが実行される。
(About fuzzy vault)
The fuzzy vault is a technique for executing ambiguous collation between concealed information using an error correction code. Here, the error correction code is a code as a set of information to which redundancy is added, and the redundancy is used for correcting an error included in the information. Therefore, with the error correction code, for example, even when noise is mixed during transmission, the information from which the noise has been removed can be received based on the redundancy.
In the fuzzy vault, a locking process for locking the secret information and an unlocking process for unlocking the locked secret information are executed.

まず、0を除いた自然数をそれぞれk,t,p,rとし、前記自然数pを位数とする有限体(finite field)をFとし、前記有限体Fのk次拡大体をFとし、前記有限体Fのt次拡大体をFとし、前記有限体Fのr次拡大体をFとし、前記k次拡大体Fの部分体としての秘密情報をsfvとし(sfv∈F)、前記t次拡大体Fの部分体としての第1の集合をAとし(A∈F)、前記r次拡大体Fの部分体としての集合、いわゆる、ボールト(vault)をRとし(R∈F)、r>tとした場合に、前記秘密情報sfvと、前記第1の集合Aとに基づいて、前記ボールトRを演算する前記施錠処理を実行する。
そして、前記t次拡大体Fの部分体としての第2の集合をBとし(B∈F)、前記第1の集合Aと前記第2の集合Bとが十分近い場合、例えば、前記各集合A,Bの各要素について、前記各要素の値が8割以上同一である場合に、前記ボールトRと、前記第2の集合Bとに基づいて、前記秘密情報sfvを演算する前記開錠処理を実行する。
First, let k, t, p, r be natural numbers excluding 0, F be a finite field with the natural number p being the order, and F k be a k-th order extension of the finite field F; The t-order extension field of the finite field F is F t , the r-order extension field of the finite field F is F r, and the secret information as a subfield of the k-th extension field F k is s fv (s fv ∈ F k ), the first set as a sub-field of the t-order extension field F t is A (A∈F t ), and the set as a sub-body of the r-order extension field F r , the so-called vault When R is R (RεF r ) and r> t, the locking process for calculating the vault R is executed based on the secret information s fv and the first set A.
If the second set as a sub-field of the t-th order extension field F t is B (B∈F t ), and the first set A and the second set B are sufficiently close, Calculating the secret information s fv based on the vault R and the second set B when the value of each element is equal to 80% or more for each element of each set A, B Execute unlocking process.

なお、体(field)とは、加減乗除の四則演算が定義された集合であって、前記集合の要素である元どうしの前記四則演算が前記集合内で閉じている(演算結果が元として集合に含まれる)場合の前記集合のことをいう。また、有限体とは、前記集合の元の数(位数)が、有限個である体のことであり、前記有限体は、ガロア体(Galois field)とも呼ばれ、特に位数が素数の場合には素体(prime field)とも呼ばれる。また、拡大体とは、前記体を部分集合として含む体のことであり、例えば、実数体(実数全体の集合)は、有理数体(有理数全体の集合)の拡大体である。また、有限体のk次拡大体とは、加減乗除の四則演算が定義された、前記有限体の元を係数とする(k−1)次以下の多項式を元とする集合(多項式集合)のことをいう。さらに、部分体とは、前記体の部分集合であり、前記体で定義されている前記四則演算が成立する前記部分集合のことをいう。
なお、体、有限体、拡大体、部分体等については、例えば、非特許文献6に記載されており、公知であるため、詳細な説明を省略する。
A field is a set in which four arithmetic operations of addition, subtraction, multiplication, and division are defined, and the four arithmetic operations of elements that are elements of the set are closed in the set (the operation result is a set based on the original). In the case of the above). A finite field is a field in which the original number (order) of the set is a finite number, and the finite field is also called a Galois field. In some cases, it is also called a prime field. An extension field is a field including the field as a subset. For example, a real number field (a set of all real numbers) is an extension field of a rational number field (a set of all rational numbers). Further, a k-th order extension field of a finite field is a set (polynomial set) in which four arithmetic operations of addition, subtraction, multiplication, and division are defined, and an element of the finite field is a coefficient (k-1) or lower polynomial. That means. Furthermore, a partial body is a subset of the body, and refers to the subset in which the four arithmetic operations defined in the body are established.
In addition, about a body, a finite field, an expansion body, a partial body, etc., it describes in the nonpatent literature 6, for example, Since it is well-known, detailed description is abbreviate | omitted.

(RS符号を用いたファジーボールトについて)
前記ファジーボールトでは、前記施錠処理および前記開錠処理を実行するために、前記誤り訂正符号として、誤り訂正能力が高いとされている、RS符号(Reed-Solomon符号、リード・ソロモン符号)が利用される場合がある。ここで、前記RS符号とは、前記情報がビットのブロックに分割されて表現され、前記ブロック単位の誤り訂正ができる符号である。なお、前記ブロックは、具体的には、前記有限体(F)のk次拡大体(F)の元である前記多項式上の点である。すなわち、前記RS符号では、所定の数の前記多項式上の点を要素とする集合が、いわゆる、符号語としてビットで表現される。なお、n個の前記多項式上の点からなる集合を前記符号語として表現する場合、前記RS符号は、特に、(n,k)符号((n,k)RS符号)という。
なお、前記RS符号等については、例えば、非特許文献6等に記載されており、公知であるため、詳細な説明を省略する。
(About fuzzy vault using RS code)
In the fuzzy vault, an RS code (Reed-Solomon code, Reed-Solomon code), which has high error correction capability, is used as the error correction code in order to execute the locking process and the unlocking process. May be. Here, the RS code is a code in which the information is expressed by being divided into bit blocks, and error correction can be performed in units of blocks. Note that the block is specifically a point on the polynomial that is an element of the k-th order extension field (F k ) of the finite field (F). That is, in the RS code, a set whose elements are a predetermined number of points on the polynomial is expressed by bits as a so-called code word. When a set of n points on the polynomial is expressed as the code word, the RS code is particularly referred to as an (n, k) code ((n, k) RS code).
Note that the RS code and the like are described in, for example, Non-Patent Document 6 and the like and are well known, and thus detailed description thereof is omitted.

前記RS符号を用いたファジーボールトでは、前記施錠処理において、まず、n=t,r>nとした場合に、k個の要素からなる前記秘密情報sfv(sfv∈F)と、n個の要素からなる前記第1の集合A(A∈F)とに基づいて、前記多項式上のn個の点からなる前記(n,k)符号を演算する。次に、前記(n,k)符号に対して、前記多項式上の点以外のランダムな(r−n)点からなる集合であるチャフ(chaff)を前記(n,k)符号に付与する。そして、前記(n,k)符号と、前記チャフとによって構成されたr個の点からなる集合が前記ボールトR(R∈F)として出力される。
また、前記RS符号を用いたファジーボールトでは、前記開錠処理において、前記第1の集合Aのn個以下の要素を有する前記第2の集合B(B∈F)と、r個の点からなる前記ボールトRとに基づいて、前記多項式を復元することにより、前記秘密情報sfvを演算する。
In the fuzzy vault using the RS code, in the locking process, first, when n = t, r> n, the secret information s fv (s fv εF k ) including k elements and n Based on the first set A (AεF n ) composed of elements, the (n, k) code composed of n points on the polynomial is calculated. Next, a chaff that is a set of random (rn) points other than the points on the polynomial is added to the (n, k) code. A set of r points formed by the (n, k) code and the chaff is output as the vault R (RεF r ).
In the fuzzy vault using the RS code, in the unlocking process, the second set B (BεF t ) having n elements or less of the first set A and r points The secret information s fv is calculated by restoring the polynomial based on the vault R consisting of

なお、前記RS符号では、前記(n,k)符号における(n−k)/2個以下の点の誤りを訂正できることが保証されている(例えば、非特許文献6、7参照)。すなわち、前記(n,k)符号における{(n+k)/2}個以上の点が判明すれば前記多項式の復元に成功することが知られている(n−{(n−k)/2}=(n+k)/2)。この結果、前記RS符号を用いたファジーボールトでは、前記各集合A,Bの各要素について、{(n+k)/2}個以上の要素が同一である場合には、前記多項式が復元でき、前記秘密情報sfvを演算できることが保証されている。
したがって、前記RS符号を用いたファジーボールトでは、前記チャフを含む前記ボールトRから前記(n,k)符号を特定する問題と、前記(n,k)符号から前記多項式を復元する問題、いわゆる、多項式復元問題との困難性によって、前記秘密情報sfvの秘匿化についての安全性が保証されている。
なお、前記RS符号を用いたファジーボールトについては、例えば、非特許文献7、8等に記載されており、公知であるため、詳細な説明を省略する。
In the RS code, it is guaranteed that errors of (n−k) / 2 or less points in the (n, k) code can be corrected (for example, see Non-Patent Documents 6 and 7). That is, it is known that if the {n + k) / 2} or more points in the (n, k) code are found, the polynomial can be successfully restored (n − {(n−k) / 2}). = (N + k) / 2). As a result, in the fuzzy vault using the RS code, for each element of the sets A and B, when {(n + k) / 2} or more elements are the same, the polynomial can be restored, It is guaranteed that the secret information s fv can be calculated.
Therefore, in the fuzzy vault using the RS code, the problem of specifying the (n, k) code from the vault R including the chaff, and the problem of restoring the polynomial from the (n, k) code, so-called, Due to the difficulty with the polynomial restoration problem, the security of the confidential information s fv is secured.
Note that the fuzzy vault using the RS code is described in, for example, Non-Patent Documents 7 and 8, and is well known, and thus detailed description thereof is omitted.

CA3:多項式演算手段
多項式演算手段CA3は、前記登録情報sに基づいて、(k−1)次元で1変数の多項式であって、前記登録情報sを復元するために必要な前記多項式上の点が{(n+k)/2}個以上となる前記多項式を演算する。実施例1の前記多項式演算手段CA3は、前記多項式の変数をxとし、前記多項式のk個の係数をs〜sk−1とし、前記多項式をf(x)として以下の式(1)に示すものとした場合、前記係数s〜sk−1を演算することにより、前記多項式f(x)を演算する。
f(x)=s+sx+s+…+sk−2k−2+sk−1k−1…(1)
すなわち、実施例1の前記多項式演算手段CA3は、前記登録情報sを前記秘密情報sfvとみなして(s=sfv)、前記登録情報sに基づいて、前記RS符号を用いたファジーボールトにおける前記多項式f(x)の係数s〜sk−1を演算する。
CA3: Polynomial calculation means The polynomial calculation means CA3 is a (k−1) -dimensional univariate polynomial based on the registration information s, and is a point on the polynomial necessary to restore the registration information s. The polynomial is calculated such that becomes {(n + k) / 2} or more. The polynomial calculation means CA3 according to the first embodiment uses the following equation (1), where x is a variable of the polynomial, s 0 to s k-1 are k coefficients of the polynomial, and f (x) is the polynomial. When calculating the coefficient f (x), the coefficients s 0 to s k−1 are calculated.
f (x) = s 0 + s 1 x + s 2 x 2 +... + s k−2 x k−2 + s k−1 x k−1 (1)
That is, the polynomial calculation unit CA3 according to the first embodiment regards the registration information s as the secret information s fv (s = s fv ), and uses the RS code based on the registration information s. The coefficients s 0 to s k−1 of the polynomial f (x) are calculated.

実施例1の前記登録情報sは、具体的には、まず、前記登録情報sを前記文字列sqgとみなすことにより(s=sfv=sqg)、(k−1)個の部分文字列を抽出する。ここで、前記登録情報sの長さ(文字数)を‖s‖とした場合、(‖s‖−q+1)個のq−gramが抽出されることが知られている(例えば、非特許文献6等参照)。すなわち、前記登録情報sからn個のq−gramが抽出されるとした場合には、q=‖s‖−n+1が成立する。よって、前記部分文字列をsk(1)〜sk(k−1)とした場合、長さ(‖s‖−(k−1)+1)の前記部分文字列sk(1)〜sk(k−1)が抽出される。そして、前記部分文字列sk(1)〜sk(k−1)を、前記有限体Fの元としての前記係数s〜sk−1(s,s,…,sk−2,sk−1∈F)に対応付けることにより、前記多項式f(x)を演算する。例えば、sk−1=1とし、且つ、予め設定された双方向関数の一例としての可逆関数により、前記部分文字列sk(1)〜sk(k−1)を、前記有限体Fの元となる前記係数s〜sk−2に変換する。 Specifically, the registration information s of the first embodiment is as follows. First, the registration information s is regarded as the character string s qg (s = s fv = s qg ), and (k−1) partial characters. Extract columns. Here, it is known that (文字 s‖−q + 1) q-grams are extracted when the length (number of characters) of the registration information s is ‖s‖ (for example, Non-Patent Document 6). Etc.). That is, when n q-grams are extracted from the registration information s, q = ‖s‖-n + 1 holds. Thus, if the partial string was s k (1) ~s k ( k-1), the substring s k (1) of the length (‖s‖- (k-1) +1 ) ~s k (k-1) is extracted. Then, the partial character strings s k (1) to s k ( k−1) are converted into the coefficients s 0 to s k−1 (s 0 , s 1 ,..., S k− as the elements of the finite field F. 2 , s k−1 εF), the polynomial f (x) is calculated. For example, s k-1 = 1 and the partial character strings s k (1) to s k (k−1) are converted into the finite field F by a reversible function as an example of a preset bidirectional function. Are converted into the coefficients s 0 to s k−2 that are the basis of the above.

ここで、可逆関数とは、前記部分文字列sk(1)〜sk(k−1)から前記係数s〜sk−1に変換可能、且つ、前記係数s〜sk−1から前記部分文字列sk(1)〜sk(k−1)に変換可能な関数である。例えば、前記登録情報sを「AGCCGGAAGGCC」とし、k=10とし、長さ4(12−(10−1)+1=4)の前記部分文字列sk(1)を「AGCC」とし、s=5とした場合に、前記可逆関数とは、「AGCC」→5が成立する対応関係、いわゆる、写像(map)のことである。また、この場合、前記可逆関数をTとし、前記可逆関数Tの逆関数をT−1とし、前記部分文字列sk(1)を入力した前記可逆関数Tの出力値をT(sk(1))とし、前記係数sを入力した前記逆関数T−1の出力値をT−1(s)とした場合に、T(sk(1))=s=5、T−1(s)=T−1(5)=sk(1)が成立する。 Here, the reversible function, the substring s k (1) ~s k ( k-1) from the convertible to the coefficient s 0 ~s k-1, and the coefficient s 0 ~s k-1 To the partial character string s k (1) to s k ( k−1) . For example, the registration information s is “AGCCCGGAAGGGCC”, k = 10, the partial character string s k (1) of length 4 (12− (10−1) + 1 = 4 ) is “AGCC”, and s 0 = 5, the reversible function is a correspondence relationship that establishes “AGCC” → 5, that is, a so-called map. In this case, the reversible function is T, the inverse function of the reversible function T is T- 1, and the output value of the reversible function T to which the partial character string s k (1) is input is T (s k ( 1)), and the output value of the inverse function T -1 input the coefficient s 0 in case of a T -1 (s 0), T (s k (1)) = s 0 = 5, T - 1 (s 0 ) = T −1 (5) = s k (1) is established.

なお、実施例1では、前記登録情報sのq−gramを抽出するために、前記自然数qの値が予め設定されている。よって、前記登録情報入力部2aに前記登録情報sが入力された場合、前記自然数nの値が、n=‖s‖−q+1として設定されている。また、実施例1では、前記登録情報sと前記検索情報との前記編集距離dについての最大値がdmax(d≦dmax)として予め設定されている。さらに、実施例1では、前記自然数(次元数)kの値が、以下の式(2)を前記自然数kについて解いた式(2)′により設定されている。
(n+k)/2=n−(dmax−1)q−1 …(2)
k=n−2(dmax−1)q−2 …(2)′
In Example 1, the value of the natural number q is set in advance in order to extract the q-gram of the registration information s. Therefore, when the registration information s is input to the registration information input unit 2a, the value of the natural number n is set as n = ‖s‖−q + 1. In the first embodiment, the maximum value for the edit distance d between the registration information s and the search information is preset as d max (d ≦ d max ). Furthermore, in the first embodiment, the value of the natural number (dimension number) k is set by the equation (2) ′ obtained by solving the following equation (2) for the natural number k.
(N + k) / 2 = n− (d max −1) q−1 (2)
k = n−2 (d max −1) q−2 (2) ′

CA4:登録部分情報抽出手段
登録部分情報抽出手段CA4は、前記登録情報sに基づいて、前記登録情報sを復元可能なn個の部分情報である登録部分情報を抽出する。実施例1の前記登録部分情報抽出手段CA4は、前記登録情報sを前記文字列sqgとみなすことにより(s=sfv=sqg)、n個の前記q−gramを前記登録部分情報として抽出する。実施例1の前記登録部分情報抽出手段CA4は、前記登録部分情報をsq1〜sqnとした場合に、前記多項式演算手段CA3と同様に、n個(n=‖s‖−q+1)の部分文字列である前記登録部分情報sq1〜sqnを抽出する。例えば、q=4とした場合、前記登録情報s(「AGCCGGAAGGCC」)の登録部分情報sq1〜sqnは、sq1(「AGCC」),sq2「GCCG」,…,sqn=sq9「GGCC」の9つである(n=12−4+1=9)。
CA5:登録集合演算手段
登録集合演算手段CA5は、前記登録部分情報抽出手段CA4により抽出されたn個の前記登録部分情報に基づいて、n種類の数値である登録数値を要素とする集合である登録集合を演算する。すなわち、実施例1の前記登録集合演算手段CA5は、前記RS符号を用いたファジーボールトにおける前記第1の集合Aの一例としての前記登録集合Aを演算する(A∈F)。
CA4: Registered partial information extracting means The registered partial information extracting means CA4 extracts registered partial information which is n pieces of partial information capable of restoring the registered information s based on the registered information s. The registered part information extraction unit CA4 according to the first embodiment regards the registration information s as the character string s qg (s = s fv = s qg ), and uses n q-grams as the registered part information. Extract. The registered part information extracting unit CA4 according to the first embodiment has n (n = ‖s‖−q + 1) parts as in the polynomial calculating unit CA3 when the registered part information is s q1 to s qn. The registered partial information s q1 to s qn that are character strings are extracted. For example, when q = 4, the registration partial information s q1 to s qn of the registration information s (“AGCCCGGAAGGGCC”) is s q1 (“AGCC”), s q2 “GCCG”,..., S qn = s q9 There are nine “GGCC” (n = 12−4 + 1 = 9).
CA5: Registered set calculation means The registered set calculation means CA5 is a set having n registered numeric values as elements based on the n pieces of registered partial information extracted by the registered partial information extracting means CA4. Compute the registered set. That is, the registered set calculation means CA5 according to the first embodiment calculates the registered set A as an example of the first set A in the fuzzy vault using the RS code (AεF n ).

なお、実施例1の前記登録集合演算手段CA5は、予め設定された一方向関数、いわゆる、ハッシュ関数により、前記登録集合Aを演算する。前記登録集合演算手段CA5は、具体的には、前記ハッシュ関数をHとし、前記ハッシュ関数Hによる前記登録部分情報sq1〜sqnの出力値をH(sq1)〜H(sqn)とし、前記登録数値をa〜aとした場合に(a,a,…,a∈F)、H(sq1)=a,H(sq2)=a,…,H(sqn)=aを演算することにより、前記登録集合Aを演算する(A=(a,a,…,a))。 The registered set calculation means CA5 according to the first embodiment calculates the registered set A using a preset one-way function, a so-called hash function. Specifically, the registered set calculation means CA5 sets the hash function as H, and outputs the registered partial information s q1 to s qn by the hash function H as H (s q1 ) to H (s qn ). , when the registration numerical values and a 1 ~a n (a 1, a 2, ..., a n ∈F), H (s q1) = a 1, H (s q2) = a 2, ..., H (s qn) = by calculating the a n, computing the registration set a (a = (a 1, a 2, ..., a n)).

CA6:登録代入値演算手段
登録代入値演算手段CA6は、前記登録数値a〜aが代入された前記多項式f(x)の数値である登録代入値を演算する。実施例1の前記登録代入値演算手段CA6は、前記式(1)について、x=a,x=a,…,x=aとした場合の前記多項式f(x)の値である前記登録代入値f(a),f(a),…,f(a)を演算する。
CA7:擬似数値演算手段
擬似数値演算手段CA7は、前記登録数値a〜a以外の数値である(r−n)種類の擬似数値を演算する。実施例1の前記擬似数値演算手段CA7は、前記擬似数値をan+1〜aとした場合に、前記有限体Fのp個の要素(元)のうち、前記登録数値a〜a以外の(r−n)個の要素を抽出することにより、前記擬似数値an+1〜aを演算する(an+1,an+2,…,a∈F)。
CA6: Registration assignment value calculating means registration assignment value calculating means CA6 calculates numerical a registered assignment value of the registration numerical value a 1 ~a n is imputed the polynomial f (x). The registration assignment value calculating means CA6 of Example 1, the formula for (1), x = a 1 , x = a 2, ..., is the value of the polynomial f (x) in the case of the x = a n The registered substitution values f (a 1 ), f (a 2 ),..., F (a n ) are calculated.
CA7: Pseudo math unit pseudo math unit CA7 calculates a is a number other than the registration numerical a 1 ~a n (r-n ) types of pseudo-values. Said pseudo math unit CA7 of Example 1, the pseudo number in case of the a n + 1 ~a r, of the p elements of the finite field F (original), other than the registered numerical a 1 ~a n The pseudo numerical values a n + 1 to a r are calculated by extracting (r−n) elements of (a n + 1 , a n + 2 ,..., A r εF).

CA8:擬似代入値演算手段
擬似代入値演算手段CA8は、前記擬似数値が代入された前記多項式f(x)の数値以外の数値である擬似代入値を演算する。実施例1の前記擬似代入値演算手段CA8は、1からrまで値をとる変数をi,jとし、前記擬似数値an+1〜aに対応する前記擬似代入値をf′(an+1)〜f′(a)とした場合に、f′(a)≠f(a)且つf′(a)≠f(a)且つf′(a)≠f′(a)となる前記擬似代入値をf′(an+1)〜f′(a)を演算する。
CA8: Pseudo-assignment value calculation means The pseudo-assignment value calculation means CA8 calculates a pseudo-assignment value that is a numerical value other than the numerical value of the polynomial f (x) to which the pseudo-numeric value is assigned. The pseudo-assignment value calculation means CA8 according to the first embodiment sets i, j as variables that take values from 1 to r, and sets the pseudo-assignment values corresponding to the pseudo-values a n + 1 to a r to f ′ (a n + 1 ) ˜ When f ′ (a r ), f ′ (a i ) ≠ f (a i ) and f ′ (a i ) ≠ f (a j ) and f ′ (a i ) ≠ f ′ (a j ) F ′ (a n + 1 ) to f ′ (a r ) are calculated from the pseudo-assigned values.

CA9:秘匿登録情報演算手段
秘匿登録情報演算手段CA9は、前記登録数値a〜aおよび前記登録数値a〜aに対応する前記登録代入値f(a),f(a),…,f(a)を一組とする前記多項式上の点を登録多項式点とし、前記擬似数値an+1〜aおよび前記擬似数値an+1〜aに対応する前記擬似代入値f′(an+1)〜f′(a)を一組とする前記多項式以外の点を擬似多項式点とした場合に、n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を演算することにより、前記登録情報が秘匿化された秘匿登録情報を演算する。すなわち、実施例1の前記秘匿登録情報演算手段CA9は、前記RS符号を用いたファジーボールトにおける前記(n,k)符号の一例としての前記登録多項式点と、前記チャフの一例としての前記擬似多項式点とを有する前記ボールトRの一例としての前記多項式点集合R(秘匿登録情報R)を演算する。
CA9: confidential registration information calculating means confidential registration information calculating means CA9, the registration numerical a 1 ~a n and the registration numerical value a 1 ~a corresponding to n the registered value substituted into f (a 1), f ( a 2) , ..., f (a n) of a point registration polynomial point on the polynomial to a set, the pseudo numerical a n + 1 ~a r and the pseudo numerical a n + 1 ~a corresponding to r the pseudo assignment value f ' When the points other than the polynomial having a set of (a n + 1 ) to f ′ (a r ) are pseudo-polynomial points, n registered polynomial points and (r−n) pseudo-polynomial points The secret registration information in which the registration information is concealed is calculated by calculating a polynomial point set, which is a set of r points including: That is, the secret registration information calculation unit CA9 according to the first embodiment includes the registration polynomial point as an example of the (n, k) code in the fuzzy vault using the RS code and the pseudo polynomial as an example of the chaff. The polynomial point set R (secret registration information R) as an example of the vault R having points is calculated.

実施例1の前記秘匿登録情報演算手段CA9は、前記登録多項式点を(a,f(a))〜(a,f(a))とし、前記擬似多項式点を(an+1,f′(an+1))〜(a,f′(a))とした場合に、以下の式(3)に示す前記多項式点集合Rを演算する。
R=((a,f(a)),
(a,f(a)),…,
(a,f(a)),
(an+1,f′(an+1)),
(an+2,f′(an+2)),…,
(a,f′(a))) …(3)
なお、実施例1の前記秘匿登録情報演算手段CA9では、前記秘匿登録情報Rは、前記式(3)に示す前記多項式点集合Rの各数値a〜aについて、昇順に並び替えられた状態で出力される(演算される)。
The secret registration information calculation means CA9 according to the first embodiment sets the registration polynomial points as (a 1 , f (a 1 )) to (a n , f (a n )), and sets the pseudo polynomial points as (a n + 1 , When it is assumed that f ′ (a n + 1 )) to (a r , f ′ (a r )), the polynomial point set R shown in the following equation (3) is calculated.
R = ((a 1 , f (a 1 )),
(A 2, f (a 2 )), ...,
(A n, f (a n )),
(A n + 1 , f ′ (a n + 1 )),
(A n + 2 , f ′ (a n + 2 )),...
( Ar , f '( ar ))) (3)
In the secret registration information calculation unit CA9 according to the first embodiment, the secret registration information R is rearranged in ascending order with respect to the numerical values a 1 to a r of the polynomial point set R shown in the formula (3). It is output (calculated) in the state.

CA10:秘匿登録情報送信手段
秘匿登録情報送信手段CA10は、前記秘匿登録情報演算手段CA9により演算された前記秘匿登録情報Rを、前記データベースサーバDSに対して送信する。
CA11:終了判別手段
終了判別手段CA11は、前記秘匿登録情報送信プログラムAP1を終了する入力がされたか否かを判別する。
CA10: Secret registration information transmission means Secret registration information transmission means CA10 transmits the secret registration information R calculated by the secret registration information calculation means CA9 to the database server DS.
CA11: End determination means The end determination means CA11 determines whether or not an input for ending the secret registration information transmission program AP1 has been made.

(検索用クライアントパソコンPCbの制御部の説明)
前記検索用クライアントパソコンPCbのハードディスクドライブには、前記検索用クライアントパソコンPCbの基本動作を制御する基本ソフト(オペレーティングシステム)OSや、アプリケーションプログラムとしての秘匿検索情報送信プログラムAP2、秘匿類似情報復元プログラムAP3、その他の図示しないソフトウェアが記憶されている。
(Description of control unit of search client personal computer PCb)
The hard disk drive of the search client personal computer PCb includes a basic software (operating system) OS for controlling the basic operation of the search client personal computer PCb, a secret search information transmission program AP2 as an application program, and a secret similar information restoration program AP3. Other software (not shown) is stored.

(秘匿検索情報送信プログラムAP2)
前記秘匿検索情報送信プログラムAP2は、下記の機能手段(プログラムモジュール)を有する。
(Secret search information transmission program AP2)
The secret search information transmission program AP2 includes the following functional means (program modules).

図4は実施例1の登録画像の説明図である。
CB1:検索画像表示手段
検索画像表示手段CB1は、図4に示す、前記検索情報と同一または類似する前記類似情報を前記データベースサーバDSに検索させるための検索画像3を前記ディスプレイH2に表示する。実施例1の前記登録画像3は、前記検索情報をtとし、前記類似情報をt′とした場合に、前記検索情報t(例えば、「GGCCAGGGCACC」)を入力するための検索情報入力部3aと、入力された前記検索情報tの類似情報t′を、秘匿化した状態で、前記データベースサーバDSに検索させる処理、いわゆる、秘匿類似情報検索処理を開始させるための検索開始ボタン3bと、検索結果としての前記類似情報t′(例えば、「GGCCGGGGTGCA」等)を表示するための類似情報出力部3cとを有する。
FIG. 4 is an explanatory diagram of a registered image according to the first embodiment.
CB1: Search image display means The search image display means CB1 displays a search image 3 shown in FIG. 4 for causing the database server DS to search for the similar information that is the same as or similar to the search information. The registered image 3 according to the first embodiment includes a search information input unit 3a for inputting the search information t (for example, “GGCCAGGGCACC”) when the search information is t and the similar information is t ′. A search start button 3b for starting the so-called secret similar information search process, which is a process for causing the database server DS to search the similar information t ′ of the input search information t in a concealed state, and a search result And a similar information output unit 3c for displaying the similar information t ′ (for example, “GGCCGGGGTGCA” or the like).

CB2:検索判別手段
検索判別手段CB2は、前記データベースサーバDSに前記類似情報検索処理を開始させるか否かを判別する。実施例1の前記検索判別手段CB2は、前記検索情報入力部3aに前記検索情報tが入力されて前記検索開始ボタン3bが入力されたか否かを判別することにより、前記データベースサーバDSに前記秘匿類似情報検索処理を開始させるか否かを判別する。
CB3:検索部分情報抽出手段
検索部分情報抽出手段CB3は、前記検索情報tに基づいて、前記検索情報tを復元可能なm個の前記部分情報である検索部分情報を抽出する。実施例1の前記検索部分情報抽出手段CB3は、前記検索情報tを前記文字列sqgとみなすことにより(t=sqg)、m個の前記q−gramを前記検索部分情報として抽出する。実施例1の前記検索部分情報抽出手段CB3は、前記登録部分情報抽出手段CA4と同様に、前記検索部分情報をtq1〜tqmとし、前記検索情報tの長さ(文字数)を‖t‖とした場合に、m個(m=‖t‖−q+1)の部分文字列である前記検索部分情報tq1〜tqmを抽出する。例えば、q=4とした場合、前記検索情報t(「GGCCAGGGCACC」)の検索部分情報tq1〜gqmは、tq1(「GGCC」),tq2(「GCCA」),…,tqm=tq9(「CACC」)の9つである(m=12−4+1=9)。
CB2: Search Discriminating Unit The search discriminating unit CB2 discriminates whether or not the database server DS starts the similar information search process. The search discriminating means CB2 according to the first embodiment determines whether the search information input unit 3a has input the search information t and the search start button 3b, thereby determining whether the database server DS has the secret. It is determined whether or not to start the similar information search process.
CB3: Search Partial Information Extraction Unit The search partial information extraction unit CB3 extracts search partial information which is m pieces of partial information capable of restoring the search information t based on the search information t. The search part information extraction unit CB3 of Example 1 extracts m pieces of the q-grams as the search part information by regarding the search information t as the character string s qg (t = s qg ). Similar to the registered part information extraction unit CA4, the search part information extraction unit CB3 of Embodiment 1 sets the search part information to t q1 to t qm, and sets the length (number of characters) of the search information t to ‖t‖. In this case, the search partial information t q1 to t qm which are m (m = ‖t‖−q + 1) partial character strings are extracted. For example, when q = 4, the search partial information t q1 to g qm of the search information t (“GGCCAGGGCACC”) is t q1 (“GGCC”), t q2 (“GCCA”),..., T qm = There are nine tq9 (“CACC”) (m = 12−4 + 1 = 9).

CB4:検索集合演算手段
検索集合演算手段CB4は、前記検索部分情報抽出手段CB3により抽出されたm個の前記検索部分情報tq1〜tqmに基づいて、m種類の数値である検索数値を要素とする集合である検索集合を演算する。すなわち、実施例1の前記検索集合演算手段CB4は、前記RS符号を用いたファジーボールトにおける前記第2の集合Bの一例としての前記検索集合Bを演算する(B∈F)。
なお、実施例1の前記検索集合演算手段CB4は、前記ハッシュ関数Hにより、前記検索集合Bを演算する。前記検索集合演算手段CB4は、具体的には、前記ハッシュ関数Hによる前記検索部分情報tq1〜tqmの出力値をH(tq1)〜H(tqm)とし、前記検索数値をb〜bとした場合に(b,b,…,b∈F)、H(tq1)=b,H(tq2)=b,…,H(tqm)=bを演算することにより、前記検索集合Bを演算する(B=(b,b,…,b))。なお、実施例1の前記検索集合演算手段CB4では、前記検索集合Bは、前記検索数値b〜bが、昇順に並び替えられた状態で出力される(演算される)。
CB4: Search set calculation means The search set calculation means CB4 uses m pieces of search numerical values as elements based on the m pieces of search partial information t q1 to t qm extracted by the search partial information extraction means CB3. A search set that is a set is calculated. That is, the search set calculation means CB4 of the first embodiment calculates the search set B as an example of the second set B in the fuzzy vault using the RS code (BεF m ).
The search set calculation means CB4 according to the first embodiment calculates the search set B using the hash function H. Specifically, the search set calculation means CB4 uses H (t q1 ) to H (t qm ) as output values of the search partial information t q1 to t qm by the hash function H, and sets the search numerical value to b 1. ˜b m (b 1 , b 2 ,..., B m εF), H (t q1 ) = b 1 , H (t q2 ) = b 2 ,..., H (t qm ) = b m To calculate the search set B (B = (b 1 , b 2 ,..., B m )). In the search set calculation means CB4 of the first embodiment, the search set B is output (calculated) in a state in which the search numerical values b 1 to b m are rearranged in ascending order.

CB5:検索集合記憶手段
検索集合記憶手段CB5は、前記検索集合演算手段CB4により演算された前記検索集合B(B=(b,b,…,b))を記憶する。
CB6:秘匿検索情報演算手段
秘匿検索情報演算手段CB6は、自然数をLとし、L<mが成立するとした場合に、m種類の前記検索数値b〜bのうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値(b〜b)を要素とする前記検索集合Bの部分集合である検索部分集合を演算することにより、前記検索情報tが秘匿化された秘匿検索情報を演算する。実施例1の前記秘匿検索情報演算手段CB6は、前記検索部分集合をBとした場合に、前記検索集合Bの検索数値b〜bからL種類の検索数値が除かれた、(m−L)種類の前記検索数値(b〜b)を要素とする前記検索部分集合(秘匿検索情報)Bを演算する。例えば、L=2とし、変数iを1〜3およびm以外の数値とし、前記検索数値b〜bのうちのbおよびbの2種類の数値が除かれた場合、(b,0,b,…,bi−1,0,bi+1,…,b)→(b,b,…,bi−1,bi+1,…,b)=Bを演算する。
CB5: Search Set Storage Unit The search set storage unit CB5 stores the search set B (B = (b 1 , b 2 ,..., B m )) calculated by the search set calculation unit CB4.
CB6: Secret search information calculation means The secret search information calculation means CB6, when natural number is L and L <m is established, among the m kinds of search numerical values b 1 to b m , the L types of search numerical values. The search information t is concealed by calculating a search subset that is a subset of the search set B having (m−L) types of search numerical values (b 1 to b m ) as elements. Secret search information is calculated. The secret search information calculation means CB6 according to the first embodiment is configured such that when the search subset is B * , L types of search numerical values are removed from the search numerical values b 1 to b m of the search set B (m -L) The search subset (secret search information) B * having the search numerical values (b 1 to b m ) of the types as elements is calculated. For example, when L = 2, the variable i is a numerical value other than 1 to 3 and m, and two types of numerical values b 2 and b i out of the search numerical values b 1 to b m are removed, (b 1 , 0, b 3, ..., b i-1, 0, b i + 1, ..., b m) → (b 1, b 3, ..., b i-1, b i + 1, ..., a b m) = B * Calculate.

CB7:秘匿検索情報送信手段
秘匿検索情報送信手段CB7は、前記秘匿検索情報演算手段CB6により演算された前記秘匿検索情報Bを、前記データベースサーバDSに対して送信する。
CB8:終了判別手段
終了判別手段CB8は、前記秘匿検索情報送信プログラムAP2を終了する入力がされたか否かを判別する。
CB7: Secret Search Information Transmission Unit The secret search information transmission unit CB7 transmits the secret search information B * calculated by the secret search information calculation unit CB6 to the database server DS.
CB8: End determination means The end determination means CB8 determines whether or not an input to end the confidential search information transmission program AP2 has been made.

(秘匿類似情報復元プログラムAP3)
また、前記秘匿類似情報復元プログラムAP3は、下記の機能手段(プログラムモジュール)を有する。
(Secret similarity information restoration program AP3)
The secret similar information restoration program AP3 includes the following functional means (program modules).

CB9:秘匿類似情報受信手段
秘匿類似情報受信手段CB9は、後述する秘匿類似情報送信手段CD8により送信された前記類似情報t′が秘匿化された秘匿類似情報を受信する。実施例1の前記秘匿類似情報受信手段CB9では、前記秘匿類似情報として、前記データベースサーバDSに登録済の複数の前記多項式点集合Rの一例としてのM個の候補多項式点集合RA1〜RAMを要素とする集合である解候補集合R(R=(RA1,RA2,…,RAM))を前記秘匿類似情報として受信する。なお、前記候補多項式点集合RA1〜RAMおよび前記解候補集合Rについては後述する。
CB9: Secret Similarity Information Receiving Unit The secret similar information receiving unit CB9 receives the secret similar information in which the similar information t ′ transmitted by the secret similar information transmitting unit CD8 described later is concealed. In the secret similar information receiving unit CB9 according to the first embodiment, M candidate polynomial point sets R A1 to R AM as an example of the plurality of polynomial point sets R registered in the database server DS as the secret similar information. A candidate solution set R A (R A = (R A1 , R A2 ,..., R AM )) is received as the secret similar information. The candidate polynomial point sets R A1 to R AM and the solution candidate set R A will be described later.

CB10:候補多項式点集合演算手段
候補多項式点集合演算手段CB10は、検索数値判別手段CB10Aと、数値抽出手段CB10Bとを有し、前記類似情報t′を演算可能な多項式点集合の候補としての候補多項式点集合を演算する。実施例1の前記候補多項式点集合演算手段CB10は、前記各候補多項式点集合RA1〜RAMの部分集合となる前記候補多項式点部分集合をQ〜Qとした場合に、前記検索集合記憶手段CB5に記憶した前記検索集合Bに含まれる検索数値b〜bと、前記秘匿類似情報受信手段CB9により受信した前記秘匿類似情報(解候補集合R)に含まれる各候補多項式点集合RA1〜RAMとに基づいて、前記各候補多項式点部分集合Q〜Qを演算する。
CB10: Candidate Polynomial Point Set Calculation Means Candidate polynomial point set calculation means CB10 has search numerical value determination means CB10A and numerical value extraction means CB10B, and is a candidate as a candidate polynomial point set capable of calculating the similarity information t ′. Compute a set of polynomial points. The candidate polynomial point set computing means CB10 of the first embodiment uses the search set when the candidate polynomial point subsets that are subsets of the candidate polynomial point sets R A1 to R AM are Q 1 to Q M. Search numerical values b 1 to b m included in the search set B stored in the storage unit CB5, and candidate polynomial points included in the secret similar information (solution candidate set RA ) received by the secret similar information receiving unit CB9 The candidate polynomial point subsets Q 1 to Q M are calculated based on the sets R A1 to R AM .

CB10A:検索数値判別手段
検索数値判別手段CB10Aは、前記検索数値b〜bが、前記各候補多項式点集合RA1〜RAMに含まれる登録数値a〜aまたは前記擬似数値an+1〜aと同値であるか否かを判別する。実施例1の前記検索数値判別手段CB10Aは、m個の前記検索数値b〜bが、前記各数値a〜aと同値であるか否かを、M個の前記各候補多項式点集合RA1〜RAMについて全て判別する。なお、前記検索数値判別手段CB10Aでは、m個の前記検索数値b〜bと、r個の前記各数値a〜aとが昇順に並べられているため、例えば、b=aが成立する場合には、検索数値bは数値a以降の数値と比較してゆくことにより、処理を高速化できる。
CB10B:数値抽出手段
数値抽出手段CB10Bは、前記検索数値b〜bと同値となる前記登録数値a〜aおよび前記擬似数値an+1〜aを抽出することにより、同値となる各数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))を抽出する。
CB10A: Search numerical determination means searches numerical discriminating means CB10A, the search numerical b 1 ~b m is registered numerical included to the each candidate polynomial point set R A1 ~R AM a 1 ~a n or the pseudo numeric a n + 1 it is determined whether or not the ~a r and equivalent. The search numerical value discriminating means CB10A according to the first embodiment determines whether the m search numerical values b 1 to b m are equal to the numerical values a 1 to a r or not. All of the sets R A1 to R AM are determined. In the search numerical value determining means CB10A, the m search numerical values b 1 to b m and the r numerical values a 1 to a r are arranged in ascending order, for example, b 1 = a When 3 is established, the search numerical value b 2 is compared with the numerical values after the numerical value a 4 , thereby speeding up the processing.
CB10B: Numerical extractor numerical extracting means CB10B by extracting the registration numerical a 1 ~a n and the pseudo numerical a n + 1 ~a r serving as the search numerical b 1 ~b m and equivalence, each becomes equivalent Polynomial points (a 1 , f (a 1 )) to (a n , f (a n )), (a n + 1 , f ′ (a n + 1 )) to (a r , f corresponding to the numerical values a 1 to a r ′ ( Ar )) is extracted.

実施例1の前記数値抽出手段CB10Bは、i=1,2,…,mとし、j=1,2,…,Mとし、変数をx,yとし、変数x,yにより構成された点を(x,y)とした場合に、まず、前記検索情報Bに含まれるi番目の検索数値bが、j番目の候補多項式点集合RAjに含まれる数値a〜aのいずれかと同値である場合には、前記同値の数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))を点(x,y)にセットする(代入する)。例えば、b=aとなる場合には、点(x,y)に多項式点(a,f(a))をセットする。また、i番目の検索数値bが、j番目の候補多項式点集合RAjの数値a〜aと同値でない場合には、点(x,y)に何もセットしない。例えば、b≠a,a,…,aとなる場合には、点(x,y)に点(o,o)をセットする((x,y)=(o,o)=φ)。 The numerical value extraction means CB10B according to the first embodiment includes i = 1, 2,..., M, j = 1, 2,..., M, variables x i and y i, and variables x i and y i. When the determined point is (x i , y i ), first, the i-th search numerical value b i included in the search information B is converted into numerical values a 1 to n included in the j-th candidate polynomial point set R Aj. If it is either the same value of a r is a polynomial point corresponding to the equivalence of numbers a 1 ~a r (a 1, f (a 1)) ~ (a n, f (a n)), (a n + 1 , f ′ (a n + 1 )) to ( ar , f ′ ( ar )) are set (assigned) to the point (x i , y i ). For example, when b i = a 1 , a polynomial point (a 1 , f (a 1 )) is set at the point (x i , y i ). If the i-th search numerical value b i is not the same as the numerical values a 1 to a r of the j-th candidate polynomial point set R Aj , nothing is set at the point (x i , y i ). For example, when b i ≠ a 1 , a 2 ,..., A r , the point (o, o) is set to the point (x i , y i ) ((x i , y i ) = (o , O) = φ).

すなわち、以下の式(4)に示すように、j番目の候補多項式点集合RAjについてのi番目の検索数値bの射影を演算する。
(b,o)
(x,y)←−−−−−RAj …(4)
そして、前記射影である点(x,y)を、j番目の候補多項式点部分集合Qの要素とする(Q←Q∪(x,y))。
したがって、実施例1の前記候補多項式点集合演算手段CB10は、変数i,jの全ての値について、上記の処理を繰り返して、全ての候補多項式点集合RA1〜RAMの候補多項式点部分集合Q〜Qを演算する。
That is, as shown in the following equation (4), the projection of the i-th search numerical value b i for the j-th candidate polynomial point set R Aj is calculated.
(B i , o)
(X i , y i ) ← −−−−− R Aj (4)
Then, the point (x i , y i ) that is the projection is an element of the j-th candidate polynomial point subset Q j (Q j ← Q j ∪ (x i , y i )).
Therefore, the candidate polynomial point set computing means CB10 of the first embodiment repeats the above processing for all values of the variables i and j, and sets the candidate polynomial point subsets of all candidate polynomial point sets R A1 to R AM. to calculate the Q 1 ~Q M.

CB11:解集合演算手段
解集合演算手段CB11は、類似情報復元判別手段CB11Aを有し、前記類似情報t′を復元可能な各候補多項式点部分集合Q〜Qのみを要素とする集合である解集合を演算する。実施例1の前記解集合演算手段CB11は、0を除いた自然数をcとし、前記各候補多項式点部分集合Q〜Qの要素数、すなわち、抽出された多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))の総数をそれぞれ‖Q‖〜‖Q‖とし、前記解集合をRとした場合に、前記要素数‖Q‖〜‖Q‖がc個以上であると判別された前記各候補多項式点部分集合Q〜Qのみを要素とする前記解集合Rを演算する。
CB11: solution set calculation means The solution set calculation means CB11 is a set having similar information restoration discriminating means CB11A and having only candidate polynomial point subsets Q 1 to Q M that can restore the similar information t ′ as elements. Compute a set of solutions. The solution set calculation means CB11 of the first embodiment uses c as a natural number excluding 0, and the number of elements of each of the candidate polynomial point subsets Q 1 to Q M , that is, extracted polynomial points (a 1 , f ( a 1 )) to (a n , f (a n )), (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r )) are respectively expressed as ‖Q 1 ‖ to ‖Q and M ‖, the solution set in case of the R B, the number of elements ‖Q 1 ‖~‖Q M ‖ is only discriminated each candidate polynomials point subset Q 1 to Q M is c or more The solution set R B is computed with the element as the element.

CB11A:類似情報復元判別手段
類似情報復元判別手段CB11Aは、0を除いた自然数をcとした場合に、前記数値抽出手段CB10Aにより抽出された前記登録数値a〜aおよび前記擬似数値an+1〜aがc個以上であるか否かを判別することにより、前記各秘匿類似情報が、前記検索情報b〜bに対する前記類似情報t′として復元可能であるか否かを判別する。実施例1の前記類似情報復元判別手段CB11Aは、前記要素数‖Q‖〜‖Q‖がc個以上であるか否かを判別することにより、抽出された前記数値a〜aがc個以上であるか否かを判別する。なお、実施例1の前記類似情報復元判別手段CB12では、前記自然数cの値が、以下の式(5)により設定されている。
c=max(n,m)−(d−1)q−1 …(5)
CB11A: Similar information restoring determination means similar information restoring determination means CB11A is a natural number excluding 0 when is c, the registration numerical values extracted by said numerical extracting means CB10A a 1 ~a n and the pseudo numerical a n + 1 It is determined whether or not each secret similar information can be restored as the similar information t ′ with respect to the search information b 1 to b m by determining whether or not ~ ar is c or more. . The similar information restoration discriminating means CB11A according to the first embodiment discriminates whether or not the number of elements ‖Q 1 ‖ to 以上 Q M ‖ is c or more, thereby extracting the extracted numerical values a 1 to a r. Whether or not is greater than or equal to c. In the similar information restoration determination means CB12 of the first embodiment, the value of the natural number c is set by the following equation (5).
c = max (n, m) − (d−1) q−1 (5)

CB12:類似情報復元手段
類似情報復元手段CB12は、前記解集合演算手段CB11により演算された前記解集合Rに含まれる前記登録数値a〜aおよび前記擬似数値an+1〜aに基づいて、前記多項式f(x)を演算して前記類似情報t′を復元する。なお、実施例1の前記類似情報復元手段CB12では、前記解集合Rの各候補多項式点部分集合(Q〜Q)に含まれる前記登録数値a〜aに対応する登録多項式点(a,f(a))〜(a,f(a))が{(n+k)/2}個以上既知である場合には、従来公知の誤り訂正符号の復号化アルゴリズムに基づいて、前記解集合Rから前記多項式f(x)を復元できる。すなわち、k個の前記係数s〜sk−1が前記解集合Rの各候補多項式点部分集合(Q〜Q)ごとに演算される。このため、前記類似情報復元手段CB12では、まず、前記復号化アルゴリズムに基づいて、前記解集合Rの各候補多項式点部分集合(Q〜Q)を順番に前記多項式f(x)に復元する(係数s〜sk−1を演算する)。そして、前記多項式f(x)を復元できた場合には、演算された前記係数s〜sk−1については、前記逆関数T−1により、前記部分文字列sk(1)〜sk(k−1)に逆変換することにより、前記部分文字列sk(1)〜sk(k−1)に基づく前記類似情報t′(t′=s)を演算する。
CB12: Similar information restoring means similar information restoring means CB12 is based on the registration numerical a 1 ~a n and the pseudo numerical a n + 1 ~a r included in computed by the solution set operation means CB11 the solution set R B Then, the similarity information t ′ is restored by calculating the polynomial f (x). In the similar information restoring means CB12 Example 1, the solution set R each candidate polynomials point subset (Q 1 to Q M) in the registration numerical value a 1 ~a corresponding registers polynomial point to n included in B When (a 1 , f (a 1 )) to (a n , f (a n )) are known to be {(n + k) / 2} or more, based on a conventionally known error correction code decoding algorithm Thus, the polynomial f (x) can be restored from the solution set R B. That, k-number of the coefficients s 0 ~s k-1 is calculated for each candidate polynomials point subset of the solution set R B (Q 1 ~Q M) . Therefore, in the similarity information restoring means CB12, firstly, on the basis of the decoding algorithm, the candidate polynomial point subset of the solution set R B a (Q 1 ~Q M) to said sequentially polynomial f (x) Restore (calculate coefficients s 0 to s k-1 ). Then, when the polynomial f (x) can be restored, the partial characters s k (1) to s are calculated by the inverse function T −1 for the calculated coefficients s 0 to s k−1. The similarity information t ′ (t ′ = s) based on the partial character strings s k (1) to s k (k−1 ) is calculated by performing inverse conversion to k (k−1) .

この場合、例えば、j番目の候補多項式点部分集合Qから前記多項式f(x)を復元できない場合には、前記候補多項式点部分集合Qには{(n+k)/2}個の前記登録多項式点(a,f(a))〜(a,f(a))が存在しなかったものとみなして、次のj+1番目の候補多項式点部分集合Qj+1の復元処理を実行する。すなわち、{(n+k)/2}個の前記登録多項式点(a,f(a))〜(a,f(a))が存在するか否かの判別ができないため、前記多項式f(x)を復元できた場合のみ、前記類似情報t′を復元する。したがって、例えば、前記多項式f(x)を復元できる候補多項式点部分集合Qが前記解集合Rに1個も含まれていない場合には、前記類似情報t′を1つも復元せずに終了する場合もあり得る。 In this case, for example, j-th when the candidate polynomial point subset Q j can not restore the polynomial f (x), said a candidate polynomial point subset Q j {(n + k) / 2} pieces of the registration It is assumed that the polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) do not exist, and the restoration process of the next j + 1-th candidate polynomial point subset Q j + 1 is executed. To do. That is, since it cannot be determined whether there are {(n + k) / 2} registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )), the polynomial The similar information t ′ is restored only when f (x) can be restored. Therefore, for example, when the candidate set of polynomial points Q j that can restore the polynomial f (x) is not included in the solution set R B , the similarity information t ′ is not restored. It may be terminated.

なお、実施例1の前記類似情報復元手段CB12では、実装が容易であり且つ効率的な前記復号化アルゴリズムの一例としてのBMアルゴリズム(Berlekamp-Masseyアルゴリズム、バーレカンプ・マッシィ法、BM法)により、前記多項式f(x)を演算する。なお、前記BMアルゴリズムについては、例えば、非特許文献6、7等に記載されており、公知であるため、詳細な説明を省略する。
CB13:編集距離演算手段
編集距離演算手段CB13は、前記検索情報入力部3aに入力された前記検索情報tと、前記類似情報復元手段CB12により復元された前記類似情報t′との前記編集距離dを演算する。実施例1の前記編集距離演算手段CB13は、前記検索情報tと、復元された前記解集合Rの各候補多項式点部分集合に対応する各類似情報t′との各編集距離dを全て演算する。
In the similar information restoring means CB12 of the first embodiment, the BM algorithm (Berlekamp-Massey algorithm, Balecamp Massy method, BM method) as an example of the decoding algorithm that is easy to implement and efficient can be used. The polynomial f (x) is calculated. Note that the BM algorithm is described in, for example, Non-Patent Documents 6 and 7, and is well known, and thus detailed description thereof is omitted.
CB13: Edit distance calculation means The edit distance calculation means CB13 is the edit distance d between the search information t input to the search information input unit 3a and the similarity information t 'restored by the similarity information restoration means CB12. Is calculated. The edit distance calculation means CB13 of Example 1, all said search information t, the respective edit distance d between each similarity information t 'corresponding to each candidate polynomial point subset of the restored the solution set R B operation To do.

CB14:類似情報表示手段
類似情報表示手段CB14は、編集距離判別手段CB14Aを有し、前記検索情報入力部3aに入力された前記検索情報tと、前記類似情報復元手段CB12により復元された前記類似情報t′との前記編集距離dが予め設定された前記最大値dmax以下である場合に(d≦dmax)、前記各類似情報t′を前記類似情報出力部3cに表示する(図4参照)。実施例1の前記類似情報表示手段CB14は、前記編集距離dが前記最大値dmax以下となる、前記解集合Rの各候補多項式点部分集合に対応する各類似情報t′を一覧表示する。
CB14A:編集距離判別手段
編集距離判別手段CB14Aは、前記検索情報tと、前記解集合Rの各候補多項式点部分集合に対応する各類似情報t′との各編集距離dが、前記最大値dmax以下であるか否かを判別する。
CB14: Similar information display means The similar information display means CB14 has an edit distance discrimination means CB14A, and the search information t input to the search information input unit 3a and the similar information restored by the similar information restoration means CB12. When the edit distance d with respect to the information t ′ is equal to or less than the preset maximum value d max (d ≦ d max ), the similar information t ′ is displayed on the similar information output unit 3c (FIG. 4). reference). The similar information display means CB14 of the first embodiment displays a list of each piece of similar information t ′ corresponding to each candidate polynomial point subset of the solution set R B in which the edit distance d is equal to or less than the maximum value d max. .
CB14A: Edit distance discriminating means edit distance discriminating means CB14A, said the search information t, the edit distance d between each similarity information t 'corresponding to each candidate polynomial point subset of the solution set R B is, the maximum value It is determined whether or not d max or less.

(データベースサーバDSの制御部の説明)
前記データベースサーバDSのハードディスクドライブには、前記データベースサーバDSの基本動作を制御する基本ソフト(オペレーティングシステム)OSや、アプリケーションプログラムとしての秘匿類似情報検索プログラム(類似情報検索プログラム)AP4、その他の図示しないソフトウェアが記憶されている。
(Description of the control unit of the database server DS)
In the hard disk drive of the database server DS, a basic software (operating system) OS for controlling basic operations of the database server DS, a secret similar information search program (similar information search program) AP4 as an application program, and the like are not shown. Software is stored.

(秘匿類似情報検索プログラムAP4)
前記秘匿類似情報検索プログラムAP4は、下記の機能手段(プログラムモジュール)を有する。
(Secret similarity information search program AP4)
The secret similar information search program AP4 has the following functional means (program modules).

CD1:秘匿登録情報受信手段
秘匿登録情報受信手段CD1は、前記秘匿登録情報送信手段CA10により送信された前記秘匿登録情報Rを受信する。
CD2:秘匿登録情報記憶手段
秘匿登録情報記憶手段CD2は、前記秘匿登録情報受信手段CD1により受信した前記秘匿登録情報Rを記憶する。実施例1の前記秘匿登録情報記憶手段CD2は、0を除いた自然数をNとし、受信した前記秘匿登録情報RがN番目に記憶される秘匿登録情報とし、記憶される前記秘匿登録情報(ボールト、多項式点集合)をR,R,…,R,…とした場合に、受信した前記秘匿登録情報RをRとして記憶する。
CD1: Secret registration information receiving means Secret registration information receiving means CD1 receives the secret registration information R transmitted by the secret registration information transmitting means CA10.
CD2: Secret registration information storage means Secret registration information storage means CD2 stores the secret registration information R received by the secret registration information receiving means CD1. The secret registration information storage means CD2 of the first embodiment sets the natural number excluding 0 as N, and the received secret registration information R as the secret registration information stored Nth, and stores the secret registration information (vault , a set polynomial point) R 1, R 2, ..., R N, when ... and storing the confidential registration information R received as R N.

CD3:秘匿検索情報受信手段
秘匿検索情報受信手段CD3は、前記秘匿検索情報送信手段CB7により送信された前記秘匿検索情報B(例えば、B=(b,b,…,bi−1,bi+1,…,b)、L=2)を受信する。
CD4:検索数値判別手段
検索数値判別手段CD4は、前記秘匿登録情報受信手段CD1により受信した前記秘匿検索情報Bに含まれる(m−L)種類の前記検索数値(b,b,…,bi−1,bi+1,…,b)が、前記秘匿登録情報記憶手段CD2に記憶した前記各秘匿登録情報(各多項式点集合)R〜Rに含まれる前記登録数値a〜aまたは前記擬似数値an+1〜aと同値であるか否かを判別する。実施例1の前記検索数値判別手段CD4は、前記検索数値判別手段CB10Aと同様に、前記検索数値(b,b,…,bi−1,bi+1,…,b)が、前記各多項式点集合R〜Rに含まれる数値a〜aと同値であるか否かを、N個の前記各多項式点集合R〜Rについて全て判別する。
CD3: Secret search information receiving means Secret search information receiving means CD3 is the secret search information B * (for example, B * = (b 1 , b 3 ,..., B i−) transmitted by the secret search information transmitting means CB7. 1 , b i + 1 ,..., B m ), L = 2).
CD4: Search numerical value determining means The search numerical value determining means CD4 is the (m−L) types of search numerical values (b 1 , b 3 ,...) Included in the confidential search information B * received by the confidential registration information receiving means CD1. , B i−1 , b i + 1 ,..., B m ) are registered numerical values a 1 included in the respective secret registration information (each set of polynomial points) R 1 to R N stored in the secret registration information storage means CD2. ~a n or determining whether said is a pseudo numerical a n + 1 ~a r and equivalent. The search numerical determination unit CD4 of Example 1, similar to the search numerical determination means CB10A, the search numerical (b 1, b 3, ... , b i-1, b i + 1, ..., b m) is the It is determined for each of the N polynomial point sets R 1 to R N whether or not they are the same as the numerical values a 1 to a r included in the polynomial point sets R 1 to R N.

CD5:多項式点部分集合演算手段
多項式点部分集合演算手段CD5は、(m−L)種類の前記検索数値(b,b,…,bi−1,bi+1,…,b)と同値となる前記登録数値a〜aの前記登録多項式点(a,f(a))〜(a,f(a))および前記擬似数値an+1〜aの前記擬似多項式点(an+1,f′(an+1))〜(a,f′(a))を抽出することにより、前記多項式点集合(R〜R)における前記検索数値(b,b,…,bi−1,bi+1,…,b)の前記射影の集合であって、前記多項式点集合R〜Rの部分集合である多項式点部分集合を演算する。実施例1の前記多項式点部分集合演算手段CD5は、前記各多項式点集合R〜Rに対応する前記各多項式点部分集合をQ 〜Q とした場合に、前記各多項式点集合R〜Rから、(m−L)種類の前記検索数値(b,b,…,bi−1,bi+1,…,b)と同値となる数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))が抽出された前記各多項式点部分集合Q 〜Q を演算する。
CD5: Polynomial point subset computing means Polynomial point subset computing means CD5 includes (m−L) types of search numerical values (b 1 , b 3 ,..., B i−1 , b i + 1 ,..., B m ). the pseudo polynomial of the registration numerical value a 1 the registration polynomial point ~a n (a 1, f ( a 1)) ~ (a n, f (a n)) and the pseudo numerical a n + 1 ~a r to be equivalent By extracting the points (a n + 1 , f ′ (a n + 1 )) to ( ar , f ′ ( ar )), the search numerical values (b 1 , b) in the polynomial point set (R 1 to R N ) are extracted. 3 ,..., B i−1 , b i + 1 ,..., B m ), and a polynomial point subset that is a subset of the polynomial point sets R 1 to R N is calculated. The polynomial point subset computing means CD5 of the first embodiment uses the polynomial point subsets when the polynomial point subsets corresponding to the polynomial point sets R 1 to R N are Q 1 * to Q N *. From the sets R 1 to R N , numerical values a 1 to a r that have the same values as the (m−L) types of search numerical values (b 1 , b 3 ,..., B i−1 , b i + 1 ,..., B m ). Polynomial points (a 1 , f (a 1 )) to (a n , f (a n )), (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r )) The polynomial point subsets Q 1 * to Q N * are extracted.

具体的には、前記多項式点部分集合演算手段CD5は、前記数値抽出手段CB10Bと同様に、i=1,2,…,(m−L)とし、j=1,2,…,Nとし、(m−L)種類の前記検索数値をb〜bm−Lとした場合に、まず、前記検索情報Bに含まれるi番目の検索数値bが、j番目の多項式点集合Rに含まれる数値a〜aのいずれかと同値である場合には、前記同値の数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))を点(x,y)にセットする(代入する)。例えば、b=aとなる場合には、点(x,y)に多項式点(a,f(a))をセットする。また、i番目の検索数値bが、j番目の多項式点集合Rの数値a〜aと同値でない場合には、点(x,y)に何もセットしない。例えば、b≠a,a,…,aとなる場合には、点(x,y)に点(o,o)をセットする((x,y)=(o,o)=φ)。 Specifically, the polynomial point subset calculation means CD5 sets i = 1, 2,... (M−L), j = 1, 2,..., N, similarly to the numerical value extraction means CB10B. When (m−L) types of search numerical values are b 1 to b m−L , first, the i-th search numerical value b i included in the search information B is changed to the j-th polynomial point set R j . If the same value as either a numerical value a 1 ~a r included are polynomial point corresponding to the equivalence of numbers a 1 ~a r (a 1, f (a 1)) ~ (a n, f (a n)), (a n + 1, f '(a n + 1)) ~ (a r, f' (a r)) the point (x i, (substituted set to y i)). For example, when b i = a 1 , a polynomial point (a 1 , f (a 1 )) is set at the point (x i , y i ). If the i-th search numerical value b i is not equivalent to the numerical values a 1 to a r of the j-th polynomial point set R j , nothing is set at the point (x i , y i ). For example, when b i ≠ a 1 , a 2 ,..., A r , the point (o, o) is set to the point (x i , y i ) ((x i , y i ) = (o , O) = φ).

すなわち、以下の式(4)′に示すように、j番目の多項式点集合Rについてのi番目の検索数値bの射影を演算する。
(b,o)
(x,y)←−−−−−R …(4)′
そして、前記射影である点(x,y)を、j番目の多項式点部分集合Q の要素とする(Q ←Q ∪(x,y))。
したがって、実施例1の前記多項式点部分集合演算手段CD5は、変数i,jの全ての値について、上記の処理を繰り返して、全ての多項式点集合R〜Rの多項式点部分集合Q 〜Q を演算する。
That is, as shown in the following equation (4) ′, the projection of the i-th search numerical value b i for the j-th polynomial point set R j is calculated.
(B i , o)
(X i , y i ) ← −−−−− R j (4) ′
Then, the point (x i , y i ) that is the projection is an element of the j-th polynomial point subset Q j * (Q j * ← Q j * (x i , y i )).
Therefore, the polynomial point subset computing means CD5 of the first embodiment repeats the above processing for all values of the variables i and j, and the polynomial point subset Q 1 of all the polynomial point sets R 1 to R N. * ~ Q N * is calculated.

CD6:多項式点部分集合要素数判別手段
多項式点部分集合要素数判別手段CD6は、前記多項式点部分集合演算手段CD5により演算された前記各多項式点部分集合Q 〜Q の点が(c−L)個以上であるか否かを判別する。実施例1の前記多項式点部分集合要素数判別手段CD6は、前記類似情報復元判別手段CB11Aと同様に、前記各多項式点部分集合Q 〜Q の多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))の総数をそれぞれ‖Q ‖〜‖Q ‖とした場合に、前記要素数‖Q ‖〜‖Q ‖が(c−L)個以上であるか否かを判別する。
CD6: Polynomial point subset element number discriminating means Polynomial point subset element number discriminating means CD6 has the points of the polynomial point subsets Q 1 * to Q N * calculated by the polynomial point subset arithmetic means CD5 ( c-L) It is determined whether or not the number is greater than or equal to. The polynomial point subset element number discriminating means CD6 of the first embodiment is similar to the similar information restoration discriminating means CB11A in that the polynomial points (a 1 , f (a) of the respective polynomial point subsets Q 1 * to Q N * are used. 1)) ~ (a n, f (a n)), (a n + 1, f '(a n + 1)) ~ (a r, f' (a r) the total number of) each ‖Q 1 * ‖~‖Q in case of the N * ‖, the number of elements ‖Q 1 * ‖~‖Q N * ‖ it is determined whether or not (c-L) or more.

CD7:秘匿類似情報演算手段
秘匿類似情報演算手段CD7は、(c−L)個以上の点を有する前記各多項式点部分集合(Q 〜Q )に対応する前記各秘匿登録情報(R〜R)を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する。実施例1の前記秘匿類似情報演算手段では、0を除いた自然数をMとし、M≦Nとし、(c−L)個以上の点を有する前記各多項式点部分集合(Q 〜Q )に対応するM個の前記秘匿登録情報(R〜R)を前記類似情報t′が秘匿化された可能性がある候補の多項式点集合である候補多項式点集合RA1〜RAMとし、前記候補多項式点集合RA1〜RAMを要素とする集合である解候補集合をRとした場合に(R=(RA1,RA2,…,RAM))、前記秘匿類似情報である前記解候補集合Rを演算する。
CD8:秘匿類似情報送信手段
秘匿類似情報送信手段CD8は、前記秘匿類似情報演算手段CD7により演算された前記秘匿類似情報(解候補集合R)を、前記検索用クライアントパソコンPCbに対して送信する。
CD7: Concealed similarity information computing means Concealed similarity information computing means CD7 is configured to provide each of the secret registration information (Q 1 * to Q N * ) corresponding to each of the polynomial point subsets (Q 1 * to Q N * ) having (c−L) or more points. By calculating R 1 to R N ), secret similar information in which the similar information is concealed is calculated. In the secret similar information calculation means of the first embodiment, each of the polynomial point subsets (Q 1 * to Q N ) has a natural number excluding 0, M, M ≦ N, and (c−L) or more points. * ) M pieces of the secret registration information (R 1 to R N ) corresponding to the candidate polynomial point sets R A1 to R AM which are candidate polynomial point sets for which the similar information t ′ may be concealed. And the candidate candidate point set R A1 to R AM as a set of solution candidates, where R A is (R A = (R A1 , R A2 ,..., R AM )), the secret similarity The solution candidate set RA which is information is calculated.
CD8: Secret similar information transmitting means Secret similar information transmitting means CD8 transmits the secret similar information (solution candidate set R A ) calculated by the secret similar information calculating means CD7 to the search client personal computer PCb. .

(実施例1のフローチャートの説明)
次に、実施例1の前記各プログラムAP1〜AP4の処理の流れをフローチャートを使用して説明する。
(Description of Flowchart of Example 1)
Next, the processing flow of each of the programs AP1 to AP4 according to the first embodiment will be described using a flowchart.

(実施例1の秘匿登録情報送信プログラムAP1の秘匿登録情報送信処理のフローチャートの説明)
図5は実施例1の秘匿登録情報送信プログラムの秘匿登録情報送信処理のフローチャートである。
図5のフローチャートの各ST(ステップ)の処理は、前記登録用クライアントパソコンPCaの制御部のROM等に記憶されたプログラムに従って行われる。また、この処理は前記制御部の他の各種処理と並行してマルチタスクで実行される。
(Explanation of Flowchart of Secret Registration Information Transmission Processing of Secret Registration Information Transmission Program AP1 of Embodiment 1)
FIG. 5 is a flowchart of the secret registration information transmission process of the secret registration information transmission program according to the first embodiment.
The processing of each ST (step) in the flowchart of FIG. 5 is performed according to a program stored in the ROM or the like of the control unit of the registration client personal computer PCa. This process is executed in a multitasking manner in parallel with other various processes of the control unit.

図5に示すフローチャートは、前記秘匿登録情報送信プログラムAP1が起動した場合に開始される。
図5のST101において、登録画像2(図3参照)を表示する。そして、ST102に移る。
ST102において、登録情報入力部2aに登録情報sの入力があったか否かを判別する。イエス(Y)の場合はST103に移り、ノー(N)の場合はST104に移る。
ST103において、登録情報sの入力に応じて登録画像2を更新する。そして、ST102に戻る。
ST104において、登録ボタン2bが入力されたか否かを判別する。ノー(N)の場合はST105に移り、イエス(Y)の場合はST106に移る。
ST105において、秘匿登録情報送信プログラムAP1を終了する入力がされたか否かを判別する。ノー(N)の場合はST102に戻り、イエス(Y)の場合は前記秘匿登録情報送信処理を終了する。
The flowchart shown in FIG. 5 is started when the secret registration information transmission program AP1 is activated.
In ST101 of FIG. 5, the registered image 2 (see FIG. 3) is displayed. Then, the process proceeds to ST102.
In ST102, it is determined whether or not registration information s has been input to registration information input unit 2a. If yes (Y), the process proceeds to ST103, and, if no (N), the process proceeds to ST104.
In ST103, the registered image 2 is updated according to the input of the registration information s. Then, the process returns to ST102.
In ST104, it is determined whether or not the registration button 2b has been input. If no (N), the process moves to ST105, and if yes (Y), the process moves to ST106.
In ST105, it is determined whether or not an input to end the secret registration information transmission program AP1 has been made. If no (N), the process returns to ST102, and if yes (Y), the secret registration information transmission process is terminated.

ST106において、登録情報入力部2aに登録情報sが表示されているか否かを判別する。イエス(Y)の場合はST107に移り、ノー(N)の場合はST102に戻る。
ST107において、登録情報sから(k−1)次元1変数多項式fの係数s〜sk−1(式(1)参照)を演算する。すなわち、sk−1=1とし、且つ、予め設定された可逆関数Tにより、登録情報sから抽出された部分文字列sk(1)〜sk(k−1)を、係数s〜sk−2に変換する。そして、ST108に移る。
ST108において、登録情報sから登録部分情報sq1〜sqnを抽出する。そして、ST109に移る。
ST109において、登録部分情報sq1〜sqnと、ハッシュ関数Hとにより、登録集合Aを演算する(A=(a,a,…,a)、H(sq1)=a,H(sq2)=a,…,H(sqn)=a)。そして、ST110に移る。
In ST106, it is determined whether or not registration information s is displayed in registration information input unit 2a. If yes (Y), the process proceeds to ST107, and, if no (N), the process returns to ST102.
In ST107, the coefficients s 0 to s k-1 (see Expression (1)) of the (k-1) -dimensional one-variable polynomial f are calculated from the registration information s. That is, s k−1 = 1 and partial character strings s k (1) to sk (k−1) extracted from the registration information s by a reversible function T set in advance are used as coefficients s 0 to Convert to s k-2 . Then, the process proceeds to ST108.
In ST 108, it extracts the registration component information s q1 ~s qn from the registration information s. Then, the process proceeds to ST109.
In ST 109, the registration component information s q1 ~s qn, by the hash function H, calculates the registration set A (A = (a 1, a 2, ..., a n), H (s q1) = a 1, H (s q2 ) = a 2 ,..., H (s qn ) = a n ). Then, the process proceeds to ST110.

ST110において、変数xの値を要素とする集合をXとした場合に、以下の(1)〜(3)の処理を実行し、ST111に移る。
(1)変数i,x,yに、1,0,0をセットする(i=1,x=0,y=0)。
(2)集合Xにφをセットする。すなわち、集合Xを空集合とする(X←φ)。
(3)多項式点集合Rにφをセットする。すなわち、多項式点集合Rを空集合とする(R←φ)。
ST111において、次の(1)〜(3)の処理を実行し、ST112に移る。
(1)i番目の登録数値aおよび登録数値aに対応する登録代入値f(a)を一組とする登録多項式点(a,f(a))を演算して、点(x,y)にセットする((x,y)←(a,f(a)))。
(2)変数(点(x,y)のx座標の値)xを、集合Xの要素とする(X←X∪{xi})。
(3)点(x,y)を、多項式点集合Rの要素とする(R←R∪(x,y))
In ST110, when the set having the value of variable x i as an element is X, the following processes (1) to (3) are executed, and the process proceeds to ST111.
(1) Set 1, 0, 0 to variables i, x i , y i (i = 1, x i = 0, y i = 0).
(2) Set φ to the set X. That is, the set X is an empty set (X ← φ).
(3) Set φ to the polynomial point set R. That is, the polynomial point set R is an empty set (R ← φ).
In ST111, the following processes (1) to (3) are executed, and the process proceeds to ST112.
(1) A registration polynomial point (a i , f (a i )) having a set of the registration substitution value f (a i ) corresponding to the i-th registration value a i and the registration value a i is calculated, (x i, y i) is set to ((x i, y i) ← (a i, f (a i))).
(2) Variable (value of x coordinate of point (x i , y i )) x i is an element of set X (X ← X ({xi}).
(3) Let the point (x i , y i ) be an element of the polynomial point set R (R ← R∪ (x i , y i ))

ST112において、変数iに+1を加算する(i=i+1)。そして、ST113に移る。
ST113において、変数iが登録多項式点(a,f(a))の個数であるnより大きくなったか否かを判別する。イエス(Y)の場合はST114に移り、ノー(N)の場合はST111に戻る。
ST114において、次の(1),(2)の処理を実行し、ST115に移る。
(1)i番目の擬似数値aおよび擬似数値aに対応する擬似代入値f′(a)を一組とする擬似多項式点(a,f′(a))を演算して、点(x,y)にセットする((x,y)←(a,f′(a))、x∈F−X、y∈F−{f(x)})。
(2)点(x,y)を、多項式点集合Rの要素とする(R←R∪(x,y)))
In ST112, +1 is added to the variable i (i = i + 1). Then, the process proceeds to ST113.
In ST113, it is determined whether or not the variable i is larger than n, which is the number of registered polynomial points (a i , f (a i )). If yes (Y), the process proceeds to ST114, and, if no (N), the process returns to ST111.
In ST114, the following processes (1) and (2) are executed, and the process moves to ST115.
(1) A pseudo-polynomial point (a i , f ′ (a i )) having a set of pseudo-assignment values f ′ (a i ) corresponding to the i-th pseudo-value a i and the pseudo-value a i is calculated. , point (x i, y i) is set to ((x i, y i) ← (a i, f '(a i)), x i ∈F-X, y i ∈F- {f (x i )}).
(2) The point (x i , y i ) is an element of the polynomial point set R (R ← R∪ (x i , y i )))

ST115において、変数iが多項式点集合Rに含まれる点の個数であるrになったか否かを判別する。ノー(N)の場合はST116に移り、イエス(Y)の場合はST117に移る。
ST116において、変数iに+1を加算する(i=i+1)。そして、ST114に戻る。
ST117において、多項式点集合Rの要素(x,y)を変数x(i=1,2,…,r)の昇順に並び替える。
ST118において、秘匿登録情報である多項式点集合RをデータベースサーバDSに送信する。そして、ST102に戻る。
In ST115, it is determined whether or not the variable i has reached r which is the number of points included in the polynomial point set R. If no (N), the process moves to ST116, and if yes (Y), the process moves to ST117.
In ST116, +1 is added to the variable i (i = i + 1). Then, the process returns to ST114.
In ST117, the elements (x i , y i ) of the polynomial point set R are rearranged in ascending order of the variables x i (i = 1, 2,..., R).
In ST118, the polynomial point set R which is confidential registration information is transmitted to the database server DS. Then, the process returns to ST102.

(実施例1の秘匿検索情報送信プログラムAP2の秘匿検索情報送信処理のフローチャートの説明)
図6は実施例1の秘匿検索情報送信プログラムの秘匿検索情報送信処理のフローチャートである。
図6のフローチャートの各ST(ステップ)の処理は、前記検索用クライアントパソコンPCbの制御部のROM等に記憶されたプログラムに従って行われる。また、この処理は前記制御部の他の各種処理と並行してマルチタスクで実行される。
(Explanation of Flowchart of Secret Search Information Transmission Process of Secret Search Information Transmission Program AP2 of Embodiment 1)
FIG. 6 is a flowchart of the confidential search information transmission process of the confidential search information transmission program according to the first embodiment.
The processing of each ST (step) in the flowchart of FIG. 6 is performed according to a program stored in the ROM or the like of the control unit of the search client personal computer PCb. This process is executed in a multitasking manner in parallel with other various processes of the control unit.

図6に示すフローチャートは、前記秘匿検索情報送信プログラムAP2が起動した場合に開始される。
図6のST201において、検索画像3(図4参照)を表示する。そして、ST202に移る。
ST202において、検索情報入力部3aに検索情報tの入力があったか否かを判別する。イエス(Y)の場合はST203に移り、ノー(N)の場合はST204に移る。
ST203において、検索情報tの入力に応じて検索画像3を更新する。そして、ST202に戻る。
ST204において、検索開始ボタン3bが入力されたか否かを判別する。ノー(N)の場合はST205に移り、イエス(Y)の場合はST206に移る。
The flowchart shown in FIG. 6 is started when the secret search information transmission program AP2 is activated.
In ST201 of FIG. 6, the search image 3 (see FIG. 4) is displayed. Then, the process proceeds to ST202.
In ST202, it is determined whether or not search information input unit 3a has input search information t. If yes (Y), the process proceeds to ST203, and, if no (N), the process proceeds to ST204.
In ST203, the search image 3 is updated according to the input of the search information t. Then, the process returns to ST202.
In ST204, it is determined whether or not the search start button 3b has been input. If no (N), the process moves on to ST205, and if yes (Y), the process moves on to ST206.

ST205において、秘匿検索情報送信プログラムAP2を終了する入力がされたか否かを判別する。ノー(N)の場合はST202に戻り、イエス(Y)の場合は前記秘匿検索情報送信処理を終了する。
ST206において、検索情報入力部3aに検索情報tが表示されているか否かを判別する。イエス(Y)の場合はST207に移り、ノー(N)の場合はST202に戻る。
ST207において、検索情報tから検索部分情報tq1〜tqmを抽出する。そして、ST208に移る。
ST208において、検索部分情報tq1〜tqmと、ハッシュ関数Hとにより、検索集合Bを演算して記憶する(B=(b,b,…,b)、H(tq1)=b,H(tq2)=b,…,H(tqn)=b)。そして、ST209に移る。
In ST205, it is determined whether or not an input for terminating the confidential search information transmission program AP2 has been made. If no (N), the process returns to ST202, and if yes (Y), the confidential search information transmission process is terminated.
In ST206, it is determined whether or not the search information t is displayed in the search information input unit 3a. If yes (Y), the process proceeds to ST207, and, if no (N), the process returns to ST202.
In ST207, and it extracts a search portion information t q1 ~t qm from the search information t. Then, the process proceeds to ST208.
In ST208, the search part information t q1 ~t qm, by the hash function H, and calculates and stores the retrieval data set B (B = (b 1, b 2, ..., b m), H (t q1) = b 1 , H (t q2 ) = b 2 ,..., H (t qn ) = b m ). Then, the process proceeds to ST209.

ST209において、検索集合Bの検索数値b〜bのうちのL種類の検索数値を除いて、(m−L)種類の検索数値b〜bm−Lを要素とする検索部分集合Bを演算する(B=(b,b,…,bm−L))。そして、ST210に移る。
ST210において、秘匿検索情報である検索部分集合BをデータベースサーバDSに送信する。そして、ST211に移る。
ST211において、データベースサーバDSから送信された各秘匿類似情報(解候補集合R、R=(RA1,RA2,…,RAM))から対応する各類似情報t′を復元する秘匿類似情報復元処理(後述する図8のフローチャート参照)を実行する。そして、ST202に戻る。
In ST209, except for L types of search figures in the search numerical b 1 ~b m search set B, (m-L) types of search numerical b 1 ~b m-L and the element searching the subset B * Is calculated (B * = (b 1 , b 2 ,..., B m−L )). Then, the process proceeds to ST210.
In ST210, search subset B * which is confidential search information is transmitted to database server DS. Then, the process proceeds to ST211.
In ST211, the secret similarity that restores the corresponding similar information t ′ from each secret similar information (solution candidate set R A , R A = (R A1 , R A2 ,..., R AM )) transmitted from the database server DS. Information restoration processing (see the flowchart of FIG. 8 described later) is executed. Then, the process returns to ST202.

(実施例1の秘匿類似情報検索プログラムAP4の秘匿類似情報検索処理のフローチャートの説明)
図7は実施例1の秘匿類似情報検索プログラムの秘匿類似情報検索処理のフローチャートである。
図7のフローチャートの各ST(ステップ)の処理は、前記データベースサーバDSの制御部のROM等に記憶されたプログラムに従って行われる。また、この処理は前記制御部の他の各種処理と並行してマルチタスクで実行される。
(Explanation of Flowchart of Secret Similarity Information Retrieval Process of Secret Similarity Information Search Program AP4 of Example 1)
FIG. 7 is a flowchart of the secret similar information search process of the secret similar information search program according to the first embodiment.
The processing of each ST (step) in the flowchart of FIG. 7 is performed according to a program stored in the ROM or the like of the control unit of the database server DS. This process is executed in a multitasking manner in parallel with other various processes of the control unit.

図7に示すフローチャートは、前記秘匿類似情報検索プログラムAP4が起動した場合に開始される。
図7のST301において、秘匿登録情報である多項式点集合Rを受信したか否かを判別する。イエス(Y)の場合はST302に移り、ノー(N)の場合はST303に移る。
ST302において、受信した多項式点集合Rを秘匿登録情報Rとして記憶する。そして、ST301に戻る。
ST303において、秘匿検索情報である検索部分集合Bを受信したか否かを判別する。イエス(Y)の場合はST304に移り、ノー(N)の場合はST301に戻る。
The flowchart shown in FIG. 7 is started when the secret similar information search program AP4 is activated.
In ST301 of FIG. 7, it is determined whether or not a polynomial point set R that is confidential registration information has been received. If yes (Y), the process proceeds to ST302, and, if no (N), the process proceeds to ST303.
In ST 302, it stores the polynomial point set R received as confidential registration information R N. Then, the process returns to ST301.
In ST303, it is determined whether or not search subset B * , which is confidential search information, has been received. If yes (Y), the process proceeds to ST304, and, if no (N), the process returns to ST301.

ST304において、以下の(1)〜(3)の処理を実行し、ST305に移る。
(1)変数i,j,x,yに、1,1,0,0をセットする(i=1,j=1,x=0,y=0)。
(2)各多項式点部分集合Q 〜Q にφをセットする。すなわち、各多項式点部分集合Q 〜Q を空集合とする(Q ←φ,Q ←φ,…,Q ←φ)。
(3)解候補集合Rにφをセットする。すなわち、解候補集合Rを空集合とする(R←φ)。
In ST304, the following processes (1) to (3) are executed, and the process proceeds to ST305.
(1) Set 1, 1, 0, 0 to variables i, j, x i , y i (i = 1, j = 1, x i = 0, y i = 0).
(2) Set φ to each polynomial point subset Q 1 * to Q N * . That is, each polynomial point subset Q 1 * to Q N * is an empty set (Q 1 * ← φ, Q 2 * ← φ,..., Q N * ← φ).
(3) Set φ to the solution candidate set RA . That is, the solution candidate set R A is an empty set (R A ← φ).

ST305において、以下の(1),(2)の処理を実行し、ST306に移る。
(1)j番目の秘匿登録情報Rについて、i番目の検索数値bの射影を演算する(式(4)′参照)。すなわち、秘匿検索情報Bに含まれるi番目の検索数値bが、j番目の秘匿登録情報Rに含まれる数値a〜aと同値である場合には、点(x,y)に、同値の数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))をセットし、b≠a,a,…,aとなる場合には、点(x,y)に、点(o,o)をセットする((x,y)=(o,o)=φ)。
(2)点(x,y)を、j番目の多項式点部分集合Q の要素とする(Q ←Q ∪(x,y))。
In ST305, the following processes (1) and (2) are executed, and the process proceeds to ST306.
(1) The projection of the i-th search numerical value b i is calculated for the j-th secret registration information R j (see Expression (4) ′). That is, when the i-th search numerical value b i included in the confidential search information B * is the same value as the numerical values a 1 to a r included in the j-th confidential registration information R j , the point (x i , y i ), polynomial points (a 1 , f (a 1 )) to (a n , f (a n )), (a n + 1 , f ′ (a n + 1 )) corresponding to the same number a 1 to a r ˜ ( ar , f ′ ( ar )) are set, and when b i ≠ a 1 , a 2 ,..., A r , the point (x i , y i ) is changed to the point (o, o ) Is set ((x i , y i ) = (o, o) = φ).
(2) Let the point (x i , y i ) be an element of the j-th polynomial point subset Q j * (Q j * ← Q j * ∪ (x i , y i )).

ST306において、変数iが秘匿検索情報Bに含まれる点の個数である(m−L)になったか否かを判別する。ノー(N)の場合はST307に移り、イエス(Y)の場合はST308に移る。
ST307において、変数iに+1を加算する(i=i+1)。そして、ST305に戻る。
ST308において、j番目の多項式点部分集合Q の点が(c−L)個以上であるか否かを判別する(‖Q ‖≧c−L)。イエス(Y)の場合はST309に移り、ノー(N)の場合はST310に移る。
ST309において、j番目の秘匿登録情報Rを、解候補集合Rの要素とする(R←R∪R)。そして、ST310に移る。
In ST306, it is determined whether or not the variable i has reached (m−L), which is the number of points included in the confidential search information B * . If no (N), the process proceeds to ST307, and if yes (Y), the process proceeds to ST308.
In ST307, +1 is added to the variable i (i = i + 1). Then, the process returns to ST305.
In ST308, it is determined whether or not there are (c−L) or more points in the j-th polynomial point subset Q j * (‖Q j * ‖ ≧ c−L). If yes (Y), the process proceeds to ST309, and, if no (N), the process proceeds to ST310.
In ST309, the j-th secret registration information R j is set as an element of the solution candidate set RA (R A ← R A ∪R j ). Then, the process proceeds to ST310.

ST310において、変数jが秘匿登録情報R〜Rの個数であるNになったか否かを判別する。ノー(N)の場合はST311に移り、イエス(Y)の場合はST312に移る。
ST311において、次の(1),(2)の処理を実行し、ST305に戻る。
(1)変数iに1をセットする(i=1)。
(2)変数jに+1を加算する(j=j+1)。
ST312において、秘匿類似情報である解候補集合R(R=(RA1,RA2,…,RAM),M≦N)を検索用クライアントパソコンPCbに送信する。そして、ST301に戻る。
In ST 310, the variable j is determined whether it is N is the number of confidential registration information R 1 to R N. If no (N), the process moves on to ST311, and if yes (Y), the process moves on to ST312.
In ST311, the following processes (1) and (2) are executed, and the process returns to ST305.
(1) Set 1 to variable i (i = 1).
(2) Add +1 to the variable j (j = j + 1).
In ST312, the solution candidate set R A (R A = (R A1 , R A2 ,..., R AM ), M ≦ N), which is confidential similar information, is transmitted to the search client personal computer PCb. Then, the process returns to ST301.

(実施例1の秘匿類似情報復元プログラムAP3の秘匿類似情報復元処理のフローチャートの説明)
図8は実施例1の秘匿類似情報復元プログラムの秘匿類似情報復元処理のフローチャートであり、図6のST211のサブルーチンの説明図である。
(Explanation of Flowchart of Secret Similarity Information Restoration Process of Secret Similarity Information Restoration Program AP3 of Embodiment 1)
FIG. 8 is a flowchart of the secret similar information restoration process of the secret similar information restoration program according to the first embodiment, and is an explanatory diagram of the subroutine of ST211 in FIG.

図8のST401において、秘匿類似情報である解候補集合Rを受信したか否かを判別する。イエス(Y)の場合はST402に移り、ノー(N)の場合はST401を繰り返す。
ST402において、以下の(1)〜(3)の処理を実行し、ST403に移る。
(1)変数i,j,x,yに、1,1,0,0をセットする(i=1,j=1,x=0,y=0)。
(2)各候補多項式点部分集合Q〜Qにφをセットする。すなわち、各候補多項式点部分集合Q〜Qを空集合とする(Q←φ,Q←φ,…,Q←φ)。
(3)解集合Rにφをセットする。すなわち、解集合Rを空集合とする(R←φ)。
In ST401 of FIG. 8, it is determined whether or not a solution candidate set RA that is confidential similar information is received. If yes (Y), the process transfers to ST402, and, if no (N), ST401 is repeated.
In ST402, the following processes (1) to (3) are executed, and the process proceeds to ST403.
(1) Set 1, 1, 0, 0 to variables i, j, x i , y i (i = 1, j = 1, x i = 0, y i = 0).
(2) Set φ to each candidate polynomial point subset Q 1 to Q M. That is, each candidate polynomial point subset Q 1 to Q M is an empty set (Q 1 ← φ, Q 2 ← φ,..., Q M ← φ).
(3) sets φ to disassembly R B. That is, the solution set R B is an empty set (R B ← φ).

ST403において、以下の(1),(2)の処理を実行し、ST404に移る。
(1)j番目の候補多項式点集合RAjについて、i番目の検索数値bの射影を演算する(式(4)参照)。すなわち、検索情報Bに含まれるi番目の検索数値bが、j番目の候補多項式点集合RAjに含まれる数値a〜aと同値である場合には、点(x,y)に、同値の数値a〜aに対応する多項式点(a,f(a))〜(a,f(a)),(an+1,f′(an+1))〜(a,f′(a))をセットし、b≠a,a,…,aとなる場合には、点(x,y)に、点(o,o)をセットする((x,y)=(o,o)=φ)。
(2)点(x,y)を、j番目の候補多項式点部分集合Qの要素とする(Q←Q∪(x,y))。
In ST403, the following processes (1) and (2) are executed, and the process proceeds to ST404.
(1) For the j-th candidate polynomial point set R Aj , the projection of the i-th search numerical value b i is calculated (see Expression (4)). That is, when the i-th search numerical value b i included in the search information B is the same value as the numerical values a 1 to a r included in the j-th candidate polynomial point set R Aj , the point (x i , y i ), Polynomial points (a 1 , f (a 1 )) to (a n , f (a n )), (a n + 1 , f ′ (a n + 1 )) corresponding to the numerical values a 1 to a r of the same value If ( ar , f ′ ( ar )) is set and b i ≠ a 1 , a 2 ,..., A r , then the point (x i , y i ) is changed to the point (o, o) Is set ((x i , y i ) = (o, o) = φ).
(2) The point (x i , y i ) is set as an element of the j-th candidate polynomial point subset Q j (Q j ← Q j ∪ (x i , y i )).

ST404において、変数iが検索情報Bに含まれる点の個数であるmになったか否かを判別する。ノー(N)の場合はST405に移り、イエス(Y)の場合はST406に移る。
ST405において、変数iに+1を加算する(i=i+1)。そして、ST403に戻る。
ST406において、j番目の候補多項式点部分集合Qの点がc個以上であるか否かを判別する(‖Q‖≧c)。イエス(Y)の場合はST407に移り、ノー(N)の場合はST408に移る。
ST407において、j番目の候補多項式点部分集合Qを、解集合Rの要素とする(R←R∪RAj)。そして、ST408に移る。
In ST404, it is determined whether or not the variable i has reached m which is the number of points included in the search information B. If no (N), the process moves to ST405, and if yes (Y), the process moves to ST406.
In ST405, +1 is added to the variable i (i = i + 1). Then, the process returns to ST403.
In ST406, it is determined whether or not there are c or more points in the j-th candidate polynomial point subset Q j (‖Q j ‖ ≧ c). If yes (Y), the process proceeds to ST407, and, if no (N), the process proceeds to ST408.
In ST407, j-th candidate polynomial point subset Q j is set as an element of solution set R B (R B ← R B ∪R Aj ). Then, the process proceeds to ST408.

ST408において、変数jが秘匿登録情報R〜Rの個数であるNになったか否かを判別する。ノー(N)の場合はST409に移り、イエス(Y)の場合はST410に移る。
ST409において、次の(1),(2)の処理を実行し、ST403に戻る。
(1)変数iに1をセットする(i=1)。
(2)変数jに+1を加算する(j=j+1)。
ST410において、解集合Rに含まれる各候補多項式点部分集合Q(‖Qj‖≧c))から、BMアルゴリズムによって前記各多項式f(x)を復元し(係数s〜sk−1を演算し)、前記逆関数T−1によって各類似情報t′(t′=s)を復元する。そして、ST411に移る。
ST411において、復元が成功し、且つ、編集距離dが最大値dmax以下となる各類似情報t′を類似情報出力部3bに一覧表示する(図4参照)。
In ST408, it is determined whether or not the variable j has reached N , which is the number of the secret registration information R 1 to R N. If no (N), the process moves to ST409, and if yes (Y), the process moves to ST410.
In ST409, the following processes (1) and (2) are executed, and the process returns to ST403.
(1) Set 1 to variable i (i = 1).
(2) Add +1 to the variable j (j = j + 1).
In ST410, the respective polynomials f (x) are restored by the BM algorithm from the respective candidate polynomial point subsets Q j (‖Qj‖ ≧ c) included in the solution set R B (coefficients s 0 to s k−1). And the similar information t ′ (t ′ = s) is restored by the inverse function T −1 . Then, the process proceeds to ST411.
In ST411, the similar information t ′ whose restoration is successful and the editing distance d is equal to or less than the maximum value d max is displayed in a list on the similar information output unit 3b (see FIG. 4).

(実施例1の作用)
前記構成を備えた実施例1の前記類似情報検索システムSでは、前記登録用クライアントパソコンPCaにおいて、前記登録画像2の登録情報入力部2aに前記登録情報sの入力があり、且つ、前記登録ボタン2bが入力された場合に、前記登録情報sが秘匿化された前記秘匿登録情報(多項式点集合R)を演算して、前記データベースサーバDSに送信する前記秘匿登録情報送信処理が実行される(図3、図5のST101〜ST118参照)。
また、実施例1の前記類似情報検索システムSでは、前記検索用クライアントパソコンPCbにおいて、前記検索画像3の検索情報入力部3aに前記検索情報tの入力があり、且つ、前記検索開始ボタン3bが入力された場合に、前記検索情報tが秘匿化された前記秘匿検索情報(検索部分集合B)を演算して、前記データベースサーバDSに送信する前記秘匿検索情報送信処理が実行される(図4、図6のST201〜ST210参照)。
(Operation of Example 1)
In the similar information search system S according to the first embodiment having the above-described configuration, the registration information input unit 2a of the registration image 2 has the input of the registration information s and the registration button in the registration client personal computer PCa. When 2b is input, the secret registration information transmission process is performed in which the secret registration information (polynomial point set R) in which the registration information s is concealed is calculated and transmitted to the database server DS ( (Refer to ST101 to ST118 in FIGS. 3 and 5).
In the similar information search system S according to the first embodiment, the search client personal computer PCb includes the search information input unit 3a of the search image 3 and the search start button 3b. When the search information t is input, the secret search information transmission process is executed in which the secret search information (search subset B * ) in which the search information t is concealed is calculated and transmitted to the database server DS (see FIG. 4, see ST201 to ST210 in FIG.

また、実施例1の前記類似情報検索システムSでは、前記データベースサーバDSにおいて、前記秘匿登録情報(多項式点集合R)を受信した場合には、前記秘匿登録情報R(N=1,2,…)として記憶する(図7のST301,ST302参照)。また、前記秘匿検索情報(検索部分集合B)を受信した場合には、前記検索情報tおよび前記類似情報t′を秘匿化した状態で検索する前記秘匿類似情報検索処理が実行される(図7のST303〜ST312参照)。
そして、実施例1の前記類似情報検索システムSでは、前記検索用クライアントパソコンPCbにおいて、検索検索結果としての前記秘匿類似情報(解候補集合R)を受信し、前記類似情報t′を復元して前記類似情報出力部3bに表示する前記秘匿類似情報復元処理が実行される(図6のST211、図8のST401〜ST411参照)。
In the similar information search system S of the first embodiment, when the secret registration information (polynomial point set R) is received by the database server DS, the secret registration information R N (N = 1, 2, ... (See ST301 and ST302 in FIG. 7). Further, when the secret search information (search subset B * ) is received, the secret similar information search process for searching the search information t and the similar information t ′ in a concealed state is executed (FIG. 7 ST303 to ST312).
In the similar information search system S of the first embodiment, the search client personal computer PCb receives the secret similar information (solution candidate set R A ) as a search search result, and restores the similar information t ′. Then, the secret similar information restoration process displayed on the similar information output unit 3b is executed (see ST211 in FIG. 6 and ST401 to ST411 in FIG. 8).

したがって、実施例1の前記類似情報検索システムSでは、前記インターネット1を介して、前記各クライアントパソコンPCa,PCbと、前記データベースサーバDSとの間で送受信される各情報R,B,Rは、前記登録情報s、前記検索情報t、前記類似情報t′が秘匿化された情報である。このため、前記各クライアントパソコンPCa,PCbおよび前記データベースサーバDSのユーザ以外の第三者から前記各情報s,t,t′を秘匿することができる。
また、前記秘匿類似情報検索処理では、前記登録情報s、前記検索情報t、前記類似情報t′を復元することなく、秘匿化したままの状態で実行される。すなわち、前記秘匿類似情報検索処理では、受信した前記秘匿検索情報(検索部分集合B)に含まれる検索数値b〜bm−Lと、記憶した前記各秘匿登録情報R〜Rに含まれる数値a〜aとが同値であるか否かを判別するため(図7のST305参照)、復元された各情報s,t,t′を特定できないようになっている。
Therefore, in the similar information retrieval system S of the first embodiment, the information R, B * , R A transmitted / received between the client personal computers PCa, PCb and the database server DS via the Internet 1. Is information in which the registration information s, the search information t, and the similar information t ′ are concealed. Therefore, the information s, t, t ′ can be kept secret from third parties other than the users of the client personal computers PCa, PCb and the database server DS.
Further, the secret similar information search process is executed in a concealed state without restoring the registration information s, the search information t, and the similar information t ′. That is, the in concealment similar information retrieval processing, a retrieval numerical b 1 ~b m-L included in the received secure search information (search subset B *), the each confidential registration information R 1 to R N stored In order to determine whether or not the contained numerical values a 1 to a r are the same value (see ST305 in FIG. 7), the restored information s, t, and t ′ cannot be specified.

なお、前記データベースサーバDS上では、記憶した前記秘匿登録情報(多項式点集合R〜R)と、受信した前記秘匿検索情報(検索部分集合B)とを、前記登録情報sと、前記検索情報tとに復元できないようになっている。すなわち、前記多項式点集合Rには、前記チャフの一例としての前記擬似多項式点(an+1,f′(an+1))〜(a,f′(a))が含まれている。このため、前記登録集合Aを知らない限り、前記(n,k)符号の一例としての登録多項式点(a,f(a))〜(a,f(a))を完全に特定できない。なお、前記登録集合Aに十分近い前記検索集合Bを知得した場合には(B≒A)、前記登録多項式点(a,f(a))〜(a,f(a))の一部を特定でき、{(n+k)/2}個以上の点を特定できれば、前記多項式点集合Rから前記登録情報sを復元できる。よって、前記検索集合Bを知得していない限り、前記多項式点集合Rから前記登録情報sを復元できない。また、前記検索部分集合Bは、前記検索集合BからL種類の検索数値が除かれている、例えば、B=(b,b,…,b),B=(b,b,…,bm−L)とした場合、L種類の検索数値bm−L+1〜bが除かれている(図6のST209参照)。このため、前記検索集合Bを知らない限り、前記検索数値bm−L+1〜bを特定できず、前記検索部分集合Bから前記検索情報tを復元できない。 On the database server DS, the stored secret registration information (polynomial point set R 1 to R N ) and the received secret search information (search subset B * ) are stored in the registration information s, The search information t cannot be restored. In other words, the polynomial point set R includes the pseudo-polynomial points (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r )) as an example of the chaff. For this reason, unless the registration set A is known, the registration polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) as an example of the (n, k) code are completely set. It can not be identified. When the search set B sufficiently close to the registration set A is acquired (B≈A), the registration polynomial points (a 1 , f (a 1 )) to (a n , f (a n ) ) Can be specified, and {(n + k) / 2} or more points can be specified, the registration information s can be restored from the polynomial point set R. Therefore, unless the search set B is known, the registration information s cannot be restored from the polynomial point set R. The search subset B * is obtained by removing L types of search numerical values from the search set B. For example, B = (b 1 , b 2 ,..., B m ), B * = (b 1 , b 2 ,..., b m−L ), L types of search numerical values b m−L + 1 to b m are excluded (see ST209 in FIG. 6). Therefore, unless the search set B is known, the search numerical values b m−L + 1 to b m cannot be specified, and the search information t cannot be restored from the search subset B * .

したがって、実施例1の前記類似情報検索システムSでは、前記データベースサーバDSのユーザである管理者からも前記各情報s,t,t′を秘匿することができる。
この結果、実施例1の前記類似情報検索システムSは、前記第三者および前記管理者から、前記各情報s,t,t′が秘匿された状態で、前記登録情報sの所有者である登録者と、前記検索情報tの知得者である検索者と、前記データベースサーバDSの管理業務を委託された外部委託業者としての前記管理者とを有する前記DASモデルを構成できる。すなわち、前記登録用クライアントパソコンPCaのユーザである前記登録者と、前記検索用クライアントパソコンPCbのユーザである前記検索者と、前記管理者とにより、前記DASモデルを構成できる。
Therefore, in the similar information search system S of the first embodiment, the information s, t, and t ′ can be kept secret from an administrator who is a user of the database server DS.
As a result, the similar information search system S according to the first embodiment is the owner of the registration information s in a state where the information s, t, and t ′ are concealed from the third party and the administrator. The DAS model having a registrant, a searcher who is an acquirer of the search information t, and the manager as an outsourcer entrusted with management work of the database server DS can be configured. That is, the DAS model can be configured by the registrant who is the user of the registration client personal computer PCa, the searcher who is the user of the search client personal computer PCb, and the administrator.

また、前記構成を備えた実施例1の前記類似情報検索システムSでは、前記登録情報sを秘匿化して登録する際に、まず、q−gramの抽出処理により、前記登録情報sから前記部分文字列sk(1)〜sk(k−1)や前記登録部分情報sq1〜sqnが抽出される(図5のST107,ST108参照)。次に、前記可逆関数Tや前記ハッシュ関数Hにより、前記多項式f(x)の係数s〜sk−1や前記登録集合(第1の集合)A(A=(a,a,…,a))が演算される(図5のST107,ST109参照)。そして、前記ファジーボールトにおける施錠処理と同様に、前記(n,k)符号の一例としての前記登録多項式点(a,f(a))〜(a,f(a))と、前記チャフの一例としての前記擬似多項式点(an+1,f′(an+1))〜(a,f′(a))とを有する前記多項式点集合Rが演算される(図5のST110〜ST117)。したがって、前記抽出処理と、前記各関数T,Hと、前記施錠処理とを組み合わせることにより、前記登録者ごとの鍵を使用しなくても、前記登録情報sを秘匿化できる。 In the similar information search system S according to the first embodiment having the above-described configuration, when the registration information s is concealed and registered, first, the partial characters are extracted from the registration information s by q-gram extraction processing. The columns s k (1) to s k ( k−1) and the registered partial information s q1 to s qn are extracted (see ST107 and ST108 in FIG. 5). Next, by the reversible function T and the hash function H, the coefficients s 0 to s k−1 of the polynomial f (x) and the registered set (first set) A (A = (a 1 , a 2 , ..., a n)) is calculated (see ST 107, ST 109 in FIG. 5). Then, similarly to the locking process in the fuzzy vault, the registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) as an example of the (n, k) code, The polynomial point set R having the pseudo-polynomial points (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r )) as an example of the chaff is calculated (ST110 in FIG. 5). ~ ST117). Therefore, by combining the extraction process, the functions T and H, and the locking process, the registration information s can be concealed without using a key for each registrant.

また、前記検索情報tの検索を行う場合、まず、前記登録集合Aと同様に、前記抽出処理と、前記ハッシュ関数Hと、前記施錠処理とにより、前記検索集合(第2の集合)B(B=(b,b,…,b))が演算される(図6のST207,ST208参照)。そして、m種類の検索数値b〜bからL種類の検索数値bm−L+1〜bが除かれた前記検索部分集合Bが演算される(図6のST209参照)。したがって、前記抽出処理と、前記ハッシュ関数Hと、前記施錠処理とを組み合わせることにより、前記検索者ごとの鍵を使用しなくても、前記検索情報tを秘匿化できる。
この結果、実施例1の前記類似情報検索システムSでは、前記インターネット1を介して前記データベースサーバDSが送受信する全ての情報R,B,R(R=(RA1,RA2,…,RAM))が、前記鍵を使用せずに演算できる。なお、前記候補多項式点集合RA1〜RAMは、受信した前記多項式点集合Rを記憶した前記多項式点集合R〜Rの全部または一部である。したがって、従来公知の暗号アルゴリズムで使用される鍵を、ユーザ(登録者、検索者)ごとに設定しなくても、前記第三者および前記管理者から前記各情報s,t,t′を秘匿できる。よって、前記暗号化データベース(図9参照)における鍵管理の安全性(厳格性)やそれに伴う管理コスト等の問題を解決することができる。
When searching for the search information t, first, similarly to the registered set A, the search set (second set) B () is obtained by the extraction process, the hash function H, and the locking process. B = (b 1 , b 2 ,..., B m )) is calculated (see ST207 and ST208 in FIG. 6). Then, m type L type from the search numerical b 1 ~b m of search numerical b m-L + 1 wherein ~b m is removed searched subset B * are calculated (see ST209 of FIG. 6). Therefore, by combining the extraction process, the hash function H, and the locking process, the search information t can be concealed without using a key for each searcher.
As a result, in the similar information retrieval system S of the first embodiment, all information R, B * , R A (R A = (R A1 , R A2 ,...) Transmitted and received by the database server DS via the Internet 1. , R AM )) can be calculated without using the key. The candidate polynomial point sets R A1 to R AM are all or part of the polynomial point sets R 1 to R N storing the received polynomial point set R. Accordingly, the information s, t, t ′ is concealed from the third party and the administrator without setting a key used in a conventionally known encryption algorithm for each user (registrant, searcher). it can. Therefore, it is possible to solve problems such as security (strictness) of key management in the encrypted database (see FIG. 9) and management costs associated therewith.

(各候補多項式点部分集合Q〜Qから各類似情報t′への復元について)
ここで、L種類の検索数値bm−L+1〜bが除かれた前記検索部分集合Bによって検索された前記解候補集合Rから前記類似情報t′が確実に復元できるか否かが問題となる。すなわち、前記解候補集合Rの各候補多項式点集合RA1〜RAMから演算された各候補多項式点部分集合Q〜Qに対応する各類似情報t′が演算できるか否かが問題となる。
(Restoration from each candidate polynomial point subset Q 1 to Q M to each similar information t ′)
Here, whether or not the similarity information t ′ can be reliably restored from the solution candidate set RA searched by the search subset B * from which L types of search numerical values b m−L + 1 to b m are removed. It becomes a problem. That is, whether the similar information t ′ corresponding to each candidate polynomial point subset Q 1 to Q M calculated from each candidate polynomial point set R A1 to R AM of the solution candidate set R A can be calculated. It becomes.

ここで、前記q−gramを用いた類似文字列検索手法において、長さ(文字数)nの文字列と、長さmの文字列とは、少なくとも{max(n,m)−(d−1)q−1}個の前記q−gramを共通に持つことが保証されている。このため、長さ(文字数)‖s‖の文字列(登録情報s)と、長さ‖t‖の文字列(検索情報t)とが、少なくとも{max(‖s‖,‖t‖)−(d−1)q−1}個の前記q−gramを共通に持つことから、以下の式(6)が成立する。
max(‖s‖,‖t‖)−(d−1)q−1
=max(n+q−1,m+q−1)−(d−1)q−1
≧max(n,m)−(d−1)q−1 …(6)
すなわち、前記ハッシュ関数Hによって前記登録情報のq−gramとしての前記登録部分情報sq1〜sqnに対応付けられた前記登録数値a〜aと、前記検索情報のq−gramとしての前記検索部分情報tq1〜tqmに対応付けられた前記検索数値b〜bとの共有数が{max(n,m)−(d−1)q−1}個以上であることが明らかである。
Here, in the similar character string search method using the q-gram, a character string having a length (number of characters) n and a character string having a length m are at least {max (n, m) − (d−1). ) It is guaranteed to have q-1} q-grams in common. For this reason, a character string (registration information s) having a length (number of characters) ‖s‖ and a character string (search information t) having a length ‖t‖ are at least {max (‖s‖, ‖t‖) − (D-1) Since q-1} q-grams are commonly used, the following equation (6) is established.
max (‖s‖, ‖t‖)-(d-1) q-1
= Max (n + q-1, m + q-1)-(d-1) q-1.
≧ max (n, m) − (d−1) q−1 (6)
In other words, said registration partial information s q1 the registration numerical values associated with ~s qn a 1 ~a n as q-gram of the registration information by the hash function H, wherein as q-gram of the retrieval information It is clear that the number of shares with the search numerical values b 1 to b m associated with the search partial information t q1 to t qm is {max (n, m) − (d−1) q−1} or more. It is.

また、前記RS符号を用いたファジーボールトの開錠処理において、前記ボールトRから前記(n,k)符号の{(n+k)/2}個以上の点が判明すれば前記多項式が復元できることが保証されている。
よって、前記各候補多項式点部分集合Q〜Qから各類似情報t′が復元できるか否かを判別するための多項式点の個数の下限値である前記自然数cについて、以下の式(7)が常に成立すると仮定すれば、前記(n,k)符号の{(n+k)/2}個以上の点から前記多項式f(x)の係数s〜sk−1を常に演算できる(図8のST410参照)。
c≧(n+k)/2 …(7)
Also, in the fuzzy vault unlocking process using the RS code, it is guaranteed that the polynomial can be restored if the (n, k) code {(n + k) / 2} or more points are found from the vault R. Has been.
Therefore, with respect to the natural number c which is the lower limit value of the number of polynomial points for determining whether or not each similar information t ′ can be restored from each of the candidate polynomial point subsets Q 1 to Q M , the following equation (7 ) Always holds, the coefficients s 0 to s k-1 of the polynomial f (x) can always be calculated from {(n + k) / 2} or more points of the (n, k) code (see FIG. 8 ST410).
c ≧ (n + k) / 2 (7)

ここで、前記自然数c,kについて、前記式(2)′,(5)が成立し、且つ、n≧mが成立すると仮定した場合、以下の式(8)が成立する。
‖Q‖≧c(j=1,2,…,M)
≧(n+k)/2
=max(n,m)−(d−1)q−1
=n−(d−1)q−1
≧n−(dmax−1)q−1
=(n+k)/2 …(8)
Here, for the natural numbers c and k, when it is assumed that the expressions (2) ′ and (5) are satisfied and n ≧ m is satisfied, the following expression (8) is satisfied.
‖Q j ‖ ≧ c (j = 1, 2,..., M)
≧ (n + k) / 2
= Max (n, m)-(d-1) q-1
= N- (d-1) q-1
≧ n− (d max −1) q−1
= (N + k) / 2 (8)

また、前記自然数c,kについて、前記式(2)′,(5)が成立し、且つ、n<mが成立すると仮定した場合には、以下の式(8)′が成立する。
‖Q‖≧c
=max(n,m)−(d−1)q−1
=m−(d−1)q−1
>n−(d−1)q−1
≧n−(dmax−1)q−1
=(n+k)/2 …(8)′
Further, when it is assumed that the expressions (2) ′ and (5) are satisfied for the natural numbers c and k and n <m is satisfied, the following expression (8) ′ is satisfied.
‖Q j ‖ ≧ c
= Max (n, m)-(d-1) q-1
= M- (d-1) q-1
> N- (d-1) q-1
≧ n− (d max −1) q−1
= (N + k) / 2 (8) '

したがって、実施例1の前記類似情報検索システムSでは、予め設定された前記自然数q,n,m,dの値と、前記式(2)′,(5)とに基づいて、前記自然数c,kの値が設定された場合、前記式(7)が常に成立する。このため、c個以上の多項式点を有する前記各候補多項式点部分集合Q〜Qに、前記(n,k)符号の{(n+k)/2}個以上の点が含まれていれば、前記開錠処理により、前記係数s〜sk−1を常に演算できる。すなわち、実施例1の前記類似情報検索システムSは、前記自然数c,kを、前記式(2)′,(5)に基づいて設定すれば、前記類似情報t′を復元可能か否かを判別するフィルタリング処理(図7のST308、図8のST406参照)を適切に実行することができる。よって、前記類似情報t′が前記検索情報tと完全一致する場合には必ず復元でき、前記類似情報t′が前記検索情報tとの類似度が高いほど(編集距離dが小さいほど)復元できる可能性が高まり、前記類似情報t′が前記検索情報tとの類似度が低いほど(編集距離dが大きいほど)復元できる可能性が低くなると共に、前記フィルタリング処理で除外される可能性が高くなる。 Therefore, in the similar information search system S of the first embodiment, the natural numbers c, n, m, d are set based on the preset values of the natural numbers q, n, m, d and the equations (2) ′, (5). When the value of k is set, the equation (7) is always established. Therefore, if each of the candidate polynomial point subsets Q 1 to Q M having c or more polynomial points includes {(n + k) / 2} or more points of the (n, k) code. The coefficients s 0 to s k-1 can always be calculated by the unlocking process. That is, the similar information search system S according to the first embodiment determines whether or not the similar information t ′ can be restored if the natural numbers c and k are set based on the equations (2) ′ and (5). The filtering process to discriminate (see ST308 in FIG. 7 and ST406 in FIG. 8) can be appropriately executed. Therefore, it can be restored whenever the similarity information t ′ completely matches the search information t, and the similarity information t ′ can be restored as the similarity with the search information t is higher (the edit distance d is smaller). The possibility increases and the possibility that the similar information t ′ can be restored as the similarity with the search information t is lower (the edit distance d is larger) and is more likely to be excluded by the filtering process. Become.

この結果、実施例1の前記類似情報検索システムSでは、前記q−gramを用いた類似文字列検索手法の技術のみでは実現できない情報の秘匿化の問題が解決されていると共に、前記RS符号を用いたファジーボールトの技術のみでは実現できない前記開錠処理のフィルタリング条件の設定についての問題が解決されている。   As a result, in the similar information search system S of the first embodiment, the problem of information concealment that cannot be realized only by the technique of the similar character string search method using the q-gram is solved, and the RS code is changed. The problem of setting the filtering conditions for the unlocking process, which cannot be realized only by the fuzzy vault technique used, has been solved.

(秘匿類似情報検索処理の効率について)
また、前記構成を備えた実施例1の前記類似情報検索システムSでは、前記秘匿類似情報(解候補集合R)を検索する際に、前記秘匿検索情報(検索部分集合B)に含まれる検索数値b〜bm−Lと、前記各秘匿登録情報R〜Rに含まれる数値a〜aとを照合する。このため、暗号化された登録情報や検索情報を復号化してから照合を行う場合に比べ、効率的に前記秘匿類似情報(解候補集合R)を検索できる。
また、実施例1の前記類似情報検索システムSでは、前記検索数値b〜bm−Lと、前記数値a〜aとが昇順に並べられている。このため、前記照合により各候補多項式点部分集合Q〜Qを演算する前記計算量が、前記ランダウの記号を用いてO(n+m)時間となる。したがって、総当りで照合して、計算量がO(nm)になる場合に比べ、効率的に前記秘匿類似情報検索処理を実行できる。
(About the efficiency of confidential similar information search processing)
Further, in the similar information search system S of the first embodiment having the above-described configuration, when searching for the secret similar information (solution candidate set RA ), it is included in the secret search information (search subset B * ). a search numerical b 1 ~b m-L, collates the numerical a 1 ~a r included the each confidential registration information R 1 to R N. For this reason, compared with the case where collation is performed after decrypting the encrypted registration information and search information, the secret similar information (solution candidate set RA ) can be searched efficiently.
In the similar information search system S according to the first embodiment, the search numerical values b 1 to b m-L and the numerical values a 1 to a r are arranged in ascending order. For this reason, the calculation amount for calculating each candidate polynomial point subset Q 1 to Q M by the collation is O (n + m) time using the Landau symbol. Therefore, compared with the case where the calculation amount is O (nm) by collating with the brute force, the secret similar information search process can be executed efficiently.

(秘匿類似情報復元処理の効率について)
また、実施例1の前記類似情報検索システムSでは、前記秘匿類似情報(解候補集合R)の復元について、前記BMアルゴリズムを用いた前記開錠処理が実行される(図8のST410参照)。前記BMアルゴリズムを用いた前記開錠処理は、誤り訂正可能な点の数をz(z=(n−k)/2)とした場合に、前記計算量が前記ランダウの記号を用いてO(z)時間となることが知られている(例えば、特開2003−168983号公報等参照)。このため、前記O(z)時間以上の開錠処理(例えば、計算量がO(z)時間となるピーターソン(Perterson)法を用いた開錠処理)に比べ、効率的に前記秘匿類似情報復元処理を実行できる。
(About the efficiency of confidential similar information restoration processing)
Further, in the similar information search system S of the first embodiment, the unlocking process using the BM algorithm is executed for restoring the secret similar information (solution candidate set RA ) (see ST410 in FIG. 8). . In the unlocking process using the BM algorithm, when the number of error-correctable points is z (z = (n−k) / 2), the calculation amount is O ( z 2 ) is known to be time (see, for example, JP-A-2003-168983). For this reason, as compared with the unlocking process of O (z 2 ) time or longer (for example, unlocking process using Peterson method in which the calculation amount is O (z 3 ) time), the concealment is efficiently performed. Similar information restoration processing can be executed.

(総当り攻撃に対する秘匿登録情報の安全性について)
また、前記構成を備えた実施例1の前記類似情報検索システムSでは、例えば、前記第三者や前記管理人が、前記秘匿登録情報(多項式点集合R)から前記多項式f(x)を総当りで復元して、前記登録情報sの解読を試みる可能性がある。ここで、十分に小さい正の値の実数をμとし(μ>0,μ≒0)、前記多項式f(x)の候補となる多項式の総数をNとした場合、前記多項式の総数Nについて、少なくとも(1−μ)の確率で、以下の式(9)が成立することが知られている(例えば、非特許文献7参照)。
=(μ/3)×pk−n×(r/n) …(9)
よって、例えば、前記自然数r,p,n,kについて、r=p=10,n=22,k=14とし、前記実数μについて、μ≒2−188とした場合、N≒286が成立する。すなわち、286通りの多項式のうち、前記登録情報sに対応する1つの多項式f(x)を特定しなければならない。
(About the security of confidential registration information against brute force attacks)
In the similar information search system S according to the first embodiment having the above-described configuration, for example, the third party or the administrator totals the polynomial f (x) from the secret registration information (polynomial point set R). There is a possibility that the registration information s is tried to be decrypted by being restored. Here, when a sufficiently small real number of positive values is μ (μ> 0, μ≈0), and the total number of polynomials that are candidates for the polynomial f (x) is N f , the total number N f of the polynomials It is known that the following formula (9) is established with a probability of at least (1−μ) (for example, see Non-Patent Document 7).
N f = (μ / 3) × p k−n × (r / n) n (9)
Therefore, for example, when r = p = 10 4 , n = 22, k = 14 for the natural numbers r, p, n, and k and μ≈2 −188 for the real number μ, N f ≈2 86 Is established. That is, 2 86 kinds of polynomial, must identify the single polynomial f that corresponds to the registration information s (x).

また、実施例1の前記類似情報検索システムSでは、前記自然数rの値が大きくなるに連れて、前記多項式点集合Rに含まれる前記擬似多項式点(an+1,f′(an+1))〜(a,f′(a))の総数が増えるため、前記登録多項式点(a,f(a))〜(a,f(a))を特定される可能性が低くなる。また、前記自然数rの値が大きければ、前記多項式の総数N自体が大きく、前記多項式f(x)として選択できる多項式の総数も大きくすることができる。この場合、前記秘匿登録情報(多項式点集合R)が解読される可能性がさらに低減され、安全性を高くすることができる。 In the similar information search system S of the first embodiment, as the value of the natural number r increases, the pseudo-polynomial points (a n + 1 , f ′ (a n + 1 )) to be included in the polynomial point set R are increased. Since the total number of (a r , f ′ (a r )) increases, the possibility of specifying the registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) is low. Become. Further, if the value of the natural number r is large, the total number N f of the polynomial itself is large, and the total number of polynomials that can be selected as the polynomial f (x) can be increased. In this case, the possibility that the secret registration information (polynomial point set R) is decoded is further reduced, and the safety can be increased.

また、前記編集距離dについて、前記最大値dmaxが大きくなるに連れて、検索される前記解候補集合Rの候補多項式点集合RA1〜RAMの個数が多くなる可能性が高くなる。すなわち、自然数Mの値が大きくなる可能性が高くなる。このため、類似情報検索処理としての利便性が高くなる。しかしながら、この場合、前記自然数k(k=n−2(dmax−1)q−2)の値が小さくなる(式(2)′参照)。このため、前記多項式f(x)の次数(k−1)の値が小さくなり、前記多項式f(x)として選択できる多項式の総数も小さくなり、前記秘匿登録情報(多項式点集合R)が解読される可能性が高くなるため、安全性が低くなってしまう。
すなわち、前記最大値dmaxが大きくなるに連れて、類似情報検索処理としての利便性が向上するが、前記秘匿登録情報(多項式点集合R)の安全性は低くなる。
Further, as the editing distance d increases, as the maximum value d max increases, the number of candidate polynomial point sets R A1 to R AM of the solution candidate set RA to be searched increases. That is, the possibility that the value of the natural number M becomes large increases. For this reason, the convenience as a similar information search process becomes high. However, in this case, the value of the natural number k (k = n−2 (d max −1) q−2) is small (see Expression (2) ′). For this reason, the value of the degree (k−1) of the polynomial f (x) is reduced, the total number of polynomials that can be selected as the polynomial f (x) is also reduced, and the secret registration information (polynomial point set R) is decoded. Since the possibility of being increased, the safety is lowered.
That is, as the maximum value d max increases, the convenience as the similar information search process is improved, but the security of the secret registration information (polynomial point set R) decreases.

逆に、前記最大値dmaxが小さくなるに連れて、検索される前記解候補集合Rの候補多項式点集合RA1〜RAMの個数が少なくなる可能性が高くなり(自然数Mの値が小さくなる可能性が低くなり)、類似情報検索処理としての利便性が低くなる。また、この場合、前記自然数kの値が大きくなり、前記多項式f(x)の次数(k−1)の値が大きくなり、前記多項式f(x)として選択できる多項式の総数も大きくなり、前記秘匿登録情報が解読される可能性が低くなるため、安全性が高くなる。
すなわち、前記最大値dmaxが大きくなるに連れて、類似情報検索処理としての利便性が低下するが、前記秘匿登録情報(多項式点集合R)の安全性は高くなる。
この結果、実施例1の前記類似情報検索システムSでは、前記最大値dmaxに基づいて、前記利便性と前記安全性とを調節することができる。
Conversely, as the maximum value d max decreases, the number of candidate polynomial point sets R A1 to R AM of the solution candidate set RA to be searched increases (the value of the natural number M is reduced). The possibility of becoming smaller is reduced), and the convenience as a similar information search process is lowered. In this case, the value of the natural number k increases, the value of the degree (k-1) of the polynomial f (x) increases, and the total number of polynomials that can be selected as the polynomial f (x) also increases. Since the possibility that the secret registration information is decrypted is reduced, the safety is increased.
That is, as the maximum value d max increases, the convenience as the similar information search process decreases, but the security of the secret registration information (polynomial point set R) increases.
As a result, in the similar information search system S of the first embodiment, the convenience and the safety can be adjusted based on the maximum value dmax .

(総当り攻撃に対する秘匿検索情報の安全性について)
また、前記構成を備えた実施例1の前記類似情報検索システムSでは、例えば、前記第三者や前記管理人が、L種類の検索数値bm−L+1〜bを総当りで推測して、前記秘匿検索情報(検索部分集合B)から前記検索集合Bを復元して、前記検索情報tの解読を試みる可能性がある。
(About the security of confidential search information against brute force attacks)
In the similar information search system S according to the first embodiment having the above-described configuration, for example, the third party or the administrator estimates L types of search numerical values b m−L + 1 to b m by brute force. There is a possibility that the search set B is restored from the secret search information (search subset B * ) and the search information t is deciphered.

ここで、前記自然数Lの値が大きくなるに連れて、L種類の検索数値bm−L+1〜bを特定できる可能性が低くなる。よって、前記検索集合Bを復元して前記検索情報tの解読される可能性が低くなるため、安全性が高くなる。しかしながら、この場合、前記データベースサーバDSに記憶された前記秘匿登録情報R〜Rが前記候補多項式点集合RA1〜RAMであるか否かを判別するための前記要素数‖Q ‖(j=1,2,…,N)の判別値(c−L)の値が小さくなる。このため、前記類似情報t′が復元できる可能性が低いにも関わらず、前記候補多項式点集合RA1〜RAMとして検出される個数が多くなる可能性が高くなる(自然数Mの値が大きくなる可能性が高くなる)。例えば、L=cとした場合、(c−L)=0が成立し、前記データベースサーバDSに記憶された全ての前記秘匿登録情報R〜Rが前記候補多項式点集合RA1〜RANとして検出されてしまう。
すなわち、前記自然数Lの値が大きくなるに連れて、前記秘匿検索情報(検索部分集合Bの安全性は高くなるが、誤検出が多くなり類似情報検索処理としての処理効率が低下する。
Here, as the value of the natural number L increases, the possibility that the L types of search numerical values b m−L + 1 to b m can be specified decreases. Therefore, since the possibility that the search set B is restored and the search information t is decoded is reduced, the safety is increased. However, in this case, the number of elements ‖Q j * for determining whether or not the secret registration information R 1 to R N stored in the database server DS is the candidate polynomial point set R A1 to R AM . The discriminant value (c−L) of ‖ (j = 1, 2,..., N) becomes smaller. For this reason, although the possibility that the similar information t ′ can be restored is low, there is a high possibility that the number detected as the candidate polynomial point sets R A1 to R AM is large (the value of the natural number M is large). Is likely to be). For example, when L = c, (c−L) = 0 is established, and all the secret registration information R 1 to R N stored in the database server DS are the candidate polynomial point sets R A1 to R AN. Will be detected.
That is, as the value of the natural number L increases, the security of the secret search information (search subset B * increases), but false detection increases and the processing efficiency as the similar information search process decreases.

逆に、前記自然数Lの値が小さくなるに連れて、L種類の検索数値bm−L+1〜bを特定できる可能性が高くなり、前記検索情報tの解読される可能性が高くなるため、安全性が低くなる。しかしながら、この場合、前記判別値(c−L)の値が小さくなる。このため、前記類似情報t′が復元できる可能性が低い前記候補多項式点集合RA1〜RAMが検出される可能性が低くなる。例えば、L=0とした場合、(c−L)=cが成立し、Q =Q(j=1,2,…,N)が常に成立する前記候補多項式点集合RA1〜RAMが検出される。
すなわち、前記自然数Lの値が小さくなるに連れて、前記秘匿検索情報(検索部分集合Bの安全性は低くなるが、誤検出が低減され類似情報検索処理としての処理効率が向上する。
この結果、実施例1の前記類似情報検索システムSでは、前記自然数Lの値に基づいて、前記安全性と前記処理効率とを調節することができる。
Conversely, as the value of the natural number L decreases, the possibility that the L types of search numerical values b m−L + 1 to b m can be specified increases, and the possibility that the search information t is decoded increases. , Safety is reduced. However, in this case, the discriminant value (c−L) is small. For this reason, the possibility that the candidate polynomial point sets R A1 to R AM that are unlikely to restore the similarity information t ′ is low is reduced. For example, when L = 0, (c−L) = c holds, and the candidate polynomial point set R A1 to R A where Q j * = Q j (j = 1, 2,..., N) always holds. AM is detected.
That is, as the value of the natural number L becomes smaller, the security of the secret search information (search subset B * becomes lower, but false detection is reduced and the processing efficiency as the similar information search process is improved.
As a result, in the similar information search system S of the first embodiment, the safety and the processing efficiency can be adjusted based on the value of the natural number L.

(登録情報の偏りに基づく攻撃に対する類似情報検索システムSの安全性について)
また、前記構成を備えた実施例1の前記類似情報検索システムSでは、例えば、前記登録情報sに文字列としての偏り、すなわち、文字列中の文字やq−gramの出現頻度に偏りが存在する場合がある。この場合、前記第三者や前記管理人が、前記偏りに基づいて、前記係数s〜sk−1を推測したり、前記登録数値a〜aや擬似数値an+1〜aを推測したり、これらの推測を組み合わせたりすることにより、総当りで前記多項式f(x)を復元する場合に比べ、前記多項式f(x)となる候補の多項式を絞り込むことができる可能性がある。
(Safety of similar information retrieval system S against attacks based on bias of registered information)
In the similar information search system S according to the first embodiment having the above-described configuration, for example, the registration information s is biased as a character string, that is, there is a bias in the appearance frequency of characters or q-grams in the character string. There is a case. In this case, the third party or the caretaker, on the basis of the deviation, or infer the coefficient s 0 ~s k-1, the registration numerical a 1 ~a n and pseudo numerical a n + 1 ~a r There is a possibility that candidate polynomials that become the polynomial f (x) can be narrowed down by making a guess or by combining these guesses, compared to the case of restoring the polynomial f (x) in a brute force manner. .

ここで、例えば、前記部分文字列sk(1)〜sk(k−1)に偏りが存在しても、前記係数s〜sk−1(s,s,…,sk−1∈F)の分布が前記k次拡大体F内で一様となるように前記可逆関数Tを設定することにより、前記秘匿登録情報(多項式点集合R)が解読される可能性が低くなる。すなわち、前記部分文字列sk(1)〜sk(k−1)と、前記係数s〜sk−1との相関性が低減されることにより、前記係数s〜sk−1が推測され難くなり、前記秘匿登録情報(多項式点集合R)の安全性が高くなる。また、例えば、前記登録部分情報sq1〜sqnに偏りが存在しても、前記登録数値a〜a(a,a,…,a∈F)の分布が前記n次拡大体F内で一様となるように前記ハッシュ関数Hを設定することにより、前記秘匿登録情報(多項式点集合R)が解読される可能性が低くなる。すなわち、前記登録部分情報sq1〜sqnと、前記登録数値a〜aとの相関性が低減されることにより、前記登録数値a〜aが推測され難くなり、前記秘匿登録情報(多項式点集合R)の安全性が高くなる。
この結果、実施例1の前記類似情報検索システムSでは、前記各関数T,Hが各出力値s〜sk−1,a〜aを一様に分布させる能力、いわゆる、前記各関数T,Hの一様分布性に基づいて、前記秘匿登録情報(多項式点集合R)の安全性を高くすることができる。
Here, for example, the substring s k (1) ~s k ( k-1) be present is a bias in the coefficient s 0 ~s k-1 (s 0, s 1, ..., s k The secret registration information (polynomial point set R) may be deciphered by setting the reversible function T so that the distribution of −1 ∈ F k ) is uniform in the k-th order extension field F k . Becomes lower. That is, by reducing the correlation between the partial character strings s k (1) to s k ( k−1) and the coefficients s 0 to s k−1 , the coefficients s 0 to s k−1. Is difficult to guess, and the security of the secret registration information (polynomial point set R) is increased. Further, for example, even if there is a bias to the registration component information s q1 ~s qn, the registration numerical a 1 ~a n (a 1, a 2, ..., a n ∈F n) distribution wherein n next by in extension field F n sets the hash function H so as to be uniform, possibly the secret registration information (polynomial point set R) are decrypted is lowered. That is, the registration partial information s q1 ~s qn, by correlation with the registration numerical value a 1 ~a n is reduced, the registration numerical a 1 ~a n becomes is hardly guess the secret registration information The safety of (polynomial point set R) is increased.
As a result, the in similar information retrieval system S of Example 1, the respective function T, H is the output value s 0 ~s k-1, a 1 ~a n ability to uniformly distribute the so-called, each Based on the uniform distribution of the functions T and H, the security of the secret registration information (polynomial point set R) can be increased.

また、例えば、前記第三者や前記管理人が、前記偏りに基づいて、前記登録情報sの一部のq−gram等の情報を解読して、前記情報に前記検索情報tと同程度の類似度を有する情報、すなわち、前記編集距離dが最大値dmax以下となる情報を作成して、前記登録情報sを解読しようとする可能性がある。 In addition, for example, the third party or the administrator decodes a part of the information such as q-gram of the registration information s based on the bias, and the information is similar to the search information t. There is a possibility that information having a similarity, that is, information in which the edit distance d is equal to or less than the maximum value d max is created and the registered information s is to be decoded.

ここで、例えば、前記データベースサーバDSを、糖転移酵素や糖鎖修飾酵素等の糖鎖合成関連遺伝子、いわゆる、糖鎖遺伝子が前記登録情報sとして格納される糖鎖遺伝子データベース(GGDB:GlycoGene DataBase)とした場合、前記糖鎖遺伝子の種類が約300種類となり、前記糖鎖遺伝子の平均配列長が既知のものに限れば約1200塩基対(bp:base pair)となることが知られている。すなわち、前記データベースサーバDSを前記糖鎖遺伝子データベースとした場合には、N=300,n=1200となることが知られている。なお、前記糖鎖遺伝子データベースについては、例えば、非特許文献9等に記載されており、公知である。
よって、前記偏りが存在しないものとした場合に、一遺伝子あたりの平均文字列空間の大きさ、すなわち、前記一遺伝子の文字列表現の数が、以下の数1の式(10)により示された値以上となる。
Here, for example, the database server DS is stored in a glycan gene database (GGDB: GlycoGene DataBase) in which glycan synthesis-related genes such as glycosyltransferases and glycan modification enzymes, so-called glycan genes are stored as the registration information s. ), The number of types of sugar chain genes is about 300, and if the average sequence length of the sugar chain genes is limited to about 1,200 base pairs (bp: base pair), it is known. . That is, when the database server DS is the sugar chain gene database, it is known that N = 300 and n = 1200. The sugar chain gene database is known, for example, as described in Non-Patent Document 9 and the like.
Therefore, when it is assumed that there is no bias, the size of the average character string space per gene, that is, the number of character string representations of the one gene is expressed by the following equation (10). It becomes more than the value.

…(10) (10)

なお、前記式(10)における分子の底の値(4)は、塩基の種類数(「A」、「T」、「G」、「C」)であり、分母の第2項(Σ演算子付きの項)は、前記編集距離dが最大値dmax以下になる文字列の数(類似文字列の上限値)である。
よって、例えば、dmax=100とした場合に、前記式(10)により示された値は、約21700(21700≒22400/2700)となり、前記秘匿登録情報(多項式点集合R)の安全性は、約1700ビット以上の鍵の安全性に相当することがわかる。この結果、前記偏りが存在しても、最大で約1700ビット以上の鍵の安全性を確保することができ、前記秘匿登録情報(多項式点集合R)の安全性を十分に確保できる。
したがって、実施例1の前記類似情報検索システムSでは、前記自然数n,Nの値および前記最大値dmax,に基づいて、前記秘匿登録情報(多項式点集合R)の安全性を調節することができる。
The value (4) at the bottom of the numerator in the formula (10) is the number of base types (“A”, “T”, “G”, “C”), and the second term (Σ operation) of the denominator. The term with a child) is the number of character strings (upper limit value of similar character strings) at which the edit distance d is less than or equal to the maximum value dmax .
Therefore, for example, when d max = 100, the value represented by the equation (10) is about 2 1700 (2 1700 ≈2 2400/2 700 ), and the secret registration information (polynomial point set R) It can be seen that the security of the key corresponds to the security of a key of about 1700 bits or more. As a result, even if the bias exists, it is possible to ensure the security of a key having a maximum of about 1700 bits or more and sufficiently secure the security registration information (polynomial point set R).
Therefore, in the similar information search system S of the first embodiment, the security of the secret registration information (polynomial point set R) can be adjusted based on the values of the natural numbers n and N and the maximum value d max . it can.

(変更例)
以上、本発明の実施例を詳述したが、本発明は、前記実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内で、種々の変更を行うことが可能である。本発明の変更例(H01)〜(H011)を下記に例示する。
(H01)前記実施例の前記類似情報検索システムSでは、前記各クライアントパソコンPCa,PCbと、前記データベースサーバDSとを別体で構成したが、これに限定されず、例えば、前記各クライアントパソコンPCa,PCbを一体的に構成したり、前記各クライアントパソコンPCa,PCbおよび前記データベースサーバDSを一体的に構成することも可能である。
(Example of change)
As mentioned above, although the Example of this invention was explained in full detail, this invention is not limited to the said Example, A various change is performed within the range of the summary of this invention described in the claim. It is possible. Modification examples (H01) to (H011) of the present invention are exemplified below.
(H01) In the similar information search system S of the embodiment, the client personal computers PCa and PCb and the database server DS are separately configured. However, the present invention is not limited to this. , PCb can be integrated, or the client personal computers PCa, PCb and the database server DS can be integrated.

(H02)前記実施例では、前記インターネット1を介して、前記各クライアントパソコンPCa,PCbと、前記データベースサーバDSとが情報の送受信が可能に接続されているが、これに限定されず、例えば、専用線や、有線・無線のLAN(Local Area Network、構内通信網)環境や、暗号通信網等のその他の通信回線を介して接続されることも可能である。なお、前記通信回線として、前記専用線や、前記暗号通信網等を使用した場合には、前記第三者や前記管理者が前記各情報s,t,t′を解読し難くなる可能性がある。すなわち、内部解析(リバース・エンジニアリング)や改変に対する防護力、いわゆる、耐タンパ性が高くなる可能性がある。
(H03)前記実施例では、前記秘匿類似情報(解候補集合R)の復元する前記秘匿類似情報復元処理(図5のST211、図8のST401〜ST411参照)を、前記検索用クライアントパソコンPCbで実行して、前記類似情報t′を前記第三者や前記管理者に取得されないようにしているが、これに限定されず、例えば、通信回線として前記専用線や前記暗号通信網等を使用して、前記耐タンパ性が高くなった場合には、前記秘匿類似情報復元処理を、前記データベースサーバDSで実行して、復元された前記類似情報t′を前記検索用クライアントパソコンPCbに送信することも可能である。
(H02) In the embodiment, the client personal computers PCa and PCb and the database server DS are connected via the Internet 1 so as to be able to transmit and receive information. However, the present invention is not limited to this. For example, It is also possible to connect via a dedicated line, a wired / wireless LAN (Local Area Network) environment, and other communication lines such as an encryption communication network. When the dedicated line, the encryption communication network, or the like is used as the communication line, there is a possibility that the third party or the administrator has difficulty in deciphering the information s, t, t ′. is there. That is, there is a possibility that the protection against internal analysis (reverse engineering) and modification, so-called tamper resistance, is increased.
(H03) In the above embodiment, the confidential similarity information (solution candidate set R A) the confidential similarity information restoration process of restoring the (see ST401~ST411 ST 211, in Figure 8 of FIG. 5), the search for a client PC PCb The similar information t ′ is not obtained by the third party or the administrator, but is not limited to this. For example, the dedicated line or the encryption communication network is used as a communication line. When the tamper resistance becomes high, the secret similar information restoration process is executed by the database server DS, and the restored similar information t ′ is transmitted to the search client personal computer PCb. It is also possible.

(H04)前記実施例において、設定された各数値については、前記安全性(厳格性、機密性、秘匿性)、前記処理効率、前記利便性等の条件・仕様・設計等に応じて、任意の数値に変更可能である。例えば、実施例1のように、r>nとして、前記チャフ(擬似多項式点(an+1,f′(an+1))〜(a,f′(a)))を含む前記秘匿登録情報(多項式点集合R)を演算して、前記秘匿登録情報(多項式点集合R)の安全性を確保することが好ましいが、r=nとして、前記多項式点集合Rを、前記チャフを含まない前記(n,k)符号の符号語(登録多項式点(a,f(a))〜(a,f(a))のみの集合)とすることも可能である。また、L>0として、L種類の検索数値bm−L+1〜bが除かれた前記秘匿検索情報(検索部分集合B)を演算して、前記秘匿検索情報(検索部分集合B)の安全性を確保することが好ましいが、L=0として、前記検索部分集合Bを、前記検索集合Bそのものとすることも可能である(B=B)。なお、この場合、通信回線として前記専用線や前記暗号通信網等を使用し、前記耐タンパ性を高くしておくことが好ましい。
(H05)本発明において、一方向関数の一例としての前記ハッシュ関数Hにより、前記数値a〜a,b〜bから前記各部分情報sq1〜sqn,tq1〜tqmを復元して、前記各情報s,tをできないようにすることが好ましいが、これに限定されず、例えば、前記秘匿登録情報(多項式点集合R)の安全性等に応じて、前記ハッシュ関数Hを双方向関数の一例としての可逆関数等に変更することも可能である。
(H04) In the embodiment, each numerical value set is arbitrary according to conditions (specifications, designs, etc.) such as safety (strictness, confidentiality, confidentiality), processing efficiency, convenience, etc. Can be changed to For example, as in the first embodiment, the secret registration information including the chaff (pseudo polynomial points (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r ))) where r> n. (Polynomial point set R) is preferably calculated to ensure the security of the secret registration information (polynomial point set R). However, when r = n, the polynomial point set R does not include the chaff. It is also possible to use a code word of (n, k) code (a set of registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) only). Further, L> 0, and calculating the secure search information L types of search numerical b m-L + 1 ~b m is removed (Search subset B *), the confidential search information (search subset B *) However, it is also possible to set the search subset B * to be the search set B itself (B * = B) with L = 0. In this case, it is preferable to use the dedicated line, the encryption communication network, or the like as a communication line to increase the tamper resistance.
(H05) In the present invention, by the hash function H as an example of a one-way function, the numerical a 1 ~a n, b 1 ~b from said m each partial information s q1 ~s qn, a t q1 ~t qm It is preferable to restore the information s and t so that the information s and t cannot be used. However, the present invention is not limited to this. For example, the hash function H is determined according to the security of the secret registration information (polynomial point set R). Can be changed to a reversible function as an example of a bidirectional function.

(H06)前記実施例では、前記各情報s,t,t′が、文字列情報により構成されているが、これに限定されず、例えば、順序付き木や、順序無し木、グラフ等の情報により構成することも可能である。ここで、順序付き木の情報とは、前記各情報s,t,t′を、分岐の始点となる節点である根節点と、前記分岐の終点となる節点である葉節点と、前記根節点と前記葉節点との間に設けられた節点である内部節点と、前記根節点と前記内部節点と前記葉節点とを連結する枝となる前記分岐の情報により構成され、且つ、前記各分岐にはそれぞれ順序が付けられた情報のことである。また、順序無し木の情報とは、前記順序付き木の情報に比べ、前記各分岐には順序が付けられていない情報のことである。
これらの情報については、前記情報の構造に基づくヒストグラム(histogram、度数分布図、柱状グラフ)を演算した場合には、前記ヒストグラム間の距離(L1 distance、L距離)に基づいて、解候補のフィルタリング処理を行うことができる。
(H06) In the above embodiment, each of the information s, t, t ′ is composed of character string information, but is not limited to this. For example, information such as an ordered tree, an unordered tree, a graph, etc. It is also possible to configure by. Here, the information of the ordered tree means that the information s, t, and t ′ includes the root node that is the node that is the start point of the branch, the leaf node that is the node that is the end point of the branch, and the root node. And the information on the branch that is a branch connecting the root node, the internal node, and the leaf node, and an internal node that is a node provided between the leaf node and the root node. Are each ordered information. Further, unordered tree information is information in which each branch is not ordered compared to the ordered tree information.
For these pieces of information, when a histogram (histogram, frequency distribution chart, columnar graph) based on the structure of the information is calculated, a solution candidate is calculated based on the distance between the histograms (L 1 distance, L 1 distance). The filtering process can be performed.

例えば、順序付き木の情報は、前記根節点および前記内部節点から分岐する枝が2本に限定され、且つ、前記根節点から前記葉節点まで到達するまでの前記分岐の回数である高さが全て同一となる順序付きの完全二分木の構造の情報である順序付完全二分木構造情報に変換することにより、前記順序付完全二分木構造情報を、q−level二分岐の情報(操作単位情報)のヒストグラムのベクトル表現により示すことができる。なお、前記q−level二分岐とは、前記完全二分木の一部の前記節点と前記節点どうしを連結する枝となる前記分岐の情報とにより構成された部分木の構造の情報である部分木構造情報であって、前記部分木における前記高さが(q−1)となる前記部分木構造情報をいう。また、前記q−level二分岐の情報のヒストグラムとは、前記完全二分木における同じ前記q−level二分岐の情報の出現頻度のことをいう。   For example, the ordered tree information is limited to two branches that branch from the root node and the internal node, and the height that is the number of branches until the leaf node is reached from the root node. The ordered complete binary tree structure information is converted into q-level bifurcated information (operation unit information) by converting the ordered complete binary tree structure information, which is the information of the ordered complete binary tree that is all the same. ) Of the histogram. The q-level bifurcation is a subtree that is information on the structure of a subtree composed of the nodes of a part of the complete binary tree and the information of the branch that is a branch connecting the nodes. Structural information, which is the partial tree structure information in which the height of the partial tree is (q-1). In addition, the q-level bifurcation information histogram refers to the frequency of appearance of the same q-level bifurcation information in the complete binary tree.

ここで、2つの前記順序付完全二分木構造情報をU,Vとし、前記q−level二分岐の情報のヒストグラムの種類数(ベクトル空間の大きさ)を|ΓU|,|ΓV|とし、前記q−level二分岐の情報のヒストグラムをu〜u|ΓU|,v〜v|ΓV|として、U=(u,u,…,u|ΓU|),V=(v,v,…,v|ΓV|)が成立するものとした場合に、前記L距離は、前記順序付完全二分木構造情報U,V間のベクトル距離になる。よって、前記L距離に基づいて、順序付完全二分木構造情報U,Vどうしが類似であるか否かを判別することができる。すなわち、解候補のフィルタリング処理を行うことができる。 Here, the two ordered complete binary tree structure information are U and V, the number of types of histograms (the size of the vector space) of the q-level bifurcation information is | ΓU |, | ΓV | A histogram of q-level bifurcation information is represented by u 1 to u | ΓU | and v 1 to v | ΓV | , and U = (u 1 , u 2 ,..., u | ΓU | ), V = (v 1 , v 2 ,..., v | ΓV | ), the L 1 distance is the vector distance between the ordered complete binary tree structure information U and V. Therefore, on the basis of the L 1 distance, it is possible to complete binary tree structure information U with order, what V it is determined whether or not similar. That is, solution candidate filtering processing can be performed.

なお、これらの情報のヒストグラム間のL距離に基づいて、解候補のフィルタリング処理を行う秘匿化なしの類似情報検索処理については、例えば、非特許文献10〜12に記載されており、公知である。また、前記順序付き木の情報を変換した前記順序付完全二分木構造情報U,Vについて、前記順序付完全二分木構造情報U,V間の編集距離をdとした場合に、前記順序付完全二分木構造情報U,V間のL距離が{4×(q−1)+1}×dとなることが知られている(例えば、非特許文献10等参照)。ここで、前記編集距離dとは、前記順序付完全二分木構造情報Vが、前記順序付完全二分木構造情報Uになるまでの前記q−level二分岐の情報の挿入・削除・置換の各編集操作の回数のことである。 Incidentally, based on the L 1 distance between histograms of these information, the similarity information retrieval process without concealing the filtering process of the candidate solutions are, for example, are described in Non-Patent Document 10 to 12, in a known is there. For the ordered complete binary tree structure information U and V obtained by converting the ordered tree information, when the editing distance between the ordered complete binary tree structure information U and V is d, the ordered complete binary tree structure information U and V is obtained. binary tree structure information U, is L 1 distance between V is known to be a {4 × (q-1) +1} × d ( e.g., see non-Patent Document 10 or the like). Here, the edit distance d means each of insertion / deletion / replacement information of the q-level bifurcation information until the ordered complete binary tree structure information V becomes the ordered complete binary tree structure information U. This is the number of editing operations.

よって、前記フィルタリング処理の条件となる前記L距離を、前記ファジーボールトの開錠処理のフィルタリング条件とすることにより、秘匿化された類似情報検索処理を実行することが可能である。例えば、順序付き木の情報は、前記順序付完全二分木構造情報U,Vに基づいて、前記各集合A,Bを演算し、前記秘匿登録情報(多項式点集合R)や前記秘匿検索情報(検索部分集合B)を演算することができる。なお、前記完全二分木構造情報U,Vが有する前記節点の個数、例えば、|U|,|V|とし、|ΓU|=n,|ΓV|=m,n≧mが成立するものとし、前記自然数c,kについて以下の式(11),(12)が成立する場合には、以下の式(13)が成立する。 Therefore, the L 1 distance as the condition of the filtering process, by a filtering condition of unlocking processing of the fuzzy vault, it is possible to perform similar information retrieval processing which has been concealed. For example, the ordered tree information is obtained by calculating the sets A and B based on the ordered complete binary tree structure information U and V to obtain the secret registration information (polynomial point set R) or the secret search information ( The search subset B * ) can be computed. It is assumed that the number of nodes included in the complete binary tree structure information U and V, for example, | U |, | V |, and | ΓU | = n, | ΓV | = m, n ≧ m holds. When the following equations (11) and (12) are established for the natural numbers c and k, the following equation (13) is established.

c=n−{4×(q−1)+1}×d …(11)
(n+k)/2=n−{4×(q−1)+1}×dmax …(12)
‖Q‖≧c
=n−{4×(q−1)+1}×d
≧n−{4×(q−1)+1}×dmax
=(n+k)/2 …(13)
c = n− {4 × (q−1) +1} × d (11)
(N + k) / 2 = n− {4 × (q−1) +1} × d max (12)
‖Q j ‖ ≧ c
= N- {4 * (q-1) +1} * d
≧ n− {4 × (q−1) +1} × d max
= (N + k) / 2 (13)

すなわち、c≧(n+k)/2が常に成立するため(式(7)参照)、前記実施例と同様に、前記次数(k−1)を設定して前記多項式f(x)を演算できると共に、前記判別値cに基づいて、秘匿化されたフィルタリング処理を実行できる(図7のST308、図8のST406参照)。この結果、実施例1の前記類似情報検索システムSと同様に、前記自然数c,d,k,L,n,m,q,rの各値に基づいて、前記秘匿類似情報検索処理(図7のST303〜ST312参照)を実行することができる。   That is, since c ≧ (n + k) / 2 is always established (see Expression (7)), the polynomial f (x) can be calculated by setting the degree (k−1) as in the above embodiment. Based on the discriminant value c, a concealed filtering process can be executed (see ST308 in FIG. 7 and ST406 in FIG. 8). As a result, similar to the similar information search system S of the first embodiment, the secret similar information search process (FIG. 7) is performed based on the values of the natural numbers c, d, k, L, n, m, q, and r. ST303 to ST312) can be executed.

(H07)本発明において、前記各情報s,tを入力するための前記各画像2,3を表示することが好ましいが、これに限定されず、例えば、コマンド入力等により前記各情報s,tを入力することにより、前記各画像2,3を省略することも可能である。
(H08)前記実施例では、前記誤り訂正符号の復号化アルゴリズムの一例としてのBMアルゴリズムを用いた前記開錠処理により、前記多項式f(x)の係数s〜sk−1を演算して前記類似情報t′を復元するが(図8のST410参照)、これに限定されず、例えば、前記誤り訂正符号の復号化アルゴリズムの一例としてのピーターソン(Perterson)法やユークリッド法を用いた開錠処理により、前記類似情報t′を復元することも可能である(例えば、特開2003−168983号公報や非特許文献6等参照)。
(H07) In the present invention, it is preferable to display the images 2 and 3 for inputting the information s and t. However, the present invention is not limited to this. For example, the information s and t is input by command input or the like. It is also possible to omit the images 2 and 3 by inputting.
(H08) In the above embodiment, the coefficients s 0 to s k-1 of the polynomial f (x) are calculated by the unlocking process using the BM algorithm as an example of the decoding algorithm of the error correction code. Although the similar information t ′ is restored (see ST410 in FIG. 8), the present invention is not limited to this. For example, the similarity information t ′ is not limited to this, and may be developed using the Peterson method or the Euclidean method as an example of the decoding algorithm of the error correction code. It is also possible to restore the similar information t ′ by a lock process (see, for example, Japanese Patent Laid-Open No. 2003-168983 and Non-Patent Document 6).

(H09)本発明において、前記自然数c,d,k,L,n,m,q,rの各値について、予め設定されているか、前記各情報s,t,t′に基づいて自動的に設定されているが、これに限定されず、ユーザが各画像3,4等により設定できるようにすることも可能である。例えば、前記編集距離dの最大値dmaxについて、前記検索画像4に最大値入力部を設けて、前記検索者が設定できるようにすることも可能である。
(H010)本発明において、前記登録情報sに基づいて、前記登録情報sを復元するために必要な点が最小で{(n+k)/2}個となることが保証された(k−1)次元で1変数の多項式f(x)を演算されることが好ましいが(図5のST107参照)、これに限定されず、例えば、{(n+k)/2}個存在しても前記登録情報sを復元できない多項式を演算することも可能である。この場合、前記多項式f(x)として選択できる多項式の総数も大きくすることができ、前記利便性や前記安全性が高くなるが、前記類似情報t′を復元可能か否かを判別するフィルタリング処理(図7のST308、図8のST406参照)の精度が低減されるため、誤検出が多くなり類似情報検索処理としての処理効率が低下する可能性がある。このため、前記多項式f(x)における復元可能な点の個数を、前記利便性と前記安全性と、前記フィルタリング処理の精度に基づく前記処理効率とを、前記類似情報検索システムSの許容範囲に応じて調節することができる。
(H09) In the present invention, each value of the natural numbers c, d, k, L, n, m, q, r is preset or automatically based on the information s, t, t ′. Although it is set, the present invention is not limited to this, and it is also possible to allow the user to set the image using the images 3 and 4. For example, for the maximum value d max of the edit distance d, a maximum value input unit may be provided in the search image 4 so that the searcher can set it.
(H010) In the present invention, based on the registration information s, it is guaranteed that the number of points necessary for restoring the registration information s is {(n + k) / 2} at a minimum (k−1). Although it is preferable to calculate a single variable polynomial f (x) in dimension (see ST107 in FIG. 5), the present invention is not limited to this. For example, even if {(n + k) / 2} exist, the registration information s It is also possible to calculate a polynomial that cannot be restored. In this case, the total number of polynomials that can be selected as the polynomial f (x) can be increased, and the convenience and the safety are enhanced, but the filtering process for determining whether or not the similar information t ′ can be restored. Since the accuracy of ST308 in FIG. 7 (see ST406 in FIG. 8) is reduced, there is a possibility that false detections increase and the processing efficiency as the similar information search processing is lowered. For this reason, the number of points that can be restored in the polynomial f (x) is set within the allowable range of the similarity information search system S, with the convenience, the safety, and the processing efficiency based on the accuracy of the filtering process. Can be adjusted accordingly.

(H011)本発明において、前記登録情報sに基づいて、前記登録情報sを復元するために必要な点が{(n+k)/2}個以上となる(k−1)次元で1変数の多項式f(x)を演算したが(図5のST107参照)、これに限定されず、例えば、{(n+k)/2}個以下で前記登録情報sを復元可能であることが保証された多項式が存在すれば、そのような前記多項式を演算することも可能である。すなわち、前記誤り訂正符号として、{(n+k)/2}個以上の点が判明すれば前記BMアルゴリズム等により多項式の復元可能な前記(n,k)符号((n,k)RS符号)を利用することに限定されず、{(n+k)/2}個以下の点により多項式の復元可能なその他の前記誤り訂正符号を利用することも可能である。この場合、解読するために知得する必要がある前記登録多項式点(a,f(a))〜(a,f(a))の数が少なくなるため、前記多項式点集合Rの安全性が低下するが、前記多項式点集合Rに含まれる前記登録多項式点(a,f(a))〜(a,f(a))の総数rの値を大きくして、前記擬似多項式点(an+1,f′(an+1))〜(a,f′(a))の総数を増加させることにより、前記安全性を確保することができる。 (H011) In the present invention, based on the registration information s, the number of points necessary for restoring the registration information s is {(n + k) / 2} or more (k−1) -dimensional polynomial of one variable Although f (x) has been calculated (see ST107 in FIG. 5), the present invention is not limited to this. For example, there is a polynomial that is guaranteed to be able to restore the registration information s with {(n + k) / 2} or less. If present, it is also possible to compute such a polynomial. That is, as the error correction code, the (n, k) code ((n, k) RS code) that can be restored to the polynomial by the BM algorithm or the like when the {(n + k) / 2} or more points are found. The present invention is not limited to use, and it is also possible to use other error correction codes that can restore a polynomial by {(n + k) / 2} or less points. In this case, since the number of the registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) that need to be known for decoding is reduced, the polynomial point set R Although the safety is reduced, the value of the total number r of the registered polynomial points (a 1 , f (a 1 )) to (a n , f (a n )) included in the polynomial point set R is increased, The safety can be ensured by increasing the total number of the pseudo-polynomial points (a n + 1 , f ′ (a n + 1 )) to (a r , f ′ (a r )).

本発明は、例えば、登録する情報がDNAの塩基配列情報(核酸配列情報)や、蛋白質のアミノ酸配列情報等の遺伝子情報が格納された遺伝子情報データベースの管理業務を、遺伝子解析の分野における研究機関等が外部委託業者に委託するDASモデルを構築する場合に有用である。   The present invention relates to, for example, management of a gene information database in which genetic information such as DNA base sequence information (nucleic acid sequence information) and protein amino acid sequence information is stored as information to be registered. This is useful when a DAS model is outsourced to an outside contractor.

図1は本発明の実施例1の類似情報検索システムの全体説明図である。FIG. 1 is an overall explanatory diagram of a similar information search system according to a first embodiment of the present invention. 図2は本発明の実施例1の類似情報検索システムを構成する各装置の機能をブロック図(機能ブロック図)で示した説明図である。FIG. 2 is an explanatory diagram showing the function of each device constituting the similar information retrieval system of the first embodiment of the present invention in a block diagram (functional block diagram). 図3は実施例1の登録画像の説明図である。FIG. 3 is an explanatory diagram of a registered image according to the first embodiment. 図4は実施例1の登録画像の説明図である。FIG. 4 is an explanatory diagram of a registered image according to the first embodiment. 図5は実施例1の秘匿登録情報送信プログラムの秘匿登録情報送信処理のフローチャートである。FIG. 5 is a flowchart of the secret registration information transmission process of the secret registration information transmission program according to the first embodiment. 図6は実施例1の秘匿検索情報送信プログラムの秘匿検索情報送信処理のフローチャートである。FIG. 6 is a flowchart of the confidential search information transmission process of the confidential search information transmission program according to the first embodiment. 図7は実施例1の秘匿類似情報検索プログラムの秘匿類似情報検索処理のフローチャートである。FIG. 7 is a flowchart of the secret similar information search process of the secret similar information search program according to the first embodiment. 図8は実施例1の秘匿類似情報復元プログラムの秘匿類似情報復元処理のフローチャートであり、図6のST211のサブルーチンの説明図である。FIG. 8 is a flowchart of the secret similar information restoration process of the secret similar information restoration program according to the first embodiment, and is an explanatory diagram of the subroutine of ST211 in FIG. 図9はDASモデルにおける遺伝子情報データベースに従来公知の暗号化データベースの技術を適用した場合の説明図である。FIG. 9 is an explanatory view when a conventionally known encryption database technique is applied to the gene information database in the DAS model.

符号の説明Explanation of symbols

A…登録集合、AP4…類似情報検索プログラム、a〜a…登録数値、an+1〜a…擬似数値、(a,f(a))〜(a,f(a))…多項式上の点、登録多項式点、(an+1,f′(an+1))〜(a,f′(a))…擬似多項式点、B…検索集合、B…検索部分集合、秘匿検索情報、b〜b…検索数値、c,d,k,L,n,m,q,r…自然数、CA3…多項式演算手段、CA4…登録部分情報抽出手段、CA5…登録集合演算手段、CA6…登録代入値演算手段、CA7…擬似数値演算手段、CA8…擬似代入値演算手段、CA9…秘匿登録情報演算手段、CA10…秘匿登録情報送信手段、CB3…検索部分情報抽出手段、CB4…検索集合演算手段、CB5…検索集合記憶手段、CB6…秘匿検索情報演算手段、CB7…秘匿検索情報送信手段、CB9…秘匿類似情報受信手段、CB10A…検索数値判別手段、CB10B…数値抽出手段、CB11A…類似情報復元判別手段、CB12…類似情報復元手段、CD1…秘匿登録情報受信手段、CD2…秘匿登録情報記憶手段、CD3…秘匿検索情報受信手段、CD4…検索数値判別手段、CD5…多項式点部分集合演算手段、CD6…多項式点部分集合要素数判別手段、CD7…秘匿類似情報演算手段、CD8…秘匿類似情報送信手段、DS…記憶装置、類似情報検索装置、f(x)…多項式、f(a),f(a),…,f(a)…登録代入値、f′(an+1)〜f′(a)…擬似代入値、PCa…登録装置、PCb…検索装置、Q 〜Q …多項式点部分集合、R…多項式点集合、秘匿登録情報、R…秘匿類似情報、H…一方向関数、S…類似情報検索システム、s…登録情報、文字列情報、sq1〜sqn…登録部分情報、部分情報、t…検索情報、文字列情報、tq1〜tqm…検索部分情報、部分情報、t′…類似情報、文字列情報。 A ... registration set, AP4 ... similar information retrieval program, a 1 ~a n ... registration numerical value, a n + 1 ~a r ... pseudo numerical value, (a 1, f (a 1)) ~ (a n, f (a n) ) ... polynomial points, registered polynomial points, (a n + 1 , f ′ (a n + 1 )) to ( ar , f ′ (a r )) ... pseudo-polynomial points, B ... search set, B * ... search subset , Secret search information, b 1 to b m ... Search numerical value, c, d, k, L, n, m, q, r ... natural number, CA3 ... polynomial operation means, CA4 ... registered partial information extraction means, CA5 ... registered set Calculation means, CA6 ... registered substitution value calculation means, CA7 ... pseudo numerical value calculation means, CA8 ... pseudo substitution value calculation means, CA9 ... secret registration information calculation means, CA10 ... secret registration information transmission means, CB3 ... search partial information extraction means, CB4: Search set calculation means, CB5: Search set storage CB6 ... Secret search information calculation means, CB7 ... Secret search information transmission means, CB9 ... Secret similarity information reception means, CB10A ... Search numerical value determination means, CB10B ... Numerical value extraction means, CB11A ... Similar information restoration determination means, CB12 ... Similar information Restoring means, CD1 ... Secret registration information receiving means, CD2 ... Secret registration information storage means, CD3 ... Secret search information receiving means, CD4 ... Search numerical value discrimination means, CD5 ... Polynomial point subset calculating means, CD6 ... Polynomial point subset element number determining means, CD7 ... confidential similarity information calculating means, CD8 ... confidential similarity information transmitting means, DS ... storage device, similar information retrieval system, f (x) ... polynomial, f (a 1), f (a 2), ... , F (a n ) ... registered substitution value, f ′ (a n + 1 ) to f ′ (a r ) ... pseudo substitution value, PCa ... registration device, PCb ... search device, Q 1 * to Q N * ... polynomial point part Minute set, R ... polynomial point set, confidential registration information, R A ... confidential similar information, H ... one-way function, S ... similar information retrieval system, s ... registration information, character string information, s q1 ~s qn ... registration part information, partial information, t ... search information, the character string information, t q1 ~t qm ... search part information, part information, t '... similar information, character string information.

Claims (4)

登録対象の情報である登録情報を記憶する記憶装置と、
前記記憶装置と情報の送受信が可能に接続され、前記記憶装置に対して、前記登録情報を登録させる登録装置と、
前記記憶装置と情報の送受信が可能に接続され、前記記憶装置に対して、記憶された前記登録情報のうち、検索対象の情報である検索情報と同一または類似する前記登録情報である類似情報を検索させる検索装置と、
を有する類似情報検索システムであって、
自然数をそれぞれc,d,k,L,n,m,q,rとし、前記検索情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であり、且つ、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧L,r≧nがそれぞれ成立するものとした場合に、
前記登録装置は、
前記登録情報に基づいて、(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式を演算する多項式演算手段と、
前記登録情報に基づいて、前記登録情報を復元可能なn個の前記部分情報である登録部分情報を抽出する登録部分情報抽出手段と、
抽出されたn個の前記登録部分情報に基づいて、n種類の数値である登録数値を要素とする集合である登録集合を演算する登録集合演算手段と、
前記登録数値が代入された前記多項式の数値である登録代入値を演算する登録代入値演算手段と、
前記登録数値以外の数値である(r−n)種類の擬似数値を演算する擬似数値演算手段と、
前記擬似数値が代入された前記多項式の数値以外の数値である擬似代入値を演算する擬似代入値演算手段と、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、前記擬似数値および前記擬似数値に対応する前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を演算することにより、前記登録情報が秘匿化された秘匿登録情報を演算する秘匿登録情報演算手段と、
演算された前記秘匿登録情報を、前記記憶装置に対して送信する秘匿登録情報送信手段と、
を有し、
前記記憶装置は、
前記秘匿登録情報送信手段により送信された前記秘匿登録情報を受信する秘匿登録情報受信手段と、
受信した前記秘匿登録情報を記憶する秘匿登録情報記憶手段と、
を有し、
前記検索装置は、
前記検索情報に基づいて、前記検索情報を復元可能なm個の前記部分情報である検索部分情報を抽出する検索部分情報抽出手段と、
抽出されたm個の前記検索部分情報に基づいて、m種類の数値である検索数値を要素とする集合である検索集合を演算する検索集合演算手段と、
演算された前記検索集合を記憶する検索集合記憶手段と、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を演算することにより、前記検索情報が秘匿化された秘匿検索情報を演算する秘匿検索情報演算手段と、
演算された前記秘匿検索情報を、前記記憶装置に対して送信する秘匿検索情報送信手段と、
を有し、
前記記憶装置は、
前記秘匿検索情報送信手段により送信された前記秘匿検索情報を受信する秘匿検索情報受信手段と、
受信した前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段と、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段と、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段と、
演算された前記秘匿類似情報を、前記検索装置に対して送信する秘匿類似情報送信手段と、
を有し、
前記検索装置は、
前記秘匿類似情報送信手段により送信された前記秘匿類似情報を受信する秘匿類似情報受信手段と、
記憶した前記検索集合に含まれる前記検索数値が、受信した前記各秘匿類似情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値および前記擬似数値を抽出する数値抽出手段と、
抽出された前記登録数値および前記擬似数値がc個以上であるか否かを判別することにより、前記各秘匿類似情報が、前記検索情報に対する前記類似情報として復元可能であるか否かを判別する類似情報復元判別手段と、
抽出された前記登録数値および前記擬似数値がc個以上である場合に、前記登録数値および前記擬似数値に基づいて、前記多項式を演算して前記類似情報を復元する類似情報復元手段と、
を有する
ことを特徴とする類似情報検索システム。
A storage device for storing registration information which is information to be registered;
A registration device that is connected to the storage device so as to be able to transmit and receive information, and that registers the registration information to the storage device;
Information similar to the registration information that is the same as or similar to the search information that is the search target information among the stored registration information that is connected to the storage device so as to be able to transmit and receive information. A search device for searching;
A similar information retrieval system having
The natural numbers are c, d, k, L, n, m, q, and r, respectively, and d operations of insertion / deletion / replacement are performed on the operation unit information that is the unit information to be operated in the search information. The search information is converted into the similar information, and n pieces of partial information having q pieces of the operation unit information can be calculated for the registration information. m or more pieces of partial information having q pieces of the operation unit information can be calculated, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L, r ≧ n Are assumed to hold,
The registration device
Based on the registration information, a polynomial computing means for computing the polynomial that is a univariate (k-1) dimension and that can restore the registration information;
Registered partial information extracting means for extracting registered partial information, which is n pieces of partial information capable of restoring the registered information, based on the registered information;
A registered set calculation means for calculating a registered set, which is a set having n registered numeric values as elements, based on the extracted n pieces of registered partial information;
A registered substitution value calculating means for calculating a registered substitution value that is a numerical value of the polynomial into which the registered numeric value is substituted;
Pseudo numerical value calculating means for calculating (rn) types of pseudo numerical values which are numerical values other than the registered numerical values;
Pseudo-substitution value calculating means for calculating a pseudo-substitution value that is a numerical value other than the numerical value of the polynomial into which the pseudo-numeric value is substituted;
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point, and the pseudo numerical value and the pseudo substitution value corresponding to the pseudo numerical value are a set. When a point other than the polynomial is set as a pseudo-polynomial point, a polynomial point set that is a set of r points having n registered polynomial points and (r−n) pseudo-polynomial points is calculated. A secret registration information calculation means for calculating secret registration information in which the registration information is concealed;
Secret registration information transmitting means for transmitting the calculated secret registration information to the storage device;
Have
The storage device
Confidential registration information receiving means for receiving the confidential registration information transmitted by the confidential registration information transmitting means;
Secret registration information storage means for storing the received secret registration information;
Have
The search device includes:
Search partial information extraction means for extracting search partial information which is m pieces of partial information capable of restoring the search information based on the search information;
A search set calculation means for calculating a search set that is a set having m search numerical values as elements based on the extracted m pieces of search partial information;
Search set storage means for storing the calculated search set;
By calculating a search subset that is a subset of the search set having (m−L) types of the search numerical values excluding L types of the search numerical values among the m types of search numerical values, the search Secret search information calculation means for calculating secret search information in which information is concealed;
A secret search information transmitting means for transmitting the calculated secret search information to the storage device;
Have
The storage device
Secret search information receiving means for receiving the secret search information transmitted by the secret search information transmitting means;
Search numerical value determining means for determining whether the search numerical value included in the received confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
Polynomial point subset element number determining means for determining whether or not the calculated points of the polynomial point subset are (c−L) or more;
(CL) Concealed similarity information computing means for computing concealed similarity information in which the similar information is concealed by computing each concealment registration information corresponding to the polynomial point subset having at least (c−L) points ,
A secret similarity information transmitting means for transmitting the calculated secret similarity information to the search device;
Have
The search device includes:
A concealment similarity information receiving means for receiving the concealment similarity information transmitted by the concealment similarity information transmission means;
Search numerical value determining means for determining whether or not the search numerical value included in the stored search set is the same as the registered numerical value or the pseudo numerical value included in each received secret similar information;
Numerical value extraction means for extracting the registered numerical value and the pseudo numerical value that are the same as the search numerical value;
It is determined whether or not each of the secret similar information can be restored as the similar information with respect to the search information by determining whether or not the extracted registered numerical value and the pseudo numerical value are c or more. Similar information restoration discrimination means,
Similar information restoration means for computing the polynomial and restoring the similar information based on the registered numeric value and the pseudo numeric value when the extracted registered numeric value and the pseudo numeric value are c or more,
A similar information retrieval system characterized by comprising:
前記自然数c,k,nについて、c≧(n+k)/2が成立するものとした場合に、
前記登録装置は、
前記登録情報に基づいて、(k−1)次元で1変数の多項式であって、前記登録情報を復元するために必要な前記多項式上の点が{(n+k)/2}個以上となる前記多項式を演算する多項式演算手段と、
を有する
ことを特徴とする請求項1に記載の類似情報検索システム。
When c ≧ (n + k) / 2 holds for the natural numbers c, k, n,
The registration device
Based on the registration information, the polynomial is a one-variable polynomial in (k−1) dimensions, and the number of points on the polynomial necessary for restoring the registration information is {(n + k) / 2} or more. A polynomial calculation means for calculating a polynomial;
The similar information retrieval system according to claim 1, wherein:
登録対象の情報を登録情報とし、
前記登録情報と同一または類似する情報を類似情報とし、
自然数をそれぞれd,k,n,q,rとし、
前記登録情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記登録情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、r≧nが成立するものとし、
前記登録情報に基づいて抽出された前記登録情報を復元可能なn個の前記部分情報を登録部分情報とし、
抽出されたn個の前記登録部分情報に基づいて演算されたn種類の数値である登録数値を要素とする集合を登録集合とし、
前記登録情報に基づいて演算された(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式に前記登録数値が代入されて演算された数値を登録代入値とし、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、
前記登録数値以外の数値である擬似数値および前記擬似数値に対応する擬似代入値であって、前記擬似数値が代入された前記多項式の数値以外の数値である前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、
n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を、前記登録情報が秘匿化された秘匿登録情報として記憶する秘匿登録情報記憶手段と、
検索対象の情報を検索情報とし、
自然数をそれぞれc,L,mとし、
前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であり、且つ、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧Lがそれぞれ成立するものとし、
前記検索情報のうちの前記操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記検索情報に基づいて抽出された前記検索情報を復元可能なm個の前記部分情報を検索部分情報とし、
抽出されたm個の前記検索部分情報に基づいて演算されたm種類の数値である検索数値を要素とする集合を検索集合とし、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を、前記検索情報が秘匿化された秘匿検索情報とした場合に、
前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段と、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段と、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段と、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段と、
を備えたことを特徴とする類似情報検索システム。
Information to be registered is registered information,
Information that is the same as or similar to the registration information is similar information,
The natural numbers are d, k, n, q, r, respectively.
With respect to operation unit information that is information of a unit to be operated in the registration information, the registration information is converted into the similar information by performing d insertion / deletion / replacement operations, and the registration For information, it is assumed that n or more pieces of partial information having q pieces of operation unit information can be calculated, and r ≧ n holds.
The n pieces of partial information that can restore the registration information extracted based on the registration information are used as registration partial information.
A set having a registered numerical value, which is an n-type numerical value calculated based on the extracted n pieces of registered partial information, as a registered set,
A (k−1) -dimensional univariate polynomial calculated based on the registration information, and a numerical value calculated by substituting the registered numerical value for the polynomial that can restore the registration information is used as a registered substitution value. ,
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point,
A pseudo numerical value that is a numerical value other than the registered numerical value and a pseudo substituted value corresponding to the pseudo numerical value, and the pseudo substituted value that is a numerical value other than the numerical value of the polynomial to which the pseudo numerical value is substituted is a set. When a point other than a polynomial is a pseudo-polynomial point,
A polynomial point set, which is a set of r points each having n registration polynomial points and (r−n) pseudo-polynomial points, is stored as secret registration information in which the registration information is concealed. A secret registration information storage means;
The search target information is the search information,
Let natural numbers be c, L, m respectively.
For the search information, m or more pieces of partial information having q pieces of operation unit information can be calculated, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L is established,
With respect to the operation unit information in the search information, the search information is converted into the similar information by performing d insertion / deletion / replacement operations, and the search information is extracted based on the search information. The m pieces of partial information capable of restoring the search information are set as search partial information,
A set having as elements search numerical values that are m types of numerical values calculated based on the extracted m pieces of search partial information is defined as a search set.
Of the m types of search numerical values, the search information conceals a search subset that is a subset of the search set whose elements are the (m−L) types of search numerical values excluding the L types of search numerical values. If the search information is hidden,
Search numerical value determination means for determining whether the search numerical value included in the confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
Polynomial point subset element number determining means for determining whether or not the calculated points of the polynomial point subset are (c−L) or more;
(CL) Concealed similarity information computing means for computing concealed similarity information in which the similar information is concealed by computing each concealment registration information corresponding to the polynomial point subset having at least (c−L) points ,
A similar information retrieval system characterized by comprising:
コンピュータを、
登録対象の情報を登録情報とし、
前記登録情報と同一または類似する情報を類似情報とし、
自然数をそれぞれd,k,n,q,rとし、
前記登録情報のうちの操作対象となる単位の情報である操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記登録情報が前記類似情報に変換され、且つ、前記登録情報について、q個の前記操作単位情報を有する部分情報をn個以上演算可能であり、且つ、r≧nが成立するものとし、
前記登録情報に基づいて抽出された前記登録情報を復元可能なn個の前記部分情報を登録部分情報とし、
抽出されたn個の前記登録部分情報に基づいて演算されたn種類の数値である登録数値を要素とする集合を登録集合とし、
前記登録情報に基づいて演算された(k−1)次元で1変数の多項式であって、前記登録情報を復元可能な前記多項式に前記登録数値が代入されて演算された数値を登録代入値とし、
前記登録数値および前記登録数値に対応する前記登録代入値を一組とする前記多項式上の点を登録多項式点とし、
前記登録数値以外の数値である擬似数値および前記擬似数値に対応する擬似代入値であって、前記擬似数値が代入された前記多項式の数値以外の数値である前記擬似代入値を一組とする前記多項式以外の点を擬似多項式点とした場合に、
n個の前記登録多項式点と、(r−n)個の前記擬似多項式点とを有するr個の点の集合である多項式点集合を、前記登録情報が秘匿化された秘匿登録情報として記憶する秘匿登録情報記憶手段、
検索対象の情報を検索情報とし、
自然数をそれぞれc,L,mとし、
前記検索情報について、q個の前記操作単位情報を有する部分情報をm個以上演算可能であれば、cがd,q,n,mに基づいて演算され、且つ、c≧L,m≧Lがそれぞれ成立するものとし、
前記検索情報のうちの前記操作単位情報について、d回の挿入・削除・置換の操作を行うことにより、前記検索情報が前記類似情報に変換され、且つ、前記検索情報に基づいて抽出された前記検索情報を復元可能なm個の前記部分情報を検索部分情報とし、
抽出されたm個の前記検索部分情報に基づいて演算されたm種類の数値である検索数値を要素とする集合を検索集合とし、
m種類の前記検索数値のうち、L種類の前記検索数値を除く(m−L)種類の前記検索数値を要素とする前記検索集合の部分集合である検索部分集合を、前記検索情報が秘匿化された秘匿検索情報とした場合に、
前記秘匿検索情報に含まれる前記検索数値が、記憶した前記各秘匿登録情報に含まれる前記登録数値または前記擬似数値と同値であるか否かを判別する検索数値判別手段、
前記検索数値と同値となる前記登録数値の前記登録多項式点および前記擬似数値の前記擬似多項式点を抽出することにより、前記多項式点集合における前記検索数値の射影集合であって、前記多項式点集合の部分集合である多項式点部分集合を演算する多項式点部分集合演算手段、
演算された前記多項式点部分集合の点が(c−L)個以上であるか否かを判別する多項式点部分集合要素数判別手段、
(c−L)個以上の点を有する前記多項式点部分集合に対応する前記各秘匿登録情報を演算することにより、前記類似情報が秘匿化された秘匿類似情報を演算する秘匿類似情報演算手段、
として機能させることを特徴とする類似情報検索プログラム。
Computer
Information to be registered is registered information,
Information that is the same as or similar to the registration information is similar information,
The natural numbers are d, k, n, q, r, respectively.
With respect to operation unit information that is information of a unit to be operated in the registration information, the registration information is converted into the similar information by performing d insertion / deletion / replacement operations, and the registration For information, it is assumed that n or more pieces of partial information having q pieces of operation unit information can be calculated, and r ≧ n holds.
The n pieces of partial information that can restore the registration information extracted based on the registration information are used as registration partial information.
A set having a registered numerical value, which is an n-type numerical value calculated based on the extracted n pieces of registered partial information, as a registered set,
A (k−1) -dimensional univariate polynomial calculated based on the registration information, and a numerical value calculated by substituting the registered numerical value for the polynomial that can restore the registration information is used as a registered substitution value. ,
A point on the polynomial having a set of the registered numerical value and the registered substitution value corresponding to the registered numerical value is a registered polynomial point,
A pseudo numerical value that is a numerical value other than the registered numerical value and a pseudo substituted value corresponding to the pseudo numerical value, and the pseudo substituted value that is a numerical value other than the numerical value of the polynomial to which the pseudo numerical value is substituted is a set. When a point other than a polynomial is a pseudo-polynomial point,
A polynomial point set, which is a set of r points each having n registration polynomial points and (r−n) pseudo-polynomial points, is stored as secret registration information in which the registration information is concealed. Secret registration information storage means,
The search target information is the search information,
Let natural numbers be c, L, m respectively.
If m or more pieces of partial information having q pieces of operation unit information can be calculated for the search information, c is calculated based on d, q, n, m, and c ≧ L, m ≧ L Each holds,
With respect to the operation unit information in the search information, the search information is converted into the similar information by performing d insertion / deletion / replacement operations, and the search information is extracted based on the search information. The m pieces of partial information capable of restoring the search information are set as search partial information,
A set having as elements search numerical values that are m types of numerical values calculated based on the extracted m pieces of search partial information is defined as a search set.
Of the m types of search numerical values, the search information conceals a search subset that is a subset of the search set whose elements are the (m−L) types of search numerical values excluding the L types of search numerical values. If the search information is hidden,
Search numerical value determining means for determining whether the search numerical value included in the confidential search information is the same as the registered numerical value or the pseudo numerical value included in each stored confidential registration information;
By extracting the registered polynomial point of the registered numerical value and the pseudo-polynomial point of the pseudo-numerical value that are the same as the search numerical value, a projection set of the search numerical value in the polynomial point set, A polynomial point subset computing means for computing a polynomial point subset which is a subset;
A polynomial point subset element number discriminating means for discriminating whether or not there are (c−L) or more calculated points of the polynomial point subset;
(CL) Secret similar information calculation means for calculating secret similar information in which the similar information is concealed by calculating each secret registration information corresponding to the polynomial point subset having more than (c−L) points;
A similar information retrieval program characterized by functioning as
JP2008118871A 2008-04-30 2008-04-30 Similar information retrieval system and similar information retrieval program Pending JP2009271584A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008118871A JP2009271584A (en) 2008-04-30 2008-04-30 Similar information retrieval system and similar information retrieval program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008118871A JP2009271584A (en) 2008-04-30 2008-04-30 Similar information retrieval system and similar information retrieval program

Publications (1)

Publication Number Publication Date
JP2009271584A true JP2009271584A (en) 2009-11-19

Family

ID=41438108

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008118871A Pending JP2009271584A (en) 2008-04-30 2008-04-30 Similar information retrieval system and similar information retrieval program

Country Status (1)

Country Link
JP (1) JP2009271584A (en)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011146895A (en) * 2010-01-14 2011-07-28 Mitsubishi Electric Corp Information processing system, management device, server device and information processing apparatus
JP2013029891A (en) * 2011-07-26 2013-02-07 Fujitsu Ltd Extraction program, extraction method and extraction apparatus
JP2013145420A (en) * 2012-01-13 2013-07-25 Hitachi Ltd High-speed similarity retrieval processing system of encrypted data
WO2014092105A1 (en) * 2012-12-12 2014-06-19 日本電気株式会社 Database search device, database search method, and program
EP2924912A2 (en) 2014-03-25 2015-09-30 Fujitsu Limited Ciphertext processing device, ciphertext processing method, ciphertext processing program, and information processing device
US9311494B2 (en) 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
US9418238B2 (en) 2011-02-22 2016-08-16 Mitsubishi Electric Corporation Search system, search method of search system, and information processing device
JPWO2016203555A1 (en) * 2015-06-16 2018-02-15 株式会社日立製作所 Concealed similarity search system and similarity concealment search method
US10594473B2 (en) 2015-02-10 2020-03-17 Kabushikikaisha Rnai Terminal device, database server, and calculation system
US11256756B2 (en) 2016-02-22 2022-02-22 Advanced New Technologies Co., Ltd. Character string distance calculation method and device
US11870892B2 (en) 2018-10-11 2024-01-09 Nec Corporation Information processing apparatus, secret calculation method, and program

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011146895A (en) * 2010-01-14 2011-07-28 Mitsubishi Electric Corp Information processing system, management device, server device and information processing apparatus
US9418238B2 (en) 2011-02-22 2016-08-16 Mitsubishi Electric Corporation Search system, search method of search system, and information processing device
JP2013029891A (en) * 2011-07-26 2013-02-07 Fujitsu Ltd Extraction program, extraction method and extraction apparatus
US9311494B2 (en) 2011-12-01 2016-04-12 Hitachi, Ltd. Secure search method and secure search device
JP2013145420A (en) * 2012-01-13 2013-07-25 Hitachi Ltd High-speed similarity retrieval processing system of encrypted data
WO2014092105A1 (en) * 2012-12-12 2014-06-19 日本電気株式会社 Database search device, database search method, and program
US10339140B2 (en) 2012-12-12 2019-07-02 Nec Corporation Database search device, database search method, and program
EP2924912A2 (en) 2014-03-25 2015-09-30 Fujitsu Limited Ciphertext processing device, ciphertext processing method, ciphertext processing program, and information processing device
US9473302B2 (en) 2014-03-25 2016-10-18 Fujitsu Limited Ciphertext processing device, ciphertext processing method, computer-readable recording medium, and information processing device
US10594473B2 (en) 2015-02-10 2020-03-17 Kabushikikaisha Rnai Terminal device, database server, and calculation system
JPWO2016203555A1 (en) * 2015-06-16 2018-02-15 株式会社日立製作所 Concealed similarity search system and similarity concealment search method
US11256756B2 (en) 2016-02-22 2022-02-22 Advanced New Technologies Co., Ltd. Character string distance calculation method and device
US11870892B2 (en) 2018-10-11 2024-01-09 Nec Corporation Information processing apparatus, secret calculation method, and program

Similar Documents

Publication Publication Date Title
JP2009271584A (en) Similar information retrieval system and similar information retrieval program
US10554385B2 (en) Method for providing encrypted data in a database and method for searching on encrypted data
US9275250B2 (en) Searchable encryption processing system
Wang et al. Searchable encryption over feature-rich data
US11770250B2 (en) Method and system for ensuring search completeness of searchable public key encryption
EP3096245B1 (en) Retrievable cryptograph processing system and retrievable cryptograph processing method
US20130114811A1 (en) Method for Privacy Preserving Hashing of Signals with Binary Embeddings
US11764940B2 (en) Secure search of secret data in a semi-trusted environment using homomorphic encryption
Chen et al. EliMFS: achieving efficient, leakage-resilient, and multi-keyword fuzzy search on encrypted cloud data
CN111026788A (en) Homomorphic encryption-based multi-keyword ciphertext sorting and retrieving method in hybrid cloud
CN111552849B (en) Searchable encryption method, system, storage medium, vehicle-mounted network and smart grid
WO2020172898A1 (en) Suffix tree-based searchable encryption system and method
CN112328606B (en) Keyword searchable encryption method based on block chain
US10831919B2 (en) Method for confidentially querying an encrypted database
Wang et al. PeGraph: A system for privacy-preserving and efficient search over encrypted social graphs
WO2008135951A1 (en) Method and a system for performing an oblivious query issued by a first party on a string provided by a second party
Liu et al. Towards fully verifiable forward secure privacy preserving keyword search for IoT outsourced data
Kim et al. Privacy-preserving parallel kNN classification algorithm using index-based filtering in cloud computing
Yao et al. Verifiable social data outsourcing
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
CN112115516B (en) Data query method and device for protecting privacy
CN110990829B (en) Method, device and equipment for training GBDT model in trusted execution environment
CN114528370A (en) Dynamic multi-keyword fuzzy ordering searching method and system
Hu et al. Secure and Efficient Ranked Keyword Search over Outsourced Cloud Data by Chaos Based Arithmetic Coding and Confusion.
Glaser et al. How to enumerate LWE keys as narrow as in Kyber/Dilithium