JP6305946B2 - Secret pattern matching apparatus, method and program - Google Patents
Secret pattern matching apparatus, method and program Download PDFInfo
- Publication number
- JP6305946B2 JP6305946B2 JP2015024218A JP2015024218A JP6305946B2 JP 6305946 B2 JP6305946 B2 JP 6305946B2 JP 2015024218 A JP2015024218 A JP 2015024218A JP 2015024218 A JP2015024218 A JP 2015024218A JP 6305946 B2 JP6305946 B2 JP 6305946B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- pattern
- concealment
- character
- determination result
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
本発明は、暗号応用技術に関し、特に入力データを明かすことなくデータ処理を行う秘密計算技術に関する。 The present invention relates to a cryptographic application technique, and more particularly to a secret calculation technique for processing data without revealing input data.
秘匿された文字列に対するパターンマッチング技術として非特許文献1に記載された手法がある。この手法では、パターンマッチングの対象文字列とパターンの両方を秘匿した状態でパターンマッチングを行い、秘匿化されたパターンマッチングの結果を得る。この手法では任意の文字に対応したワイルドカードを使うこともできる。
There is a technique described in
しかしながら、従来手法は表記の種別の区別の有無を指定可能なパターンマッチングに適応していない。
本発明の課題は、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で行うことである。
However, the conventional method is not adapted to pattern matching that can specify whether or not to distinguish between types of notation.
An object of the present invention is to perform pattern matching that can specify whether or not to distinguish between types of notation by secret calculation.
対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報とパターン文字の表記が特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、対象文字の内容を表す対象符号とパターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく判定結果、および、対象符号とパターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得る。判定条件が表記の種別を区別することを表す場合に第1判定結果に基づき、判定条件が表記の種別を区別しないことを表す場合に第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得る。 The target character type information indicating whether the notation of the target character corresponds to a specific type and the pattern character type information indicating whether the notation of the pattern character corresponds to a specific type, and the target character The determination result based on the first information indicating whether or not the condition that the target code representing the content of the pattern and the pattern code representing the content of the pattern character match, and the condition that the target code and the pattern code match A concealment determination result obtained by concealing the second determination result based on the second information indicating whether or not the condition is satisfied is obtained. Concealment according to the third determination result based on the first determination result when the determination condition indicates that the type of notation is distinguished, and based on the second determination result when the determination condition indicates that the type of the notation is not distinguished Get information.
これにより、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で実現できる。 Thereby, the pattern matching which can designate the presence or absence of distinction of the description classification is realizable by secret calculation.
以下、図面を参照して本発明の実施形態を説明する。
[用語]
各実施形態で使用する用語を定義する。
「文字」とは、可視的表現を持ち、符号化表現が可能な記号を意味する。「文字」は、言語を伝達し記録するために線や点を使って形作られた記号(非図形文字)であってもよいし、それに準ずる記号(図形文字)であってもよい。「文字」の例は、文字コード規格で定められた符号化文字である。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[the term]
Terms used in each embodiment are defined.
“Character” means a symbol having a visual expression and capable of an encoded expression. The “character” may be a symbol (non-graphic character) formed using a line or a point for transmitting and recording a language, or may be a symbol (graphic character) according to the symbol. An example of “character” is an encoded character defined by the character code standard.
「パターンマッチング」とは、「対象文字列(対象情報)」が「パターン文字列(パターン情報)」の条件を満たすかを判定する演算を意味する。「対象文字列」および「パターン文字列」は、ともに1個または2個以上の文字を含む。「対象文字列」に含まれる各文字を「対象文字」と呼び、「パターン文字列」に含まれる各文字を「パターン文字」と呼ぶ。「対象文字列」や「パターン文字列」の例は、テキストデータ(文書データ、数値データなど)に含まれた文字列や検索キーワードなどである。例えば、「対象文字列」がテキストデータに含まれた文字列であって「パターン文字列」が検索キーワードであってもよいし、「対象文字列」および「パターン文字列」が互いに同一または異なるテキストデータに含まれた文字列であってもよい。 “Pattern matching” means an operation for determining whether “target character string (target information)” satisfies the condition of “pattern character string (pattern information)”. Both “target character string” and “pattern character string” include one or more characters. Each character included in the “target character string” is referred to as a “target character”, and each character included in the “pattern character string” is referred to as a “pattern character”. Examples of “target character string” and “pattern character string” are a character string and a search keyword included in text data (document data, numerical data, etc.). For example, “target character string” may be a character string included in text data, and “pattern character string” may be a search keyword, and “target character string” and “pattern character string” are the same or different from each other. It may be a character string included in the text data.
「種別(クラス)」とは、文字の表記の種別を意味する。例えば、「種別」の例は大文字、小文字、半角、全角、特定のフォントなどである。「文字種別情報」とは、文字の表記が特定の種別に該当するか否かを表す情報(フラグ)を意味する。文字の表記が特定の種別に該当する場合、その「文字種別情報」の値は真(T)(有効)であり、文字の表記が特定の種別に該当しない場合、その「文字種別情報」の値は偽(F)(無効)である。例えば、文字「A」の場合、「大文字」という文字種別情報は真(T)(有効)であり、「小文字」という文字種別情報は偽(F)(無効)である。「対象文字」の「文字種別情報」を「対象文字種別情報」と呼び、「パターン文字」の「文字種別情報」を「パターン文字種別情報」と呼ぶ。 “Type (class)” means a type of character notation. For example, examples of “type” are uppercase letters, lowercase letters, half-width characters, full-width characters, specific fonts, and the like. “Character type information” means information (flag) indicating whether or not a character notation corresponds to a specific type. When the character notation corresponds to a specific type, the value of “character type information” is true (T) (valid), and when the character notation does not correspond to a specific type, the “character type information” The value is false (F) (invalid). For example, in the case of the character “A”, the character type information “uppercase” is true (T) (valid), and the character type information “lowercase” is false (F) (invalid). “Character type information” of “target character” is called “target character type information”, and “character type information” of “pattern character” is called “pattern character type information”.
「文字の内容」とは「文字」が表す概念を意味する。例えば、大文字の「A」と小文字の「a」とは同じ概念(アルファベットの最初の文字)を表し、「A」の内容と「a」の内容とは同一である。「対象符号」とは「対象文字」の内容を表す符号であり、「パターン符号」とは「パターン文字」の内容を表す符号である。「対象文字」と「パターン文字」とが同じ内容を表すとき、それらの「対象符号」と「パターン符号」とは互いに同一である。例えば、「A」に対応する「対象符号」と「a」に対応する「パターン符号」とは同一である。一方、たとえ「種別」が同一であっても、「対象文字」と「パターン文字」とが異なる内容を表すとき、それらの「対象符号」と「パターン符号」とは異なる。例えば、「A」に対応する「対象符号」と「B」に対応する「パターン符号」とは異なる。 “Character content” means the concept represented by “character”. For example, uppercase “A” and lowercase “a” represent the same concept (the first letter of the alphabet), and the content of “A” is the same as the content of “a”. The “target code” is a code representing the content of the “target character”, and the “pattern code” is a code representing the content of the “pattern character”. When the “target character” and the “pattern character” represent the same content, the “target code” and the “pattern code” are the same. For example, the “target code” corresponding to “A” and the “pattern code” corresponding to “a” are the same. On the other hand, even if the “type” is the same, when the “target character” and the “pattern character” represent different contents, the “target code” and the “pattern code” are different. For example, a “target code” corresponding to “A” is different from a “pattern code” corresponding to “B”.
[第1実施形態]
以下、第1実施形態を説明する。
<構造>
図1に例示するように、本形態の秘匿パターンマッチングシステム1は、端末装置12、秘匿パターンマッチング装置111−11N、およびデータベース装置131−13Nを有する。ただし、Nは1以上の整数である。例えば、本システムで秘密分散方式や秘匿回路方式に基づく秘密計算を行う場合にはN≧2であり、準同型性暗号方式に基づく秘密計算を行う場合にはN=1である。
[First Embodiment]
Hereinafter, the first embodiment will be described.
<Structure>
As illustrated in FIG. 1, the secret
図2に例示するように、本形態の秘匿パターンマッチング装置11n(ただし、n∈{1,・・・,N})は、入力部111n、秘匿一致判定部112n−k(ただし、k∈{1,・・・,K}、Kは1以上の整数(奇数または偶数))、秘匿一致判定部113n、秘匿論理積演算部114n,115n,116n、秘匿論理演算部117n、出力部118n、および制御部119nを有する。ここで、秘匿一致判定部112n−k、秘匿一致判定部113n、および秘匿論理積演算部114n,115n,116nは第1演算部の例であり、秘匿論理演算部117nは第2演算部の例である。説明の便宜上、各部を独立な部位として記述しているが、それらが独立の部位である必要はない。例えば、秘匿一致判定部112n−kや秘匿一致判定部113nが同一の部位であってもよいし、秘匿論理積演算部114n,115n,116nが同一の部位であってもよい。
As illustrated in FIG. 2, the secret pattern matching device 11 n (where n∈ {1,..., N}) of the present embodiment includes an
図3Aに例示するように、本形態の端末装置12は、入力部121,126、文字種別情報取得部122、符号点変換部123、秘匿化部124、出力部125、復元部127、および制御部128を有する。図3Bに例示するように、本形態のデータベース装置13n(ただし、n∈{1,・・・,N})は、記憶部131n、抽出部132n、出力部133n、入力部134n、復元部135n、および制御部136nを有する。
As illustrated in FIG. 3A, the
各装置は、例えば、通信器やCPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。また、各装置はそれぞれの制御部119n,128,136nの制御に基づいて各処理を行う。
Each device includes, for example, a general-purpose or dedicated memory including a communication device, a processor (hardware processor) such as a CPU (central processing unit), a RAM (random-access memory), a ROM (read-only memory), etc. The computer is configured by executing a predetermined program. The computer may include a single processor and memory, or may include a plurality of processors and memory. This program may be installed in a computer, or may be recorded in a ROM or the like in advance. In addition, some or all of the processing units are configured using an electronic circuit that realizes a processing function without using a program, instead of an electronic circuit (circuitry) that realizes a functional configuration by reading a program like a CPU. May be. An electronic circuit constituting one device may include a plurality of CPUs. Each device performs each process based on the control of the
<事前処理>
事前処理では、テキストデータの暗号文Cのデータベースと、これらの各テキストデータに含まれた「対象文字列」に対応する「秘匿化データベース」がデータベース装置13n(図3B)の記憶部131nに格納される。「秘匿化データベース」は、単数または複数の秘匿化レコード[d]nを含む。秘匿化レコード[d]nは、対象文字列(対象情報)d=(d1,・・・,dM)(ただし、Mは正の整数)に含まれた各対象文字dm(ただし、m∈{1,・・・,M})と、当該対象文字dmの表記が特定の種別に該当するか否かを表す対象文字種別情報(フラグ)dfm,k∈{T,F}(ただし、k∈{1,・・・,K})と、当該対象文字dmの内容を表す対象符号dcmとが対応付けられたデータ構造の秘匿化情報である。対象符号dcmの構成に限定はない。例えば、対象文字dmが小文字である場合、その元の符号点(ユニコード等)をその大文字の符号点(変換後符号点)に変換し、その「変換後符号点」を対象符号dcmにする。また例えば、対象文字dmが大文字である場合、その元の符号点をそのまま「変換後符号点」として対象符号dcmにする。例えば、「A」の元の符号点「U+0041」を「A」および「a」の対象符号dcmとし、「B」の元の符号点「U+0042」を「B」および「b」の対象符号dcmとする(図5A)。対象文字種別情報dfm,kの構成にも限定はないが、例えばK=2とし、対象文字dmが大文字であるか否かを表す対象文字種別情報を大文字フラグdfm,1∈{T,F}とし、小文字であるか否かを表す対象文字種別情報を小文字フラグdfm,2∈{T,F}とする。例えば、「A」の大文字フラグdfm,1は「T」、小文字フラグdfm,2は「F」であり、「a」の大文字フラグdfm,1は「F」、小文字フラグdfm,2は「T」であり、「B」の大文字フラグdfm,1は「T」、小文字フラグdfm,2を「F」であり、「b」の大文字フラグdfm,1は「F」、小文字フラグdfm,2は「T」である(図5B)。また、各対象文字種別情報dfm,k,対象符号dcmについて秘密計算が可能なのであれば、対象文字種別情報dfm,k,対象符号dcmが個々に独立して秘匿化されてもよいし、対象文字種別情報dfm,1,・・・,dfm,Kおよび対象符号dcmがまとめて秘匿化されていてもよいし、その他の単位でまとめて秘匿化されてもよい。秘匿化方式にも限定はなく、秘密計算による一致判定(等号判定)および論理演算(論理和、論理積、論理否定)が可能であれば、秘密分散方式(Shamir秘密分散方式等)、秘匿回路方式、準同型性暗号方式など、どのような方式が用いられてもよい。例えば、非特許文献1や参考文献1(Damgard, I., Fitzi, M., Kiltz, E., Nielsen, J. B., & Toft, T. (2006), “Unconditionally secure constant-rounds multi-party computation for equality, comparison, bits and exponentiation,” In Theory of Cryptography (pp. 285-304). Springer Berlin Heidelberg.)などに記載された方式を用いてもよい。
<Pre-processing>
In the pre-processing, the database of the ciphertext C of the text data and the “confidential database” corresponding to the “target character string” included in each of the text data are stored in the
<パターンマッチング処理>
図4Aに例示するように、端末装置12(図3A)の入力部121に、表記の種別を区別するか否かを表す判定条件a∈{T,F}、およびパターン文字列(パターン情報)p=(p1,・・・,pM)が入力される。判定条件aは「表記の種別を区別する」ことを表す「真(T)」であるか、「表記の種別を区別しない」ことを表す「偽(F)」である。パターン文字列pはM個のパターン文字p1,・・・,pMを含む。判定条件aは、秘匿化部124に送られ、パターン文字列pは、文字種別情報取得部122および符号点変換部123に送られる(ステップS121)。
<Pattern matching process>
As illustrated in FIG. 4A, the
文字種別情報取得部122は、パターン文字列pが含む各パターン文字pm(ただし、m∈{1,・・・,M})の表記が特定の種別に該当するか否かを表すパターン文字種別情報(フラグ)pfm,k∈{T,F}(ただし、k∈{1,・・・,K})を得て出力する。パターン文字種別情報pfm,kは対象文字種別情報dfm,kと同じ基準(例えば、図5B)に従って生成される。例えばK=2とし、パターン文字pmが大文字であるか否かを表すパターン文字種別情報を大文字フラグpfm,1∈{T,F}とし、小文字であるか否かを表すパターン文字種別情報を小文字フラグpfm,2∈{T,F}とする(ステップS122)。符号点変換部123は、パターン文字列pが含む各パターン文字pm(ただし、m∈{1,・・・,M})の内容を表すパターン符号pcmを得て出力する。パターン符号pcmも対象符号dcmと同じ基準(例えば、図5A)に従って生成される(ステップS123)。
The character type
秘匿化部124は、前述の「秘匿化データベース」と同じ秘匿化方法を用い、判定条件aに対応する秘匿化情報(判定条件aが秘匿化された秘匿化判定条件)[a]n、ならびに各パターン文字pm(ただし、m∈{1,・・・,M})のパターン文字種別情報pfm,1,・・・,pfm,Kおよびパターン符号pcmに対応する秘匿化情報[p]nを含む、秘匿化クエリ[a]n,[p]nを得て出力する。各パターン文字種別情報pfm,k,パターン符号pcmについて秘密計算が可能なのであれば、パターン文字種別情報pfm,k,パターン符号pcmが個々に独立して秘匿化されてもよいし、パターン文字種別情pfm,1,・・・,pfm,Kおよびパターン符号pcmがまとめて秘匿化されていてもよいし、その他の単位でまとめて秘匿化されてもよい(ステップS124)。
The
秘匿化クエリ[a]n,[p]nは出力部125に送られ、出力部125は秘匿化クエリ[a]n,[p]nを、秘匿パターンマッチング装置11n(ただし、n∈{1,・・・,N})に送信する(ステップS125)。
The concealment query [a] n , [p] n is sent to the
図4Bに例示するように、秘匿化クエリ[a]n,[p]nは、秘匿パターンマッチング装置11n(図2)の入力部111nに入力される(ステップS110n)。制御部119nは、秘匿化レコードの送信要求を生成して出力部118nから送信する。送信要求はデータベース装置13n(図3B)の入力部134nに入力され、抽出部132nに送られる。抽出部132nは、記憶部131nから秘匿化データベースの何れかの秘匿化レコード[d]nを抽出し、出力部133nから送信する。秘匿化レコード[d]nは、秘匿パターンマッチング装置11n(図2)の入力部111nに入力される(ステップS111n)。
As illustrated in FIG. 4B, the concealment queries [a] n and [p] n are input to the
秘匿パターンマッチング装置11n(図2)の秘匿一致判定部112n−k(ただし、k∈{1,・・・,K})および秘匿一致判定部113nは、[d]nおよび[p]nを入力とし、m∈{1,・・・,M}について、以下のステップS112nおよびS113nの処理を実行する。これらの処理は各mについて順番に実行されてもよいし、複数のmについて同時に実行されてもよい。
The secret
《ステップS112n》
秘匿一致判定部112n−k(ただし、k∈{1,・・・,K})は、秘密計算による一致判定(等号判定)により、dfm,kとpfm,kとが一致する場合(dfm,k=pfm,k)に真(T)となり、一致しない場合(dfm,k≠pfm,k)に偽(F)となる一致判定結果rfm,k∈{T,F}の秘匿化情報[rfm,k]nを得て出力する。図6Aの例では、対象文字dm=「A」について、大文字フラグdfm,1=T、小文字フラグdfm,2=Fであり、パターン文字pm=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=F、rfm,2=Fとなる。図6Bの例では、対象文字dm=「a」について、大文字フラグdfm,1=F、小文字フラグdfm,2=Tであり、パターン文字pm=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=T、rfm,2=Tとなる。図7Aの例では、対象文字dm=「B」について、大文字フラグdfm,1=T、小文字フラグdfm,2=Fであり、pm=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=F、rfm,2=Fとなる(結果I)。図7Bの例では、dm=「b」について、大文字フラグdfm,1=F、小文字フラグdfm,2=Tであり、パターン文字pm=「a」について、大文字フラグpfm,1=F、小文字フラグpfm,2=Tであるため、rfm,1=T、rfm,2=Tとなる(結果I)。なお、例えば「T」を1とし、「F」を0とすると、dfm,kとpfm,kとの一致判定は、dfm,kとpfm,kとの排他的論理和の否定となる。このような秘密計算による一致判定は、例えば、参考文献1等に記載された方法によって実現できる(以下、同様)。
"Step S112 n"
The secret
秘匿一致判定部113nは、秘密計算による一致判定(等号判定)により、対象符号dcmとパターン符号pcmとが一致する場合(dcm=pcm)に真(T)となり、一致しない場合(dcm≠pcm)に偽(F)となる一致判定結果rcm∈{T,F}の秘匿化情報[rcm]nを得て出力する。図6A−図6Dの例では、dcm=pcm=「U+0041」となるため、rcm=Tとなる(結果I)。図7A−図7Dの例では、dcm=「U+0042」であり、pcm=「U+0041」となるため、rcm=Fとなる(結果Iおよび結果III)。なお、一致判定結果rcmは、「対象符号dcmとパターン符号pcmとが一致するという条件を満たすか否かを表す第2情報」の例である。一致判定結果rcmは、対象符号dcmとパターン符号pcmとが一致する場合に真(T)となり、対象符号dcmとパターン符号pcmとが異なる場合に偽(F)となる。
The secret
《ステップS113n》
秘匿論理積演算部114nは、[rfm,k]n(ただし、k∈{1,・・・,K})および[rcm]nを入力とし、秘密計算による論理積により、(rfm,1=T)AND(rfm,2=T)AND・・・AND(rfm,K=T)AND(rcm=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積CONm∈{T,F}の秘匿化情報[CONm]n(ただし、m∈{1,・・・,M})を得て出力する。「AND」は論理積を表す。図6Aの例ではCONm=Fとなり、図6Bの例ではCONm=Tとなり、図7Aの例ではCONm=Fとなり、図7Bの例ではCONm=Fとなる(結果II)。例えば「T」を1とし、「F」を0とすると、CONm=(rfm,1)AND(rfm,2)AND・・・AND(rfm,K)AND(rcm)となる。このような秘密計算による論理積は、例えば、非特許文献1等に記載された方法によって実現できる(以下、同様)。また、論理積CONmは、「対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが一致し、かつ、対象符号dcmとパターン符号pcmとが一致する、という条件を満たすか否かを表す第1情報」の例である。論理積CONmは、対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが一致し、かつ、対象符号dcmとパターン符号pcmとが一致する場合に真(T)となり、対象文字種別情報dfm,kとパターン文字種別情報pfm,kとが異なるか、または、対象符号dcmとパターン符号pcmとが異なる場合に偽(T)となる(ステップS112nおよびS113nの処理の説明終わり)。
"Step S113 n"
The concealment AND
秘匿論理積演算部115nは、[CONm]n(ただし、m∈{1,・・・,M})を入力とし、秘密計算による論理積により、(CON1=T)AND(CON2=T)AND・・・AND(CONM=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積であるパターンマッチング結果xの秘匿化情報[x]nを得て出力する。例えば「T」を1とし、「F」を0とすると、x=(CON1)AND(CON2)AND・・・AND(CONM)となる。図8Aの例では、M=3,CON1=F,CON2=F,CON3=Tであり、x=Fとなる。図8Bの例では、M=3,CON1=T,CON2=T,CON3=Tであり、x=Tとなる。M=1の場合にはx=CON1である。なお、パターンマッチング結果xは「第1情報に基づく第1判定結果」の例である。パターンマッチング結果xは、パターン文字列p(および対象文字列d)に対応するすべての論理積CON1,・・・,CONMが真(T)である場合に真(T)となり、対象文字列dに対応する何れかのCONmが偽(F)である場合に偽(F)となる。[x]nは「第1判定結果が秘匿化された秘匿化判定結果」の例である(ステップS114n)。
The concealment AND
秘匿論理積演算部116nは、[rcm]n(ただし、m∈{1,・・・,M})を入力とし、秘密計算による論理積により、(rc1=T)AND(rc2=T)AND・・・AND(rcM=T)のときに真(T)となり、そうでない場合に偽(F)となる論理積であるパターンマッチング結果yの秘匿化情報[y]nを得て出力する。例えば「T」を1とし、「F」を0とすると、rcm=(rc1)AND(rc2)AND・・・AND(rcM)である。図9Aの例では、M=3,rc1=T,rc2=T,rc3=Tであり、y=Tとなる。図9Bの例では、M=3,rc1=F,rc2=T,rc3=Tであり、y=Fとなる。M=1の場合にはy=rc1である。なお、パターンマッチング結果yは「第2情報に基づく第2判定結果」の例である。パターンマッチング結果yは、パターン文字列p(および対象文字列d)に対応するすべてのrcmが真(T)である場合に真(T)となり、パターン情報pに対応する何れかのrcmが偽(F)である場合に偽(F)となる。[y]nは「第2判定結果が秘匿化された秘匿化判定結果」の例である(ステップS115n)。
The concealment AND
秘匿論理演算部117nは、[a]n,[x]n,[y]nを入力とし、秘密計算による論理演算により、判定条件a=Tの場合(表記の種別を区別することを表す場合)にパターンマッチング結果x(第1判定結果)に基づき、判定条件a=Fの場合(表記の種別を区別しないことを表す場合)にパターンマッチング結果y(第2判定結果)に基づく結果r(第3判定結果)に応じた秘匿化情報[r]nを得て出力する。本形態では、判定条件a=Tの場合にr=xとなり、判定条件a=Fの場合にr=yとなる結果rが秘匿化された秘匿化情報[r]nを得て出力する。例えば、秘匿論理演算部117nは、{(x=T)AND(a=T)}OR{(y=T)AND(a=F)}のときに真(T)となり、そうでない場合に偽(F)となる論理演算値r∈{T,F}が秘匿化された秘匿化情報[r]nを得て出力する。「OR」は論理和を表す。すなわち、論理演算値rは、(1)パターンマッチング結果xが真であり、かつ、判定条件aが真であるか、または、(2)パターンマッチング結果yが真であり、かつ、判定条件aが偽である場合に真となり、それ以外の場合に偽となる。例えば「T」を1とし、「F」を0とすると、r=(x AND a)OR(y AND (1−a))となり、[r]n=[(x AND a) OR (y AND (1−a))]nとなる。このような秘密計算による論理演算は、例えば、非特許文献1等に記載された方法によって実現できる(ステップS116n)。[r]nは出力部118nから送信される(ステップS117n)。
The concealment
[r]nは何れかのデータベース装置13nに送信され、データベース装置13n(図3B)の入力部134nに入力される。[r]nは復元部135nに送られて復元値rが得られる。ここで、a=Tであった場合にはr=x∈{T,F}となっており、a=Fであった場合にはr=y∈{T,F}となっている。復元値rは抽出部132nに送られる。r=Tであった場合、復元値rはステップS111nで抽出された秘匿化レコード[d]nに対応するテキストデータの暗号文Cを記憶部131nから抽出し、出力部133nから送信する。暗号文Cは、端末装置12の入力部126に入力され、復元部127でテキストデータmに復元されて出力される。一方、r=Fであった場合、復元値rは記憶部131nから新たな秘匿化レコード[d]nを抽出し、前述のステップS111n以降の処理が繰り返される。記憶部131nに新たな秘匿化レコード[d]nが存在しない場合にはエラーメッセージを返してもよい。
[R] n is transmitted to one of the
以上のように、本形態では判定条件aによって表記の種別の区別の有無を指定可能であり、また各処理は秘密計算による一致判定や論理演算によって実現できる。これにより、表記の種別の区別の有無を指定可能なパターンマッチングを秘密計算で実現できる。 As described above, in this embodiment, it is possible to specify whether or not to distinguish between the types of notation according to the determination condition a, and each process can be realized by a coincidence determination by a secret calculation or a logical operation. Thereby, the pattern matching which can designate the presence or absence of distinction of the description classification is realizable by secret calculation.
[変形例等]
本発明は上述の実施形態に限定されるものではない。例えば、上述の実施形態では、判定条件aに応じ、秘密計算によって、テキストデータに含まれた対象文字列d=(d1,・・・,dM)とパターン文字列p=(p1,・・・,pM)とのパターンマッチングを行った。すなわち、テキストデータの全部または部分である対象文字列dとパターン文字列pとのパターンマッチングを行った。この変形例として、テキストデータの全部または部分である文字列と、パターン文字および特殊記号を含むパターンと、のパターンマッチングを行ってもよい。特殊記号とは、どのような対象文字もマッチすることにするものである。特殊記号の例は、1個の任意の対象文字にマッチすることにする「ワイルドカード」や、0個以上の任意の対象文字にマッチすることにする「無限長ギャップ」などである。このようなパターンマッチングは、特殊記号を含むパターンでパターンマッチングを行う公知手法(例えば、非特許文献1等)でのパターン文字との一致判定を、文字ごと(M=1)のステップS112n−S117nの処理に置換することで実現できる。
[Modifications, etc.]
The present invention is not limited to the above-described embodiment. For example, in the above-described embodiment, the target character string d = (d 1 ,..., D M ) included in the text data and the pattern character string p = (p 1 , ... was subjected to pattern matching with the p M). That is, pattern matching between the target character string d and the pattern character string p, which is all or part of the text data, is performed. As a modification, pattern matching may be performed between a character string that is all or part of text data and a pattern that includes pattern characters and special symbols. Special symbols are those that match any target character. Examples of special symbols include “wild cards” that match one arbitrary target character, “infinite length gaps” that match zero or more arbitrary target characters, and the like. For such pattern matching, matching with a pattern character by a known method (for example, Non-Patent Document 1) that performs pattern matching using a pattern including a special symbol is performed for each character (M = 1) in step S112 n −. S117 can be realized by replacing the n processing.
M=1の場合、秘匿論理積演算部115n,116nを省略し、秘匿論理積演算部114nで得られた[CONm]nをそのまま[x]nとし、秘匿一致判定部113nで得られた[rcm]nをそのまま[y]nとしてもよい。
For M = 1, concealment AND operation section is omitted 115 n, 116 n, concealed logical product obtained by the
上述の実施形態では、判定条件a=Tの場合にr=xとなり、判定条件a=Fの場合にr=yとなった。しかしながら、判定条件a=Tの場合にxとその他の情報とに応じた値がrとなり、判定条件a=Fの場合にyとその他の情報とに応じた値がrとなってもよい。 In the above-described embodiment, r = x when the determination condition a = T, and r = y when the determination condition a = F. However, when the determination condition a = T, the value according to x and other information may be r, and when the determination condition a = F, the value according to y and other information may be r.
判定条件a、パターン文字列p=(p1,・・・,pM)、および対象文字列d=(d1,・・・,dM)の組が複数組存在し、それぞれの組についてステップS112n−S117nの処理が実行されてもよい。または、それぞれの組についての結果rの論理演算結果(論理積など)が秘匿化された秘匿化情報が出力されてもよい。各組の判定条件aやMは同一であってもよいし、異なっていてもよい。このような論理演算結果の秘匿化情報も、「判定条件が表記の種別を区別することを表す場合に第1判定結果に基づき、判定条件が表記の種別を区別しないことを表す場合に第2判定結果に基づく、第3判定結果に応じた秘匿化情報」に相当する。 There are a plurality of sets of determination condition a, pattern character string p = (p 1 ,..., P M ), and target character string d = (d 1 ,..., D M ). step S112 processes the n -S117 n may be performed. Alternatively, concealment information in which a logical operation result (logical product or the like) of the result r for each pair is concealed may be output. The determination conditions a and M of each set may be the same or different. Such concealment information of the logical operation result is also “second when the determination condition indicates that the notation type is not distinguished based on the first determination result when the determination condition indicates that the notation type is distinguished. This corresponds to “confidential information according to the third determination result” based on the determination result.
パターン文字列pおよび対象文字列dの両方が互いに同一または異なるテキストデータに含まれたものであってもよい。パターン文字列pおよび対象文字列dの両方が入力テキストであってもよい。上述のようなテキストを抽出するためではなく、テキストからパターン文字列pにマッチングする対象文字列dを抽出するために本方式が用いられてもよい。また、秘密計算が可能なのであれば、パターンマッチング結果xおよびパターンマッチング結果yが個々に秘匿化されていてもよいし、これらがまとめて秘匿化されていてもよい。 Both the pattern character string p and the target character string d may be included in the same or different text data. Both the pattern character string p and the target character string d may be input text. This method may be used not to extract the text as described above but to extract the target character string d that matches the pattern character string p from the text. Further, if secret calculation is possible, the pattern matching result x and the pattern matching result y may be individually concealed, or may be concealed together.
上述の実施形態では、データベース装置13nが復元部135nを含み、入力された[r]nから復元値rを復元し、復元値rに応じ、新たな秘匿化レコード[d]nまたはテキストデータの暗号文Cを抽出した。しかしながら、データベース装置13nが復元部135nを持たず、記憶部131nが、テキストデータの暗号文Cに代え、秘密計算可能なテキストデータの秘匿化情報を保持していてもよい。この場合には抽出部132nが[r]nをそのまま用い、秘密計算によって新たな秘匿化レコード[d]nまたはテキストデータの秘匿化情報を抽出してもよい。
In the above-described embodiment, the
各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。例えば、端末装置とデータベース装置とが同一の装置であってもよいし、データベース装置と秘匿パターンマッチング装置とが同一の装置であってもよい。 Instead of each device exchanging information via a network, at least some of the devices may exchange information via a portable recording medium. Alternatively, at least some of the devices may exchange information via a non-portable recording medium. That is, the combination which consists of a part of these apparatuses may be the same apparatus. For example, the terminal device and the database device may be the same device, and the database device and the secret pattern matching device may be the same device.
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。 The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。 When the above configuration is realized by a computer, the processing contents of the functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 This program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, this computer reads a program stored in its own recording device and executes a process according to the read program. As another execution form of the program, the computer may read the program directly from the portable recording medium and execute processing according to the program, and each time the program is transferred from the server computer to the computer. The processing according to the received program may be executed sequentially. The above-described processing may be executed by a so-called ASP (Application Service Provider) type service that realizes a processing function only by an execution instruction and result acquisition without transferring a program from the server computer to the computer. Good.
対象文字の表記が特定の種別に該当するか否かを表す対象文字種別情報と前記対象文字の内容を表す対象符号とが対応付けられた情報の秘匿化情報を含むデータ構造を流通させてもよい。この流通は可搬型記録媒体を販売、譲渡、貸与等したり、ネットワークを介して転送したりすることによって行う。このようなデータ構造は、第1演算部が、前記対象文字種別情報とパターン文字の表記が前記特定の種別に該当するか否かを表すパターン文字種別情報とが一致し、かつ、前記対象符号と前記パターン文字の内容を表すパターン符号とが一致する、という条件を満たすか否かを表す第1情報に基づく第1判定結果、および、前記対象符号と前記パターン符号とが一致するという条件を満たすか否かを表す第2情報に基づく第2判定結果、が秘匿化された秘匿化判定結果を得、第2演算部が、判定条件が表記の種別を区別することを表す場合に前記第1判定結果に基づき、前記判定条件が表記の種別を区別しないことを表す場合に前記第2判定結果に基づく、第3判定結果に応じた秘匿化情報を得るために用いられる。 Even if the data structure including the concealment information of the information in which the target character type information indicating whether the notation of the target character corresponds to a specific type and the target code indicating the content of the target character is associated is distributed Good. This distribution is performed by selling, transferring, or lending a portable recording medium or transferring the portable recording medium via a network. In such a data structure, the first arithmetic unit matches the target character type information and the pattern character type information indicating whether the notation of the pattern character corresponds to the specific type, and the target code And the first determination result based on the first information indicating whether or not the condition that the pattern code representing the content of the pattern character matches is satisfied, and the condition that the target code and the pattern code match When the second determination result based on the second information indicating whether or not the information is concealed is obtained and the second calculation unit indicates that the determination condition indicates the type of the notation, the second determination result Based on one determination result, it is used to obtain concealment information corresponding to a third determination result based on the second determination result when the determination condition indicates that the type of notation is not distinguished.
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。 In the above embodiment, the processing functions of the apparatus are realized by executing a predetermined program on a computer. However, at least a part of these processing functions may be realized by hardware.
上述した技術は、例えば、クラウド上での秘密計算によるデータベース検索などに利用できる。 The above-described technique can be used for, for example, database search by secret calculation on the cloud.
1 秘匿パターンマッチングシステム
11n 秘匿パターンマッチング装置
12 端末装置
13n データベース装置
DESCRIPTION OF
Claims (5)
判定条件a∈{1,0}が表記の種別を区別することを表す場合に前記第1判定結果xに基づき、前記判定条件aが表記の種別を区別しないことを表す場合に前記第2判定結果yに基づく、第3判定結果r∈{1,0}が秘匿化された秘匿化情報[r] n を得る第2演算部と、
を有し、
Mが1以上の整数、Kが正の整数、m∈{1,・・・,M}、k∈{1,・・・,K}であり、
前記第1判定結果xが(CON 1 )AND(CON 2 )AND・・・AND(CON M )であり、
前記第2判定結果yが(rc 1 )AND(rc 2 )AND・・・AND(rc M )であり、
a=1は前記表記の種別を区別することを表し、a=0は前記表記の種別を区別しないことを表し、
前記第1演算部は、前記対象文字種別情報df m,k および前記対象符号dc m が秘匿化された秘匿化レコード[d] n 、および、前記パターン文字種別情報pf m,k および前記パターン符号pc m が秘匿化された秘匿化情報[p] n を入力とし、秘密計算によって、前記秘匿化判定結果[x] n および[y] n を得、
前記第2演算部は、前記秘匿化判定結果[x] n および[y] n ならびに前記判定条件aが秘匿化された秘匿化情報[a] n を入力とし、秘密計算によって、前記第3判定結果r=(x AND a)OR(y AND (1−a))が秘匿化された秘匿化情報[(x AND a)OR(y AND (1−a))] n を得る、秘匿パターンマッチング装置。 Target string d = (d 1, ..., d M) target character type information indicating whether notation to include the target character d m corresponds to a particular type df m, k ∈ {1,0} a pattern string p = (p 1, ···, p M) pattern character representation of the included pattern letters p m indicating whether corresponding to the specific type to the type information pf m, k ∈ { 1,0} and match and a target code dc m representing the content of the object character d m and the pattern character p pattern code pc m representing the contents of the m match, if the condition that 1 And the first determination result xε {1 , 0} based on the first information CON m ε {1, 0} that becomes 0 if not satisfied , and the target code dc m and the pattern code pc m match 1 next to the case conditions are satisfied that, and 0 if not satisfied Second judgment result y∈ {1,0}, is concealed by the concealment decision result [x] n and a first arithmetic unit for obtaining a [y] n based on the second information rc m ∈ {1,0} that When,
Based on the first determination result x when the determination condition a ∈ {1, 0} indicates that the notation type is distinguished, the second determination is performed when the determination condition a indicates that the notation type is not distinguished. A second computing unit that obtains concealment information [r] n based on the result y and concealing the third determination result rε {1, 0} ;
I have a,
M is an integer greater than or equal to 1, K is a positive integer, m∈ {1,..., M}, k∈ {1,.
The first determination result x is (CON 1 ) AND (CON 2 ) AND... AND (CON M ).
The second determination result y is (rc 1 ) AND (rc 2 ) AND... AND (rc M )
a = 1 indicates that the type of the notation is distinguished, a = 0 indicates that the type of the notation is not distinguished,
The first calculation unit includes a concealment record [d] n in which the target character type information df m, k and the target code dc m are concealed , and the pattern character type information pf m, k and the pattern code. The confidential information [p] n in which pc m is concealed is input, and the concealment determination results [x] n and [y] n are obtained by secret calculation ,
The second calculation unit receives the concealment determination results [x] n and [y] n and the concealment information [a] n in which the determination condition a is concealed, and performs the third determination by secret calculation. get result r = (x aND a) OR (y aND (1-a)) is concealed by the concealment information [(x aND a) OR ( y aND (1-a))] n, confidential pattern matching apparatus.
df m,k =1は前記対象文字d m の表記がkに対応する特定の種別に該当することを表し、df m,k =0は前記対象文字d m の表記がkに対応する特定の種別に該当しないことを表し、
pf m,k =1は前記パターン文字p m の表記がkに対応する特定の種別に該当することを表し、pf m,k =0は前記パターン文字p m の表記がkに対応する特定の種別に該当しないことを表し、
前記第1演算部は、
前記秘匿化レコード[d] n 、および、前記秘匿化情報[p] n を入力とし、秘密計算によって、前記対象文字種別情報df m,k と前記パターン文字種別情報pf m,k との排他的論理和の否定を表す一致判定結果rf m,k ∈{1,0}が秘匿化された秘匿化情報[rf m,k ] n を得、前記対象符号dc m と前記パターン符号pc m とが一致する場合にrc m =1となり、前記対象符号dc m と前記パターン符号pc m とが一致しない場合にrc m =0となる前記第2情報rc m が秘匿化された秘匿化情報[rc m ] n を得る秘匿一致判定部と、
前記秘匿化情報[rf m,k ] n および前記秘匿化情報[rc m ] n を入力とし、秘密計算によって、前記一致判定結果rf m,1 ,…,rf m,K および前記一致判定結果rc m の論理積である前記第1情報CON m が秘匿化された秘匿化情報[CON m ] n を得る第1秘匿論理積演算部と、
前記秘匿化情報[CON m ] n を入力とし、秘密計算によって、前記第1判定結果xが秘匿化された前記秘匿化判定結果[x] n を得る第2秘匿論理積演算部と、
前記秘匿化情報[rc m ] n を入力とし、秘密計算によって、前記第2判定結果yが秘匿化された前記秘匿化判定結果[y] n を得る第3秘匿論理積演算部と、を含む、秘匿パターンマッチング装置。 The secret pattern matching device according to claim 1,
df m, k = 1 represents that corresponding to the particular type of representation of the target character d m corresponding to k, df m, k = 0 is given to representation of the target character d m corresponding to the k Indicates that it does not fall under the category,
pf m, k = 1 represents that corresponding to the particular type of representation of the pattern character p m corresponds to k, pf m, k = 0 is given to representation of the pattern character p m corresponds to the k Indicates that it does not fall under the category,
The first calculation unit includes:
Using the concealment record [d] n and the concealment information [p] n as inputs , exclusive calculation of the target character type information df m, k and the pattern character type information pf m, k is performed by secret calculation. The concealment information [rf m, k ] n in which the coincidence determination result rf m, k ε {1, 0} representing negation of the logical sum is concealed is obtained, and the target code dc m and the pattern code pc m are obtained. rc m = 1 next to the case of matching, the target code dc m and the pattern codes pc m and a rc m = 0 when does not match the second information rc m is concealed been concealed information [rc m A concealment coincidence determining unit for obtaining n ;
The concealment information [rf m, k ] n and the concealment information [rc m ] n are input, and the coincidence determination result rf m, 1 ,..., Rf m, K and the coincidence determination result rc are obtained by secret calculation. a first conjunctive AND operation unit for obtaining concealment information [CON m ] n in which the first information CON m, which is a logical product of m, is concealed ;
A second conjunctive AND operation unit that receives the concealment information [CON m ] n and obtains the concealment determination result [x] n by concealment of the first determination result x ;
A third conjunctive AND operation unit which receives the concealment information [rc m ] n and obtains the concealment determination result [y] n by concealing the second determination result y by a secret calculation. Secret pattern matching device.
第2演算部が、判定条件a∈{1,0}が表記の種別を区別することを表す場合に前記第1判定結果xに基づき、前記判定条件aが表記の種別を区別しないことを表す場合に前記第2判定結果yに基づく、第3判定結果r∈{1,0}が秘匿化された秘匿化情報[r] n を得る第2演算ステップと、
を有し、
Mが1以上の整数、Kが正の整数、m∈{1,・・・,M}、k∈{1,・・・,K}であり、
前記第1判定結果xが(CON 1 )AND(CON 2 )AND・・・AND(CON M )であり、
前記第2判定結果yが(rc 1 )AND(rc 2 )AND・・・AND(rc M )であり、
a=1は前記表記の種別を区別することを表し、a=0は前記表記の種別を区別しないことを表し、
前記第1演算ステップは、前記対象文字種別情報df m,k および前記対象符号dc m が秘匿化された秘匿化レコード[d] n 、および、前記パターン文字種別情報pf m,k および前記パターン符号pc m が秘匿化された秘匿化情報[p] n を入力とし、秘密計算によって、前記秘匿化判定結果[x] n および[y] n を得、
前記第2演算ステップは、前記秘匿化判定結果[x] n および[y] n ならびに前記判定条件aが秘匿化された秘匿化情報[a] n を入力とし、秘密計算によって、前記第3判定結果r=(x AND a)OR(y AND (1−a))が秘匿化された秘匿化情報[(x AND a)OR(y AND (1−a))] n を得るステップを含む、秘匿パターンマッチング方法。 The first calculation unit, the target character string d = (d 1, ..., d M) target character type information indicating whether notation to include the target character d m corresponds to a particular type df m, k ∈ {1, 0} and pattern string p = (p 1, ···, p M) pattern character type information representation of the included pattern character p m indicating whether corresponding to the particular type pf m, k ∈ {1,0} and match and a pattern code pc m representing the content of the target code dc m representing the content of the object character d m the pattern character p m coincide, that The first determination result xε {1 , 0} based on the first information CON m ε {1, 0} that is 1 when the condition is satisfied and 0 when the condition is not satisfied , and the target code dc m and the pattern becomes 1 when the condition that the sign pc m coincide, met Second judgment result y∈ based 0. The second information rc m ∈ {1,0} When have {1,0}, the concealment of been concealed determination result [x] n and [y] n Obtaining a first computation step;
The second arithmetic unit represents that the determination condition a does not distinguish the notation type based on the first determination result x when the determination condition aε {1, 0} indicates that the notation type is distinguished. A second calculation step for obtaining concealment information [r] n in which the third determination result rε {1, 0} is concealed , based on the second determination result y ,
I have a,
M is an integer greater than or equal to 1, K is a positive integer, m∈ {1,..., M}, k∈ {1,.
The first determination result x is (CON 1 ) AND (CON 2 ) AND... AND (CON M ).
The second determination result y is (rc 1 ) AND (rc 2 ) AND... AND (rc M )
a = 1 indicates that the type of the notation is distinguished, a = 0 indicates that the type of the notation is not distinguished,
The first calculation step includes a concealment record [d] n in which the target character type information df m, k and the target code dc m are concealed , and the pattern character type information pf m, k and the pattern code The confidential information [p] n in which pc m is concealed is input, and the concealment determination results [x] n and [y] n are obtained by secret calculation ,
In the second calculation step, the concealment determination results [x] n and [y] n and the concealment information [a] n in which the determination condition a is concealed are input, and the third determination is performed by secret calculation. A result r = (x AND a) OR (y AND (1-a)) is concealed [(x AND a) OR (y AND (1-a))] n is obtained, Secret pattern matching method.
df df m,km, k =1は前記対象文字d= 1 is the target character d mm の表記がkに対応する特定の種別に該当することを表し、dfRepresents a specific type corresponding to k, and df m,km, k =0は前記対象文字d= 0 is the target character d mm の表記がkに対応する特定の種別に該当しないことを表し、The notation does not correspond to a specific type corresponding to k,
pf pf m,km, k =1は前記パターン文字p= 1 is the pattern character p mm の表記がkに対応する特定の種別に該当することを表し、pfPp represents a specific type corresponding to k, and pf m,km, k =0は前記パターン文字p= 0 is the pattern character p mm の表記がkに対応する特定の種別に該当しないことを表し、The notation does not correspond to a specific type corresponding to k,
前記第1演算ステップは、 The first calculation step includes:
秘匿一致判定部が、前記対象文字種別情報df The confidentiality match determination unit is configured to perform the target character type information df m,km, k および前記対象符号dcAnd the target code dc mm が秘匿化された秘匿化レコード[d]Concealment record [d] nn 、および、前記パターン文字種別情報pf, And the pattern character type information pf m,km, k および前記パターン符号pcAnd the pattern code pc mm が秘匿化された秘匿化情報[p]Information concealed [p] nn を入力とし、秘密計算によって、前記対象文字種別情報dfAnd the target character type information df by secret calculation m,km, k と前記パターン文字種別情報pfAnd the pattern character type information pf m,km, k との排他的論理和の否定を表す一致判定結果rfMatch determination result rf indicating negation of exclusive OR with m,km, k ∈{1,0}が秘匿化された秘匿化情報[rfConfidential information [rf in which ∈ {1, 0} is concealed m,km, k ]] nn を得、前記対象符号dcAnd the target code dc mm と前記パターン符号pcAnd the pattern code pc mm とが一致する場合にrcRc if and match mm =1となり、前記対象符号dc= 1 and the target code dc mm と前記パターン符号pcAnd the pattern code pc mm とが一致しない場合にrcRc if does not match mm =0となる前記第2情報rcThe second information rc that becomes = 0 mm が秘匿化された秘匿化情報[rcConcealment information [rc mm ]] nn を得る秘匿一致判定ステップと、Obtaining a concealment match determination step,
第1秘匿論理積演算部が、前記秘匿化情報[rf The first concealment AND operation unit performs the concealment information [rf m,km, k ]] nn および前記秘匿化情報[rcAnd the concealment information [rc mm ]] nn を入力とし、秘密計算によって、前記一致判定結果rfAnd the match determination result rf by secret calculation. m,1m, 1 ,…,rf, ..., rf m,Km, K および前記一致判定結果rcAnd the coincidence determination result rc mm の論理積である前記第1情報CONThe first information CON which is the logical product of mm が秘匿化された秘匿化情報[CONIs concealed [CON mm ]] nn を得る第1秘匿論理積演算ステップと、A first conjunctive AND operation step to obtain
第2秘匿論理積演算部が、前記秘匿化情報[CON The second conjunctive AND operation unit performs the concealment information [CON mm ]] nn を入力とし、秘密計算によって、前記第1判定結果xが秘匿化された前記秘匿化判定結果[x]And the concealment determination result [x] in which the first determination result x is concealed by secret calculation. nn を得る第2秘匿論理積演算ステップと、A second conjunctive AND operation step to obtain
第3秘匿論理積演算部が、前記秘匿化情報[rc The third cipher AND operation unit performs the ciphering information [rc mm ]] nn を入力とし、秘密計算によって、前記第2判定結果yが秘匿化された前記秘匿化判定結果[y]And the second determination result y is concealed by a secret calculation, the concealment determination result [y] nn を得る第3秘匿論理積演算ステップと、を含む、秘匿パターンマッチング方法。A secret pattern matching method comprising: a third secret AND operation step for obtaining
Program for causing a computer to function as the concealed pattern matching equipment of claim 1 or 2.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015024218A JP6305946B2 (en) | 2015-02-10 | 2015-02-10 | Secret pattern matching apparatus, method and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015024218A JP6305946B2 (en) | 2015-02-10 | 2015-02-10 | Secret pattern matching apparatus, method and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016148722A JP2016148722A (en) | 2016-08-18 |
JP6305946B2 true JP6305946B2 (en) | 2018-04-04 |
Family
ID=56691158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015024218A Active JP6305946B2 (en) | 2015-02-10 | 2015-02-10 | Secret pattern matching apparatus, method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6305946B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11675847B2 (en) * | 2017-12-19 | 2023-06-13 | Nippon Telegraph And Telephone Corporation | Retrieval device, retrieval method, program, and recording medium |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0877188A (en) * | 1994-09-05 | 1996-03-22 | Oki Electric Ind Co Ltd | Full text search method |
WO2010026561A2 (en) * | 2008-09-08 | 2010-03-11 | Confidato Security Solutions Ltd. | An appliance, system, method and corresponding software components for encrypting and processing data |
JP2010191858A (en) * | 2009-02-20 | 2010-09-02 | Daikin Ind Ltd | Software development support device |
JP6089881B2 (en) * | 2013-03-28 | 2017-03-08 | 富士通株式会社 | Data search method, data addition / update method, data search program, and relay device |
-
2015
- 2015-02-10 JP JP2015024218A patent/JP6305946B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016148722A (en) | 2016-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11487897B2 (en) | Generating and processing obfuscated sensitive information | |
Etaiwi | Encryption algorithm using graph theory | |
CN109241484B (en) | Method and equipment for sending webpage data based on encryption technology | |
US10541982B1 (en) | Techniques for protecting electronic data | |
JP2018054765A (en) | Data processing device, data processing method, and program | |
US11120143B2 (en) | Data analysis server, data analysis system, and data analysis method | |
CN110062941B (en) | Message transmission system, message transmission method, communication terminal, server device, and recording medium | |
CN111475690B (en) | Character string matching method and device, data detection method and server | |
Zhang et al. | Cryptosystem identification scheme based on ASCII code statistics | |
JP6557338B2 (en) | Concealed similarity search system and similarity concealment search method | |
CN110704875B (en) | Method, device, system, medium and electronic equipment for processing client sensitive information | |
Ahmad et al. | A secure network communication protocol based on text to barcode encryption algorithm | |
Malik et al. | A homomorphic approach for security and privacy preservation of Smart Airports | |
CN117313158A (en) | Data processing method and device | |
Kuvonchbek | Method Authentication of Objects Information Communication | |
CN116055067B (en) | Weak password detection method, device, electronic equipment and medium | |
JP6305946B2 (en) | Secret pattern matching apparatus, method and program | |
US20180309579A1 (en) | Secure representation via a format preserving hash function | |
JPWO2018008547A1 (en) | Secret calculation system, secret calculation device, secret calculation method, and program | |
Wu et al. | Estimates of Upper Bound for a Function Associated with Riemann‐Liouville Fractional Integral via h‐Convex Functions | |
JP6274669B2 (en) | Secret pattern matching device, terminal device, method thereof, and program | |
Wu et al. | A reliable user authentication and key agreement scheme for web-based hospital-acquired infection surveillance information system | |
Nechta | Steganography in social networks | |
de Alencar | Cryptography and Network Security | |
Hussein et al. | Encryption of Association Rules Using Modified Dynamic Mapping and Modified (AES) Algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170302 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180104 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180222 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20180306 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180307 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6305946 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |