説明

多重暗号化鍵配送システム、多重暗号化鍵配送方法、プログラム

【課題】暗号文のサイズが一つの公開鍵で暗号化した場合と変わらず、かつ悪意ある利用者の公開鍵が混入したとしても安全性を確保することができる。
【解決手段】送信装置は、m個の公開鍵・秘密鍵のペアを選択する鍵ペア選択部と、暗号化部とを備える。暗号化部は、係数c、t、τを計算する係数計算手段と、鍵Kを計算する鍵K生成手段と、c、τ、および集合Vの元ρから暗号文Cを生成する暗号文生成手段とを備える。受信装置は、部分復号部と、部分鍵を結合して鍵Kを生成する鍵K結合部と、復号部とを備える。部分復号部は、m個の公開鍵を検査する第1公開鍵検査手段と、係数c、τを検査する第1係数検査手段と、部分鍵を計算する部分鍵計算手段とを備える。復号部は、m個の公開鍵を検査する第2公開鍵検査手段と、係数c、τを検査する第2係数検査手段とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は多重公開鍵暗号を生成する多重暗号化鍵配送システム、多重暗号化鍵配送方法、プログラムに関する。
【背景技術】
【0002】
多重公開鍵暗号とは、暗号の安全性を高めるために平文を幾つもの公開鍵で暗号化する暗号のことである。多重公開鍵暗号についての従来技術として非特許文献1〜4が知られている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Rui Zhang, Goichiro Hanaoka, Junji Shikata, Hideki Imai, "On the Security of Multiple Encryption or CCA-security+CCA-security=CCA-security?", In Proceedings of Public Key Cryptography'2004, pp360-374
【非特許文献2】Yevgeniy Dodis, Jonathan Katz, "Chosen-Ciphertext Security of Multiple Encryption", In Proceedings of TCC'2005, pp188-209
【非特許文献3】Dan Boneh, Xavier Boyen, Shai Halevi, "Chosen Ciphertext Secure Public Key Threshold Encryption Without Random Oracles", In Proceedings of CT-RSA'2006, pp226-243
【非特許文献4】Seiko Arita, Koji Tsurudome, "Construction of Threshold Public-Key Encryptions through Tag-Based Encryptions", In Proceedings of ACNS'2009, pp186-200
【発明の概要】
【発明が解決しようとする課題】
【0004】
非特許文献1、2は多重暗号の最初の論文であり、安全性の定義と構成法を示している。しかし、最も強い攻撃法(ここでは攻撃法Aと表記する)に対して安全な方式では暗号文が長くなってしまう。また、非特許文献1、2では敵性鍵攻撃(敵の作った公開鍵による攻撃)を想定していない。一方、非特許文献3、4は、公開鍵を独立に複数作るのではなく、一人の人が公開鍵を分割する方式である。この場合暗号文は短くなるが、非特許文献1、2同様、敵性鍵攻撃を想定していない(図3参照)。
【0005】
多重公開鍵暗号方式を採用した場合、悪意のある利用者(敵)が作った公開鍵が混入することで、暗号文の安全性が逆に脆弱になってしまう恐れがある。敵が作った公開鍵が混入することは、多重公開鍵暗号では十分想定しうる事態であるにも関わらず、従来これを考慮した強い暗号のモデルが考えられたことはなかった。この問題は平文を秘密分散すれば解決しやすくなるが、そうすると暗号文のサイズが使われる多重公開鍵の数に比例して増大してしまうという問題がある。そこで本発明では、暗号文のサイズが一つの公開鍵で暗号化した場合と変わらず、かつ悪意ある利用者の公開鍵が混入したとしても安全性を確保することができる多重暗号化鍵配送システムを提供することを目的とする。
【課題を解決するための手段】
【0006】
X,X',T,D,D',Yを任意の有限集合とし、記号×を直積集合を表すものとし、
【0007】
【数1】

【0008】
関数H,H'が、
【0009】
【数2】

【0010】
を満たすハッシュ関数である場合に、
本発明の多重暗号化鍵配送システムは関数f,f',p,p',F,H,H'からなる公開情報paraを共通に使用することを特徴とする。本発明の多重暗号化鍵配送システムは、送信装置と、受信装置により構成される。送信装置は、鍵ペア選択部と、暗号化部とを備える。暗号化部は、係数計算手段と、鍵K生成手段と、暗号文生成手段とを備える。受信装置は、部分復号部と、鍵K結合部と、復号部とを備える。部分復号部は、第1公開鍵検査手段と、第1係数検査手段と、部分鍵計算手段とを備える。復号部は、第2公開鍵検査手段と、第2係数検査手段とを備える。
【0011】
【数3】

【0012】
【数4】

【0013】
【数5】

【0014】
【数6】

【0015】
【数7】

【0016】
【数8】

【0017】
【数9】

【0018】
【数10】

【0019】
【数11】

【0020】
【数12】

【発明の効果】
【0021】
本発明の多重暗号化鍵配送システムによれば、公開情報に含まれる関数として、上述のように関数f,f',p',Fに限定を施し、あらたに関数pを導入することで公開鍵と暗号文の可交換性(対称性)を確保することに成功した。また、上述のような工夫を行うことで、ペアリング関数の特性を利用した公開鍵と暗号文の可交換性(対称性)を確保することができることは従来知られていなかった。従って、本発明の多重暗号化鍵配送システムによれば、上述のように関数f,f',p,p',Fを構成したため、公開鍵と暗号文の可交換性(対称性)を利用して、暗号文のサイズが一つの公開鍵で暗号化した場合と変わらず、かつ悪意ある利用者の公開鍵が混入したとしても安全性を確保することができる。
【図面の簡単な説明】
【0022】
【図1】実施例1、2の多重暗号化鍵配送システムの構成を示すブロック図。
【図2】実施例1、2の多重暗号化鍵配送システムの動作を示すフローチャート。
【図3】従来技術と本発明を比較する図。
【発明を実施するための形態】
【0023】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0024】
<準備1:アルゴリズム記述>
本発明では、確率的アルゴリズムが用いられる。確率的アルゴリズムMについて以下に説明する。
【0025】
【数13】

【0026】
<準備2:関数f,f',p,p',F>
【0027】
【数14】

【0028】
<準備3:多重暗号化鍵配送メカニズム>
【0029】
【数15】

【0030】
<共通鍵暗号>
【0031】
【数16】

【0032】
<多重公開鍵暗号>
【0033】
【数17】

【実施例1】
【0034】
以下に、図1、2を参照して実施例1に係る多重暗号化鍵配送システム100について説明する。図1は本実施例に係る多重暗号化鍵配送システム100の構成を示すブロック図である。図2は本実施例に係る多重暗号化鍵配送システム100の動作を示すフローチャートである。本実施例の多重暗号化鍵配送システム100は、送信装置10と、受信装置20により構成される。送信装置10は、鍵ペア選択部1と、暗号化部2とを備える。暗号化部2は、係数計算手段2aと、鍵K生成手段2bと、暗号文生成手段2cとを備える。受信装置20は、部分復号部3と、鍵K結合部4と、復号部5とを備える。部分復号部3は、第1公開鍵検査手段3aと、第1係数検査手段3bと、部分鍵計算手段3cとを備える。復号部5は、第2公開鍵検査手段5aと、第2係数検査手段5bとを備える。本実施例の多重暗号化鍵配送システム100が用いる関数f,f',p,p',Fを上記<準備2>において定義したものとする。また、多重暗号化鍵配送システム100が用いる関数H,H'を次のような入出力をもつハッシュ関数とする。
【0035】
【数18】

【0036】
本実施例の多重暗号化鍵配送システム100は、前述の関数f,f',p,p',F,H,H'を公開情報paraとして各構成部において共通に用いるものとする。また、本実施例の多重暗号化鍵配送システム100は、上述の鍵生成アルゴリズムGenにより予め生成されたm個の公開鍵・秘密鍵のペアを予め選択し、これらを以下の処理に用いるものとする。以下本実施例の多重暗号化鍵配送システム100の送信装置10と、受信装置20の各構成部の動作について説明する。
【0037】
まず送信装置10の動作について説明する。
【0038】
【数19】

【0039】
【数20】

【0040】
【数21】

【0041】
【数22】

【0042】
従って、送信装置10からは暗号文Cと鍵Kの組(C,K)が出力され、当該(C,K)が受信装置20に入力される。次に、受信装置20の動作について説明する。
【0043】
【数23】

【0044】
【数24】

【0045】
第1公開鍵検査手段3aと、第1係数検査手段3bで実行される検査のうち、何れかひとつでも検査が失敗した場合には(SS3xN)、受信装置20はエラーを出力して処理を終了する(エンド)。第1公開鍵検査手段3aと、第1係数検査手段3bで実行される検査の何れの検査も成功した場合には(SS3xY)、受信装置20は部分鍵計算手段3cがサブステップSS3Cを続行する。
【0046】
【数25】

【0047】
【数26】

【0048】
【数27】

【0049】
【数28】

【0050】
第2公開鍵検査手段5aと、第2係数検査手段5bで実行される検査のうち、何れかひとつでも検査が失敗した場合には(SS5xN)、受信装置20はエラーを出力して処理を終了する(エンド)。第1公開鍵検査手段5aと、第1係数検査手段5bで実行される検査の何れの検査も成功した場合には(SS5xY)、受信装置20は鍵Kを出力して(SS5y)動作を終了する(エンド)。
【0051】
このように、本実施例の多重暗号化鍵配送システム100によれば、公開情報に含まれる関数として、上述のように関数f,f',p',Fに限定を施し、あらたに関数pを導入することで公開鍵と暗号文の可交換性(対称性)を確保することに成功した。具体的には、F(f(s),s′)=F(s,f′(s′))のような関係を満たす、関数f,f′,Fをもとに、どちらか片方、例えばf′(s′)を公開鍵(s′が対応する秘密鍵)と、f(s)を暗号文とするような(多重)公開鍵暗号を作ることができる。fがある種の適応的攻撃に強いとすると、このような(多重)公開鍵暗号は選択暗号文攻撃に強くなる。一方、対称性からfとf′の役割はそっくり取り換えることができ、f(s)を公開鍵、f′(s′)を暗号とする公開鍵暗号が構成できる。この場合、やはりf′がある種の適応的攻撃に強いとすると、その公開鍵暗号は選択暗号文攻撃に強くなる。悪意のある利用者が混じっていても安全な理由は、利用者の公開鍵が暗号文と同じ形をしていて暗号文と公開鍵が取り換え可能なため、通常の選択暗号文攻撃に対する同じ防御方法で防げるからである。上述のような工夫を行うことで、ペアリング関数の特性を利用した公開鍵と暗号文の可交換性(対称性)を確保することができることは従来知られていなかった。従って、本発明の多重暗号化鍵配送システムによれば、上述のように関数f,f',p,p',Fを構成したため、公開鍵と暗号文の可交換性(対称性)を利用して、暗号文のサイズが一つの公開鍵で暗号化した場合と変わらず、かつ悪意ある利用者の公開鍵が混入したとしても安全性を確保することができる。
【実施例2】
【0052】
次に、本発明の実施例2に係る多重暗号化鍵配送システム200について説明する。実施例2の多重暗号化鍵配送システム200は、実施例1の多重暗号化鍵配送システム100と全く同じ構成部を有している。本実施例の多重暗号化鍵配送システム200の各構成部は実施例1の多重暗号化鍵配送システム100において対応する各構成部と全く同じ処理を行う。本実施例の実施例1との相違点は、前述の公開情報para=(f,f',p,p',F)を変形して用いる点である。実施例2で用いられる公開情報paraを次のように定義する。
【0053】
【数29】

【0054】
【数30】

【0055】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0056】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0057】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0058】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0059】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0060】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

【特許請求の範囲】
【請求項1】
【数31】

関数H,H'が、
【数32】

を満たすハッシュ関数である場合に、
関数f,f',p,p',F,H,H'を公開情報para=(f,f',p,p',F,H,H')として共通に使用する送信装置と受信装置とからなる多重暗号化鍵配送システムであって、
送信装置は、
【数33】

【数34】

【数35】

【数36】

受信装置は、
【数37】

【数38】

【数39】

【数40】

【数41】

【数42】

を備えることを特徴とする多重暗号化鍵配送システム。
【請求項2】
請求項1に記載の多重暗号化鍵配送システムであって、
【数43】

を特徴とする多重暗号化鍵配送システム。
【請求項3】
【数44】

関数H,H'が、
【数45】

を満たすハッシュ関数である場合に、
関数f,f',p,p',F,H,H'を公開情報para=(f,f',p,p',F,H,H')として共通に使用する送信装置と受信装置とを用いる多重暗号化鍵配送方法であって、
送信装置は、
【数46】

【数47】

【数48】

【数49】

受信装置は、
【数50】

【数51】

【数52】

【数53】

【数54】

【数55】

を実行することを特徴とする多重暗号化鍵配送方法。
【請求項4】
請求項3に記載の多重暗号化鍵配送方法であって、
【数56】

を特徴とする多重暗号化鍵配送方法。
【請求項5】
コンピュータを請求項1または2に記載の多重暗号化鍵配送システムとして機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate