JP2001222537A - 一致データ検索装置 - Google Patents

一致データ検索装置

Info

Publication number
JP2001222537A
JP2001222537A JP2000029343A JP2000029343A JP2001222537A JP 2001222537 A JP2001222537 A JP 2001222537A JP 2000029343 A JP2000029343 A JP 2000029343A JP 2000029343 A JP2000029343 A JP 2000029343A JP 2001222537 A JP2001222537 A JP 2001222537A
Authority
JP
Japan
Prior art keywords
data
search
bitmap
partial information
unit
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
JP2000029343A
Other languages
English (en)
Inventor
Katsuto Nakajima
克人 中島
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2000029343A priority Critical patent/JP2001222537A/ja
Publication of JP2001222537A publication Critical patent/JP2001222537A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】 【課題】 従来の一致データ検索装置は、格納用メモリ
として連想記憶メモリが使用されており、高価であると
ともに大容量のものが得られないため、探索性能が制限
されるという課題があった。 【解決手段】 一致データ検索装置において、記憶部1
と、ファイルを適度な容量を有する分割ファイルに分割
するレコード分割部2と、検索データを保持する比較対
象レジスタ7と、分割ファイル毎に当該分割ファイルを
構成するレコードに保持されたデータの部分情報を基に
して作成した検索用ビットマップにより、検索データの
部分情報に一致する部分情報が処理対象の分割ファイル
内に存在するか否かを判定するビットマップ検索部4と
を備える。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、極めて大量のレ
コードの集合からなるデータファイルの中から一致する
データが書き込まれたレコードを探索する一致データ検
索装置に係り、特に暗号強度評価装置における鍵探索の
ための一致暗号データ検索装置に関するものである。
【0002】
【従来の技術】本願発明の一致データ検索装置の代表的
な適用例は、TMTO法に基づいた暗号鍵探索における
暗号データの一致検索であり、説明を簡略かつ明確にす
るためにも暗号鍵探索を例にとって従来技術についての
説明を行う。なお、暗号の強度評価技術は、暗号化や復
号およびこれらを用いた認証等の技術と同様に、安全性
確保に係る重要な技術の1つとなっている。
【0003】特定のソフトウエアを用いて作成した文書
が通信路に流される場合、文書の先頭にはソフトウエア
固有のヘッダが挿入されていることが多いため、このソ
フトウエアが使用されることを前提として、暗号文入手
前に当該暗号文に対応する平文を予測することができ
る。このような場合等において、解読対象の入手暗号
文、それに対応する想定平文、および暗号化方法の知識
を得ることができれば、使用可能な全ての暗号鍵候補を
用いて想定平文を暗号化し、得られた暗号文と入手暗号
文とが一致すれば、想定平文から一致した暗号文を生成
した暗号鍵候補が求める暗号鍵となる。このような暗号
鍵の探索方法を全数探索法と称する。例えば、米国等で
標準的に使用されているブロック暗号であるDES(Da
ta Encryption Standard)暗号では暗号鍵長が56ビッ
トであるため、全ての暗号鍵候補についての検索を実施
するためには2の56乗通りの暗号化処理を1ブロック
が64ビットである平文に対して実施する必要があり、
時間が非常にかかるという問題があった。
【0004】解読対象暗号文を入手してからの探索時間
を短縮するために、予め全ての暗号鍵候補を用いて想定
平文に対して暗号化処理を実施して生成された暗号文を
テーブルに記憶し、解読対象暗号文の入手後は当該記憶
テーブルから一致する暗号文を探索して対応する暗号鍵
を求める方法が提案されている。このような暗号鍵の探
索方法をテーブルルックアップ(表探索)法と称する。
この方法は、例えばDES暗号の場合には、2の56乗
個の暗号化ブロック(1ブロック=64ビット=8バイ
ト)と当該暗号化ブロックに対応する暗号鍵情報(な
お、暗号鍵自体をアドレスとして用いることも可能であ
る)を格納するための極めて大きな記憶容量のテーブル
を必要とする。また、一度に記憶テーブル全体を検索す
ることはできないので、テーブルを適当な容量毎に複数
に分割して得た分割テーブル毎のレコードに対してソー
ト表やハッシュ表を作成、あるいは分割テーブル毎のレ
コードをCAM(Contents Addressable Memory :連想
記憶メモリ)に格納して、各レコードに対する一致検索
を実施する必要がある。
【0005】全数探索法の探索時間とテーブルルックア
ップ法の記憶容量との間のトレードオフを図った方法と
して提案されているのが、TMTO(Time-Memory Trad
e-Off )法である。この方法では、変形暗号化を実施す
ることを特徴としており、まずこの変形暗号化について
説明する。図11はTMTO法による変形暗号化方式を
示す図である。図11に示されるように、変形暗号化処
理部101は、調節関数処理部102と暗号化処理部1
03とから構成されている。この変形暗号化処理部10
1の動作について述べると、DESを例にとれば、1ブ
ロック(64ビット)の想定平文を入力として固定し、
暗号化処理部103により56ビットの暗号鍵を用いて
64ビットの暗号文を生成する。そして、出力値として
与えられる64ビットの暗号文から調節関数処理部10
2において56ビットの暗号鍵を生成する。このように
暗号文の生成と生成された暗号文に基づく新たな暗号鍵
の生成を再帰的に繰り返す。なお、調節関数を用いて6
4ビットの暗号文から56ビットの暗号鍵を生成するこ
とについては、例えば上位ビットの削除と特定の値との
排他的論理和で実現することができるが、このような技
術については本願発明の範囲外にあるために詳細な説明
は省略する。
【0006】次に、TMTO法における探索表作成につ
いて説明する。図12はTMTO法における探索表作成
の方式を示す図である。図12に示されるように、所定
のN個の初期値に対して変形暗号化処理をT回実施して
N個の探索ベクトル要素を生成して、N個の探索ベクト
ルからなる1枚の探索表を作成する。そして、このよう
な探索ベクトル要素の生成を異なるL個の調節関数を用
いて実施してL枚の探索表を作成する。この結果、LN
個の探索ベクトル要素が生成されるので、探索ベクトル
要素の格納に必要な記憶容量は、探索ベクトルの各要素
が1ワードで表現されるとすればLNワードとなる。ま
た、探索表作成においては、暗号鍵の重複を考慮しなけ
れば、各変形暗号化処理毎に1つの暗号鍵が生成される
ので、全体的にTNL個の暗号鍵が生成されることとな
る。
【0007】次に、TMTO法における鍵探索について
説明する。図13はTMTO法における鍵探索の方式を
示す図である。鍵探索では、図13に示されるように、
入手暗号文および探索ベクトルを用いて暗号鍵を探索す
る。入手暗号文が探索ベクトルのある要素と一致すれ
ば、その要素を得るために探索表作成時に行った最後の
変形暗号化の内部で使用された鍵が求める暗号鍵である
と断定できる。この値を求めるには、対応する初期値に
T−1回の変形暗号化と1回の調節関数を施せばよい。
また、入手暗号文が探索ベクトルのどの要素とも一致し
なければ、入手暗号文に変形暗号化を施して変形化暗号
文を作成し、再度探索ベクトルの各要素と比較する。一
致した要素がある場合、対応する初期値にT−2回の変
形暗号化と1回の調節関数を施したものが求める暗号鍵
である可能性が高い。この場合暗号鍵であると断定でき
ないのは、調節関数が行うビット長調整において異なる
入力値が同じ出力値となる可能性があるためである。暗
号鍵であると断定するためには、初期値にT−1回の変
形暗号化を施して得た変形化暗号文が入手暗号文と一致
することを確認する必要がある。この一致確認処理を虚
報判定、一致しなかった場合を虚報と称する。なお、入
手暗号文をT−1回変形暗号化しても探索ベクトルの各
要素と一致しなければ、他の調整関数に基づいて生成さ
れた他の探索ベクトル(探索表)を用いて同様の処理を
繰り返す。
【0008】上記のTMTO法では、鍵探索を実施する
前の事前計算としてL枚の探索表毎にN個の探索ベクト
ル要素の算出を実施して、それぞれN個の探索ベクトル
要素からなるL枚の探索表を格納する。この際、全体と
してLNT回の変形暗号化処理が実施される。なお、T
MTO法を実施する上では,パラメータL,N,Tにつ
いて例えば以下のような実際的な値が設定される。 L=222 = 4M枚 N=214 = 16K個 T=221 = 2M回 したがって、各探索表の全エントリ数はLN=236とな
り、テーブルルックアップ法ほどの記憶容量は必要とは
しないが、膨大な記憶容量を必要とするために、入手暗
号文または変形化暗号文(検索データ)と探索ベクトル
の各要素(検索対象データ)との一致比較は探索表を構
成するテーブルを所定数に分割した分割テーブル毎に実
施する。
【0009】上記のTMTO法を用いた暗号強度評価装
置の構成法に関する発明としては、例えば特開平11−
65438号公報に示された暗号強度評価装置が挙げら
れる。この発明においては、探索表群を構成するテーブ
ルから1回の検索対象である分割単位として与えられる
探索表に係るレコードを検索ブロックのメモリ内に格納
する。具体例としては、この格納用メモリとしてCAM
(連想記憶メモリ)を用いることが記載されている。ま
た、同じくTMTO法を用いた暗号強度評価装置の構成
法について述べている文献である「タイムメモリトレー
ドオフ解読法に基づく暗号強度評価装置の実現性につい
て:高橋勝己,飯田全広,水上雄介,山崎弘巳,宮田裕
行,中島克人,松本勉:情報処理学会論文誌,Vol.40,
No.8, pp.3318-3328, 1999-8」においては、探索表群に
ついての1回の検索対象である探索表を16Kエントリ
*8バイト程度として、格納用メモリとしてCAMを用
いることが記載されている。
【0010】
【発明が解決しようとする課題】従来の暗号強度評価装
置において用いられる一致暗号データ検索装置をはじめ
とする一致データ検索装置は以上のように構成されてい
るので、格納用メモリとして使用されるCAMは通常の
メモリすなわちRAM(Random Access Memory)と比較
すると、高価であるとともに、大容量なものが得られな
いために探索性能が制限されるという課題があった。
【0011】また、CAMの代わりにRAMを用いた場
合には、エントリをソートしておく方法またはハッシュ
表を構成する方法等を用いることにより一致検索を実施
することが考えられるが、いずれの方法を用いたとして
も所定の分割単位内に検索データに一致するデータを保
持するレコードが存在しないこと、すなわち分割単位毎
の「不一致」の結果を得るためにはレコード数が膨大に
なると処理時間がかかり、それに伴い一定時間内に検索
処理を終了するためにはハードウエアが複雑かつ大容量
化するという課題があった。
【0012】この発明は、上記のような課題を解決する
ためになされたもので、DRAM等の比較的に大容量か
つ安価な汎用的メモリを用いて、検索データに一致する
データを保持するレコードが処理対象ファイル内に存在
しないこと、すなわち検索処理対象ファイル内のレコー
ドが「不一致」である結果を簡単なハードウエアを用い
て高速に得られる一致データ検索装置を得ることを目的
とする。
【0013】なお、上記の本願発明の目的に関する記載
に示されるように、本願発明は極めて大量のレコードか
らなるデータファイルから検索データに一致するデータ
を保持するレコードを探索する一致データ検索装置に係
るものであり、本願発明の範囲はTMTO法における上
記の一致暗号データ検索装置のみに限定されるものでは
ない。
【0014】
【課題を解決するための手段】この発明に係る一致デー
タ検索装置は、大量のレコードの集合体としてのデータ
ファイルを記憶する記憶手段と、記憶手段に記憶された
ファイルを適度な容量を有する分割ファイルに分割する
分割手段と、分割ファイルを構成する各レコードに書き
込まれた検索対象データ毎に、当該検索対象データの全
体情報から所定の処理手順に基づいて部分情報を抽出す
る第1の部分情報抽出手段と、分割ファイル毎に当該分
割ファイルを構成する各レコードに対応する各部分情報
毎に当該部分情報に相当するビット位置を算出して当該
ビット位置に他のビット位置とは異なる識別符号を書き
込んでビットマップデータを作成するビットマップデー
タ作成手段と、ビットマップデータを記憶してビットマ
ップを作成するビットマップ保持手段と、記憶手段に記
憶されたファイル中のデータと比較される検索データを
保持する検索データ保持手段と、検索データ保持手段に
保持された検索データの全体情報から第1の部分情報抽
出手段におけるのと同じ処理手順に基づいて部分情報を
抽出する第2の部分情報抽出手段と、第2の部分情報抽
出手段により抽出された部分情報に相当するビットマッ
プ上のビット位置を算出して当該ビット位置に識別符号
が書き込まれているか否かを検出して、部分情報間の一
致検索結果を出力する予備検索結果出力手段とを備える
ようにしたものである。
【0015】この発明に係る一致データ検索装置は、フ
ァイルを適当な容量毎に分割することで作成された複数
の分割ファイルと、分割ファイル毎に構成されるビット
マップデータとをともに記憶する記憶手段を備えるよう
にしたものである。
【0016】この発明に係る一致データ検索装置は、部
分情報間の一致検索が必要となる毎に、処理対象の分割
ファイルからビットマップデータを作成するビットマッ
プデータ作成手段を備えるようにしたものである。
【0017】この発明に係る一致データ検索装置は、分
割ファイルを構成する各レコードに書き込まれた検索対
象データ毎に、当該検索対象データの全体情報からハッ
シュ関数を用いて部分情報を作成する第1の部分情報抽
出手段と、検索データ保持手段に保持された検索データ
の全体情報から第1の部分情報抽出手段におけるのと同
じハッシュ関数を用いて部分情報を作成する第2の部分
情報抽出手段とを備えるようにしたものである。
【0018】この発明に係る一致データ検索装置は、分
割ファイルを構成する各レコードに書き込まれた検索対
象データ毎に、当該検索対象データの全体情報を表すビ
ット列から所定数の任意のビットを選択することで部分
情報を抽出する第1の部分情報抽出手段と、検索データ
保持手段に保持された検索データの全体情報を表すビッ
ト列から所定数の第1の部分情報抽出手段で抽出したの
と同じ位置にあるビットを選択することで部分情報を抽
出する第2の部分情報抽出手段とを備えるようにしたも
のである。
【0019】この発明に係る一致データ検索装置は、予
備検索結果出力手段により部分情報間の一致を示す信号
が出力されると、検索処理対象の分割ファイルを構成す
るレコードに書き込まれたデータの全体情報と検索デー
タの全体情報との間の一致検索を実施する二次判定部を
備えるようにしたものである。
【0020】この発明に係る一致データ検索装置は、処
理対象のビットマップデータを記憶するビットマップ保
持手段と、検索データを保持する検索データ保持手段
と、第1の部分情報抽出手段におけるのと同じ処理手順
に基づいて検索データの全体情報から部分情報を抽出す
る第2の部分情報抽出手段と、部分情報間の一致検索結
果を出力する予備検索結果出力手段とを有して構成され
る一次判定部を複数備えるようにしたものである。
【0021】この発明に係る一致データ検索装置は、予
備検索結果出力手段により部分情報間の一致を示す信号
が出力されると、検索処理対象の分割ファイルを構成す
るレコードに書き込まれたデータの全体情報と検索デー
タの全体情報との間の一致検索を実施する二次判定部を
複数備えるようにしたものである。
【0022】この発明に係る一致データ検索装置は、ビ
ットマップデータ作成手段が、ビットマップデータをデ
ータ圧縮してビットマップ圧縮コードを作成するビット
マップデータ圧縮手段を備えるようにしたものである。
【0023】この発明に係る一致データ検索装置は、記
憶手段が複数の分割ファイルと、分割ファイル毎にビッ
トマップデータ圧縮手段により作成されるビットマップ
圧縮コードとをともに記憶するようにしたものである。
【0024】この発明に係る一致データ検索装置は、ビ
ットマップデータを構成するビット列を識別符号から次
の識別符号までの間を分割単位として、各分割単位毎
に、識別符号間で連続する識別符号以外の値を有するビ
ットの数Iと、連続する識別符号以外の値を有するビッ
トの直後にくる値Vとを用いて、各分割単位に係るビッ
ト列を(I,V)でコード化して、ビットマップデータ
に対するデータ圧縮を実施するビットマップデータ圧縮
手段を備えるようにしたものである。
【0025】この発明に係る一致データ検索装置は、処
理済のビットマップに対応するビットマップデータを検
索して検出された識別符号を包含するワードに係るワー
ドデータをビットマップ保持手段上においてリセットす
るとともに、次の処理対象のビットマップに対応するビ
ットマップデータを検索して検出された識別符号を包含
するワードに係るワードデータをビットマップ保持手段
上にセットするように、ビットマップ保持手段に対する
ワード単位の選択的なデータ書き込みを実施する選択的
データ書き込み手段を備えるようにしたものである。
【0026】この発明に係る一致データ検索装置は、処
理済のビットマップに対応するビットマップ圧縮コード
を検索して検出された識別符号を包含するワードに係る
ワードデータをビットマップ保持手段上においてリセッ
トするとともに、次の処理対象のビットマップに対応す
るビットマップ圧縮コードを検索して検出された識別符
号を包含するワードに係るワードデータをビットマップ
保持手段上にセットするように、ビットマップ圧縮コー
ドに対する検索を基にしてビットマップ保持手段に対す
るワード単位の選択的なデータ書き込みを実施する選択
的データ書き込み手段を備えるようにしたものである。
【0027】この発明に係る一致データ検索装置は、選
択的データ書き込み手段が処理済のビットマップに対応
するビットマップデータまたはビットマップ圧縮コード
と次の処理対象のビットマップに対応するビットマップ
データまたはビットマップ圧縮コードとを比較して、識
別符号が同じ位置にあるワードについては当該ワードデ
ータの書き込みを省略する書き込み省略手段を備えるよ
うにしたものである。
【0028】
【発明の実施の形態】以下、この発明の実施の一形態を
説明する。 実施の形態1.従来技術における説明と同様に、発明の
実施の形態についての説明においても、本願発明の一致
データ検索装置の適用例である暗号強度評価に使用され
る一致暗号データ検索装置を例にとって説明する。図1
はこの発明の実施の形態1による一致暗号データ検索装
置(一致データ検索装置)の構成を示すブロック図であ
る。図において、1は事前計算によって得られたすべて
の探索ベクトルの要素に係るレコードの集合体からなる
ファイルを記憶した記憶部(記憶手段)、2は記憶部1
に記憶された探索ベクトル要素に係るテーブルから1回
の検索対象である分割単位として与えられる探索表(分
割ファイル)に係るレコードを取り出して対応する予備
検索用ビットマップを作成するレコード分割部(分割手
段)、3は探索表に係るレコード内に検索データである
入手暗号文または変形化暗号文が存在するか否かの予備
判定を実施する一次判定部、4は1回の検索対象である
探索表に対応するビットマップデータをロードするとと
もに検索データを入力して、当該検索データについての
ビットマップ上での予備的な一致検索を実施するビット
マップ検索部(予備検索結果出力手段)、5は入手暗号
文を初期設定するための初期設定部、6は検索データが
探索表に存在しない「不一致」の場合に直前の検索デー
タである入手暗号文または変形化暗号文に対して図13
に示される変形暗号化を施して新たな検索データである
変形化暗号文を生成するTMTO変形操作部、7は初期
設定部5に設定された入手暗号文またはTMTO変形操
作部6により生成された変形化暗号文のいずれかを検索
データとして記憶する比較対象レジスタ(検索データ保
持手段)である。なお、探索表からのビットマップの作
成処理およびビットマップを用いて検索データの存在の
可能性の有無を判定する予備検索処理に関しては、ビッ
トマップ検索部4の構成および動作に関する説明に付随
して詳細に説明する。
【0029】次に、本願発明の実施の形態1による一致
暗号データ検索装置(一致データ検索装置)の全体的な
動作について説明する。この実施の形態1においても従
来の技術で述べたのと同様に、TMTO法におけるパラ
メータとして、L=222,N=214,T=221を選定す
るものとする。これらのパラメータは暗号解読専用装置
を現状のハードウエア技術に基づいて実際に構成するこ
とを想定して選定されたもので、512Gバイト(64
Gエントリ(222*214)*64ビット)分の容量を有
する記憶手段を用いることにより、80%の探索確率を
得ることができる。すなわち、これは214=16Kエン
トリの探索表を222枚分順次または並列に検索して行く
ことを意味する。
【0030】レコード分割部2は、TMTO法における
事前計算により求められた512Gバイト(64Gエン
トリ)分のレコードを格納する記憶部1から、1回の探
索対象である16Kエントリ分の分割ファイルである探
索表を取り出し、予備検索用のビットマップデータを一
次判定部3のビットマップ検索部4にロードする。ま
た、比較対象レジスタ7には、初期設定部5に初期設定
された64ビットの入手暗号文を設定する。そして、比
較対象レジスタ7に設定された64ビットのビット列を
ビットマップ検索部4に入力する。ビットマップ検索部
4は、対応する16Kエントリの探索表内に一致する探
索ベクトル要素が存在する可能性がある場合には1を出
力し、存在する可能性がない場合には0を出力する。出
力値が1の場合には完全な一致検索を実施する二次判定
部が起動される。また、出力値が0の場合には、比較対
象レジスタ7内の入手暗号文データをTMTO変形操作
部6に転送する。TMTO変形操作部6は、転送された
データに対して変形暗号化処理を実施して、予め内部に
セットした想定平文に基づき新たに生成した変形化暗号
文を比較対象レジスタ7に検索データとして設定する。
ビットマップ検索部4は、比較対象レジスタ7に新たに
設定された検索データについて一致検索処理を実施す
る。そして、一致データが探索されなければ、各探索表
毎にTMTO変形操作部6における変形暗号化処理をT
−1回繰り返す。
【0031】図2はこの発明の実施の形態1によるビッ
トマップ検索部の構成を示す図である。図2において、
図1と同一符号は同一または相当部分を示すのでその説
明を省略する。11は一致データの予備検索に使用する
ためのビットマップデータを記憶するビットマップ用メ
モリ(ビットマップ保持手段)、12はビットマップ用
メモリ11のワード幅に整合させること等を目的として
図1に示されたレコード分割部2から伝送されるビット
マップデータを調整した上でビットマップ用メモリ11
内に書き込むロード回路、13は比較対象レジスタ7か
ら伝送される検索データの全体情報(64ビット)から
部分情報(28ビット)を抽出する部分情報抽出部(第
2の部分情報抽出手段)、14は検索処理対象の探索表
内に検索データが存在するか否かを予備判定するセレク
タである。なお、ビットマップ用メモリ11としては、
現状のダイナミック・ランダム・アクセス・メモリの技
術水準を考慮して妥当な容量であると考えられる32M
バイト(256Mビット)すなわち8M*32ビットの
メモリを使用することをこの実施の形態では想定するも
のとする。また、この発明の実施の形態1による一致暗
号データ検索装置では、分割ファイルとして与えられる
探索表を構成する各レコードに書き込まれた検索対象デ
ータ毎に当該検索対象データの全体情報(64ビット)
から部分情報を抽出する第1の部分情報抽出手段と、各
探索表を単位として当該探索表を構成する各レコードに
対応する各部分情報毎に当該部分情報に相当するビット
位置を算出して当該ビット位置に他のビット位置とは異
なる識別符号を書き込んでビットマップデータを作成す
るビットマップデータ作成手段とを必須の発明特定事項
として設ける必要がある。この実施の形態においては、
レコード分割部2にこれらの手段がなす機能の行使を兼
用させるように構成することが可能であるとともに、こ
れらの手段がなす機能を実現する専用回路を設けるよう
に構成することも可能である。
【0032】次に、ビットマップデータの作成およびビ
ットマップデータ作成に基づいたビットマップの作成に
関する動作について説明する。図3はビットマップ作成
に係る第1の方法を示すフローチャートである。この方
法では、暗号強度評価を実施するための変形暗号化処理
を用いた事前計算によりN個の要素を有する探索ベクト
ルからなる探索表を作成する(ステップST1)。探索
表が作成されれば、当該探索表を構成するそれぞれが6
4ビットのビット列として与えられる16K個の各レコ
ードについて、第1の部分情報抽出手段を用いて64ビ
ットから所定の方法により28ビットを抽出する。64
ビットの全体情報から28ビットの部分情報が抽出され
ると、抽出された28ビットのなかの23ビットをアド
レスとする(8M個のアドレスが存在する)とともに残
りの5ビットから1ワードを32ビットとしたビット列
におけるビット位置を求める。そして、8M*32ビッ
トの容量を有するビットマップ用メモリ11に対応する
同容量のビット列において23ビットで示されるワード
位置および当該ワード内における5ビットで示されるビ
ット位置を基にして各レコード毎に当該ビット位置に識
別符号としての“1”を書き込むとともに他のビット位
置の値を“0”としたビットマップデータをビットマッ
プデータ作成手段を用いて作成する(ステップST
2)。探索表およびビットマップデータの作成が終了す
ると、作成された探索表およびビットマップデータをと
もに記憶部1に格納する(ステップST3)。そして、
記憶された探索表数がL=222に等しくなるまで探索表
およびビットマップデータの作成および記憶動作を繰り
返す(ステップST4)。
【0033】次に、鍵探索を実施する際に上記第1の方
法に従ってビットマップを構成する動作について説明す
る。鍵探索を実施するに際して検索対象の探索表の設定
等が必要となると、記憶部1から探索表およびビットマ
ップデータの両方を取り出す(ステップST5)。ビッ
トマップデータが取り出されると、ビットマップデータ
をビットマップ検索部4内のビットマップ用メモリ11
内にロードしてビットマップを作成する(ステップST
6)。ビットマップが作成されると、当該ビットマップ
を使用して処理対象の探索表について部分情報間の一致
検索に基づく一次判定(予備検索)を実施する(ステッ
プST7)。そして、暗号鍵が探索されるまでは、取り
出された探索表数がL=222に等しくなるまで探索表お
よびビットマップデータの取り出しを繰り返す(ステッ
プST8)。
【0034】次に、ビットマップ作成に係る第2の方法
について説明する。図9はビットマップ作成に係る第2
の方法を示すフローチャートである。この方法では、暗
号強度評価を実施するための変形暗号化処理を用いた事
前計算によりN個の要素を有する探索ベクトルからなる
探索表を作成する(ステップST11)。探索表の作成
が終了すると、作成された探索表を記憶部1に格納する
(ステップST12)。そして、記憶された探索表数が
L=222に等しくなるまで探索表の作成および探索表の
記憶動作を繰り返す(ステップST13)。
【0035】次に、鍵探索を実施する際に上記第2の方
法に従ってビットマップを作成する動作について説明す
る。鍵探索を実施するに際して検索対象の探索表の設定
等が必要となると記憶部1から探索表を取り出す(ステ
ップST14)。処理対象の探索表が取り出されると、
上述したビットマップデータ作成手順に従ってビットマ
ップデータ作成手段を用いてビットマップデータを作成
する(ステップST15)。ビットマップデータの作成
が終了すると、ビットマップデータをビットマップ検索
部4内のビットマップ用メモリ11内にロードしてビッ
トマップを作成する(ステップST16)。ビットマッ
プが作成されると、当該ビットマップを使用して処理対
象の探索表について部分情報間の一致検索に基づく一次
判定(予備検索)を実施する(ステップST17)。そ
して、暗号鍵が探索されるまでは、取り出される探索表
数がL=222に等しくなるまで探索表の取り出しおよび
ビットマップの作成を繰り返す(ステップST18)。
【0036】レコード分割部2(ビットマップ作成手
段)は、ビットマップデータが作成されると、作成され
たビットマップデータをロード回路12に転送する。ロ
ード回路12は、ビットマップデータをビットマップ用
メモリ11のワード幅に整合するように調整した上でビ
ットマップ用メモリ11内に書き込む。
【0037】次に、検索処理対象の探索表に対するビッ
トマップが作成された後のビットマップ検索部4におけ
る動作について説明する。部分情報抽出部13(第2の
部分情報抽出手段)は、比較対象レジスタ7に設定され
た64ビットの全体情報から、レコード分割部2(第1
の部分情報抽出手段)において用いられたのと同じ方法
を用いて28ビットの部分情報を抽出する。そして、同
様に28ビットのなかの23ビットをビットマップ用メ
モリ11内におけるアドレスとして用いて、当該アドレ
ス位置に記憶された1ワード=32ビットのデータをセ
レクタ14に出力する。セレクタ14は、入力された3
2ビットのデータについて、部分情報である28ビット
のなかの残りの5ビットにより指定されるビット位置に
識別符号である“1”が書き込まれている場合には
“1”を出力し、指定されるビット位置に“0”が書き
込まれている場合には“0”を出力する。すなわち、ビ
ットマップ検索部4は、検索データと検索対象データと
について64ビットの全体情報ではなく、28ビットの
部分情報間の一致に基づいて一致データが存在するか否
かの予備検索を実施するものである。したがって、セレ
クタ14からの出力値が“0”の場合には、部分情報も
一致しないこととなるので、探索表に検索データと一致
するデータは存在しないこととなる。また、セレクタ1
4からの出力値が“1”である場合には、検索データの
部分情報が一致したこととなり、探索表に検索データと
一致するデータを保持するレコードが存在する可能性が
有ることが示される。ただし、部分情報以外のデータ部
分が異なっていてもこの一次判定部においては出力値と
して1が得られるので、検索データと一致するものが存
在するか否かを断定するためには、比較対象レジスタ7
に保持された検索データと探索表を構成するレコードに
保持されたデータとについての64ビットの全体情報に
係る2次判定が別途必要となる。
【0038】なお、ビットマップ全体として最大で16
K個の値“1”が存在する。しかし、複数のレコードの
データが互いに異なっている場合でも、第1の部分情報
抽出手段によって抽出される28ビットの部分情報が同
じビット列を有することがあるので、このような場合に
は同じアドレスの同じビット位置に書き込まれた値
“1”が複数のレコードに対応することとなるから、全
体として値“1”の数は16K個よりも少なくなる。し
たがって、ビットマップ検索部4による検索は不完全な
ものではあるが、値“1”が取り出される確率は(16
K/256M)=0.0000625未満であり非常に小さなも
のとなる。TMTO法における鍵探索では、1つの探索
表に対応するビットマップについてT−1=221−1回
の変形暗号化処理を実施する毎に暗号データに係る一致
検索が実施されるが、上記のように部分情報を用いても
一致するデータが存在する可能性は非常に小さく、探索
表に含まれるレコードについて一致するデータが存在し
ない探索表毎の「不一致」を高速に検出することができ
る。
【0039】以上のように、この実施の形態1によれ
ば、探索ベクトルの要素をレコードとした極めて大量の
レコードからなるファイルを保持する記憶部1と、ビッ
トマップを作成するためのビットマップ用メモリ11
と、記憶部1に記憶されたファイルを適度な容量の分割
単位である探索表に分割し、各探索表を単位として探索
表を構成する各レコード毎に部分情報を抽出して各レコ
ード毎の部分情報に対応するビットマップ上のビット位
置を算出して当該ビット位置に“1”を設定するととも
に他のビット位置には“0”を設定することによりビッ
トマップデータを作成するレコード分割部2と、検索デ
ータからレコード分割部2と同じ部分情報抽出処理を行
って検索データに対する部分情報を作成する部分情報抽
出部13と、レコード分割部2と同じビット位置算出処
理を行って検索データの部分情報に対応するビットマッ
プ上のビット位置を算出して部分情報間の一致判定を実
施するセレクタ14とを備えるように構成したので、各
探索表に検索データに一致するデータを保持するレコー
ドが存在しないことを高速に検出することができるとい
う効果を奏する。特に、検索データが分割ファイルとし
ての探索表を構成するレコードが保持するデータに一致
する確率が低い場合には、部分情報が一致した探索表に
係る検索データと探索表に含まれる各レコードとの間に
おける全体情報を対象した一致検索に時間がかかったと
しても、他の探索表に対する不一致の判定処理を高速で
実施することができるので、全体的な一致検索処理を高
速化できるという効果を奏する。
【0040】また、この実施の形態におけるビットマッ
プの作成に係る第1の方法においては、事前計算におい
て探索表および当該探索表に対応するビットマップデー
タを作成するとともに、探索表とともにビットマップデ
ータを記憶部1に格納するように構成したので、鍵探索
を実施するに際しては記憶部1から探索表およびビット
マップデータをともに取り出すとともに、ビットマップ
データを一次判定部3内のビットマップ用メモリ11に
ロードするのみでビットマップを作成することができる
ので一次判定実施時のビットマップ作成を高速化できる
という効果を奏する。
【0041】さらに、この実施の形態におけるビットマ
ップの作成に係る第2の方法においては、事前計算にお
いてビットマップデータの作成を行わず、鍵探索の過程
で記憶部1から探索表を取り出す毎にビットマップデー
タを作成してビットマップ用メモリ11にロードするよ
うにしたので、記憶部1にビットマップデータを格納す
る必要がないため、記憶部1の記憶容量を節減できると
いう効果を奏する。
【0042】なお、本願発明は、説明を簡単にするため
に一致暗号データ検索装置を対象として、64ビットの
全体情報から28ビットの部分情報を抽出して、28ビ
ットに対応したビットマップを用いて部分情報間の一致
検索を行うシステムについて説明した。しかし、全体情
報および部分情報のビット数はそれぞれ64ビットおよ
び28ビットに限定されるものではなく、他の任意のビ
ット数のレコードから任意のビット数の部分情報を抽出
するシステムに対して本願発明を適用することが可能で
あり、部分情報のビット数に応じてそれぞれ当該ビット
数に応じた適切な容量のビットマップが形成されるもの
である。さらに、ビットマップ上において部分情報を示
す識別符号として“1”を用いているが、識別符号とし
て“0”を用いても同様の作用効果を得ることができ
る。
【0043】実施の形態2.図5はこの発明の実施の形
態2による部分情報抽出部の構成を示す図である。図5
において、図2と同一符号は同一または相当部分を示す
ものである。この実施の形態2は、実施の形態1と比較
すると、部分情報抽出部13の具体的構成を明示した点
において差異を有するものである。なお、この発明の実
施の形態2による一致暗号データ検索装置(一致データ
検索装置)は、部分情報抽出手段を除いた他の部分につ
いてはすべて実施の形態1と同じ構成を有するものとす
る。
【0044】部分情報抽出部13における64ビットの
全体情報から28ビットの部分情報を抽出する抽出処理
に関しては種々の方法が存在するが、この発明の実施の
形態2による一致暗号データ検索装置は、この抽出処理
にハッシュ関数を適用することを特徴とするものであ
る。ハッシュ関数としては、64ビットのビット列上の
異なるビット列間に排他的論理和をとる処理として与え
られるものや、排他的論理和により得られたビット列に
おけるビットの並び替えを実施する処理として与えられ
るもの等が挙げられる。図5に開示された部分情報抽出
部13においては、全体情報として与えられる64ビッ
トのビット列の上位28ビットと下位28ビットとに対
してビット毎の排他的論理和をとって28ビットの部分
情報を抽出する。なお、レコード分割部2においても、
部分情報抽出部13(第2の部分情報抽出手段)と全く
同じ機能を有する第1の部分情報抽出手段が設けられて
いることはいうまでもない。
【0045】以上のように、この実施の形態2によれ
ば、ハッシュ関数を用いて部分情報の抽出を実施する部
分情報抽出手段を備えるように構成したので、抽出を実
施する前の異なる全体情報に対応する部分情報の重複を
できる限り回避することができるので、部分情報間の一
致検索において、全体情報が相互に異なっているにもか
かわらず部分情報が相互に一致する事象の数を低減で
き、さらに検索処理の高速化を実現できるという効果を
奏する。
【0046】実施の形態3.図6はこの発明の実施の形
態3による部分情報抽出部の構成を示す図である。図6
において、図2と同一符号は同一または相当部分を示す
ものである。この実施の形態3は、実施の形態2と比較
すると、部分情報抽出部13の具体的構成において差異
を有するものである。なお、この発明の実施の形態2に
よる一致暗号データ検索装置(一致データ検索装置)
は、部分情報抽出手段を除いた他の部分についてはすべ
て実施の形態1と同じ構成を有するものとする。
【0047】この発明の実施の形態3による一致暗号デ
ータ検索装置は、全体情報を表すビット列から所定数の
任意のビットを選択することを特徴とするものである。
すなわち、単に64ビットの中から任意の28ビットを
選択するものである。図6に開示された部分情報抽出部
13においては、全体情報として与えられる64ビット
のビット列の中から下位28ビットを部分情報として抽
出する。このような単純な部分情報抽出方式を用いて
も、TMTO法に基づいて作成された探索表に記憶され
た各レコードは変形暗号化された探索ベクトルの各要素
として与えられるものであるので、探索表に含まれる各
レコードのデータ値は一様乱数と見なせるため、異なる
全体情報に対応する部分情報の重複をできる限り回避す
ることができると考察される。すなわち、任意の28ビ
ットでビットマップに対してアドレッシングしても、ビ
ットマップ内の値1に偏りが生じないことが期待でき
る。なお、レコード分割部2においても、部分情報抽出
部13(第2の部分情報抽出手段)と全く同じ機能を有
する第1の部分情報抽出手段が設けられていることはい
うまでもない。
【0048】以上のように、この実施の形態3によれ
ば、全体情報を表すビット列から所定数の任意のビット
を選択することで部分情報を抽出する部分情報抽出手段
を備えるように構成したので、部分情報抽出手段を単純
化できて装置構成の簡略化を実現することができるとい
う効果を奏する。
【0049】実施の形態4.図7はこの発明の実施の形
態4による一致暗号データ検索装置(一致データ検索装
置)の構成を示すブロック図である。図7において、図
1と同一符号は同一または相当部分を示すのでその説明
を省略する。21は一次判定部3において部分情報間の
一致が確認されると検索データの全体情報を用いて処理
対象の探索表内のレコードに対して一致検索を実施する
二次判定部、22は処理対象の探索表のすべてのレコー
ド(この場合16K個のレコード)を保持して各レコー
ドの全体情報(この場合64ビット)に係る一致検索を
実施するためにソフトウエアハッシュ等の処理対象とな
る例えば汎用プロセッサのメモリ等に設けられる比較
表、23は一次判定部3において部分情報間の一致が確
認された際に比較表22を用いた全体情報に係る一致検
索の実施を制御する例えば汎用プロセッサから構成され
る制御部である。なお、図7では、二次判定部21内に
レコード分割部2を含める構成としているが、レコード
分割部2を一次判定部3および二次判定部21から分離
した構成とすることも可能である。また、汎用のプロセ
ッサ等を用いて、レコード分割部2と制御部23とを併
合することも可能である。
【0050】次に動作について説明する。レコード分割
部2は、記憶部1に記憶された検索対象ファイルから1
回の検索対象である探索表に係るレコードを取り出す
と、当該探索表に対応するビットマップデータをビット
マップ検索部4にロードするとともに、当該探索表の内
容に応じて比較表22を更新する。ビットマップ検索部
4から部分情報の不一致を示す出力値“0”が出力され
る場合には、次の変形暗号化を行う。また、ビットマッ
プ検索部4から部分情報の一致を示す出力値“1”が出
力される場合には、比較表22を用いて64ビットの全
体情報を対象とした一致検索を実施する。この全体情報
に係る一致検索を実施した結果として、探索表に一致す
るデータを検出できた場合には、当該データが求める探
索ベクトル要素となる。そして、(従来の技術)におい
て既に述べたように、TMTO変形操作部6における変
形暗号化処理回数と、一致した探索ベクトル要素に対応
する初期値とを基にして、当該初期値に対して所定回数
の変形暗号化処理および調節関数処理の適用を実施する
ことで暗号鍵を導出することができる。なお、1つの探
索表についてT−1回の変形暗号化が実施されてT回の
探索が終了した通知を一次判定部3から受けると、制御
部23はレコード分割部2に対して新たな探索表の取り
出しを指示する。
【0051】なお、暗号鍵を導くために、一致した探索
ベクトル要素に対応する初期値に対して所定回数の変形
暗号化処理および調節関数処理の適用を実施することに
ついては、一次判定部3内のTMTO変形操作部6ある
いは二次判定部21内の制御部23のいずれで行っても
よい。上記の暗号鍵算出処理にかかる所要時間は、一次
判定部3および二次判定部21を用いて実施される一致
検索処理にかかる所要時間と比較すると充分に小さいた
めに、暗号鍵算出処理に係る演算をどの演算装置を用い
て実施しても全体的な処理時間に対して影響を与えるこ
とはほとんどない。
【0052】以上のように、この実施の形態4によれ
ば、検索データの全体情報を用いて検索処理対象の探索
表内のレコードに対して一致検索を実施する二次判定部
を備えるように構成したので、検索データに一致するデ
ータの存在の有無を確実に断定することができるととも
に、検索データに一致するデータが記録されたレコード
を特定することが可能になるという効果を奏する。
【0053】実施の形態5.図8はこの発明の実施の形
態5による一致暗号データ検索装置(一致データ検索装
置)の構成を示すブロック図である。図8において、図
7と同一符号は同一または相当部分を示すのでその説明
を省略する。31は各一次判定部3と二次判定部21と
の間でデータ転送を行うための通信用バスである。この
実施の形態5は、実施の形態4と比較すると、一次判定
部3を複数設けて、各一次判定部3と二次判定部21と
の間のデータ伝送を通信用バス31を介して実施するよ
うにした点で相違する。なお、二次判定部21において
は、一次判定部3と同数の比較表22が設けられる。
【0054】この実施の形態においては、探索表毎に独
立した一致検索を実施することができる一次判定部3に
処理対象の探索表に対応するビットマップデータをロー
ドするための時間と、部分情報の一致に基づいて二次判
定部21を起動するための信号についての通信時間との
合計として与えられる所要時間は、一次判定部3におい
て1枚の探索表に対して一致検索を実施する演算時間と
比較すると充分小さいので、探索表毎の並列処理による
高速化が可能となる。
【0055】次に動作について説明する。レコード分割
部2は、制御部23から探索表についての一致検索処理
終了を示す信号を受ける毎に、記憶部1に記憶された検
索対象ファイルから次の処理対象となる探索表に係るレ
コードを取り出すと、当該探索表に対応するビットマッ
プデータを処理済の一次判定部3のビットマップ検索部
4にロードするとともに、当該探索表の内容に応じてビ
ットマップデータをロードした一次判定部3に対応する
ように設けられた比較表22の内容を更新する。また、
二次判定部21における全体情報を対象とした一致検
索、一致した場合の鍵探索についての動作は実施の形態
4と同様であるのでその説明を省略する。このように、
複数の一次判定部3およびそれぞれの一次判定部3に対
して設けられた複数の比較表を設けることで、複数の探
索表に係る一致検索を並列に実行する。
【0056】以上のように、この実施の形態5によれ
ば、部分情報に基づく一致検索についての予備検索を実
施する一次判定部3を複数備えるように構成したので、
個々に独立に一致検索を実施することが可能である探索
表に対して一致検索の並列処理を実施して一致検索処理
の高速化を実現することができるという効果を奏する。
【0057】実施の形態6.図9はこの発明の実施の形
態6による一致暗号データ検索装置(一致データ検索装
置)の構成を示すブロック図である。図9において、図
8と同一符号は同一または相当部分を示すのでその説明
を省略する。この実施の形態6は、実施の形態5と比較
すると、二次判定部を複数設けた点で相違する。なお、
一次判定部3と二次判定部21との間の通信時間、並び
に一次判定部3および二次判定部21における平均的処
理時間を考慮して、一次判定部3の設置台数および二次
判定部21の設置台数を決定する。なお、既に述べたよ
うに、一次判定部3において部分情報が一致する確率は
低いので、二次判定部21の設置台数は一次判定部3の
設置台数よりも少なくすることができる。なお、この実
施の形態6による一致暗号データ検索装置の動作は、実
施の形態5による一致暗号データ検索装置と同様である
のでその説明を省略する。
【0058】以上のように、この実施の形態6によれ
ば、検索データの全体情報を用いて処理対象の探索表内
のレコードに対して一致検索を実施する二次判定部21
を複数備えるように構成したので、より多くの探索表に
対して一致検索の並列処理を実施することができるた
め、全体的な一致検索処理の一層の高速化を実現するこ
とができるという効果を奏する。
【0059】なお、この実施の形態6による一致暗号デ
ータ検索装置では、複数の二次判定部21を用いて全て
の探索表についての分割処理および分割後の管理を実施
することになる。このような機能を実現するためには、
図9に示されるように複数の二次判定部21が1台の記
憶部1を共有する構成をとることが可能であるととも
に、複数の二次判定部21がそれぞれ別個の記憶部1に
接続されるような構成をとることも可能である。
【0060】また、一致検索処理を実施する上での複数
の一次判定部3と複数の二次判定部21との対応関係に
ついては、それぞれの二次判定部21について当該二次
判定部21に対して割り当てられる一次判定部3を固定
することが可能である。さらに、複数の一次判定部3と
複数の二次判定部21との間が通信用バス31により接
続されていることに基づいて、一次判定部3の空き状態
に応じて各二次判定部21に対して割り当てる一次判定
部3を動的に決定する、いわゆる動的な負荷分散を実施
することも可能である。
【0061】実施の形態7.この発明の実施の形態7に
よる一致暗号データ検索装置(一致データ検索装置)
は、ビットマップデータをデータ圧縮してビットマップ
圧縮コードを作成するビットマップデータ圧縮手段を備
えることを特徴とする。このビットマップデータ圧縮手
段は、例えばレコード分割部2において実現されるビッ
トマップデータ作成手段に設けられるのが好適である。
図2に示されるように、ビットマップ用メモリ11の容
量は256Mビットであり、その中で“1”が書き込ま
れたメモリ要素は多くても16Kビットである。したが
って、ビットマップ用メモリ11内のメモリ要素に書き
込まれる値はほとんどが“0”である。この実施の形態
では、この事実を利用してビットマップデータを圧縮す
ることを特徴とする。例えば、実施の形態1において説
明されたビットマップ作成に係る第1の方法において
は、図3のステップST2でビットマップデータを作成
した後に、ビットマップデータに圧縮処理を施してビッ
トマップ圧縮コードを記憶部1に格納する。さらに、鍵
探索においては、図2に示されるロード回路12にビッ
トマップ圧縮コードをロードして、ロード回路12はビ
ットマップ圧縮コードの伸長処理を実施し、得られたビ
ットマップデータをビットマップ用メモリ11内へロー
ドする。
【0062】また、実施の形態1において説明されたビ
ットマップ作成に係る第2の方法においては、図4のス
テップST15でビットマップデータを作成した後に、
ビットマップデータに圧縮処理を施してビットマップ圧
縮コードをロード回路12に転送する。そして、ロード
回路12は、ビットマップ圧縮コードを伸長して、得ら
れたビットマップデータをビットマップ用メモリ11内
へロードする。なお、圧縮アルゴリズムとしては、ファ
クシミリ等で使用されているMH(モディファイド・ハ
フマン)符号等を使用することが可能である。
【0063】以上のように、この実施の形態7によれ
ば、ビットマップデータに圧縮処理を施した後に記憶部
1に格納することで、記憶部の記憶容量を削減すること
ができるという効果を奏する。また、ビットマップ圧縮
コードをロードデータとして転送するので、通信負荷を
軽減できるという効果を奏する。
【0064】実施の形態8.この発明の実施の形態8に
よる一致暗号データ検索装置(一致データ検索装置)
は、極めて簡単な圧縮・伸長アルゴリズムを用いてビッ
トマップデータをデータ圧縮またはデータ伸長する機能
を備えることを特徴とする。これは一致暗号データ検索
装置で取り扱うビットマップデータの大部分が値“0”
を占めて値“1”が極端に少ないという偏りを利用し
て、部分情報の存在を示す識別符号である値“1”のビ
ット間において連続する値“0”のビット数をエンコー
ドして値“1”の間の相対アドレス、すなわちインター
バルを表現するアルゴリズムを採用することで実現され
る。
【0065】図10はこの発明の実施の形態8による一
致暗号データ検索装置において使用されるビットマップ
圧縮コードの例を示す図である。図10におけるエンコ
ード結果に示されるように、ビットマップデータに対す
るビットマップ圧縮コードにおいては、固定長のコード
が必要数並べられて、最後に終端コードが付加される。
各コードは(I,V)なる形式のL+1ビットから構成
されて、Lビットで連続する値“0”のビット数を示す
インターバルIを表し、残りの1ビットでその直後にく
る値Vを表す。
【0066】インターバルIで示される値“0”を有す
る連続するビットの個数がLビットで表現できる数であ
る2L −1個を超える場合には、例えば(I,V)=
(2L−1,0)なるコードを用いて値“1”に代えて
一旦値“0”を書き込むこととする。そして、次のコー
ドでは、当該2L 番目の“0”の位置から連続する
“0”のビット数を算出して(I−(2L −1),1)
なるコードを作成する。また、I−(2L −1)が2L
−1を超える場合には、さらに“0”を書き込む(2 L
−1,0)なるコードを作成するとともに、その次には
(I−(2L −1)−(2L −1),1)なるコードを
作成する。以下、同様の手順を用いることで、任意の数
のインターバルの表現が可能となる。なお、終端コード
としては、使用されていないコードとしての(I,V)
=(0,0)を用いればよい。ここで、図10を用いて
具体的な例について説明すると、41はビットマップを
構成するビット列からなるビットマップデータ、42は
当該ビットマップデータを上記の規則に従ってエンコー
ドした際のビットマップ圧縮コードの10進表現(I,
V)、43はL=3とした際のビットマップ圧縮コード
の2進表現である。2進表現によるエンコード結果43
に示されるように、Iが2L −1より大きくなる3番目
のコード(I,V)=(8,1)は(111,0)およ
び(001,1)という2個の2進コードにより表現さ
れる。
【0067】なお、図2に示されるビットマップ用メモ
リ11については、インターバルIの最大値は部分情報
の重複を考慮しなければ256M−16K=228−16
Kであるので、Lのビット長は28ビットあれば充分で
ある。したがって、ビットマップ圧縮コード全体のビッ
ト長は(28+1)*16K=464Kビットとなる。
これはビットマップの容量である256Mビットと比較
して、極めて小さく圧縮されていることとなる。
【0068】上記の例はLのビット長として28ビット
を選択したものであるが、このような大きなビット長を
必ずしも選択する必要はない。例えば、ビット長Lは、
2つの識別符号“1”の間の平均距離を基準に定めるの
が好適である。図2に示されるビットマップ用メモリ1
1においては、平均的に256M/16K=16Kの値
“0”が連続することになるので、L=14と設定する
ことで、一様乱数的に値“1”が並ぶビットマップデー
タについて“0”が連続するビット列の半分程度は1つ
のコードのみで表現することが可能となる。さらに、L
=15とすれば、表現できるインターバルの長さは2倍
となるために、ほとんどの場合は“0”が連続するビッ
ト列を1つのコードのみで表現することが可能となる。
したがって、L=14またはL=15と設定すること
で、平均的なビットマップ圧縮コードの全長を大幅に短
縮することが可能となる。
【0069】以上のように、この実施の形態8によれ
ば、ビットマップデータの圧縮に際して値“1”のビッ
ト間において連続する値“0”のビット数に基づいてエ
ンコードを実施するように構成したので、特にビットマ
ップデータ中の値“1”の割合が少ない場合には、効率
的なデータ圧縮を実現することができてロードデータの
容量を小さくすることができるので、記憶容量の削減お
よび通信負荷の低減を実現できるという効果を奏する。
【0070】また、値“1”のビット間において連続す
る値“0”のビット数、すなわち値“1”のビット間の
インターバルを表すに際して、インターバル指示用のL
ビットで表現できる最大値である2L −1よりもインタ
ーバルIが大きな場合には、インターバルIを複数のL
ビットに基づいたコードで表現できるようにしたので、
インターバルIを表現するビット数Lをインターバルの
最大値を表現できるビット数Lmax よりも小さくするこ
とができるので、コードのビット長を短縮することがで
きるため、ロードデータの容量をさらに小さくすること
ができるという効果を奏する。
【0071】実施の形態9.この発明の実施の形態9に
よる一致暗号データ検索装置(一致データ検索装置)
は、処理済のビットマップに対応するビットマップデー
タ、および次の処理対象のビットマップに対応するビッ
トマップデータを検索して検出された識別符号“1”を
包含するワードについて、ビットマップ用メモリ上でワ
ード単位のデータのリセットおよびセットを実施するこ
とを特徴とする。既に述べたように、この実施の形態に
おいてもビットマップ用メモリ内のメモリ要素に書き込
まれる値はほとんどが“0”であることを利用する。
【0072】次に動作について説明する。第1に、処理
済のビットマップに対応するビットマップデータを検索
して識別符号である“1”を検出すると、ビットマップ
データ上で当該“1”を包含するワードを特定し、例え
ば図2に示されたビットマップ用メモリ11については
当該ワードを構成する32ビットのすべてのビットを識
別符号以外の値である“0”としたワードデータを当該
ワードに対して割り当てられたビットマップ用メモリ1
1上の適正位置に書き込む。
【0073】第2に、次の処理対象のビットマップに対
応するビットマップデータを検索して識別符号である
“1”を検出すると、ビットマップデータ上で当該
“1”を包含するワードを特定し、当該ワードについて
ビットマップデータに記載されたものと同じ内容のワー
ドデータを当該ワードに対して割り当てられたビットマ
ップ用メモリ11上の適正位置に書き込む。
【0074】なお、これらのワード単位でのデータの書
き込みを実施する選択的データ書き込み手段は、図2に
示されるロード回路12またはデータ書き込み機能を有
する他の制御回路により実現することができる。また、
初めてビットマップが作成される際には、ビットマップ
用メモリ11の全ビット(メモリ要素)に対して値
“0”をセットする、いわゆる初期リセットを実施する
のが好適である。さらに、この実施の形態では、検索対
象データの部分情報についての存在を示す識別符号とし
て“1”を用いているが、識別符号として“0”を用い
ても全く同じ作用効果が得られる。
【0075】以上のように、処理済ビットマップに係る
ワードデータのリセットおよび次の処理対象のビットマ
ップに係るワードデータのセットについてのワード単位
のデータの書き込みに関しては、1ワードに値“1”が
1つずつしか含まれない場合を想定したとしても、処理
済ビットマップのリセットに係るワード単位のデータの
書き込み回数は16K回、また次の処理対象のビットマ
ップのセットに係るワード単位のデータの書き込み回数
も16K回であるので、1回のビットマップ作成におけ
るワード単位の総書き込み回数は最大でも32K回とな
る。これはビットマップ用メモリ11のすべてのワード
に対して書き込みを実施した際の書き込み回数である8
M回と比較すると、非常に少ない回数となっている。ま
た、レコード分割部2でビットマップデートを「値
“1”を含むワードとそのアドレスとの組」として表現
して、一次判定部に当該データを転送すれば、データ転
送の負荷を低減することができる。さらに、このような
形式の前回のビットマップデータをそのまま一次判定部
で記憶しておけば、リセット処理も簡単に行える。
【0076】以上のように、この実施の形態9によれ
ば、処理済のビットマップに対応するビットマップデー
タを検索して検出された符号“1”を包含するワードデ
ータをビットマップ用メモリ上においてリセットすると
ともに、次の処理対象のビットマップに対応するビット
マップデータを検索して検出された符号“1”を包含す
るワードデータをビットマップ用メモリ上においてセッ
トする選択的データ書き込み手段を備えるように構成し
たので、ビットマップデータ全体をビットマップ用メモ
リに書き込む場合と比較して、ビットマップ用メモリへ
のデータ書き込み時間を大幅に短縮することができると
いう効果を奏する。
【0077】実施の形態10.この発明の実施の形態1
0による一致暗号データ検索装置(一致データ検索装
置)は、処理済のビットマップに対応するビットマップ
データをデータ圧縮したビットマップ圧縮コード、およ
び次の処理対象のビットマップに対応するビットマップ
データを圧縮したビットマップ圧縮コードを検索して検
出された符号“1”を包含するワードについて、ビット
マップ上でワード単位のデータのリセットおよびセット
を実施することを特徴とする。
【0078】次に動作について説明する。第1に、処理
済のビットマップに対応するビットマップ圧縮コードを
検索して識別符号である“1”を検出すると、ビットマ
ップデータにおいて当該“1”を包含するワードを導出
し、当該ワード内のビットをすべて識別符号以外の値で
ある“0”としたワードデータを当該ワードに対して割
り当てられたビットマップ用メモリ上の適正位置に書き
込む。
【0079】第2に、次の処理対象のビットマップに対
応するビットマップ圧縮コードを検索して識別符号であ
る“1”を検出すると、ビットマップデータにおいて当
該“1”を包含するワードを導出し、当該ワードについ
てビットマップデータ上に記載されたワードデータと同
じ内容のワードデータを当該ワードに対して割り当てら
れたビットマップ用メモリ上の適正位置に書き込む。
【0080】なお、これらのワード単位でのデータの書
き込みを実施する選択的データ書き込み手段は、図2に
示されるロード回路12またはデータ書き込み機能を有
する他の制御回路により実現することができる。また、
初めてビットマップが作成される際には、ビットマップ
用メモリの全ビット(メモリ要素)に対して値“0”を
セットする、いわゆる初期リセットを実施するのが好適
である。さらに、この実施の形態では、検索対象データ
の部分情報についての存在を示す識別符号として“1”
を用いているが、識別符号として“0”を用いても全く
同じ作用効果が得られる。
【0081】以上のように、この実施の形態10によれ
ば、処理済のビットマップに対応するビットマップ圧縮
コードを検索して検出された符号“1”を包含するワー
ドデータをビットマップ用メモリ上においてリセットす
るとともに、次の処理対象のビットマップに対応するビ
ットマップ圧縮コードを検索して検出された符号“1”
を包含するワードデータをビットマップ用メモリ上にお
いてセットする選択的データ書き込み手段を備えるよう
に構成したので、レコード分割部から一次判定部へのビ
ットマップデータの転送負荷を低減できるとともに、ビ
ットマップ用メモリへのデータ書き込み時間を短縮でき
るので、ビットマップの作成処理に係る所要時間を大幅
に短縮することができるという効果を奏する。
【0082】実施の形態11.この発明の実施の形態1
1による一致暗号データ検索装置(一致データ検索装
置)は、処理済のビットマップデータ等と次の処理対象
のビットマップデータ等とを比較して、識別符号が同じ
位置にあるワードについては当該ワードデータの書き込
みを省略することを特徴とする。
【0083】次に動作について説明する。ビットマップ
データを検索対象とする場合には、処理済のビットマッ
プに対応するビットマップデータと次の処理対象のビッ
トマップに対応するビットマップデータとを比較して、
1または複数の識別符号が同じ位置にあるワードについ
ては、ビットマップデータ上において当該ワードを特定
して、実施の形態9で説明した選択的データ書き込み手
段による当該ワードに係るデータ書き込みを省略する。
なお、このようなワードデータの書き込みを省略する書
き込み省略手段は、実施の形態9で説明した選択的デー
タ書き込み手段内に設けるのが好適である。
【0084】また、ビットマップ圧縮コードを検索対象
とする場合には、処理済のビットマップに対応するビッ
トマップ圧縮コードと次の処理対象のビットマップに対
応するビットマップ圧縮コードとを比較して、両ビット
マップ圧縮コードを伸長したデータ間で1または複数の
識別符号が同じ位置にあるワードについては、ビットマ
ップデータ上において当該ワードを特定して、実施の形
態10で説明した選択的データ書き込み手段による当該
ワードに係るデータ書き込みを省略する。なお、このよ
うなワードデータの書き込みを省略する書き込み省略手
段は、実施の形態10で説明した選択的データ書き込み
手段内に設けるのが好適である。
【0085】以上のように、この実施の形態11によれ
ば、処理済のビットマップに対応するビットマップデー
タまたはビットマップ圧縮コードと次の処理対象のビッ
トマップに対応するビットマップデータまたはビットマ
ップ圧縮コードとを比較して、1つまたは複数の符号
“1”が同じ位置にあるワードについては当該ワードデ
ータのビットマップ用メモリへの書き込みを省略するよ
うに構成したので、入れ替えが不必要なワードデータに
対する書き込み処理を実施する必要がなくなるため、ビ
ットマップ用メモリへのデータ書き込み時間をさらに短
縮することができるという効果を奏する。
【0086】以上、実施の形態1から実施の形態10に
おいては、説明を簡単にするために暗号鍵探索に使用さ
れる一致暗号データ検索装置を例にとって本願発明を説
明した。しかし、本願発明は、極めて大量のレコードか
らなるデータファイルから検索データに一致するデータ
を保持するレコードを探索するために、データファイル
を適当な容量の分割ファイルに分割して、各分割ファイ
ル毎に当該分割ファイルを構成するレコードに保持され
るデータの部分情報に基づいたビットマップを作成して
予備的な一致検索を実施することを特徴とする一致デー
タ検索装置に係るものである。したがって、TMTO法
に基づく上記の一致暗号データ検索装置は本願発明の範
疇に含まれる1つの実施態様にすぎない。さらに、本願
発明による一致データ検索装置は、住民データベースま
たは遺伝子データベース等の中から一致するデータを保
持するレコードの存否を判定する装置をもその範疇に含
むものである。
【0087】
【発明の効果】以上のように、この発明によれば、記憶
手段と、ファイルを適度な容量を有する分割ファイルに
分割する分割手段と、分割ファイルの各レコードに書き
込まれた検索対象データから部分情報を抽出する第1の
部分情報抽出手段と、分割ファイル内の各レコードに対
応する各部分情報毎に当該部分情報に相当するビット位
置を算出して当該ビット位置に識別符号を書き込んでビ
ットマップデータを作成するビットマップデータ作成手
段と、ビットマップを作成するビットマップ保持手段
と、検索データを保持する検索データ保持手段と、第1
の部分情報抽出手段と同じ処理手順を用いて検索データ
から部分情報を抽出する第2の部分情報抽出手段と、部
分情報間の一致検索結果を出力する予備検索結果出力手
段とを備えるように構成したので、処理対象の分割ファ
イルに検索データに一致するデータを保持するレコード
が存在しないこと、すなわち当該分割ファイルが「不一
致」であることを高速に検出することができるという効
果を奏する。特に、検索データが分割ファイルを構成す
るレコードに保持されたデータと一致する可能性が低い
場合には、部分情報が一致した検索データと分割ファイ
ルに含まれる各レコードとの間における全体情報を対象
とした一致検索に時間がかかったとしても、他の分割フ
ァイルに係る「不一致」の判定処理を高速で実施するこ
とができるので、全体的な一致検索処理を高速化するこ
とができるという効果を奏する。
【0088】この発明によれば、ファイルを適当な容量
に分割することで作成された複数の分割ファイルと、分
割ファイル毎に構成されるビットマップデータとをとも
に記憶する記憶手段を備えるように構成したので、一致
検索処理を実施するに際しては、記憶手段から分割ファ
イルおよびビットマップデータをともに取り出すととも
に、ビットマップデータをビットマップ保持手段にロー
ドするのみでビットマップを作成することができるの
で、一致検索処理実施時のビットマップ作成を高速化で
きるという効果を奏する。
【0089】この発明によれば、一致検索処理を実施す
る毎に、処理対象の分割ファイルからビットマップデー
タを作成するビットマップ作成手段を備えるように構成
したので、記憶手段にビットマップデータを格納する必
要がないため、記憶手段の記憶容量を節減できるという
効果を奏する。
【0090】この発明によれば、第1の部分情報抽出手
段および第2の部分情報抽出手段において、検索対象デ
ータおよび検索データの全体情報からハッシュ関数を用
いて部分情報を作成するように構成したので、異なる全
体情報に対応する部分情報の重複をできる限り回避する
ことができるので、部分情報間の一致検索において全体
情報が相互に一致していないにもかかわらず部分情報が
相互に一致する事象の数を低減できるため、一致検索処
理の高速化を実現することができるという効果を奏す
る。
【0091】この発明によれば、第1の部分情報抽出手
段および第2の部分情報抽出手段において、検索対象デ
ータおよび検索データの全体情報を表すビット列から所
定数の任意のビットを選択することで部分情報を抽出す
るように構成したので、第1および第2の部分情報抽出
手段を単純化できて装置構成の簡略化を実現することが
できるという効果を奏する。
【0092】この発明によれば、予備検索結果出力手段
により部分情報間の一致を示す信号が出力されると、検
索処理対象の分割ファイルを構成するレコードに書き込
まれたデータの全体情報と検索データの全体情報との間
の一致検索を実施する二次判定部を備えるように構成し
たので、検索データに一致するデータの存在の有無を確
実に断定することができるとともに、検索データに一致
するデータが記録されたレコードを特定することが可能
になるという効果を奏する。
【0093】この発明によれば、ビットマップ保持手段
と、検索データ保持手段と、第2の部分情報抽出手段
と、予備検索結果出力手段とを有して構成される一次判
定部を複数備えるように構成したので、個々に独立に一
次検索を実施することが可能である分割ファイルに対し
て一致検索の並列処理を実施して一致検索処理の高速化
を実現することができるという効果を奏する。
【0094】この発明によれば、予備検索結果出力手段
により部分情報間の一致を示す信号が出力されると、検
索処理対象の分割ファイルを構成するレコードに書き込
まれたデータの全体情報と検索データの全体情報との間
の一致検索を実施する二次判定部を複数備えるように構
成したので、より多くの分割ファイルに対して一致検索
の並列処理を実施することができるため、全体的な一致
検索処理の一層の高速化を実現することができるという
効果を奏する。
【0095】この発明によれば、ビットマップデータ作
成手段が、ビットマップデータをデータ圧縮してビット
マップ圧縮コードを作成するビットマップデータ圧縮手
段を備えるように構成したので、圧縮されたビットマッ
プ圧縮コードをロードデータとして転送するので、通信
負荷を軽減することができるという効果を奏する。
【0096】この発明によれば、記憶手段が複数の分割
ファイルと該分割ファイル毎に構成されるビットマップ
圧縮コードとをともに記憶するように構成したので、記
憶手段の記憶容量を節減することができるという効果を
奏する。
【0097】この発明によれば、ビットマップデータを
構成するビット列を識別符号から次の識別符号までの間
を分割単位として、各分割単位毎に、識別符号間で連続
する識別符号以外のビットの数Iと、連続する識別符号
以外のビットの直後にくる値Vとを用いて、各分割単位
に係るビット列を(I,V)でコード化してビットマッ
プデータに対するデータ圧縮を実施するビットマップデ
ータ圧縮手段を備えるように構成したので、特にビット
マップデータ中の識別符号の割合が小さい場合には、効
率的なデータ圧縮を実現することができ、さらにロード
データの容量を小さくすることができるので、記憶容量
の節減および通信負荷の低減を実現できるという効果を
奏する。
【0098】この発明によれば、処理済のビットマップ
に対応するビットマップデータを検索して検出された識
別符号を包含するワードに係るワードデータをビットマ
ップ保持手段上においてリセットするとともに、次の処
理対象のビットマップに対応するビットマップデータを
検索して検出された識別符号を包含するワードに係るワ
ードデータをビットマップ保持手段上にセットするよう
に、ビットマップ保持手段に対するワード単位の選択的
なデータ書き込みを実施する選択的データ書き込み手段
を備えるように構成したので、ビットマップデータ全体
をビットマップ用メモリに書き込む場合と比較して、ビ
ットマップ用メモリへのデータ書き込み時間を大幅に短
縮することができるという効果を奏する。
【0099】この発明によれば、処理済のビットマップ
に対応するビットマップ圧縮コードを検索して検出され
た識別符号を包含するワードデータをビットマップ上に
おいてリセットするとともに、次の処理対象のビットマ
ップに対応するビットマップ圧縮コードを検索して検出
された識別符号を包含するワードデータをビットマップ
上においてセットする選択的データ書き込み手段を備え
るように構成したので、レコード分割部から一次判定部
へのビットマップデータの転送負荷を低減できるととも
に、ビットマップ用メモリへのデータ書き込み時間を短
縮できるので、ビットマップの作成処理に係る所要時間
を大幅に短縮することができるという効果を奏する。
【0100】この発明によれば、選択的データ書き込み
手段が、処理済のビットマップに対応するビットマップ
データまたはビットマップ圧縮コードと次の処理対象の
ビットマップに対応するビットマップデータまたはビッ
トマップ圧縮コードとを比較して、識別符号が同じ位置
にあるワードについては当該ワードデータの書き込みを
省略する書き込み省略手段を備えるように構成したの
で、入れ替えが不必要なワードデータに対する書き込み
処理を実施する必要がなくなるため、ビットマップ用メ
モリへのデータ書き込み時間をさらに短縮することがで
きるという効果を奏する。
【図面の簡単な説明】
【図1】 この発明の実施の形態1による一致暗号デー
タ検索装置の構成を示すブロック図である。
【図2】 この発明の実施の形態1によるビットマップ
検索部の構成を示す図である。
【図3】 ビットマップ作成に係る第1の方法を示すフ
ローチャートである。
【図4】 ビットマップ作成に係る第2の方法を示すフ
ローチャートである。
【図5】 この発明の実施の形態2による部分情報抽出
部の構成を示す図である。
【図6】 この発明の実施の形態3による部分情報抽出
部の構成を示す図である。
【図7】 この発明の実施の形態4による一致暗号デー
タ検索装置の構成を示すブロック図である。
【図8】 この発明の実施の形態5による一致暗号デー
タ検索装置の構成を示すブロック図である。
【図9】 この発明の実施の形態6による一致暗号デー
タ検索装置の構成を示すブロック図である。
【図10】 この発明の実施の形態8による一致暗号デ
ータ検索装置において使用される圧縮コードの例を示す
図である。
【図11】 TMTO法による変形暗号化方式を示す図
である。
【図12】 TMTO法における探索表作成方式を示す
図である。
【図13】 TMTO法における鍵探索方式を示す図で
ある。
【符号の説明】
1 記憶部(記憶手段)、2 レコード分割部(分割手
段、第1の部分情報抽出手段、ビットマップデータ作成
手段)、3 一次判定部、4 ビットマップ検索部(予
備検索結果出力手段)、5 初期設定部、6 TMTO
変形操作部、7比較対象レジスタ(検索データ保持手
段)、11 ビットマップ用メモリ(ビットマップ保持
手段)、12 ロード回路(選択的データ書き込み手
段)、13部分情報抽出部(第2の部分情報抽出手
段)、14 セレクタ、21 二次判定部、22 比較
表、23 制御部、31 通信用バス、41 ビットマ
ップ、42,43 エンコード結果。

Claims (14)

    【特許請求の範囲】
  1. 【請求項1】 大量のレコードの集合体としてのデータ
    ファイルから検索データに一致するデータが書き込まれ
    たレコードを探索する一致データ検索装置において、 大量のレコードの集合体としてのデータファイルを記憶
    する記憶手段と、 該記憶手段に記憶されたファイルを適度な容量を有する
    分割ファイルに分割する分割手段と、 分割ファイルを構成する各レコードに書き込まれた検索
    対象データ毎に、当該検索対象データの全体情報から所
    定の処理手順に基づいて部分情報を抽出する第1の部分
    情報抽出手段と、 分割ファイル毎に、当該分割ファイルを構成する各レコ
    ードに対応する各部分情報毎に当該部分情報に相当する
    ビット位置を算出して当該ビット位置に他のビット位置
    とは異なる識別符号を書き込んでビットマップデータを
    作成するビットマップデータ作成手段と、 ビットマップデータを記憶してビットマップを作成する
    ビットマップ保持手段と、 前記記憶手段に記憶されたファイル中のデータと比較さ
    れる検索データを保持する検索データ保持手段と、 該検索データ保持手段に保持された検索データの全体情
    報から前記第1の部分情報抽出手段におけるのと同じ処
    理手順に基づいて部分情報を抽出する第2の部分情報抽
    出手段と、 該第2の部分情報抽出手段により抽出された部分情報に
    相当する前記ビットマップ上のビット位置を算出して当
    該ビット位置に識別符号が書き込まれているか否かを検
    出して、部分情報間の一致検索結果を出力する予備検索
    結果出力手段とを備えることを特徴とする一致データ検
    索装置。
  2. 【請求項2】 ファイルを適当な容量毎に分割すること
    で作成された複数の分割ファイルと、前記分割ファイル
    毎に構成されるビットマップデータとをともに記憶する
    記憶手段を備えることを特徴とする請求項1記載の一致
    データ検索装置。
  3. 【請求項3】 部分情報間の一致検索が必要となる毎
    に、処理対象の分割ファイルからビットマップデータを
    作成するビットマップデータ作成手段を備えることを特
    徴とする請求項1記載の一致データ検索装置。
  4. 【請求項4】 分割ファイルを構成する各レコードに書
    き込まれた検索対象データ毎に、当該検索対象データの
    全体情報からハッシュ関数を用いて部分情報を作成する
    第1の部分情報抽出手段と、 検索データ保持手段に保持された検索データの全体情報
    から前記第1の部分情報抽出手段におけるのと同じハッ
    シュ関数を用いて部分情報を作成する第2の部分情報抽
    出手段とを備えることを特徴とする請求項1記載の一致
    データ検索装置。
  5. 【請求項5】 分割ファイルを構成する各レコードに書
    き込まれた検索対象データ毎に、当該検索対象データの
    全体情報を表すビット列から所定数の任意のビットを選
    択することで部分情報を抽出する第1の部分情報抽出手
    段と、 検索データ保持手段に保持された検索データの全体情報
    を表すビット列から所定数の前記第1の部分情報抽出手
    段で抽出したのと同じ位置にあるビットを選択すること
    で部分情報を抽出する第2の部分情報抽出手段とを備え
    ることを特徴とする請求項1記載の一致データ検索装
    置。
  6. 【請求項6】 予備検索結果出力手段により部分情報間
    の一致を示す信号が出力されると、検索処理対象の分割
    ファイルを構成するレコードに書き込まれたデータの全
    体情報と検索データの全体情報との間の一致検索を実施
    する二次判定部を備えることを特徴とする請求項1記載
    の一致データ検索装置。
  7. 【請求項7】 処理対象のビットマップデータを記憶す
    るビットマップ保持手段と、検索データを保持する検索
    データ保持手段と、第1の部分情報抽出手段におけるの
    と同じ処理手順に基づいて検索データの全体情報から部
    分情報を抽出する第2の部分情報抽出手段と、部分情報
    間の一致検索結果を出力する予備検索結果出力手段とを
    有して構成される一次判定部を複数備えることを特徴と
    する請求項1記載の一致データ検索装置。
  8. 【請求項8】 予備検索結果出力手段により部分情報間
    の一致を示す信号が出力されると、検索処理対象の分割
    ファイルを構成するレコードに書き込まれたデータの全
    体情報と検索データの全体情報との間の一致検索を実施
    する二次判定部を複数備えることを特徴とする請求項7
    記載の一致データ検索装置。
  9. 【請求項9】 ビットマップデータ作成手段が、ビット
    マップデータをデータ圧縮してビットマップ圧縮コード
    を作成するビットマップデータ圧縮手段を備えることを
    特徴とする請求項1記載の一致データ検索装置。
  10. 【請求項10】 記憶手段が、複数の分割ファイルと、
    該分割ファイル毎にビットマップデータ圧縮手段により
    作成されるビットマップ圧縮コードとをともに記憶する
    ことを特徴とする請求項9記載の一致データ検索装置。
  11. 【請求項11】 ビットマップデータを構成するビット
    列を識別符号から次の識別符号までの間を分割単位とし
    て、各分割単位毎に、識別符号間で連続する識別符号以
    外の値を有するビットの数Iと、連続する識別符号以外
    の値を有するビットの直後にくる値Vとを用いて、各分
    割単位に係るビット列を(I,V)でコード化して、ビ
    ットマップデータに対するデータ圧縮を実施するビット
    マップデータ圧縮手段を備えることを特徴とする請求項
    9記載の一致データ検索装置。
  12. 【請求項12】 処理済のビットマップに対応するビッ
    トマップデータを検索して検出された識別符号を包含す
    るワードに係るワードデータをビットマップ保持手段上
    においてリセットするとともに、次の処理対象のビット
    マップに対応するビットマップデータを検索して検出さ
    れた識別符号を包含するワードに係るワードデータをビ
    ットマップ保持手段上にセットするように、ビットマッ
    プ保持手段に対するワード単位の選択的なデータ書き込
    みを実施する選択的データ書き込み手段を備えることを
    特徴とする請求項1記載の一致データ検索装置。
  13. 【請求項13】 処理済のビットマップに対応するビッ
    トマップ圧縮コードを検索して検出された識別符号を包
    含するワードに係るワードデータをビットマップ保持手
    段上においてリセットするとともに、次の処理対象のビ
    ットマップに対応するビットマップ圧縮コードを検索し
    て検出された識別符号を包含するワードに係るワードデ
    ータをビットマップ保持手段上にセットするように、ビ
    ットマップ圧縮コードに対する検索を基にしてビットマ
    ップ保持手段に対するワード単位の選択的なデータ書き
    込みを実施する選択的データ書き込み手段を備えること
    を特徴とする請求項1記載の一致データ検索装置。
  14. 【請求項14】 選択的データ書き込み手段が、処理済
    のビットマップに対応するビットマップデータまたはビ
    ットマップ圧縮コードと次の処理対象のビットマップに
    対応するビットマップデータまたはビットマップ圧縮コ
    ードとを比較して、識別符号が同じ位置にあるワードに
    ついては当該ワードデータの書き込みを省略する書き込
    み省略手段を備えることを特徴とする請求項12または
    請求項13記載の一致データ検索装置。
JP2000029343A 2000-02-07 2000-02-07 一致データ検索装置 Pending JP2001222537A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000029343A JP2001222537A (ja) 2000-02-07 2000-02-07 一致データ検索装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000029343A JP2001222537A (ja) 2000-02-07 2000-02-07 一致データ検索装置

Publications (1)

Publication Number Publication Date
JP2001222537A true JP2001222537A (ja) 2001-08-17

Family

ID=18554617

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000029343A Pending JP2001222537A (ja) 2000-02-07 2000-02-07 一致データ検索装置

Country Status (1)

Country Link
JP (1) JP2001222537A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520113A (ja) * 2003-12-29 2007-07-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 移動通信システムにおける自動再送要求のためのフィードバックメッセージ生成方法
US7743231B2 (en) 2007-02-27 2010-06-22 International Business Machines Corporation Fast sparse list walker
JP2015094944A (ja) * 2013-11-08 2015-05-18 韓國電子通信研究院Electronics and Telecommunications Research Institute 暗号化されたファイルを復号化する装置およびその方法
JP2016118874A (ja) * 2014-12-19 2016-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ビットを選択する所定位置を変更することでハッシュ関数を1つ以上生成することが可能なハッシュ値を計算する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム
CN113688410A (zh) * 2021-08-20 2021-11-23 山东云海国创云计算装备产业创新中心有限公司 一种数据检索方法、装置、fpga及介质

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007520113A (ja) * 2003-12-29 2007-07-19 エレクトロニクス アンド テレコミュニケーションズ リサーチ インスチチュート 移動通信システムにおける自動再送要求のためのフィードバックメッセージ生成方法
US7743231B2 (en) 2007-02-27 2010-06-22 International Business Machines Corporation Fast sparse list walker
JP2015094944A (ja) * 2013-11-08 2015-05-18 韓國電子通信研究院Electronics and Telecommunications Research Institute 暗号化されたファイルを復号化する装置およびその方法
JP2016118874A (ja) * 2014-12-19 2016-06-30 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ビットを選択する所定位置を変更することでハッシュ関数を1つ以上生成することが可能なハッシュ値を計算する方法、並びに、その為のコンピュータ及びコンピュータ・プログラム
CN113688410A (zh) * 2021-08-20 2021-11-23 山东云海国创云计算装备产业创新中心有限公司 一种数据检索方法、装置、fpga及介质

Similar Documents

Publication Publication Date Title
US6145012A (en) Apparatus and method for efficiently updating files in computer networks
JP3900435B2 (ja) データパケットのルーティング方法およびルーティング装置
JP3810425B2 (ja) 改竄検出用データ生成方法、および改竄検出方法及び装置
KR100471738B1 (ko) 데이타의암호화방법및장치
JP2005527150A (ja) ブロックサイファの実施におけるs−ボックス暗号化
US8799239B2 (en) Method, apparatus and computer program product for performing a query using a decision diagram
US20090319547A1 (en) Compression Using Hashes
US8402282B2 (en) Method and device for encrypting and decrypting digital data
WO2006068152A1 (ja) 鍵情報生成方法
CN115941598B (zh) 一种流表半卸载方法、设备及介质
US20150288382A1 (en) Method and system
JP2001222537A (ja) 一致データ検索装置
EP1716663A1 (en) Methods for generating identification values for identifying electronic messages
US20170353300A1 (en) Data processing apparatus, method for processing data, and medium
CN116894273B (zh) 基于异或和求余的文件加密方法、解密方法、设备及介质
US20150161158A1 (en) Method of compressing compression target data, method of decompressing data in file, and system
US7256715B1 (en) Data compression using dummy codes
JP2017028374A (ja) 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法
CN116683914A (zh) 数据压缩方法、装置和系统
US8244677B2 (en) Focal point compression method and apparatus
JP4614732B2 (ja) デコード装置
JP2016134808A (ja) データ圧縮プログラム、データ復元プログラム、データ圧縮装置、及びデータ復元装置
JP4864456B2 (ja) 改竄検出用データ生成方法
JP6135788B2 (ja) 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法、伸張装置およびデータ転送システム
CN115442024B (zh) 基于混沌的MapReduce数据压缩的信息保护方法