JP5274271B2 - 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 - Google Patents
検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 Download PDFInfo
- Publication number
- JP5274271B2 JP5274271B2 JP2009007892A JP2009007892A JP5274271B2 JP 5274271 B2 JP5274271 B2 JP 5274271B2 JP 2009007892 A JP2009007892 A JP 2009007892A JP 2009007892 A JP2009007892 A JP 2009007892A JP 5274271 B2 JP5274271 B2 JP 5274271B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- index
- source
- integer
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
Description
秘匿検索には、検索に用いるキーワードをあらかじめ定めて索引キーワードとし、これを暗号化したものに対して、検索キーワードを指定して検索を行い、索引キーワードと検索キーワードとが一致するものを抽出する方式がある。
しかし、この方式では、どのキーワードが一致したかすべてわかってしまうので、暗号方式としての安全性が低くなる可能性がある。
この発明は、例えば、上記のような課題を解決するためになされたものであり、検索実行時にどのキーワードが一致したかについての情報をできるだけ隠蔽することにより、暗号方式としての安全性を高めることを目的とする。
索引暗号化装置と、検索暗号化装置と、検索装置とを有し、
上記索引暗号化装置は、データを記憶する記憶装置と、データを処理する処理装置と、索引記憶部と、索引暗号化部とを有し、
上記索引記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の索引データを記憶し、
上記索引暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記索引記憶部が記憶した索引データを暗号化して、n個の暗号化索引データとし、
上記検索暗号化装置は、データを記憶する記憶装置と、データを処理する処理装置と、検索記憶部と、多項式値算出部と、検索暗号化部とを有し、
上記検索記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数に対応するn個の検索データを記憶し、
上記多項式値算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、(d−1)次の一変数多項式(dは1以上n以下の整数。)に上記整数を代入した値を算出して、n個の多項式値とし、
上記検索暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索記憶部が記憶した検索データと、上記多項式値算出部が算出した多項式値との組を暗号化して、n個の暗号化検索データとし、
上記検索装置は、データを処理する処理装置と、データを記憶する記憶装置と、暗号化索引記憶部と、暗号化検索記憶部と、判定対象選択部と、補間係数値算出部と、写像算出部と、比較算出部と、判定部とを有し、
上記暗号化索引記憶部は、上記記憶装置を用いて、上記索引暗号化装置が暗号化したn個の暗号化索引データを記憶し、
上記暗号化検索記憶部は、上記記憶装置を用いて、上記検索暗号化装置が暗号化したn個の暗号化検索データを記憶し、
上記判定対象選択部は、上記処理装置を用いて、1以上n以下のn個の整数のなかからd個の整数を選択して、d個の判定対象整数とし、
上記補間係数値算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数に基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値とし、
上記写像算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記暗号化索引記憶部が記憶した暗号化索引データと、上記暗号化検索記憶部が記憶した暗号化検索データと、上記補間係数値算出部が算出した補間係数値との組を写像して、d個の写像データとし、
上記比較算出部は、上記処理装置を用いて、上記写像算出部が写像したd個の写像データに基づいて、比較データを算出し、
上記判定部は、上記処理装置を用いて、上記比較算出部が算出した比較データに基づいて、上記判定対象選択部が選択したd個の判定対象整数について、上記索引データと、上記検索データとが一致するか否かを判定することを特徴とする。
実施の形態1について、図1〜図12を用いて説明する。
検索システム800は、復号装置810、暗号化装置820、サーバ装置830を有する。
暗号化装置820は、データ本体(平文データ)とデータ本体をキーワード検索するための索引とを暗号化して、サーバ装置830に送る。サーバ装置830は、暗号化装置820から送られたデータ本体や索引を復号することができない。サーバ装置830は、暗号化されたデータ本体と索引とを、暗号化されたまま蓄積する。復号装置810は、キーワード検索を実行するための検索文を暗号化して、サーバ装置830に送る。サーバ装置830は、復号装置810から送られた検索文を復号することができない。サーバ装置830は、暗号化されたままの検索文により、暗号化されたまま蓄積した索引を検索し、ヒットしたか否かを判定して、検索結果を返す。サーバ装置830は、復号装置810からの要求により、検索にヒットした索引に対応するデータ本体を復号装置810に送る。復号装置810は、サーバ装置830から送られたデータ本体を復号して、復号したデータ本体を取得する。
1つのデータ本体に対して、所定の数(以下「索引数n」と呼ぶ。)の索引が付けられる。例えば、画像データに対しては、位置や大きさなどを正規化した上で各ピクセルの値を索引とする。電子メールに対しては、差出人や日付などを索引とする。データベースに対しては、各フィールドのデータを索引とする。
検索条件は、閾値dと、各索引に対応するデータとを指定する。各索引の内容と、その索引に対して指定したデータとが一致する数が閾値d以上である場合に、ヒットしたと判定される。例えば、画像データであれば、閾値として指定した数以上のピクセルの値が一致するものがヒットするので、類似する画像を検索することができる。
なお、指定したデータが異なる位置の索引と一致しても、それは一致したものとは数えない。例えば、電子メールの差出人を検索するために指定したデータが、電子メールの送信先と一致しても、一致したとは数えない。
設定装置100は、索引や検索文を暗号化したり、検索したりするために必要なパラメータを設定する。設定装置100は、設定したパラメータの一部(以下「公開パラメータ」と呼ぶ。)を、検索システム800内で公開し、他の一部(以下「秘密パラメータ」と呼ぶ。)を、検索暗号化装置300に対して秘密裡に通知する。
検索暗号化装置300は、設定装置100が設定した秘密パラメータ(秘密情報)を秘密裡に保持する。検索暗号化装置300は、検索条件を入力し、秘密パラメータや公開パラメータ(公開情報)を用いて、検索文を暗号化する。暗号化された検索文(以下「暗号化検索データ」と呼ぶ。)は、サーバ装置830に対して通知される。
データ復号装置860は、サーバ装置830から通知されたデータ本体を復号する。
索引暗号化装置200は、設定装置100が設定した公開パラメータを用いて、索引を暗号化する。
データ暗号化装置840は、データ本体を暗号化する。なお、データ暗号化装置840がデータ本体を暗号化し、データ復号装置860が復号する暗号方式は、既存の公開鍵暗号方式や共通鍵暗号方式などであってもよい。
暗号化された索引(以下「暗号化索引データ」と呼ぶ。)と暗号化されたデータ本体とは組として、サーバ装置830に対して通知される。
検索装置400は、暗号化装置820から通知された暗号化索引データを蓄積し、復号装置810から通知された暗号化検索データにより、検索を実行する。
暗号化データ記憶装置850は、暗号化装置820から通知されたデータ本体を暗号化されたまま蓄積する。
復号装置810、暗号化装置820、サーバ装置830は、システムユニット910、CRT(Cathode・Ray・Tube)やLCD(液晶)の表示画面を有する表示装置901、キーボード902(Key・Board:K/B)、マウス903、FDD904(Flexible・Disk・Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。
システムユニット910は、コンピュータであり、ファクシミリ機932、電話器931とケーブルで接続され、また、ローカルエリアネットワーク942(LAN)、ゲートウェイ941を介してインターネット940に接続されている。
復号装置810、暗号化装置820、サーバ装置830は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、通信装置915、表示装置901、キーボード902、マウス903、FDD904、CDD905、プリンタ装置906、スキャナ装置907、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。通信装置915、キーボード902、スキャナ装置907、FDD904などは、入力部、入力装置の一例である。また、通信装置915、表示装置901、プリンタ装置906などは、出力部、出力装置の一例である。
磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
ファイル群924には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPUの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD(Digital・Versatile・Disk)等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
設定記憶部110は、磁気ディスク装置920を用いて、あらかじめ、検索システム800の基本設定を表わすパラメータを記憶している。設定記憶部110が記憶するパラメータは、あらかじめ定められているものであってもよいし、設定装置100が設定したものであってもよい。
検索システム800では、三つの群G1,G2,G3を暗号演算に用いる。三つの群G1,G2,G3はいずれも、離散対数問題を解くことが困難な群である。なお、群G1と群G2とは、同一の群であってもよい。三つの群G1,G2,G3の位数は、いずれも素数pである。群G1の元と群G2の元との組を群G3の元へ写すペアリング写像e:G1×G2→G3が定義されていて、CPU911を用いて、計算可能である。群G1の元gと群G2の元hとの組をペアリング写像eで写した群G3の元を「e(g,h)」と記述する。ペアリング写像eは、双線形であり、非縮退である。すなわち、群G1の任意の元g、群G2の任意の元h、任意の整数a,bについて、次の式が成立する(双線形性)。
第一生成元記憶部111は、磁気ディスク装置920を用いて、群G1の生成元g1を記憶する。第二生成元記憶部112は、磁気ディスク装置920を用いて、群G2の生成元g2を記憶する。第三生成元記憶部113は、磁気ディスク装置920を用いて、群G3の生成元g3を記憶する。索引数記憶部115は、磁気ディスク装置920を用いて、索引数nを記憶する。なお、索引数nは、1以上の整数である。
秘密整数生成部131は、CPU911を用いて、1以上p未満の整数をランダムに生成する。秘密整数生成部131は、CPU911を用いて、生成した整数を秘密整数yとして出力する。
秘密乱数生成部132は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、1以上p未満の整数を1つずつランダムに生成する。秘密乱数生成部132は、CPU911を用いて、生成したn個の整数を秘密乱数ui(iは1以上n以下の整数。)として出力する。
公開元算出部141は、CPU911を用いて、第三生成元記憶部113が記憶した群G3の生成元g3と、秘密整数生成部131が出力した秘密整数yとを入力する。公開元算出部141は、CPU911を用いて、入力した生成元g3と秘密整数yとに基づいて、元g3のy乗である群G3の元g3 yを算出する。公開元算出部141は、CPU911を用いて、算出した元を、公開元Yとして出力する。
公開乱数元算出部142は、CPU911を用いて、第一生成元記憶部111が記憶した群G1の生成元g1と、秘密乱数生成部132が出力したn個の秘密乱数uiとを入力する。公開乱数元算出部142は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、生成元g1と、対応する秘密乱数uiとに基づいて、元g1のui乗である群G1の元[g1^ui]を算出する。公開乱数元算出部142は、CPU911を用いて、算出したn個の元を公開乱数元Ui(iは1以上n以下の整数。)として出力する。
公開元出力部151は、CPU911を用いて、公開元算出部141が出力した公開元Yを入力する。公開元出力部151は、CPU911を用いて、入力した公開元Yを外部に出力する。
公開乱数元出力部152は、CPU911を用いて、公開乱数元算出部142が出力したn個の公開乱数元Uiを入力する。公開乱数元出力部152は、CPU911を用いて、入力したn個の公開乱数元Uiを外部に出力する。
群G1及び群G3は、離散対数問題を解くことが困難な群であるから、公開元Y及び公開乱数元Uiを公開しても、秘密整数y及び秘密乱数uiを第三者が知ることはできない。
検索暗号化装置300は、設定記憶部310、秘密記憶部320、検索条件入力部330、閾値記憶部341、多項式係数生成部342、多項式係数記憶部343、多項式値算出部344、検索変換部352、検索整数記憶部353、検索元算出部360、暗号化検索出力部370を有する。
第二生成元記憶部312は、磁気ディスク装置920を用いて、群G2の生成元g2を記憶する。索引数記憶部315は、磁気ディスク装置920を用いて、索引数nを記憶する。
秘密整数記憶部321は、耐タンパ性のある記憶装置を用いて、設定装置100が生成した秘密整数yを記憶する。秘密乱数記憶部323は、耐タンパ性のある記憶装置を用いて、設定装置100が生成したn個の秘密乱数uiを記憶する。
閾値入力部331は、キーボード902などの入力装置を用いて、閾値dを入力する。閾値入力部331は、CPU911を用いて、入力した閾値dを出力する。
検索入力部332は、キーボード902などの入力装置を用いて、1以上n以下のn個の整数それぞれについて、任意の長さの文字列を入力する。検索入力部332は、CPU911を用いて、入力したn個の文字列を検索文字列ωi(iは1以上n以下の整数。)として出力する。
なお、ある番号の索引を検索の対象としない場合には、検索入力部332は、その整数についての検索文字列ωiを入力しない。上記の例において、「性別」を不問としたい場合には、検索入力部332は、2番目の検索文字列ω2を入力しない。その場合、その番号の索引が検索文字列と一致することはないので、閾値入力部331は、閾値dとして1つ少ない閾値を入力する。
具体的には、多項式値算出部344は、CPU911を用いて、1以上d−1以下の(d−1)個の整数jそれぞれについて、整数iのj乗を算出し、算出した整数ijと、多項式係数ajとの積(aj・ij)を算出する。多項式値算出部344は、CPU911を用いて、算出した(d−1)個の積(aj・ij)と、秘密整数yとの総和[Σ(aj・ij)+y]を算出して、多項式値f(i)とする。多項式値算出部344は、これを1以上n以下のn個の整数iについて繰り返す。
写像Hは、任意の長さの文字列を1以上p未満の整数に写す写像である。写像Hは、衝突耐性を有する。すなわち、任意の二つの文字列について、写像Hにより写した整数が等しくなる確率が極めて低い。例えば、検索変換部352は、写像Hとして、ハッシュ関数を用いる。あるいは、検索変換部352は、ハッシュ関数に、検索文字列ωiの番号である整数iと検索文字列ωiとを結合した文字列[i‖ωi]を入力する構成であってもよいし、ハッシュ関数の出力の逆数や、ハッシュ関数の出力の定数倍などを、写像Hにより写した整数とする構成であってもよい。
指数算出部361は、CPU911を用いて、秘密乱数記憶部323が記憶したn個の秘密乱数uiと、多項式値算出部344が出力したn個の多項式値f(i)と、検索整数記憶部353が記憶したn個の検索整数ηiとを入力する。指数算出部361は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する秘密乱数uiと、対応する多項式値f(i)と、対応する検索整数ηiとに基づいて、秘密乱数uiと検索整数ηiとの積で、多項式値f(i)を割った商f(i)/(ui・ηi)(iは1以上n以下の整数。)を算出する。指数算出部361は、CPU911を用いて、算出したn個の商を出力する。
累乗部366は、CPU911を用いて、第二生成元記憶部312が記憶した群G2の生成元g2と、指数算出部361が出力したn個の商f(i)/(ui・ηi)とを入力する。累乗部366は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、生成元g2と、対応する商f(i)/(ui・ηi)とに基づいて、元g2のf(i)/(ui・ηi)乗である群G2の元を算出する。累乗部366は、CPU911を用いて、算出したn個の元を検索元Tiとして出力する。
閾値出力部371は、CPU911を用いて、閾値記憶部341が記憶した閾値dを入力する。閾値出力部371は、CPU911を用いて、入力した閾値dを外部に出力する。
検索元出力部372は、CPU911を用いて、累乗部366が出力したn個の検索元Tiを入力する。検索元出力部372は、CPU911を用いて、入力したn個の検索元Tiを外部に出力する。
索引暗号化装置200は、設定記憶部210、索引入力部221、索引変換部223、索引整数記憶部224、索引乱数生成部230、判定元算出部240、索引元算出部250、暗号化索引出力部260を有する。
索引数記憶部215は、磁気ディスク装置920を用いて、索引数nを記憶する。公開元記憶部216は、磁気ディスク装置920を用いて、設定装置100が設定した公開元Yを記憶する。公開乱数元記憶部217は、磁気ディスク装置920を用いて、設定装置100が設定したn個の公開乱数元Uiを記憶する。
索引変換部223は、CPU911を用いて、索引入力部221が記憶したn個の索引文字列wiを入力する。索引変換部223は、CPU911を用いて、入力したn個の索引文字列wiそれぞれについて、写像Hにより、索引文字列wiを写像した整数を算出する。索引変換部223は、CPU911を用いて、算出したn個の整数を索引整数hi(iは1以上n以下の整数。)として出力する。
写像Hは、検索変換部352が用いる写像と同じ写像であり、衝突耐性を有する。したがって、索引文字列wiと検索文字列ωiとが一致する場合、索引整数hiと検索整数ηiとは等しく、索引文字列wiと検索文字列ωiとが一致しない場合、索引整数hiと検索整数ηiとは等しくない。
索引整数記憶部224(索引記憶部)は、CPU911を用いて、索引変換部223が出力したn個の索引整数hiを入力する。索引整数記憶部224は、磁気ディスク装置920を用いて、入力したn個の索引整数hi(索引データ)を記憶する。
累乗部242は、CPU911を用いて、公開元記憶部216が記憶した公開元Yと、索引乱数生成部230が出力した索引乱数sとを入力する。累乗部242は、CPU911を用いて、入力した公開元Yと索引乱数sとに基づいて、元Yのs乗である群G3の元Ysを算出する。累乗部242は、CPU911を用いて、算出した元Ysを判定元E’として出力する。
ここで、公開元Yは、元g3のy乗であるから、判定元E’は、元g3の(s・y)乗である。
指数算出部251は、CPU911を用いて、索引整数記憶部224が記憶したn個の索引整数hiと、索引乱数生成部230が出力した索引乱数sとを入力する。指数算出部251は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、索引乱数sと、対応する索引整数hiとに基づいて、索引乱数sと索引整数hiとの積s・hiを算出する。指数算出部251は、CPU911を用いて、算出したn個の積s・hiを出力する。
累乗部253は、CPU911を用いて、公開乱数元記憶部217が記憶したn個の公開乱数元Uiと、指数算出部251が出力したn個の積s・hiとを入力する。累乗部253は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する公開乱数元Uiと、対応する積s・hiとに基づいて、元Uiの(s・hi)乗である群G2の元を算出する。累乗部253は、CPU911を用いて、算出したn個の元を索引元Eiとして出力する。
ここで、公開乱数元Uiは、元g1のui乗であるから、索引元Eiは、元g1の(s・hi・ui)乗である。
索引元出力部261は、CPU911を用いて、累乗部253が出力したn個の索引元Eiを入力する。索引元出力部261は、CPU911を用いて、入力したn個の索引元Eiを外部に出力する。
判定元出力部262は、CPU911を用いて、累乗部242が出力した判定元E’を入力する。判定元出力部262は、CPU911を用いて、入力した判定元E’を外部に出力する。
検索装置400は、索引数記憶部415、暗号化索引記憶部420、暗号化検索記憶部430、判定対象選択部441、補間係数値算出部442、写像元算出部450、比較元算出部460、判定部470を有する。
索引元記憶部421は、磁気ディスク装置920を用いて、1つの暗号化索引データについてn個ずつの索引元Eiを記憶する。判定元記憶部422は、磁気ディスク装置920を用いて、1つの暗号化索引データについて1つずつの判定元E’を記憶する。
閾値記憶部431は、磁気ディスク装置920を用いて、閾値dを記憶する。検索元記憶部432は、磁気ディスク装置920を用いて、n個の検索元Tiを記憶する。
判定対象選択部441は、CPU911を用いて、閾値記憶部431が記憶した閾値dを入力する。判定対象選択部441は、CPU911を用いて、1以上n以下のn個の整数のなかから、d個の整数を選択する。判定対象選択部441は、CPU911を用いて、選択したd個の整数(集合S)を出力する。
補間係数値算出部442は、ラグランジュの補間係数の変数xに0を代入したときの値Δi,S(0)を算出する。
補間係数値算出部442は、CPU911を用いて、判定対象選択部441が出力したd個の整数を入力する。補間係数値算出部442は、CPU911を用いて、入力したd個の整数それぞれについて、ラグランジュの補間係数の値を算出する。補間係数値算出部442は、CPU911を用いて、算出したd個のラグランジュの補間係数の値を補間係数値Δi,Sとして出力する。
具体的には、判定対象選択部441が選択したd個の整数のうち、補間係数値を求める対象である整数を対象整数iとし、対象整数i以外の(d−1)個の整数を対象外整数jとすると、補間係数値算出部442は、CPU911を用いて、(d−1)個の対象外整数jそれぞれについて、対象外整数jから対象整数iを差し引いた差(j−i)を算出し、算出した差(j−i)で対象外整数jを割った商[j/(j−i)]を算出する。補間係数値算出部442は、CPU911を用いて、算出した(d−1)個の商[j/(j−i)]すべての総積Π[j/(j−i)]を算出して、補間係数値Δi,Sとする。
ペアリング値算出部451は、CPU911を用いて、検索条件に合うか否かを判定する対象である索引について索引元記憶部421が記憶したn個の索引元Eiと、検索元記憶部432が記憶したn個の検索元Tiとを入力する。ペアリング値算出部451は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する索引元Eiと、対応する検索元Tiとに基づいて、索引元Eiと検索元Tiとの組をペアリング写像eにより写像した群G3の元e(Ei,Ti)を算出する。ペアリング値算出部451は、CPU911を用いて、算出したn個の元e(Ei,Ti)をペアリング値ei(iは1以上n以下の整数。)として出力する。
ここで、索引元Eiは、元g1の(s・hi・ui)乗であり、検索元Tiは、元g2の[f(i)/(ui・ηi)]乗であるから、ペアリング値eiは、元g3の[f(i)・s・hi/ηi]乗である。
総積部461は、CPU911を用いて、累乗部455が出力したd個の写像元e’iを入力する。総積部461は、CPU911を用いて、入力したd個の元e’iすべての総積Π[e’i]を算出する。総積部461は、CPU911を用いて、算出した総積Π[e’i]を比較元Bとして出力する。
ここで、比較元Bは、
本体記憶部841は、磁気ディスク装置920を用いて、データ本体(平文データ)を記憶する。
暗号化鍵記憶部842は、磁気ディスク装置920を用いて、データ本体の暗号化に用いる暗号化鍵を記憶する。
本体暗号化部843は、CPU911を用いて、本体記憶部841が記憶したデータ本体と、暗号化鍵記憶部842が記憶した暗号化鍵とを入力する。本体暗号化部843は、CPU911を用いて、入力した暗号化鍵により、入力したデータ本体を暗号化する。本体暗号化部843は、CPU911を用いて、暗号化したデータ本体を暗号化データ本体として出力する。
本体暗号化部843が用いる暗号方式は、例えばRSA暗号など一般的な公開鍵暗号方式であってもよいし、例えばAES暗号など一般的な共通鍵暗号方式であってもよいし、IDベース暗号などの暗号方式であってもよい。あるいは、本体暗号化部843は、ランダムに生成した共通鍵を用いて共通鍵暗号方式でデータ本体を暗号化した上で、暗号化鍵記憶部842が記憶した暗号化鍵を用いて公開鍵暗号方式などの暗号方式で共通鍵を暗号化し、暗号化したデータ本体と暗号化した共通鍵とを結合したものを暗号化データ本体とする構成としてもよい。
暗号化本体記憶部851は、磁気ディスク装置920を用いて、データ暗号化装置840が出力した暗号化データ本体を記憶する。
検索結果入力部852は、CPU911を用いて、検索装置400が出力した検索結果を入力する。
検索本体出力部853は、CPU911を用いて、検索結果入力部852が入力した検索結果に基づいて、検索条件に合う索引に対応づけられた暗号化データ本体を、暗号化本体記憶部851が記憶した暗号化データ本体のなかから取得する。検索本体出力部853は、CPU911を用いて、取得した暗号化データ本体を出力する。
復号鍵記憶部861は、磁気ディスク装置920を用いて、データ暗号化装置840が記憶した暗号化鍵に対応する復号鍵を記憶する。
本体復号部862は、CPU911を用いて、暗号化データ記憶装置850が出力した暗号化データ本体と、復号鍵記憶部861が記憶した復号鍵とを入力する。本体復号部862は、CPU911を用いて、入力した復号鍵により、入力した暗号化データ本体を復号する。本体復号部862は、復号したデータ本体を復号データ本体として出力する。
復号本体出力部863は、CPU911を用いて、本体復号部862が出力した復号データ本体を入力する。復号本体出力部863は、CPU911を用いて、入力した復号データ本体を外部に出力する。
設定処理S610において、設定装置100は、検索システム800で用いるパラメータを設定する。設定処理S610は、第三生成元算出工程S611、秘密整数生成工程S613、公開元算出工程S615、整数選択工程S616、秘密乱数生成工程S617、公開乱数元算出工程S619、整数繰り返し工程S620を有する。
索引暗号化処理S630において、索引暗号化装置200は、暗号化した索引を生成する。索引暗号化処理S630は、索引乱数生成工程S631、判定元算出工程S633、整数選択工程S635、索引整数算出工程S636、索引元算出工程S637、整数繰り返し工程S638を有する。
累乗部253は、CPU911を用いて、整数選択工程S635で索引変換部223が選択した整数iについて、公開乱数元記憶部217が記憶した公開乱数元Uiと、指数算出部251が算出した積(s・hi)とに基づいて、元Uiの(s・hi)乗である群G1の元を算出して、索引元Eiとする。
検索暗号化処理S650において、検索暗号化装置300は、暗号化した検索文を生成する。検索暗号化処理S650は、次数選択工程S651、多項式係数生成工程S652、次数繰り返し工程S653、最高次係数生成工程S654、整数選択工程S655、検索整数算出工程S656、多項式値算出工程S657、検索元算出工程S659、整数繰り返し工程S661を有する。
累乗部366は、CPU911を用いて、整数選択工程S655で検索変換部352が選択した整数iについて、第二生成元記憶部312が記憶した群G2の生成元g2と、指数算出部361が算出した商[f(i)/(ui・ηi)]とに基づいて、元g2の[f(i)/(ui・ηi)]乗である群G2の元を算出して、検索元Tiとする。
検索実行処理S670において、検索装置400は、検索を実行する。検索実行処理S670は、索引選択工程S671、整数選択工程S672、ペアリング値算出工程S673、整数繰り返し工程S674、判定選択工程S675、判定整数選択工程S676、補間係数値算出工程S677、累乗工程S678、判定整数繰り返し工程S679、総積工程S680、判定工程S681、判定繰り返し工程S682、索引繰り返し工程S683を有する。
このとき、検索装置400は、索引文字列wiと検索文字列ωiとが一致するd個の整数iを知ることができる。上述した検索実行処理S670では、判定工程S681で比較元Bと判定元E’とが一致した場合、1以上n以下のn個の整数のなかからd個の整数を選択するすべての組み合わせについて判定することをしないので、集合Sに含まれるd個の整数i以外の(n−d)個の整数については、索引文字列wiと検索文字列ωiとが一致するか否かは明らかにならないが、判定工程S681で比較元Bと判定元E’とが一致した場合でも処理を続行し、1以上n以下のn個の整数のなかからd個の整数を選択するすべての組み合わせについて比較元Bと判定元E’とが判定するか否かを判定する構成とすれば、検索装置400は、1以上n以下のn個の整数すべてについて、索引文字列wiと検索文字列ωiとが一致するか否かを知ることができる。すなわち、索引文字列wiと検索文字列ωiとがd個以上一致する場合には、どのデータが一致するかを知ることができる。
このため、ある索引文字列wiが、ある検索条件における検索文字列ωiと一致するか否かに関する情報は、できる限り知られないようにしたほうがよい。
上記索引暗号化装置200は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、索引記憶部(索引整数記憶部224)と、索引暗号化部(索引元算出部250)とを有する。
上記索引記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の索引データ(索引整数hi)を記憶する。
上記索引暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記索引記憶部が記憶した索引データを暗号化して、n個の暗号化索引データ(索引元Ei)とする。
上記検索暗号化装置300は、データを記憶する記憶装置(磁気ディスク装置920)と、データを処理する処理装置(CPU911)と、検索記憶部(検索整数記憶部353)と、多項式値算出部344と、検索暗号化部(検索元算出部360)とを有する。
上記検索記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数に対応するn個の検索データ(検索整数ηi)を記憶する。
上記多項式値算出部344は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、(d−1)次の一変数多項式f(x)(dは1以上n以下の整数。)に上記整数を代入した値を算出して、n個の多項式値f(i)とする。
上記検索暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索記憶部が記憶した検索データと、上記多項式値算出部344が算出した多項式値f(i)との組を暗号化して、n個の暗号化検索データ(検索元Ti)とする。
上記検索装置400は、データを処理する処理装置(CPU911)と、データを記憶する記憶装置(磁気ディスク装置920)と、暗号化索引記憶部420と、暗号化検索記憶部430と、判定対象選択部441と、補間係数値算出部442と、写像算出部(写像元算出部450)と、比較算出部(比較元算出部460)と、判定部470とを有する。
上記暗号化索引記憶部420は、上記記憶装置を用いて、上記索引暗号化装置200が暗号化したn個の暗号化索引データ(索引元Ei)を記憶する。
上記暗号化検索記憶部430は、上記記憶装置を用いて、上記検索暗号化装置300が暗号化したn個の暗号化検索データ(検索元Ti)を記憶する。
上記判定対象選択部441は、上記処理装置を用いて、1以上n以下のn個の整数のなかからd個の整数を選択して、d個の判定対象整数とする。
上記補間係数値算出部442は、上記処理装置を用いて、上記判定対象選択部441が選択したd個の判定対象整数に基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値Δi,Sとする。
上記写像算出部は、上記処理装置を用いて、上記判定対象選択部441が選択したd個の判定対象整数それぞれについて、上記暗号化索引記憶部420が記憶した暗号化索引データと、上記暗号化検索記憶部430が記憶した暗号化検索データと、上記補間係数値算出部442が算出した補間係数値との組を写像して、d個の写像データ(写像元e’i)とする。
上記比較算出部は、上記処理装置を用いて、上記写像算出部が写像したd個の写像データに基づいて、比較データ(比較元B)を算出する。
上記判定部470は、上記処理装置を用いて、上記比較算出部が算出した比較データに基づいて、上記判定対象選択部441が選択したd個の判定対象整数について、上記索引データと、上記検索データとが一致するか否かを判定する。
上記索引暗号化部(判定元算出部240)は、上記秘密整数yを暗号化したデータ(公開元Y)に基づいて、上記索引データを暗号化する。
上記設定装置100は、秘密整数生成部131と、公開元算出部141とを有する。
上記秘密整数生成部131は、上記処理装置を用いて、1以上p未満の整数(pは素数。)をランダムに生成して、秘密整数yとする。
上記公開元算出部141は、上記処理装置を用いて、0以上p未満の整数を位数pの群の元に単射する第一の写像により、上記秘密整数生成部131が生成した秘密整数yを写像した元を算出して、公開元Yとする。
上記索引暗号化装置200は、公開元記憶部216と、索引整数記憶部224と、索引元算出部250と、判定元算出部240とを有する。
上記公開元記憶部216は、上記記憶装置を用いて、上記設定装置100が算出した公開元Yを記憶する。
上記索引整数記憶部224は、上記記憶装置を用いて、n個の1以上p未満の整数を、1以上n以下のn個の整数iそれぞれに対応する索引整数hiとして記憶する。
上記索引元算出部250は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記索引整数記憶部224が記憶した索引整数hiに基づいて、0以上p未満の整数を位数pの群の元に単射する第二の写像により、上記索引整数hiを写像した元を算出して、n個の索引元Eiとする。
上記判定元算出部240は、上記処理装置を用いて、上記公開元記憶部216が記憶した公開元Yに基づいて、位数pの群の元を位数pの群の元に単射する第三の写像により、上記公開元Yを写像した元を算出して、判定元E’とする。
上記検索暗号化装置300は、秘密整数記憶部321と、検索整数記憶部353と、多項式係数生成部342と、検索元算出部360とを有する。
上記秘密整数記憶部321は、上記記憶装置を用いて、上記設定装置100が生成した秘密整数yを記憶する。
上記検索整数記憶部353は、上記記憶装置を用いて、n個の1以上p未満の整数を、1以上n以下のn個の整数iそれぞれに対応する検索整数ηiとして記憶する。
上記多項式係数生成部342は、上記処理装置を用いて、(d−1)個の0以上p未満の整数をランダムに生成して、(d−1)個の多項式係数ajとする。
上記多項式値算出部344は、上記処理装置を用いて、上記秘密整数記憶部321が記憶した秘密整数yを、上記一変数多項式f(x)の定数項とし、上記多項式係数生成部342が生成した(d−1)個の多項式係数ajを、上記一変数多項式f(x)の1次から(d−1)次までの各項の係数として、上記多項式値f(i)を算出する。
上記検索元算出部360は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記検索整数記憶部353が記憶した検索整数ηiと、上記多項式値算出部344が算出した多項式値f(i)とに基づいて、1以上p未満の整数と0以上p未満の整数との組を位数pの群の元に写像する第四の写像により、上記検索整数ηiと上記多項式値f(i)との組を写像した元を算出して、n個の検索元Tiとする。
上記検索装置400は、索引元記憶部421と、判定元記憶部422と、検索元記憶部432と、写像元算出部450と、比較元算出部460とを有する。
上記索引元記憶部421は、上記記憶装置を用いて、上記索引暗号化装置200が算出したn個の索引元Eiを記憶する。
上記判定元記憶部422は、上記記憶装置を用いて、上記索引暗号化装置200が算出した判定元E’を記憶する。
上記検索元記憶部432は、上記記憶装置を用いて、上記検索暗号化装置300が算出したn個の検索元Tiを記憶する。
上記写像元算出部450は、上記処理装置を用いて、上記判定対象選択部441が選択したd個の判定対象整数iそれぞれについて、上記索引元記憶部421が記憶した索引元Eiと、上記検索元記憶部432が記憶した検索元Tiと、上記補間係数値算出部442が算出した補間係数値Δi,Sとに基づいて、位数pの群の元と位数pの群の元と0以上p未満の整数との組を位数pの群の元に写像する第五の写像により、上記索引元Eiと上記検索元Tiと上記補間係数値Δi,Sとの組を写像した元を算出して、d個の写像元e’iとする。
上記比較元算出部460は、上記処理装置を用いて、上記写像元算出部450が算出したd個の写像元e’iを群演算により結合した元を算出して、比較元Bとする。
上記判定部470は、上記処理装置を用いて、上記比較元算出部460が算出した比較元Bと、上記判定元記憶部422が記憶した判定元E’とが等しい場合に、上記判定対象選択部441が選択したd個の判定対象整数iについて、上記索引整数hiと、上記検索整数ηiとが一致すると判定する。
第二の写像φ2は、0以上p未満の整数を位数pの群G1の元へ写す写像であり、整数xを、元[g1の(ui・s)乗]のx乗へ写す。生成元g1は群G1の単位元でなく、秘密乱数ui及び索引乱数sは0でないので、元[g1の(ui・s)乗]は群G1の単位元ではない。したがって、第二の写像φ2は全単射であり、整数がpを法とする加法についてなす群から群G1への同型写像である。
第三の写像φ3は、位数pの群G3の元を位数pの群G3の元へ写す写像であり、元Xを、元Xのs乗へ写す。索引乱数sは0でない。したがって、第三の写像φ3は全単射であり、群G3の自己同型写像である。
第四の写像φ4は、1以上p未満の整数と0以上p未満の整数との組を位数pの群G2の元へ写す写像であり、整数x1と整数x2との組(x1,x2)を、元[g2の(1/ui)乗]の(x2/x1)乗へ写す。生成元g2は群G2の単位元でないので、元[g2の(1/ui)乗]は群G2の単位元ではない。したがって、整数x1を固定して考えると、第四の写像φ4は全単射であり、整数がpを法とする加法についてなす群から群G2への同型写像である。また、整数x2を固定して考えると、第四の写像φ4は単射であり、群G2から単位元を除いた集合に対する全単射である。
第五の写像φ5は、位数pの群G1の元と位数pの群G2の元と0以上p未満の整数との組を位数pの群G3の元へ写す写像であり、元X1と元X2と整数x3との組(X1,X2,x3)を、元e(X1,X2)のx3乗へ写す。ペアリング写像eは双線形かつ非縮退である。したがって、X2,x3を固定して考えると、第五の写像φ5は群G1から群G3への準同型写像であり、x3が0でないとき全単射である。また、X1,x3を固定して考えると、第五の写像φ5は群G2から群G3への準同型写像であり、x3が0でないとき全単射である。更に、X1,X2を固定して考えると、第五の写像φ5は全単射であり、整数がpを法とする加法についてなす群から群G3への同型写像である。
上記写像元算出部450は、1以上p未満の任意の第一の整数x1について、上記任意の第一の整数x1を上記第二の写像φ2により写像した元φ2(x1)と、上記任意の第一の整数x1と第二の整数x2との組を上記第四の写像φ4により写像した元φ4(x1,x2)と、第三の整数x3との組を、上記第五の写像により写像した元φ5(φ2(x1),φ4(x1,x2),x3)が、上記第二の整数x2と上記第三の整数x3との積と等しい数の上記所定の元Zを、群演算により結合した元[Z^(x2・x3)]と等しくなる写像を、上記第五の写像φ5として用いる。
上記秘密乱数生成部132は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、1以上p未満の整数をランダムに生成して、n個の秘密乱数uiとする。
上記公開元算出部141は、上記処理装置を用いて、第一の群G1の元と第二の群G2の元との組を第三の群G3の元に写像する双線形ペアリング写像e(上記第一の群G1及び上記第二の群G2及び上記第三の群G3の位数はp。)により、上記第一の群G1の生成元である第一生成元g1と、上記第二の群G2の生成元である第二生成元g2との組を写像した元である第三生成元g3と、上記秘密整数生成部131が生成した秘密整数yとに基づいて、上記秘密整数yと等しい数の上記第三生成元g3を、上記第三の群G3の群演算により結合した元g3 yを算出して、公開元Yとする。
上記公開乱数元算出部142は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記第一生成元g1と、上記秘密乱数生成部132が生成した秘密乱数uiとに基づいて、上記秘密乱数uiと等しい数の上記第一生成元g1を、上記第一の群G1の群演算により結合した元[g1^ui]を算出して、n個の公開乱数元Uiとする。
上記索引暗号化装置200は、更に、公開乱数元記憶部217と、索引乱数生成部230とを有する。
上記公開乱数元記憶部217は、上記記憶装置を用いて、上記設定装置100が算出したn個の公開乱数元Uiを記憶する。
上記索引乱数生成部230は、上記処理装置を用いて、1以上p未満の整数をランダムに生成して、索引乱数sとする。
上記判定元算出部240は、上記処理装置を用いて、上記公開元記憶部216が記憶した公開元Yと、上記索引乱数生成部230が生成した索引乱数sとに基づいて、上記索引乱数sと等しい数の上記公開元Yを、上記第三の群G3の群演算により結合した元Ysを算出して、判定元E’とする。
上記索引元算出部250は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記公開乱数元記憶部217が記憶した公開乱数元Uiと、上記索引整数記憶部224が記憶した索引整数hiと、上記索引乱数生成部230が生成した索引乱数sとに基づいて、上記索引整数hiと上記索引乱数sとの積と等しい数の上記公開乱数元Uiを、上記第一の群G1の群演算により結合した元[Ui^(s・hi)]を算出して、n個の索引元Eiとする。
上記検索暗号化装置300は、更に、秘密乱数記憶部323を有する。
上記秘密乱数記憶部323は、上記記憶装置を用いて、上記設定装置100が生成したn個の秘密乱数uiを記憶する。
上記検索元算出部360は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記第二生成元g2と、上記秘密乱数記憶部323が記憶した秘密乱数uiと、上記検索整数記憶部353が記憶した検索整数ηiと、上記多項式値算出部344が算出した多項式値f(i)とに基づいて、上記秘密乱数uiと上記検索整数ηiとの積で上記多項式値f(i)を割った商と等しい数の上記第二生成元g2を、上記第二の群G2の群演算により結合した元[g2^{f(i)/(ui・ηi)}]を算出して、n個の検索元Tiとする。
上記検索装置400において、上記写像元算出部450は、上記処理装置を用いて、上記判定対象選択部441が選択したd個の判定対象整数iそれぞれについて、上記索引元記憶部421が記憶した索引元Eiと、上記検索元記憶部432が記憶した検索元Tiとに基づいて、上記双線形ペアリング写像eにより上記索引元Eiと上記検索元Tiとの組を写像した上記第三の群G3の元e(Ei,Ti)を算出して、d個のペアリング値eiとし、上記判定対象選択部441が選択したd個の判定対象整数iそれぞれについて、算出した上記ペアリング値eiと、上記補間係数値算出部442が算出した補間係数値Δi,Sとに基づいて、上記補間係数値Δi,Sと等しい数の上記ペアリング値eiを、上記第三の群G3の群演算により結合した元[ei^Δi,S]を算出して、d個の写像元e’iとする。
上記比較元算出部460は、上記処理装置を用いて、上記写像元算出部450が算出したd個の写像元e’iを、上記第三の群G3の群演算により結合した元Π(e’i)を算出して、比較元Bとする。
上記索引変換部223は、上記処理装置を用いて、1以上n以下のn個の整数iに対応するn個の索引文字列wiを入力し、1以上n以下のn個の整数iそれぞれについて、任意の長さの文字列を1以上p未満の整数に変換する変換写像Hにより、入力した索引文字列wiを変換して、n個の索引整数hiとする。
上記索引整数記憶部224は、上記記憶装置を用いて、上記索引変換部223が変換したn個の索引整数hiを記憶する。
上記検索暗号化装置300は、更に、検索変換部352を有する。
上記検索変換部352は、上記処理装置を用いて、1以上n以下のn個の整数iに対応するn個の検索文字列ωiを入力し、1以上n以下のn個の整数iそれぞれについて、上記変換写像Hにより、入力した検索文字列ωiを変換して、n個の検索整数ηiとする。
上記検索整数記憶部353は、上記記憶装置を用いて、上記検索変換部352が変換したn個の検索整数ηiを記憶する。
上記索引暗号化装置200が、1以上n以下のn個の整数i(nは1以上の整数。)に対応するn個の索引データ(索引整数hi)を記憶する。
上記索引暗号化装置200が、1以上n以下のn個の整数iそれぞれについて、記憶した索引データを暗号化して、n個の暗号化索引データ(索引元Ei)とする。
上記検索暗号化装置300が、1以上n以下のn個の整数iに対応するn個の検索データ(検索整数ηi)を記憶する。
上記検索暗号化装置300が、1以上n以下のn個の整数iそれぞれについて、(d−1)次の一変数多項式f(x)(dは1以上n以下の整数。)に上記整数iを代入した値を算出して、n個の多項式値f(i)とする。
上記検索暗号化装置300が、1以上n以下のn個の整数iそれぞれについて、記憶した検索データと、算出した多項式値f(i)との組を暗号化して、n個の暗号化検索データ(検索元Ti)とする。
上記検索装置400が、上記索引暗号化装置200が暗号化したn個の暗号化索引データを記憶する。
上記検索装置400が、上記検索暗号化装置300が暗号化したn個の暗号化検索データを記憶する。
上記検索装置400が、1以上n以下のn個の整数のなかからd個の整数を選択して、d個の判定対象整数iとする。
上記検索装置400が、選択したd個の判定対象整数iに基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値Δi,Sとする。
上記検索装置400が、選択したd個の判定対象整数iそれぞれについて、記憶した暗号化索引データと、記憶した暗号化検索データと、算出した補間係数値Δi,Sとの組を写像して、d個の写像データ(写像元e’i)とする。
上記検索装置400が、写像したd個の写像データに基づいて、比較データ(比較元B)を算出する。
上記検索装置400が、算出した比較データに基づいて、選択したd個の判定対象整数iについて、上記索引データと、上記検索データとが一致するか否かを判定する。
例えば、検索暗号化装置300は、必ず一致しなければならない索引の番号や、一致するか否かを問わない索引の番号を指定する構成としてもよい。一致するか否かを問わない索引の番号を指定する場合、その番号に対応する検索元Tiを暗号化検索データに含める必要はなく、暗号化検索データの量を少なくすることができる。
これを受けて、検索装置400では、判定対象選択部441が、1以上n以下のn個の整数のなかからd個の整数を選択する際、必ず一致しなければならない索引として指定された番号は、選択するd個の整数のなかに必ず含め、一致するか否かを問わない索引として指定された番号は、選択するd個の整数のなかに含めない。これにより、検索装置400における計算量を減らすことができる。
これを受けて、検索装置400では、その暗号化索引データに対して検索を実行する際、判定対象選択部441が、索引文字列を指定していないとされる索引の番号を、選択するd個の整数のなかに含めない。これにより、検索装置400における計算量を減らすことができる。
実施の形態2について、図13〜図20を用いて説明する。
なお、実施の形態1と共通する部分については、同一の符号を付し、説明を省略する。
この実施の形態における検索システム800の全体構成、復号装置810、暗号化装置820、サーバ装置830の外観及びハードウェア資源は、実施の形態1と同様である。
設定装置100は、設定記憶部110、秘密生成部130、公開算出部140、公開出力部150を有する。
公開元算出部141は、CPU911を用いて、第一生成元記憶部111が記憶した群G1の生成元g1と、秘密整数生成部131が出力した秘密整数yとを入力する。公開元算出部141は、CPU911を用いて、入力した生成元g1と秘密整数yとに基づいて、元g1のy乗である群G1の元g1 yを算出する。公開元算出部141は、CPU911を用いて、算出した元を公開元g1’として出力する。
公開乱数元算出部142は、CPU911を用いて、索引数記憶部115が記憶した索引数nを入力する。公開乱数元算出部142は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、群G2の単位元以外の元をランダムに生成する。公開乱数元算出部142は、CPU911を用いて、生成したn個の元を公開乱数元ui(iは1以上n以下の整数。)として出力する。
第二生成元算出部147は、CPU911を用いて、群G2の単位元以外の元をランダムに生成する。第二生成元算出部147は、CPU911を用いて、生成した元を生成元g2として出力する。
検索暗号化装置300は、設定記憶部310、秘密記憶部320、検索条件入力部330、閾値記憶部341、多項式係数生成部342、多項式係数記憶部343、多項式値算出部344、検索変換部352、検索整数記憶部353、検索乱数生成部380、検索乱数元算出部390、検索元算出部360、暗号化検索出力部370を有する。
累乗部391は、CPU911を用いて、第一生成元記憶部311が記憶した群G1の生成元g1と、検索乱数生成部380が出力したn個の検索乱数riとを入力する。累乗部391は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、生成元g1と、対応する検索乱数riとに基づいて、元g1のri乗である群G1の元[g1^ri]を算出する。累乗部391は、CPU911を用いて、算出したn個の元を検索乱数元ti(iは1以上n以下の整数。)として出力する。
関数値算出部362は、CPU911を用いて、公開乱数元記憶部317が記憶したn個の公開乱数元uiと、検索整数記憶部353が記憶したn個の検索整数ηiとを入力する。関数値算出部362は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する公開乱数元uiと、対応する検索整数ηiとに基づいて、検索整数ηiと公開乱数元uiとの組を関数Uに代入した値を算出する。関数値算出部362は、CPU911を用いて、算出したn個の値を関数値U(ηi,ui)(iは1以上n以下の整数。)として出力する。
関数Uは、0以上p未満の整数と群G2の元との組を引数とし、値として、群G2の元をとる。関数Uは、例えば、次の式により定義される。
索引暗号化装置200は、設定記憶部210、索引入力部221、索引変換部223、索引整数記憶部224、索引乱数生成部230、判定元算出部240、乱数元算出部270、索引元算出部250、暗号化索引出力部260を有する。
ペアリング値算出部241は、CPU911を用いて、公開元記憶部216が記憶した公開元g1’と、第二生成元記憶部212が記憶した群G2の生成元g2とを入力する。ペアリング値算出部241は、CPU911を用いて、ペアリング写像eにより、元g1’と元g2との組を写像した群G3の元e(g1’,g2)を算出する。ペアリング値算出部241は、CPU911を用いて、算出した元e(g1’,g2)を出力する。
累乗部242は、CPU911を用いて、ペアリング値算出部241が出力した元e(g1’,g2)と、索引乱数生成部230が出力した索引乱数sとを入力する。累乗部242は、CPU911を用いて、元e(g1’,g2)のs乗である群G3の元[e(g1’,g2)s]を算出する。累乗部242は、CPU911を用いて、算出した元を判定元E’として出力する。
ここで、公開元g1’は、群G1の生成元g1のy乗であるから、判定元E’は、
群G3の元e(g1,g2)の(s・y)乗である。
累乗部271は、CPU911を用いて、第一生成元記憶部211が記憶した群G1の生成元g1と、索引乱数生成部230が出力した索引乱数sとを入力する。累乗部271は、CPU911を用いて、元g1のs乗である群G1の元(g1 s)を算出する。累乗部271は、CPU911を用いて、算出した元(g1 s)を乱数元E”として出力する。
関数値算出部252は、CPU911を用いて、公開乱数元記憶部217が記憶したn個の公開乱数元uiと、索引整数記憶部224が記憶したn個の索引整数hiとを入力する。関数値算出部252は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する公開乱数元uiと、対応する索引整数hiとに基づいて、索引整数hiと公開乱数元uiとの組を関数Uに代入した値を算出する。関数値算出部252は、CPU911を用いて、算出したn個の値を関数値U(hi,ui)として出力する。
関数Uは、関数値算出部362が用いる関数と同じ関数である。したがって、索引整数hiと検索整数ηiとが等しければ、関数値算出部252が算出する関数値U(hi,ui)と関数値算出部362が算出する関数値U(ηi,ui)とは等しい。
検索装置400は、索引数記憶部415、暗号化索引記憶部420、暗号化検索記憶部430、判定対象選択部441、補間係数値算出部442、写像元算出部450、比較元算出部460、判定部470を有する。
ペアリング値算出部451は、CPU911を用いて、乱数元記憶部424が記憶した乱数元E”と、検索元記憶部432が記憶したn個の検索元Tiとを入力する。ペアリング値算出部451は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、乱数元E”と、対応する検索元Tiとに基づいて、ペアリング写像eにより、乱数元E”と検索元Tiとの組を写像した群G3の元e(E”,Ti)を算出する。ペアリング値算出部451は、CPU911を用いて、算出したn個の元e(E”,Ti)(iは1以上n以下の整数。)を出力する。
ペアリング値算出部453は、CPU911を用いて、索引元記憶部421が記憶したn個の索引元Eiと、検索乱数元記憶部433が記憶したn個の検索乱数元tiとを入力する。ペアリング値算出部453は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する索引元Eiと、対応する検索乱数元tiとに基づいて、ペアリング写像eにより、検索乱数元tiと索引元Eiとの組を写像した群G3の元e(ti,Ei)を算出する。ペアリング値算出部453は、CPU911を用いて、算出したn個の元e(ti,Ei)(iは1以上n以下の整数。)を出力する。
除算部454は、CPU911を用いて、ペアリング値算出部451が出力したn個の元e(E”,Ti)と、ペアリング値算出部453が出力したn個の元e(ti,Ei)とを入力する。除算部454は、CPU911を用いて、1以上n以下のn個の整数それぞれについて、対応する元e(E”,Ti)と、対応する元e(ti,Ei)とに基づいて、元e(E”,Ti)を元e(ti,Ei)で割った商[e(E”,Ti)/e(ti,Ei)]を算出する。除算部454は、CPU911を用いて、算出したn個の商をペアリング値ei(iは1以上n以下の整数。)として出力する。
ここで、乱数元E”は、群G1の生成元g1のs乗であり、検索元Tiは、群G2の生成元g2のf(i)乗と関数値U(ηi,ui)との積であり、検索乱数元tiは、群G1の生成元g1のti乗であり、索引元Eiは、関数値U(hi,ui)のs乗であるから、ペアリング値eiは、
総積部461は、CPU911を用いて、累乗部455が出力したd個の写像元e’iを入力する。総積部461は、CPU911を用いて、入力したd個の写像元e’iすべての総積Π[e’i]を算出する。総積部461は、CPU911を用いて、算出した総積Π[e’i]を比較元Bとして出力する。
ここで、比較元Bは、
設定処理S610は、第二生成元生成工程S612、秘密整数生成工程S614、公開元算出工程S615、整数選択工程S616、公開乱数元生成工程S618、整数繰り返し工程S620を有する。
秘密整数生成工程S614において、秘密整数生成部131は、CPU911を用いて、1以上p未満の整数をランダムに生成して、秘密整数yとする。
公開元算出工程S615において、公開元算出部141は、CPU911を用いて、第一生成元記憶部111が記憶した群G1の生成元g1と、秘密整数生成工程S614で秘密整数生成部131が生成した秘密整数yとに基づいて、元g1のy乗である群G1の元を算出して、公開元g1’とする。
公開乱数元生成工程S618において、公開乱数元算出部142は、CPU911を用いて、整数選択工程S616で選択した整数iについて、群G2の元であって単位元でない元をランダムに生成して、公開乱数元uiとする。
整数繰り返し工程S620において、公開乱数元算出部142は、CPU911を用いて、1以上n以下のすべての整数を、整数選択工程S616で選択したか否かを判定する。まだ選択していない整数があると判定した場合、公開乱数元算出部142は、CPU911を用いて、整数選択工程S616に戻り、次の整数を選択する。すべての整数を選択したと判定した場合、設定装置100は、設定処理S610を終了する。
索引暗号化処理S630は、索引乱数生成工程S631、判定元算出工程S632、乱数元算出工程S634、整数選択工程S635、索引整数算出工程S636、索引元算出工程S637、整数繰り返し工程S638を有する。
判定元算出工程S632において、ペアリング値算出部241は、CPU911を用いて、ペアリング写像eにより、公開元記憶部216が記憶した公開元g1’と、第二生成元記憶部212が記憶した群G2の生成元g2との組を写像した群G3の元e(g1’,g2)を算出する。累乗部242は、CPU911を用いて、ペアリング値算出部241が算出した元e(g1’,g2)と、索引乱数生成工程S631で索引乱数生成部230が生成した索引乱数sとに基づいて、元e(g1’,g2)のs乗である群G3の元を算出して、判定元E’とする。
乱数元算出工程S634において、累乗部271は、CPU911を用いて、第一生成元記憶部211が記憶した群G1の生成元g1と、索引乱数生成工程S631で索引乱数生成部230が生成した索引乱数sとに基づいて、元g1のs乗である群G1の元を算出して、乱数元E”とする。
索引整数算出工程S636において、索引変換部223は、CPU911を用いて、整数選択工程S635で選択した整数iについて、写像Hにより、索引入力部221が入力した索引文字列wiを写像した整数を算出して、索引整数hiとする。
索引元算出工程S637において、関数値算出部252は、CPU911を用いて、整数選択工程S635で索引変換部223が選択した整数iについて、索引整数算出工程S636で索引変換部223が算出した索引整数hiと、公開乱数元uiとの組を、関数Uに代入した値である群G2の元を算出して、関数値U(hi,ui)とする。累乗部253は、CPU911を用いて、関数値算出部252が算出した関数値U(hi,ui)と、索引乱数生成工程S631で索引乱数生成部230が生成した索引乱数sとに基づいて、関数値U(hi,ui)のs乗である群G2の元を算出して、索引元Eiとする。
整数繰り返し工程S638において、索引変換部223は、CPU911を用いて、1以上n以下のすべての整数を、整数選択工程S635で選択したか否かを判定する。まだ選択していない整数があると判定した場合、索引変換部223は、CPU911を用いて、整数選択工程S635に戻り、次の整数を選択する。すべての整数を選択したと判定した場合、索引暗号化装置200は、索引暗号化処理S630を終了する。
検索暗号化処理S650は、次数選択工程S651、多項式係数生成工程S652、次数繰り返し工程S653、最高次係数生成工程S654、整数選択工程S655、検索整数算出工程S656、多項式値算出工程S657、検索乱数生成工程S658、検索元算出工程S659、検索乱数元算出工程S660、整数繰り返し工程S661を有する。
検索元算出工程S659において、関数値算出部362は、CPU911を用いて、整数選択工程S655で検索変換部352が選択した整数iについて、検索整数算出工程S656で検索変換部352が算出した検索整数ηiと、公開乱数元uiとの組を、関数Uに代入した値である群G2の元を算出して、関数値U(ηi,ui)とする。累乗部365は、CPU911を用いて、関数値算出部362が算出した関数値U(ηi,ui)と、検索乱数生成工程S658で検索乱数生成部380が生成した検索乱数riとに基づいて、関数値U(ηi,ui)のri乗である群G2の元[U(ηi,ui)^ri]を算出する。累乗部366は、CPU911を用いて、第二生成元記憶部312が記憶した群G2の生成元g2と、多項式値算出工程S657で多項式値算出部344が算出した多項式値f(i)とに基づいて、元g2のf(i)乗である群G2の元[g2^f(i)]を算出する。積算出部367は、CPU911を用いて、累乗部366が算出した元[g2^f(i)]と、累乗部365が算出した元[U(ηi,ui)^ri]との積である群G2の元を算出して、検索元Tiとする。
検索乱数元算出工程S660において、累乗部391は、CPU911を用いて、第一生成元記憶部311が記憶した群G1の生成元g1と、検索乱数生成工程S658で検索乱数生成部380が生成した検索乱数riとに基づいて、元g1のri乗である群G1の元を算出して、検索乱数元tiとする。
検索実行処理S670は、索引選択工程S671、整数選択工程S672、ペアリング値算出工程S673、整数繰り返し工程S674、判定選択工程S675、判定整数選択工程S676、補間係数値算出工程S677、累乗工程S678、判定整数繰り返し工程S679、総積工程S680、判定工程S681、判定繰り返し工程S682、索引繰り返し工程S683を有する。
更に、検索暗号化装置300が耐タンパ性のある記憶装置などを用いて秘密裡に保持すべき秘密整数の数が、索引数nにかかわらず1つなので、耐タンパ性のある記憶装置の記憶容量によって、索引数nが制限されることがない。
第二の写像φ2は、0以上p未満の整数を位数pの群G2の元へ写す写像であり、整数xを、関数値U(x,ui)のs乗へ写す。索引整数sは0でない。したがって、関数Uがxについて全単射であれば、第二の写像φ2も全単射である。
第三の写像φ3は、位数pの群G1の元を位数pの群G3へ写す写像であり、元Xを、元e(X,g2)のs乗へ写す。生成元g2は群G2の単位元でなく、ペアリング写像eは双線形かつ非縮退であり、索引乱数sは0でない。したがって、第三の写像φ3は全単射であり、同型写像である。
第四の写像φ4は、0以上p未満の整数と0以上p未満の整数との組を位数pの群G2の元へ写す写像であり、整数x1と整数x2との組(x1,x2)を、元g2のx2乗と関数値U(x1,ui)のri乗との積へ写す。生成元g2は群G2の単位元でなく、検索乱数riは0でない。したがって、x2を固定して考えると、x2が0でなく、関数Uが全単射であれば、第四の写像φ4は、全単射である。また、x1を固定して考えると、第四の写像φ4は全単射であり、整数がpを法とする加法についてなす群から群G2への同型写像である。
第五の写像φ5は、位数pの群G2の元と位数pの群G2の元と0以上p未満の整数との組を位数pの群G3の元に写す写像であり、元X1と元X2と整数x3との組(X1,X2,x3)を、元e(g1 s,X2)を元e(g1^ri,X1)で割った商のx3乗へ写す。生成元g1は群G1の単位元でなく、索引乱数s及び検索乱数riは0でなく、ペアリング写像eは双線形かつ非縮退である。したがって、X2,x3を固定して考えると、第五の写像φ5は、x3が0でないとき全単射である。また、X1,x3を固定して考えると、第五の写像φ5は、x3が0でないとき全単射であり、群G2から群G3への同型写像である。更に、X1,X2を固定して考えると、第五の写像φ5は全単射であり、整数がpを法とする加法についてなす群から群G3への同型写像である。
上記公開元算出部141は、上記処理装置を用いて、第一の群G1の生成元である第一生成元g1(上記第一の群G1の位数はp。)と、上記秘密整数生成部131が生成した秘密整数yとに基づいて、上記秘密整数yと等しい数の上記第一生成元g1を、上記第一の群G1の群演算により結合した元g1 yを算出して、公開元g1’とする。
上記公開乱数元算出部142は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、第二の群G2の生成元(上記第二の群の位数はp。)をランダムに生成して、n個の公開乱数元uiとする。
上記索引暗号化装置200は、更に、公開乱数元記憶部217と、乱数元算出部270とを有する。
上記公開乱数元記憶部217は、上記記憶装置を用いて、上記設定装置100が算出したn個の公開乱数元uiを記憶する。
上記索引乱数生成部230は、上記処理装置を用いて、1以上p未満の整数をランダムに生成して、索引乱数sとする。
上記判定元算出部240は、上記処理装置を用いて、上記第二の群G2の生成元である第二生成元g2と、上記公開元記憶部216が記憶した公開元g1’とに基づいて、上記第一の群G1の元と上記第二の群G2の元との組を第三の群G3の元(上記第三の群の位数はp。)に写像する双線形ペアリング写像eにより、上記公開元g1’と上記第二生成元g2との組が写像される上記第三の群G3の元e(g1’,g2)を算出し、算出した上記第三の群G3の元e(g1’,g2)と、上記索引乱数生成部230が生成した索引乱数sとに基づいて、上記索引乱数sと等しい数の上記第三の群G3の元e(g1’,g2)を、上記第三の群G3の群演算により結合した元e(g1’,g2)sを算出して、判定元E’とする。
上記乱数元算出部270は、上記処理装置を用いて、上記第一生成元g1と、上記索引乱数生成部230が生成した索引乱数sとに基づいて、上記索引乱数sと等しい数の上記第一生成元g1を、上記第一の群G1の群演算により結合した元g1 sを算出して、乱数元E”とする。
上記索引元算出部250は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記索引整数記憶部224が記憶した索引整数hiと、上記公開乱数元記憶部217が記憶した公開乱数元uiとに基づいて、0以上p未満の整数と上記第二の群G2の元との組を上記第二の群G2の元に写像する写像関数Uにより、上記索引整数hiと上記公開乱数元uiとの組を写像した上記第二の群G2の元を算出して、n個の索引関数値U(hi,ui)とし、1以上n以下のn個の整数iそれぞれについて、算出した上記索引関数値U(hi,ui)と、上記索引乱数生成部230が生成した索引乱数sとに基づいて、上記索引乱数sと等しい数の上記索引関数値U(hi,ui)を、上記第二の群G2の群演算により結合した元U(hi,ui)sを算出して、n個の索引元Eiとする。
上記検索暗号化装置300は、更に、公開乱数元記憶部317と、検索乱数生成部380と、検索乱数元算出部390とを有する。
上記公開乱数元記憶部317は、上記記憶装置を用いて、上記設定装置100が算出したn個の公開乱数元uiを記憶する。
上記検索乱数生成部380は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、1以上p未満の整数をランダムに生成して、n個の検索乱数riとする。
上記検索元算出部360は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記検索整数記憶部353が記憶した検索整数ηiと、上記公開乱数元記憶部317が記憶した公開乱数元uiとに基づいて、上記写像関数Uにより、上記検索整数ηiと上記公開乱数元uiとの組を写像して、上記第二の群G2の元を算出して、n個の検索関数値U(ηi,ui)とし、1以上n以下のn個の整数iそれぞれについて、算出した上記検索関数値U(ηi,ui)と、上記検索乱数生成部380が生成した検索乱数riとに基づいて、上記検索乱数riと等しい数の上記検索関数値U(ηi,ui)を、上記第二の群G2の群演算により結合した元[U(ηi,ui)^ri]を算出し、上記第二生成元g2と、上記多項式値算出部344が算出した多項式値f(i)とに基づいて、上記多項式値f(i)と等しい数の上記第二生成元g2を、上記第二の群G2の群演算により結合した元[g2^f(i)]を算出し、算出した上記第二の群の二つの元[U(ηi,ui)^ri],[g2^f(i)]を上記第二の群G2の群演算により結合した元を算出して、n個の検索元Tiとする。
上記検索乱数元算出部390は、上記処理装置を用いて、1以上n以下のn個の整数iそれぞれについて、上記第一生成元g1と、上記検索乱数生成部380が生成した検索乱数riとに基づいて、上記検索乱数riと等しい数の上記第一生成元g1を、上記第一の群G1の群演算により結合した元[g1^ri]を算出して、n個の検索乱数元tiとする。
上記検索装置400は、更に、乱数元記憶部424と、検索乱数元記憶部433とを有する。
上記乱数元記憶部424は、上記記憶装置を用いて、上記索引暗号化装置200が算出した乱数元E”を記憶する。
上記検索乱数元記憶部433は、上記記憶装置を用いて、上記検索暗号化装置300が算出したn個の検索乱数元tiを記憶する。
上記写像元算出部450は、上記処理装置を用いて、上記判定対象選択部441が選択したd個の判定対象整数それぞれについて、上記乱数元記憶部424が記憶した乱数元E”と、上記検索元記憶部432が記憶した検索元Tiとに基づいて、上記双線形ペアリング写像eにより、上記乱数元E”と上記検索元Tiとの組を写像した上記第三の群の元を算出して、d個の第一ペアリング値e(E”,Ti)とし、上記判定対象選択部441が選択したd個の判定対象整数それぞれについて、上記検索乱数元記憶部433が記憶した検索乱数元tiと、上記索引元記憶部421が記憶した索引元Eiとに基づいて、上記双線形ペアリング写像eにより、上記検索乱数元tiと上記索引元Eiとの組を写像した上記第三の群G3の元を算出して、d個の第二ペアリング値e(ti,Ei)とし、上記判定対象選択部441が選択したd個の判定対象整数それぞれについて、算出した上記第一ペアリング値e(E”,Ti)と、算出した上記第二ペアリング値e(ti,Ei)の逆元とを上記第三の群G3の群演算により結合した元[e(E”,Ti)/e(ti,Ei)を算出して、d個の写像元e’iとする。
上記比較元算出部460は、上記処理装置を用いて、上記写像元算出部450が算出したd個の写像元e’iを、上記第三の群G3の群演算により結合した元Π[e’i]を算出して、比較元Bとする。
更に、検索暗号化装置300が秘密裡に保持すべき秘密データの量が少なく、索引数nにかかわらず一定なので、耐タンパ性を有する記憶装置の記憶容量が少なくて済み、また、耐タンパ性を有する記憶装置の記憶容量により、索引数nが制限されることがない。
Claims (12)
- 索引暗号化装置と、検索暗号化装置と、検索装置とを有し、
上記索引暗号化装置は、データを記憶する記憶装置と、データを処理する処理装置と、索引記憶部と、索引暗号化部とを有し、
上記索引記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の索引データを記憶し、
上記索引暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記索引記憶部が記憶した索引データを暗号化して、n個の暗号化索引データとし、
上記検索暗号化装置は、データを記憶する記憶装置と、データを処理する処理装置と、検索記憶部と、多項式値算出部と、検索暗号化部とを有し、
上記検索記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数に対応するn個の検索データを記憶し、
上記多項式値算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、(d−1)次の一変数多項式(dは1以上n以下の整数。)に上記整数を代入した値を算出して、n個の多項式値とし、
上記検索暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索記憶部が記憶した検索データと、上記多項式値算出部が算出した多項式値との組を暗号化して、n個の暗号化検索データとし、
上記検索装置は、データを処理する処理装置と、データを記憶する記憶装置と、暗号化索引記憶部と、暗号化検索記憶部と、判定対象選択部と、補間係数値算出部と、写像算出部と、比較算出部と、判定部とを有し、
上記暗号化索引記憶部は、上記記憶装置を用いて、上記索引暗号化装置が暗号化したn個の暗号化索引データを記憶し、
上記暗号化検索記憶部は、上記記憶装置を用いて、上記検索暗号化装置が暗号化したn個の暗号化検索データを記憶し、
上記判定対象選択部は、上記処理装置を用いて、1以上n以下のn個の整数のなかからd個の整数を選択して、d個の判定対象整数とし、
上記補間係数値算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数に基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値とし、
上記写像算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記暗号化索引記憶部が記憶した暗号化索引データと、上記暗号化検索記憶部が記憶した暗号化検索データと、上記補間係数値算出部が算出した補間係数値との組を写像して、d個の写像データとし、
上記比較算出部は、上記処理装置を用いて、上記写像算出部が写像したd個の写像データに基づいて、比較データを算出し、
上記判定部は、上記処理装置を用いて、上記比較算出部が算出した比較データに基づいて、上記判定対象選択部が選択したd個の判定対象整数について、上記索引データと、上記検索データとが一致するか否かを判定することを特徴とする検索システム。 - 上記補間係数値算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数のうちの一つを対象整数とし、上記判定対象選択部が選択したd個の判定対象整数のうち上記対象整数以外の(d−1)個の判定対象整数を(d−1)個の対象外整数とし、(d−1)個の対象外整数それぞれについて、上記対象外整数から上記対象整数を差し引いた差で、上記対象外整数を割った商を算出し、算出した(d−1)個の商の総積を算出して、上記対象整数についての補間係数値とすることを特徴とする請求項1に記載の検索システム。
- 上記多項式値算出部は、上記処理装置を用いて、所定の秘密整数を上記一変数多項式の定数項として、上記多項式値を算出することを特徴とする請求項1または請求項2に記載の検索システム。
- 上記検索システムは、更に、設定装置を有し、
上記設定装置は、秘密整数生成部と、公開元算出部とを有し、
上記秘密整数生成部は、上記処理装置を用いて、1以上p未満の整数(pは素数。)をランダムに生成して、秘密整数とし、
上記公開元算出部は、上記処理装置を用いて、0以上p未満の整数を位数pの群の元に単射する第一の写像により、上記秘密整数生成部が生成した秘密整数を写像した元を算出して、公開元とし、
上記索引暗号化装置は、公開元記憶部と、索引整数記憶部と、索引元算出部と、判定元算出部とを有し、
上記公開元記憶部は、上記記憶装置を用いて、上記設定装置が算出した公開元を記憶し、
上記索引整数記憶部は、上記記憶装置を用いて、n個の1以上p未満の整数を、1以上n以下のn個の整数それぞれに対応する索引整数として記憶し、
上記索引元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記索引整数記憶部が記憶した索引整数に基づいて、0以上p未満の整数を位数pの群の元に単射する第二の写像により、上記索引整数を写像した元を算出して、n個の索引元とし、
上記判定元算出部は、上記処理装置を用いて、上記公開元記憶部が記憶した公開元に基づいて、位数pの群の元を位数pの群の元に単射する第三の写像により、上記公開元を写像した元を算出して、判定元とし、
上記検索暗号化装置は、秘密整数記憶部と、検索整数記憶部と、多項式係数生成部と、検索元算出部とを有し、
上記秘密整数記憶部は、上記記憶装置を用いて、上記設定装置が生成した秘密整数を記憶し、
上記検索整数記憶部は、上記記憶装置を用いて、n個の1以上p未満の整数を、1以上n以下のn個の整数それぞれに対応する検索整数として記憶し、
上記多項式係数生成部は、上記処理装置を用いて、(d−1)個の0以上p未満の整数をランダムに生成して、(d−1)個の多項式係数とし、
上記多項式値算出部は、上記処理装置を用いて、上記秘密整数記憶部が記憶した秘密整数を、上記一変数多項式の定数項とし、上記多項式係数生成部が生成した(d−1)個の多項式係数を、上記一変数多項式の1次から(d−1)次までの各項の係数として、上記多項式値を算出し、
上記検索元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索整数記憶部が記憶した検索整数と、上記多項式値算出部が算出した多項式値とに基づいて、1以上p未満の整数と0以上p未満の整数との組を位数pの群の元に写像する第四の写像により、上記検索整数と上記多項式値との組を写像した元を算出して、n個の検索元とし、
上記検索装置は、索引元記憶部と、判定元記憶部と、検索元記憶部と、写像元算出部と、比較元算出部とを有し、
上記索引元記憶部は、上記記憶装置を用いて、上記索引暗号化装置が算出したn個の索引元を記憶し、
上記判定元記憶部は、上記記憶装置を用いて、上記索引暗号化装置が算出した判定元を記憶し、
上記検索元記憶部は、上記記憶装置を用いて、上記検索暗号化装置が算出したn個の検索元を記憶し、
上記写像元算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記索引元記憶部が記憶した索引元と、上記検索元記憶部が記憶した検索元と、上記補間係数値算出部が算出した補間係数値とに基づいて、位数pの群の元と位数pの群の元と0以上p未満の整数との組を位数pの群の元に写像する第五の写像により、上記索引元と上記検索元と上記補間係数値との組を写像した元を算出して、d個の写像元とし、
上記比較元算出部は、上記処理装置を用いて、上記写像元算出部が算出したd個の写像元を群演算により結合した元を算出して、比較元とし、
上記判定部は、上記処理装置を用いて、上記比較元算出部が算出した比較元と、上記判定元記憶部が記憶した判定元とが等しい場合に、上記判定対象選択部が選択したd個の判定対象整数について、上記索引整数と、上記検索整数とが一致すると判定することを特徴とする請求項1乃至請求項3のいずれかに記載の検索システム。 - 上記判定元算出部は、0以上p未満の任意の整数について、上記任意の整数を上記第一の写像により写像した元を、上記第三の写像により写像した元が、上記任意の整数と等しい数の所定の元を、群演算により結合した元と等しくなる写像を、上記第三の写像として用い、
上記写像元算出部は、1以上p未満の任意の第一の整数について、上記任意の第一の整数を上記第二の写像により写像した元と、上記任意の第一の整数と第二の整数との組を上記第四の写像により写像した元と、第三の整数との組を、上記第五の写像により写像した元が、上記第二の整数と上記第三の整数との積と等しい数の上記所定の元を、群演算により結合した元と等しくなる写像を、上記第五の写像として用いることを特徴とする請求項4に記載の検索システム。 - 上記設定装置は、更に、秘密乱数生成部と、公開乱数元算出部とを有し、
上記秘密乱数生成部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、1以上p未満の整数をランダムに生成して、n個の秘密乱数とし、
上記公開元算出部は、上記処理装置を用いて、第一の群の元と第二の群の元との組を第三の群の元に写像する双線形ペアリング写像(上記第一の群及び上記第二の群及び上記第三の群の位数はp。)により、上記第一の群の生成元である第一生成元と、上記第二の群の生成元である第二生成元との組を写像した元である第三生成元と、上記秘密整数生成部が生成した秘密整数とに基づいて、上記秘密整数と等しい数の上記第三生成元を、上記第三の群の群演算により結合した元を算出して、公開元とし、
上記公開乱数元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記第一生成元と、上記秘密乱数生成部が生成した秘密乱数とに基づいて、上記秘密乱数と等しい数の上記第一生成元を、上記第一の群の群演算により結合した元を算出して、n個の公開乱数元とし、
上記索引暗号化装置は、更に、公開乱数元記憶部と、索引乱数生成部とを有し、
上記公開乱数元記憶部は、上記記憶装置を用いて、上記設定装置が算出したn個の公開乱数元を記憶し、
上記索引乱数生成部は、上記処理装置を用いて、1以上p未満の整数をランダムに生成して、索引乱数とし、
上記判定元算出部は、上記処理装置を用いて、上記公開元記憶部が記憶した公開元と、上記索引乱数生成部が生成した索引乱数とに基づいて、上記索引乱数と等しい数の上記公開元を、上記第三の群の群演算により結合した元を算出して、判定元とし、
上記索引元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記公開乱数元記憶部が記憶した公開乱数元と、上記索引整数記憶部が記憶した索引整数と、上記索引乱数生成部が生成した索引乱数とに基づいて、上記索引整数と上記索引乱数との積と等しい数の上記公開乱数元を、上記第一の群の群演算により結合した元を算出して、n個の索引元とし、
上記検索暗号化装置は、更に、秘密乱数記憶部を有し、
上記秘密乱数記憶部は、上記記憶装置を用いて、上記設定装置が生成したn個の秘密乱数を記憶し、
上記検索元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記第二生成元と、上記秘密乱数記憶部が記憶した秘密乱数と、上記検索整数記憶部が記憶した検索整数と、上記多項式値算出部が算出した多項式値とに基づいて、上記秘密乱数と上記検索整数との積で上記多項式値を割った商と等しい数の上記第二生成元を、上記第二の群の群演算により結合した元を算出して、n個の検索元とし、
上記検索装置において、
上記写像元算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記索引元記憶部が記憶した索引元と、上記検索元記憶部が記憶した検索元とに基づいて、上記双線形ペアリング写像により上記索引元と上記検索元との組を写像した上記第三の群の元を算出して、d個のペアリング値とし、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、算出した上記ペアリング値と、上記補間係数値算出部が算出した補間係数値とに基づいて、上記補間係数値と等しい数の上記ペアリング値を、上記第三の群の群演算により結合した元を算出して、d個の写像元とし、
上記比較元算出部は、上記処理装置を用いて、上記写像元算出部が算出したd個の写像元を、上記第三の群の群演算により結合した元を算出して、比較元とすることを特徴とする請求項4または請求項5に記載の検索システム。 - 上記設定装置は、更に、公開乱数元算出部を有し、
上記公開元算出部は、上記処理装置を用いて、第一の群の生成元である第一生成元(上記第一の群の位数はp。)と、上記秘密整数生成部が生成した秘密整数とに基づいて、上記秘密整数と等しい数の上記第一生成元を、上記第一の群の群演算により結合した元を算出して、公開元とし、
上記公開乱数元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、第二の群の生成元(上記第二の群の位数はp。)をランダムに生成して、n個の公開乱数元とし、
上記索引暗号化装置は、更に、公開乱数元記憶部と、乱数元算出部と、索引乱数生成部とを有し、
上記公開乱数元記憶部は、上記記憶装置を用いて、上記設定装置が算出したn個の公開乱数元を記憶し、
上記索引乱数生成部は、上記処理装置を用いて、1以上p未満の整数をランダムに生成して、索引乱数とし、
上記判定元算出部は、上記処理装置を用いて、上記第二の群の生成元である第二生成元と、上記公開元記憶部が記憶した公開元とに基づいて、上記第一の群の元と上記第二の群の元との組を第三の群の元(上記第三の群の位数はp。)に写像する双線形ペアリング写像により、上記公開元と上記第二生成元との組が写像される上記第三の群の元を算出し、算出した上記第三の群の元と、上記索引乱数生成部が生成した索引乱数とに基づいて、上記索引乱数と等しい数の上記第三の群の元を、上記第三の群の群演算により結合した元を算出して、判定元とし、
上記乱数元算出部は、上記処理装置を用いて、上記第一生成元と、上記索引乱数生成部が生成した索引乱数とに基づいて、上記索引乱数と等しい数の上記第一生成元を、上記第一の群の群演算により結合した元を算出して、乱数元とし、
上記索引元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記索引整数記憶部が記憶した索引整数と、上記公開乱数元記憶部が記憶した公開乱数元とに基づいて、0以上p未満の整数と上記第二の群の元との組を上記第二の群の元に写像する写像関数により、上記索引整数と上記公開乱数元との組を写像した上記第二の群の元を算出して、n個の索引関数値とし、1以上n以下のn個の整数それぞれについて、算出した上記索引関数値と、上記索引乱数生成部が生成した索引乱数とに基づいて、上記索引乱数と等しい数の上記索引関数値を、上記第二の群の群演算により結合した元を算出して、n個の索引元とし、
上記検索暗号化装置は、更に、公開乱数元記憶部と、検索乱数生成部と、検索乱数元算出部とを有し、
上記公開乱数元記憶部は、上記記憶装置を用いて、上記設定装置が算出したn個の公開乱数元を記憶し、
上記検索乱数生成部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、1以上p未満の整数をランダムに生成して、n個の検索乱数とし、
上記検索元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索整数記憶部が記憶した検索整数と、上記公開乱数元記憶部が記憶した公開乱数元とに基づいて、上記写像関数により、上記検索整数と上記公開乱数元との組を写像して、上記第二の群の元を算出して、n個の検索関数値とし、1以上n以下のn個の整数それぞれについて、算出した上記検索関数値と、上記検索乱数生成部が生成した検索乱数とに基づいて、上記検索乱数と等しい数の上記検索関数値を、上記第二の群の群演算により結合した元を算出し、上記第二生成元と、上記多項式値算出部が算出した多項式値とに基づいて、上記多項式値と等しい数の上記第二生成元を、上記第二の群の群演算により結合した元を算出し、算出した上記第二の群の二つの元を上記第二の群の群演算により結合した元を算出して、n個の検索元とし、
上記検索乱数元算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記第一生成元と、上記検索乱数生成部が生成した検索乱数とに基づいて、上記検索乱数と等しい数の上記第一生成元を、上記第一の群の群演算により結合した元を算出して、n個の検索乱数元とし、
上記検索装置は、更に、乱数元記憶部と、検索乱数元記憶部とを有し、
上記乱数元記憶部は、上記記憶装置を用いて、上記索引暗号化装置が算出した乱数元を記憶し、
上記検索乱数元記憶部は、上記記憶装置を用いて、上記検索暗号化装置が算出したn個の検索乱数元を記憶し、
上記写像元算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記乱数元記憶部が記憶した乱数元と、上記検索元記憶部が記憶した検索元とに基づいて、上記双線形ペアリング写像により、上記乱数元と上記検索元との組を写像した上記第三の群の元を算出して、d個の第一ペアリング値とし、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記検索乱数元記憶部が記憶した検索乱数元と、上記索引元記憶部が記憶した索引元とに基づいて、上記双線形ペアリング写像により、上記検索乱数元と上記索引元との組を写像した上記第三の群の元を算出して、d個の第二ペアリング値とし、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、算出した上記第一ペアリング値と、算出した上記第二ペアリング値の逆元とを上記第三の群の群演算により結合した元を算出して、d個の写像元とし、
上記比較元算出部は、上記処理装置を用いて、上記写像元算出部が算出したd個の写像元を、上記第三の群の群演算により結合した元を算出して、比較元とすることを特徴とする請求項4または請求項5に記載の検索システム。 - 上記索引暗号化装置は、更に、索引変換部を有し、
上記索引変換部は、上記処理装置を用いて、1以上n以下のn個の整数に対応するn個の索引文字列を入力し、1以上n以下のn個の整数それぞれについて、任意の長さの文字列を1以上p未満の整数に変換する変換写像により、入力した索引文字列を変換して、n個の索引整数とし、
上記索引整数記憶部は、上記記憶装置を用いて、上記索引変換部が変換したn個の索引整数を記憶し、
上記検索暗号化装置は、更に、検索変換部を有し、
上記検索変換部は、上記処理装置を用いて、1以上n以下のn個の整数に対応するn個の検索文字列を入力し、1以上n以下のn個の整数それぞれについて、上記変換写像により、入力した検索文字列を変換して、n個の検索整数とし、
上記検索整数記憶部は、上記記憶装置を用いて、上記検索変換部が変換したn個の検索整数を記憶することを特徴とする請求項4乃至請求項7のいずれかに記載の検索システム。 - データを記憶する記憶装置と、データを処理する処理装置と、検索記憶部と、多項式値算出部と、検索暗号化部とを有し、
上記検索記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の検索データを記憶し、
上記多項式値算出部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、(d−1)次の一変数多項式(dは1以上n以下の整数。)に上記整数を代入した値を算出して、n個の多項式値とし、
上記検索暗号化部は、上記処理装置を用いて、1以上n以下のn個の整数それぞれについて、上記検索記憶部が記憶した検索データと、上記多項式値算出部が算出した多項式値との組を暗号化して、n個の暗号化検索データとすることを特徴とする検索暗号化装置。 - データを処理する処理装置と、データを記憶する記憶装置と、暗号化索引記憶部と、暗号化検索記憶部と、判定対象選択部と、補間係数値算出部と、写像算出部と、比較算出部と、判定部とを有し、
上記暗号化索引記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の索引データをそれぞれ暗号化したn個の暗号化索引データを記憶し、
上記暗号化検索記憶部は、上記記憶装置を用いて、1以上n以下のn個の整数に対応するn個の検索データをそれぞれ暗号化したn個の暗号化検索データを記憶し、
上記判定対象選択部は、上記処理装置を用いて、1以上n以下のn個の整数のなかからd個の整数(dは1以上n以下の整数。)を選択して、d個の判定対象整数とし、
上記補間係数値算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数に基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値とし、
上記写像算出部は、上記処理装置を用いて、上記判定対象選択部が選択したd個の判定対象整数それぞれについて、上記暗号化索引記憶部が記憶した暗号化索引データと、上記暗号化検索記憶部が記憶した暗号化検索データと、上記補間係数値算出部が算出した補間係数値との組を写像して、d個の写像データとし、
上記比較算出部は、上記処理装置を用いて、上記写像算出部が写像したd個の写像データに基づいて、比較データを算出し、
上記判定部は、上記処理装置を用いて、上記比較算出部が算出した比較データに基づいて、上記判定対象選択部が選択したd個の判定対象整数について、上記索引データと、上記検索データとが一致するか否かを判定することを特徴とする検索装置。 - データを記憶する記憶装置と、データを処理する処理装置とを有するコンピュータが実行することにより、上記コンピュータが請求項10に記載の検索暗号化装置または請求項11に記載の検索装置として機能することを特徴とするコンピュータプログラム。
- 索引暗号化装置が索引データを暗号化した暗号化索引データと、検索暗号化装置が検索データを暗号化した暗号化検索データとを用いて、検索装置が上記索引データと上記検索データとが一致するか否かを判定する検索方法において、
上記索引暗号化装置が、1以上n以下のn個の整数(nは1以上の整数。)に対応するn個の索引データを記憶し、
上記索引暗号化装置が、1以上n以下のn個の整数それぞれについて、記憶した索引データを暗号化して、n個の暗号化索引データとし、
上記検索暗号化装置が、1以上n以下のn個の整数に対応するn個の検索データを記憶し、
上記検索暗号化装置が、1以上n以下のn個の整数それぞれについて、(d−1)次の一変数多項式(dは1以上n以下の整数。)に上記整数を代入した値を算出して、n個の多項式値とし、
上記検索暗号化装置が、1以上n以下のn個の整数それぞれについて、記憶した検索データと、算出した多項式値との組を暗号化して、n個の暗号化検索データとし、
上記検索装置が、上記索引暗号化装置が暗号化したn個の暗号化索引データを記憶し、
上記検索装置が、上記検索暗号化装置が暗号化したn個の暗号化検索データを記憶し、
上記検索装置が、1以上n以下のn個の整数のなかからd個の整数を選択して、d個の判定対象整数とし、
上記検索装置が、選択したd個の判定対象整数に基づいて、ラグランジュの補間係数の値を算出して、d個の補間係数値とし、
上記検索装置が、選択したd個の判定対象整数それぞれについて、記憶した暗号化索引データと、記憶した暗号化検索データと、算出した補間係数値との組を写像して、d個の写像データとし、
上記検索装置が、写像したd個の写像データに基づいて、比較データを算出し、
上記検索装置が、算出した比較データに基づいて、選択したd個の判定対象整数について、上記索引データと、上記検索データとが一致するか否かを判定することを特徴とする検索方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009007892A JP5274271B2 (ja) | 2009-01-16 | 2009-01-16 | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009007892A JP5274271B2 (ja) | 2009-01-16 | 2009-01-16 | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010164835A JP2010164835A (ja) | 2010-07-29 |
JP5274271B2 true JP5274271B2 (ja) | 2013-08-28 |
Family
ID=42581033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009007892A Expired - Fee Related JP5274271B2 (ja) | 2009-01-16 | 2009-01-16 | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5274271B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5557683B2 (ja) * | 2010-10-07 | 2014-07-23 | 三菱電機株式会社 | 情報検索装置および情報検索方法 |
US9111106B2 (en) | 2011-01-13 | 2015-08-18 | Mitsubishi Electric Corporation | Data processing apparatus and data storage apparatus |
WO2013018683A1 (ja) | 2011-07-29 | 2013-02-07 | 日本電気株式会社 | 情報漏えいに耐性を持つインデックス生成システム及びインデックス生成装置並びにその方法 |
JP5975490B2 (ja) * | 2011-09-14 | 2016-08-23 | 国立研究開発法人産業技術総合研究所 | 検索システム、検索方法、およびプログラム |
WO2013084957A1 (ja) * | 2011-12-09 | 2013-06-13 | 日本電気株式会社 | 暗号化検索データベース装置、暗号化検索用データの追加削除方法および追加削除プログラム |
JP5667969B2 (ja) * | 2011-12-22 | 2015-02-12 | 株式会社日立製作所 | 検索処理システムおよび部分一致検索方法 |
JP2014126865A (ja) * | 2012-12-27 | 2014-07-07 | Fujitsu Ltd | 暗号処理装置および方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3907184B2 (ja) * | 2002-06-17 | 2007-04-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベース検索システム及びデータ共有システム |
CN101593196B (zh) * | 2008-05-30 | 2013-09-25 | 日电(中国)有限公司 | 用于快速密文检索的方法、装置和系统 |
-
2009
- 2009-01-16 JP JP2009007892A patent/JP5274271B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010164835A (ja) | 2010-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108140334B (zh) | 隐匿检索系统、管理装置、隐匿检索方法和记录介质 | |
JP6504013B2 (ja) | 暗号処理方法、暗号処理装置、および暗号処理プログラム | |
JP6058237B1 (ja) | 暗号文変換装置、暗号文変換プログラム及び暗号文変換方法 | |
JP5274271B2 (ja) | 検索システム及び索引暗号化装置及び検索暗号化装置及び検索装置及びコンピュータプログラム及び検索方法 | |
Sousa et al. | Efficient and secure outsourcing of genomic data storage | |
JP2014126865A (ja) | 暗号処理装置および方法 | |
JP5762232B2 (ja) | プライバシを保護したまま暗号化された要素の順序を選択するための方法およびシステム | |
Mohanty et al. | $2 dcrypt $: Image scaling and cropping in encrypted domains | |
Merkepci et al. | On Some Novel Results about Split‐Complex Numbers, the Diagonalization Problem, and Applications to Public Key Asymmetric Cryptography | |
JP6305638B2 (ja) | 暗号システム及び鍵生成装置 | |
JP5400740B2 (ja) | 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置 | |
Lee et al. | Selective scalable secret image sharing with verification | |
Preethi et al. | A high secure medical image storing and sharing in cloud environment using hex code cryptography method—secure genius | |
Chen et al. | On the security of a BTC-based-compression image authentication scheme | |
Kim et al. | Privacy-preserving parallel kNN classification algorithm using index-based filtering in cloud computing | |
Mok et al. | Implementing the honey encryption for securing public cloud data storage | |
KR20240004830A (ko) | 완전 동형 암호화에서 사용하기 위한 블라인드 회전 | |
Niu et al. | A data-sharing scheme that supports multi-keyword search for electronic medical records | |
Ruzai et al. | New simultaneous Diophantine attacks on generalized RSA key equations | |
KR101444828B1 (ko) | 암호화된 이미지의 저장 및 검색 방법 | |
Thirumalai et al. | Modelling a side channel resistant CHAN-PKC cryptomata for medical data security | |
Karolin et al. | Visual Cryptography Secret Share Creation Techniques with Multiple Image Encryption and Decryption Using Elliptic Curve Cryptography | |
Liu et al. | Secure medical data on cloud storage via DNA homomorphic encryption technique | |
Kebache et al. | Reducing the Encrypted Data Size: Healthcare with IoT-Cloud Computing Applications. | |
Youn et al. | Design of additive homomorphic encryption with multiple message spaces for secure and practical storage services over encrypted data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20111024 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20121207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20121214 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130108 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130204 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20130226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130327 |
|
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: 20130416 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130514 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |