(57)【要約】【課題】双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能な、情報処理装置、情報処理方法およびプログラムを提供する。【解決手段】本発明に係る情報処理装置は、所定の演算に用いられる双線形写像を選択する双線形写像選択部と、演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する群選択部と、選択された少なくとも２種類の群それぞれに基づき、所定の演算に要する演算量および所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、判定パラメータに基づき、演算を行う際に利用する群を決定する群決定部と、を備え、群決定部は、群Ｇ２における演算量または情報量が、群Ｇ１における演算量または情報量よりも大きい場合に、群Ｇ１と群Ｇ２の内容を入れ替える。【選択図】図１
2010117384.tif 000002
【特許請求の範囲】
【請求項１】
所定の演算に用いられる双線形写像を選択する双線形写像選択部と、
前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する群選択部と、
選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、
前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、
を備え、
前記群決定部は、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替える、情報処理装置。
【請求項２】
前記情報処理装置は、前記双線形写像を用いた演算の詳細が記録されている記憶部を更に備え、
前記判定パラメータ算出部は、前記記憶部に記録されている演算の詳細を参照して、前記判定パラメータの算出を行う、請求項１に記載の情報処理装置。
【請求項３】
前記群Ｇ１および前記群Ｇ２は、それぞれの群に属する元が互いに異なる、請求項２に記載の情報処理装置。
【請求項４】
前記群選択部により選択される群は、所定のビット数を有する素数を位数とする群である、請求項２に記載の情報処理装置。
【請求項５】
前記双線形写像は、楕円曲線上に位置する点に関する写像に関するものである、請求項１に記載の情報処理装置。
【請求項６】
前記双線形写像は、Ｔａｔｅペアリングである、請求項５に記載の情報処理装置。
【請求項７】
前記双線形写像は、Ａｔｅペアリングである、請求項５に記載の情報処理装置。
【請求項８】
前記所定の演算は、公開鍵配信方式に基づく演算である、請求項１に記載の情報処理装置。
【請求項９】
前記所定の演算は、ＩＤベース型公開鍵配信方式に基づく演算である、請求項１に記載の情報処理装置。
【請求項１０】
所定の演算に用いられる双線形写像を選択するステップと、
前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択するステップと、
選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出するステップと、
前記判定パラメータに基づいて判定を行い、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替えるステップと、
を含む、情報処理方法。
【請求項１１】
コンピュータに、
所定の演算に用いられる双線形写像を選択する双線形写像選択機能と、
前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する群選択機能と、
選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出機能と、
前記判定パラメータに基づいて判定を行い、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替える機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）のみならず、携帯電話やディジタル家電等の普及、発達に伴い、音楽や映像等のコンテンツ配信ビジネスが益々重要になってきている。コンテンツ配信ビジネスとしては、ＣＡＴＶや衛星放送、インターネット等を利用した有料放送や、ＣＤ、ＤＶＤ等の物理メディアを利用したコンテンツの販売などが存在するが、いずれにおいても、契約者のみがコンテンツを取得可能となる仕組みを構成する必要がある。
【０００３】
このような仕組みの一例として、双線形写像と呼ばれる演算を用いた鍵共有方法が、各種提案されている（例えば、非特許文献１および非特許文献２を参照。）。双線形写像とは、２つの加法群の元を乗法群の元に写像する関数であり、入力した２つの元と、出力された元との間に、線形性が成立する。
【０００４】
【非特許文献１】Ｃ．Ｄｅｌｅｒａｂｌｅｅ， “Ｉｄｅｎｔｉｔｙ−Ｂａｓｅｄ  Ｂｒｏａｄｃａｓｔ  Ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  Ｃｏｎｓｔａｎｔ  Ｓｉｚｅ  Ｃｉｐｈｅｒｔｅｘｔｓ  ａｎｄ  Ｐｒｉｖａｔｅ  Ｋｅｙｓ，”ＡＳＩＡＣＲＹＰＴ  ２００７，ＬＮＣＳ  ４８３３，ｐｐ．２００−２１５，２００７．
【非特許文献２】Ｃ．Ｄｅｌｅｒａｂｌｅｅ，Ｐ．Ｐａｉｌｌｉｅｒ，ａｎｄ  Ｄ．Ｐｏｉｎｔｃｈｅｖａｌ，“Ｆｕｌｌｙ  Ｃｏｌｌｕｓｉｏｎ  Ｓｅｃｕｒｅ  Ｄｉｎａｍｉｃ  Ｂｒｏａｄｃａｓｔ  Ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  Ｃｏｎｓｔａｎｔ−Ｓｉｚｅ  Ｃｉｐｈｅｒｔｅｘｔｓ  ｏｒ  Ｄｅｃｒｙｐｔｉｏｎ  Ｋｅｙｓ，”Ｐａｉｒｉｎｇ−Ｂａｓｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ−Ｐａｉｒｉｎｇ２００７，Ｌｅｃｔｕｒｅ  Ｎｏｔｅｓ  ｉｎ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  ４５７５，ｐｐ．３９−５９，Ｓｐｒｉｎｇｅｒ，２００７．
【非特許文献３】Ｆ．Ｈｅｓｓ，Ｎ．Ｓｍａｒｔ，ａｎｄ  Ｆ．Ｖｅｒｃａｕｔｅｒｅｎ，“Ｔｈｅ  Ｅｔａ  Ｐａｉｒｉｎｇ  Ｒｅｖｉｓｉｔｅｄ”，ＩＥＥＥ  ＴＲＡＮＳＡＣＴＩＯＮＳＯＮ  ＩＮＦＯＲＭＡＴＩＯＮ  ＴＨＥＯＲＹ，ＶＯＬ．５２，ＮＯ．１０，ｐｐ．４５９５−４６０２，ＯＣＴ．２００６．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
上記非特許文献１および非特許文献２に記載の方法においても、方法の実行に際して２種類の群を選択する必要がある。しかしながら、選択した群によっては、方式全体の計算量および情報量が大きく変動してしまうという問題があった。
【０００６】
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある観点によれば、所定の演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する群選択部と、選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記群決定部は、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替える、情報処理装置が提供される。
【０００８】
かかる構成によれば、双線形写像選択部は、所定の演算に用いられる双線形写像を選択し、群選択部は、演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する。また、判定パラメータ算出部は、選択された少なくとも２種類の群それぞれに基づき、所定の演算に要する演算量および所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する。また、群決定部は、判定パラメータに基づき、演算を行う際に利用する群を決定する。更に、群決定部は、群Ｇ２における演算量または情報量が、群Ｇ１における演算量または情報量よりも大きい場合に、群Ｇ１と群Ｇ２の内容を入れ替える。
【０００９】
前記情報処理装置は、前記双線形写像を用いた演算の詳細が記録されている記憶部を更に備え、前記判定パラメータ算出部は、前記記憶部に記録されている演算の詳細を参照して、前記判定パラメータの算出を行ってもよい。
【００１０】
前記群Ｇ１および前記群Ｇ２は、それぞれの群に属する元が互いに異なることが好ましい。
【００１１】
前記群選択部により選択される群は、所定のビット数を有する素数を位数とする群であることが好ましい。
【００１２】
前記双線形写像は、楕円曲線上に位置する点に関する写像に関するものであることが好ましい。前記双線形写像は、Ｔａｔｅペアリングであってもよく、Ａｔｅペアリングであってもよい。
【００１３】
前記所定の演算は、公開鍵配信方式に基づく演算であってもよく、ＩＤベース型公開鍵配信方式に基づく演算であってもよい。
【００１４】
上記課題を解決するために、本発明の別の観点によれば、所定の演算に用いられる双線形写像を選択するステップと、前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択するステップと、選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出するステップと、前記判定パラメータに基づいて判定を行い、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替えるステップと、を含む、情報処理方法が提供される。
【００１５】
上記課題を解決するために、本発明の更に別の観点によれば、コンピュータに、所定の演算に用いられる双線形写像を選択する双線形写像選択機能と、前記演算を行う際に利用される２種類の群Ｇ１，Ｇ２を少なくとも選択する群選択機能と、選択された少なくとも２種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出機能と、前記判定パラメータに基づいて判定を行い、前記群Ｇ２における前記演算量または前記情報量が、前記群Ｇ１における前記演算量または前記情報量よりも大きい場合に、前記群Ｇ１と前記群Ｇ２の内容を入れ替える機能と、を実現させるためのプログラムが提供される。
【００１６】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の情報処理装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【発明の効果】
【００１７】
本発明によれば、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能である。
【発明を実施するための最良の形態】
【００１８】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１９】
なお、説明は、以下の順序で行うものとする。
（１）目的
（２）楕円曲線上のペアリングについて
（３）第１の実施形態
（３−１）情報処理装置の構成について
（３−２）情報処理方法について
（３−３）情報処理装置の適用例について
暗号処理システムについて
情報処理装置の適用例
非特許文献２の方法における公開情報の生成方法
非特許文献２の方法における鍵生成方法
非特許文献２の方法における暗号化方法
非特許文献２の方法における復号方法
非特許文献２の方法における問題点
演算量および情報量の比較
（４）本発明の各実施形態に係る情報処理装置のハードウェア構成について
（５）まとめ
【００２０】
＜目的＞
まず、本発明の各実施形態に係る情報処理装置および情報処理方法を説明するに先立ち、双線形写像を用いる演算として公開鍵配信における暗号処理を例に取りながら、本発明の目的とするところについて、詳細に説明する。
【００２１】
双線形写像とは、上述のように、２つの加法群の元を乗法群の元に写像する関数であり、入力した２つの元と、出力された元との間に、線形性が成立する。一般的な双線形写像として、例えば、楕円曲線上で定義されるＷｅｉｌ  ｐａｉｒｉｎｇおよびＴａｔｅ  ｐａｉｒｉｎｇの２つがある。以下では、これらのペアリングをまとめて、ペアリングと称することとする。
【００２２】
ペアリングは、本来は、楕円曲線上の離散対数問題を有限体上の離散対数問題に帰着させる楕円曲線暗号に対する攻撃手法として認識されていた。しかし、Ｊｏｕｘによる３者間鍵共有や境らによるＩＤベース型鍵共有方式など、ペアリングを利用した画期的な方式が提案されると、以降、ペアリングを利用した応用研究が、活発に行われるようになった。
【００２３】
ペアリングは、他の暗号要素技術と比較して、計算コストが大きいことが問題であった。しかしながら、高速な計算アルゴリズムとして、ηＴ  ｐａｉｒｉｎｇやＡｔｅ  ｐａｉｒｉｎｇが提案され、現在では、ＲＳＡ暗号や楕円曲線暗号と、ほぼ同等のコスト（より詳細には、ほぼ同等のオーダー）で計算可能となっている。
【００２４】
ペアリングを利用した暗号方式では、方式の安全性を確保するために、ペアリングの入出力となる元のサイズなどのパラメータを、適切に設定する必要がある。現在の安全性水準では、ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅと称される楕円曲線を利用することにより、群Ｇ１＝Ｇ２を構成可能であり、高速なηＴ  ｐａｉｒｉｎｇを用いてペアリングの値を計算可能である。
【００２５】
しかしながら、より高い安全性水準を満足するパラメータを利用する場合、後述するいくつかの理由から、Ｇ１≠Ｇ２となる群を選択する必要が生じる。この際に、ペアリングの値の計算には、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅと称される楕円曲線におけるＡｔｅ  ｐａｉｒｉｎｇを用いる。このとき、公開情報やユーザ鍵等を生成するセンタと、複数のユーザとから構成される暗号方式において、利用する群の選択により、方式全体の計算量及び情報量が大きく変動するという問題がある。
【００２６】
そのため、本願発明者らは、より高度な安全性水準を維持しつつ、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能な情報処理装置および情報処理方法を提供することを目的として、鋭意研究を行った。その結果、本願発明者らは、以下で説明するような、情報処理装置および情報処理方法に想到した。
【００２７】
＜楕円曲線上のペアリングについて＞
本発明の各実施形態に係る情報処理装置および情報処理方法について説明するに先立ち、まず、楕円曲線上のペアリングについて、簡単に説明する。
【００２８】
［１．有限体、楕円曲線］
素数をｐとし、その冪数ｑ＝ｐｍとする。有限体Ｆｑは素体Ｆｐのｍ次拡大体である。有限体Ｆｑ上で定義された楕円曲線Ｅは、ｙ２＝ｘ３＋ａｘ＋ｂ、（ａ、ｂ∈Ｆｑ）の形で与えられ、部分群の位数をｒとして、位数ｒの元による群をＥ（Ｆｑ）［ｒ］と表記する。
【００２９】
楕円曲線に依存するパラメータに埋め込み次数ｋがあり、ｒ｜ｑｋ−１を満足する最小の整数として定義される。楕円曲線Ｅがｏｒｄｉｎａｒｙ  ｃｕｒｖｅと称される楕円曲線であれば、Ｆｑ上で定義された次数ｄ（ｄ＝２、３、４、６）のＥのｔｗｉｓｔ  Ｅ’が存在し、以下の式１で表される同型写像φｄを持つ。楕円曲線Ｅがｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅと称される楕円曲線であれば、ｄｉｓｔｏｒｔｉｏｎ  ｍａｐと呼ばれる以下の式２で表される同型写像を持つ。
【００３０】
【数１】
2010117384.tif 000003
【００３１】
［２．双線形写像］
位数ｒの巡回群をそれぞれＧ１、Ｇ２、ＧＴとすると、双線形写像eは、以下の式３のように定義される。
【００３２】
ｅ：Ｇ１×Ｇ２→ＧＴ  ・・・（式３）
【００３３】
また、この双線形写像eは、任意のＧ∈Ｇ１、Ｈ∈Ｇ２およびａ，ｂ∈Ｚｐに対して、以下２つの性質を満たす。
【００３４】
１．双線形性：ｅ（ａＧ，ｂＨ）＝ｅ（Ｇ，Ｈ）ａｂ
２．非退化性：ｅ（Ｇ，Ｈ）≠１（Ｇ≠１、または、Ｈ≠１の場合）
【００３５】
Ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅでは、Ｇ１＝Ｇ２＝Ｅ（Ｆｑ）［ｒ］とし、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅでは、有限体Ｆｑ上で定義されたｔｗｉｓｔ  Ｅ’を利用して、Ｇ１＝Ｅ（Ｆｑ）［ｒ］、Ｇ２＝Ｅ’（Ｆｑ）［ｒ］とする。どちらの曲線であっても、ＧＴは、以下の式４のようになる。非自明なペアリングの値を導出するためには、同型写像を利用して、Ｇ２の点をＥ（Ｆｑｋ）［ｒ］までリフティングする必要がある。なお、以下の説明において、「Ｆｑｋ」という表記は、Ｆｑのｋ次拡大体を表すものとする。Ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅでは、ｄｉｓｔｏｒｔｉｏｎ  ｍａｐφを利用して、以下の式５で表されるＰ∈Ｇ１と線形独立な元φ（Ｐ）を導出できる。他方、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅでは、Ｑ∈Ｇ２に対して、ｔｗｉｓｔ  Ｅ’の同型写像φｄを利用して、以下の式６のように導出する。
【００３６】
【数２】
2010117384.tif 000004
【００３７】
なお、上述のような双線形写像の一般的な例として、例えば、Ｗｅｉｌ  ｐａｉｒｉｎｇ、Ｔａｔｅ  ｐａｉｒｉｎｇ、Ａｔｅ  ｐａｉｒｉｎｇ等がある。
【００３８】
［３．双線形写像を用いた演算におけるパラメータ設定］
双線形写像を用いた演算におけるパラメータの設定では、楕円曲線と同時に、ペアリングの入力である楕円曲線上の加法群のサイズ、および、ペアリングの出力である乗法群が属する有限体のサイズを決定する。現在の安全性水準である８０−ｂｉｔ  ｓｅｃｕｒｉｔｙでは、加法群のサイズについて、楕円曲線上の離散対数問題から、部分群の位数ｒを１６０−ｂｉｔ程度と設定する。また、乗法群が属する有限体のサイズについては、有限体上の離散対数問題から、有限体｜Ｆｑｋ｜を１０２４−ｂｉｔ程度に設定すればよい。
【００３９】
具体的なパラメータとしては、例えば、埋め込み次数ｋ＝６、｜ｒ｜＝１６０、｜Ｆｑ｜＝１７１、｜Ｆｑ６｜＝１０２６となる。このとき、Ｇ１、Ｇ２の元の情報量は、ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅであっても、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅであっても変わらない。しかしながら、現在の安全性水準よりも高い安全性を確保する場合には、利用する楕円曲線によって、Ｇ１、Ｇ２の元の情報量は異なる。例えば、１２８−ｂｉｔ  ｓｅｃｕｒｉｔｙを満足するパラメータは、部分群の位数｜ｒ｜は２５６−ｂｉｔ程度となり、有限体｜Ｆｑｋ｜は３０７２−ｂｉｔ程度となる。
【００４０】
Ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅの埋め込み次数はｋ＝６が最大であるため、定義体Ｆｑのサイズを５１２−ｂｉｔに設定する必要がある。また、Ｐ∈Ｇ１の情報量は、１０２４−ｂｉｔとなる。
【００４１】
他方、Ｏｒｄｉｎａｒｙ  ｃｕｒｖｅの埋め込み次数ｋは任意な値を取り得るが、同型写像の次数は最大で６である。Ｇ２の元のＥ（Ｆｑｋ）［ｒ］へのリフティングが課題となるが、ｔｗｉｓｔの定義体の拡大次数を大きくすることにより、対応可能である。つまり、ｔｗｉｓｔの次数をｄとして、ｋ＝ｅｄとなるｅを拡大次数と設定して、ｔｗｉｓｔ上の群Ｅ’（Ｆｑｅ）［ｒ］をＧ２とする。Ｇ２の任意の元は、φｄによりＥ（Ｆｑｋ）［ｒ］に写像される。
【００４２】
Ｓｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅでは、Ｆｑのサイズを大きくするため、Ｇ１、Ｇ２に属する元の情報量がどちらも増大する。他方、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅでは、Ｇ１の情報量は変動せず、Ｇ２に属する元の情報量が増大する。定義体が大きくなれば、群の演算コストもＯ（（ｌｇ  ｑ）２）で増大するため、計算量的観点でも優位性が認められる。
【００４３】
（第１の実施形態）
＜情報処理装置の構成について＞
まず、図１を参照しながら、本発明の第１の実施形態に係る情報処理装置の構成について、詳細に説明する。図１は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【００４４】
本実施形態に係る情報処理装置１０は、双線形写像を用いた所定の演算を行うことが可能な装置である。本実施形態に係る情報処理装置１０は、例えば図１に示したように、群選択部１０１と、双線形写像選択部１０３と、判定パラメータ算出部１０５と、群決定部１１１と、演算処理部１１３と、記憶部１１５と、を主に備える。
【００４５】
群選択部１０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等から構成されている。群選択部１０１は、λ−ｂｉｔの素数ｐを無作為に選択し、ｐを位数とする加法群Ｇ１、Ｇ２および巡回乗法群ＧＴを無作為に選択する。
【００４６】
群選択部１０１は、選択した群Ｇ１、Ｇ２およびＧＴを、後述する判定パラメータ算出部１０５および群決定部１１１へと伝送する。
【００４７】
双線形写像選択部１０３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。双線形写像選択部１０３は、群選択部１０１により群Ｇ１、Ｇ２およびＧＴが選択されると、Ｇ１×Ｇ２→ＧＴとなる双線形写像を選択する。
【００４８】
双線形写像選択部１０３により選択される双線形写像は、写像の演算に用いられる２つの群Ｇ１、Ｇ２に属する元の情報量が互いに異なることを条件とするペアリングであることが好ましい。このような双線形写像の一例として、例えば、所定の楕円曲線上に位置する点をある有限体へと変換する写像があり、より具体的には、例えば、Ｔａｔｅ  ｐａｉｒｉｎｇおよびＡｔｅ  ｐａｉｒｉｎｇ等のペアリングを挙げることができる。Ｔａｔｅ  ｐａｉｒｉｎｇおよびＡｔｅ  ｐａｉｒｉｎｇは、楕円曲線の埋め込み次数ｋとして、任意の値を設定することが可能となり、楕円曲線の選択の幅を広げることが可能となる。
【００４９】
以下に示す表１は、高速な演算が可能なηＴ  ｐａｉｒｉｎｇにおけるパラメータの情報量と、Ａｔｅ  ｐａｉｒｉｎｇにおけるパラメータの情報量とを比較したものである。ηＴ  ｐａｉｒｉｎｇでは、楕円曲線としてＳｕｐｅｒｓｉｎｇｕｌａｒ  ｃｕｒｖｅを用いる必要があるため、楕円曲線の埋め込み次数ｋは、最大でも６である。そのため、１２８−ｂｉｔ  ｓｅｃｕｒｉｔｙを実現するためには、ηＴ  ｐａｉｒｉｎｇでは、ｋ＝６の場合に、位数ｒを５１２−ｂｉｔに設定し、有限体Ｆｑｋの大きさを３０７２−ｂｉｔにする必要がある。他方、Ａｔｅ  ｐａｉｒｉｎｇでは、楕円曲線の埋め込み次数ｋを任意の値に設定することが可能であるため、１２８−ｂｉｔ  ｓｅｃｕｒｉｔｙを実現する場合であっても、埋め込み次数ｋ＝１２とすることができる。その結果、Ａｔｅ  ｐａｉｒｉｎｇでは、位数ｒを２５６−ｂｉｔと設定し、有限体Ｆｑｋの大きさを３０７２−ｂｉｔとすることができ、ηＴ  ｐａｉｒｉｎｇに比べてパラメータの情報量に優れることがわかる。
【００５０】
【表１】
2010117384.tif 000005
【００５１】
なお、本実施形態に係る情報処理装置は、上述のＴａｔｅ  ｐａｉｒｉｎｇおよびＡｔｅ  ｐａｉｒｉｎｇ以外にも、写像の演算に用いられる２つの群Ｇ１、Ｇ２に属する元の情報量が互いに異なるペアリングであれば、任意の双線形写像を用いることが可能である。
【００５２】
双線形写像選択部１０３は、選択した双線形写像に関する情報を、後述する判定パラメータ算出部１０５、群決定部１１１および演算処理部１１３に伝送する。
【００５３】
判定パラメータ算出部１０５は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。判定パラメータ算出部１０５は、伝送された群および双線形写像に関する情報に基づいて、後述する演算処理部１１３で実行される演算に要する演算量および演算における情報量の少なくとも何れかを含む判定パラメータを算出する。判定パラメータの算出に際しては、判定パラメータ算出部１０５は、後述する記憶部１１５等に記録されている、演算方法に関する詳細な情報を参照しながら、判定パラメータの算出を行うことが可能である。判定パラメータ算出部１０５は、例えば図１に示したように、演算量算出部１０７と、情報量算出部１０９と、を更に備える。
【００５４】
演算量算出部１０７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。演算量算出部１０７は、記憶部１１５等に記録されている詳細な演算方法や、演算実行にあたり設定されたパラメータ等を参照しながら、演算処理部１１３で実行される演算の演算量を算出する。演算量の一例としては、例えば、所定の演算で実行される加算、乗算、冪乗算、逆元演算、双線形写像演算等がある。これらの演算量は、演算処理部１１３で実行される演算が決定されると、設定パラメータ等に応じて、一義的に決定することが可能となる。
【００５５】
情報量算出部１０９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。情報量算出部１０９は、記憶部１１５等に記録されている詳細な演算方法や、演算実行にあたり設定されたパラメータ等を参照しながら、演算処理部１１３で実行される演算により生成される情報の情報量を算出する。演算により生成される情報は、演算処理部１１３により実行される演算の種類によって異なる。演算処理部１１３により、例えば双線形写像を用いた暗号処理に関する演算が行われる場合には、演算により生成される情報は、例えば、公開鍵に関する情報、暗号文に関する情報、秘密鍵に関する情報等がある。また、演算により生成される情報の情報量は、例えば、演算により生成された情報に対応するデータのデータサイズであり、対応するデータのビット数等で表すことが可能である。
【００５６】
判定パラメータ算出部１０５は、演算量算出部１０７により算出された演算量と、情報量算出部１０９により算出された情報量と、を取りまとめて、判定パラメータとして、後述する群決定部１１１に伝送する。
【００５７】
なお、判定パラメータ算出部１０５は、所定の演算に要する演算量や所定の演算における情報量以外にも、演算コストや演算の負荷等を表す任意の情報を、判定パラメータとして添付することが可能である。また、判定パラメータ算出部１０５は、算出された演算量と情報量との積を、判定パラメータとして群決定部１１１に伝送してもよい。
【００５８】
群決定部１１１は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。群決定部１１１は、判定パラメータ算出部１０５から伝送された判定パラメータに基づいて、演算処理部１１３が演算を行う際に利用する群を決定する。より詳細には、群決定部１１１は、群選択部１０１が選択した群Ｇ２における演算量または情報量が、群選択部１０１が選択した群Ｇ１における演算量または情報量よりも大きい場合に、群Ｇ１と群Ｇ２の内容を入れ替える。これにより、演算処理部１１３が実行する演算で用いられる群が決定することとなる。
【００５９】
このような処理を行うことで、群Ｇ２における群演算の演算コストが群Ｇ１における群演算の演算コストよりも大きく、演算全体を通して群Ｇ２における演算が主となる場合に、演算全体における演算量および情報量を、効果的に削減することが可能となる。
【００６０】
群決定部１１１は、決定した群に関する情報を、演算処理部１１３に伝送する。また、郡決定部１１１は、決定した群に関する情報を、群を決定した日時に関する情報と互いに関連付けて、記憶部１１５等に記録してもよい。
【００６１】
演算処理部１１３は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。演算処理部１１３は、群決定部１１１から伝送された複数の群、双線形写像選択部１０３から伝送された双線形写像、および、演算の設定パラメータ等を利用して、所定の演算を実行する。演算処理部１１３が実行する演算は、双線形写像を用いた演算である。このような演算の一例として、双線形写像を利用した各種の暗号処理に関する演算がある。双線形写像を利用した暗号処理に関する演算の一例として、例えば、公開鍵配信方式に基づく暗号処理や、ＩＤベース型公開鍵配信方式に基づく暗号処理の演算等がある。
【００６２】
演算処理部１１３が実行する演算は、上述のような双線形写像を利用した暗号処理に関する演算に限定されるわけではなく、双線形写像を用いた演算であれば、任意の演算処理を行うことが可能である。
【００６３】
記憶部１１５は、本実施形態に係る演算処理部１１３で実行される演算方法に関する詳細な情報が格納されている。この演算方法に関する詳細な情報として、例えば、演算処理部１１３で実行される演算に関するプログラムの実行データや、プログラムのソースコードや、演算に関する各種の設定が予め記録されたデータベース等を挙げることが可能である。また、記憶部１１５には、これらの各種データ以外にも、情報処理装置１０が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等を、適宜記憶することが可能である。この記憶部１１５は、群選択部１０１、双線形写像選択部１０３、判定パラメータ選択部１０５、演算量算出部１０７、情報量算出部１０９、群決定部１１１、演算処理部１１３等が、自由に読み書きを行うことが可能である。
【００６４】
以上、本実施形態に係る情報処理装置１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【００６５】
＜情報処理方法について＞
続いて、図２を参照しながら、本実施形態に係る情報処理方法について、詳細に説明する。図２は、本実施形態に係る情報処理方法を説明するための流れ図である。
【００６６】
まず、本実施形態に係る情報処理装置１０の群選択部１０１は、λ−ｂｉｔの素数ｐを無作為に選択し、ｐを位数とする巡回加法群Ｇ１、Ｇ２を無作為に選択する（ステップＳ１０１）。また、群選択部１０１は、群Ｇ１、Ｇ２の選択にあわせて、巡回乗法群ＧＴを選択してもよい。群選択部１０１は、選択した群を、判定パラメータ算出部１０５に伝送する。
【００６７】
また、情報処理装置１０の双線形群選択部１０３は、群の選択に伴い、双線形写像の選択を行って、判定パラメータ算出部１０５に伝送する。
【００６８】
次に、判定パラメータ算出部１０５は、群選択部１０１により選択された群Ｇ１、Ｇ２等に基づいて、演算方式全体における判定パラメータの算出を行う（ステップＳ１０３）。判定パラメータ算出部１０５は、算出した判定パラメータを、群決定部１１１に伝送する。
【００６９】
続いて、情報処理装置１０の群決定部１１１は、算出された判定パラメータに基づいて、群選択部１０１により選択された群Ｇ１、Ｇ２の判定を行う。具体的には、群決定部１１１は、群Ｇ２における演算量または情報量と、群Ｇ１における演算量または情報量との大小関係に基づいて、判定を行う（ステップＳ１０５）。
【００７０】
群Ｇ２における演算量または情報量が、群Ｇ１における演算量または情報量よりも小さい場合には、群決定部１１１は、群選択部１０１が選択した群Ｇ１およびＧ２の内容を変更することなく、これらの群を演算に用いる群として決定する。
【００７１】
また、群Ｇ２における演算量または情報量が、群Ｇ１における演算量または情報量よりも大きい場合には、群決定部１１１は、群選択部１０１が選択した群Ｇ１およびＧ２の内容を入れ替える（ステップＳ１０７）。その結果、群決定部１１１は、内容が入れ替わった群Ｇ１およびＧ２を、演算に用いる群として決定する。
【００７２】
本実施形態に係る情報処理方法は、群Ｇ２における演算量または情報量が、群Ｇ１における演算量または情報量よりも大きい場合に互いの群の内容を入れ替えることにより、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制できる。
【００７３】
＜本実施形態に係る情報処理装置の適用例について＞
続いて、図３〜図１２を参照しながら、本実施形態に係る情報処理装置および情報処理方法の適用例について、双線形写像を用いた暗号処理を例にとって、詳細に説明する。なお、以下で説明する双線形写像を用いた暗号処理は、非特許文献２に記載されている、公開鍵配信方式に基づく暗号処理である。
【００７４】
なお、以下では、１２８−ｂｉｔ  ｓｅｃｕｒｉｔｙ以上の安全性を確保する場合について説明するものとし、Ｇ１≠Ｇ２となるｏｒｄｉｎａｒｙ  ｃｕｒｖｅを利用するものとする。
【００７５】
［暗号処理システムについて］
まず、図３を参照しながら、非特許文献２に記載の方法等における暗号処理システムについて、簡単に説明する。図３は、本実施形態に係る情報処理装置の適用例を説明するための説明図である。
【００７６】
暗号処理システムは、例えば図３に示したように、通信網３と、情報処理装置１０と、暗号化装置２０Ａ，２０Ｂ，２０Ｃと、復号装置３０Ａ，３０Ｂ，３０Ｃと、を主に含む。
【００７７】
通信網３は、情報処理装置１０、暗号化装置２０および復号装置３０を双方向通信又は一方向通信可能に接続する通信回線網である。この通信網３は、公衆回線網で構成されていてもよく、専用回線網で構成されていてもよい。また、この通信網３は、有線／無線を問わない。公衆回線網の一例として、例えば、インターネット、ＮＧＮ（Ｎｅｘｔ  Ｇｅｎｅｒａｔｉｏｎ  Ｎｅｔｗｏｒｋ）網、電話回線網、衛星通信網、同報通信路等がある。また、専用回線網の一例として、例えば、ＷＡＮ、ＬＡＮ、ＩＰ−ＶＰＮ、Ｅｔｈｅｒｎｅｔ（登録商標）、ワイヤレスＬＡＮ等がある。
【００７８】
本適用例では、情報処理装置１０は、暗号処理における演算に利用される各種のシステムパラメータ等を決定するとともに、公開鍵および秘密鍵からなる各ユーザに固有の個人鍵を生成する。情報処理装置１０は、システムパラメータのうち公開可能なものと、公開鍵とを公開するとともに、暗号化装置２０および復号装置３０に対して、安全な通信路を介して、それぞれの秘密鍵を配信する。なお、この情報処理装置１０は、公開鍵および秘密鍵の生成・管理を行うセンタが所有する。
【００７９】
暗号化装置２０は、情報処理装置１０によって生成および公開された公開鍵を用いて、任意のコンテンツを暗号化し、通信網３を介して、各復号装置に配信する。この暗号化装置２０は、任意の第三者が所有することが可能であり、また、情報処理装置１０の所有者や、復号装置３０の所有者が所有することも可能である。なお、図３において、暗号化装置２０は３台のみ記載されているが、記載の例に限定されるわけではなく、暗号化装置２０は、任意の台数が存在していてもよい。
【００８０】
復号装置３０は、暗号化装置２０から配信された暗号化されたコンテンツを、固有の秘密鍵によって復号化して利用することが可能である。この復号装置３０は、各契約者によって所有されるものである。
【００８１】
なお、情報処理装置１０、暗号化装置２０および復号装置３０は、パーソナルコンピュータ等のコンピュータ装置（ノート型、デスクトップ型を問わない。）等に限定されず、ネットワークを介した通信機能を有する機器であればよい。通信機能を有する機器として、例えば、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機、ＤＶＤ／ＨＤＤレコーダ、Ｂｌｕ−ｒａｙレコーダ、テレビジョン受像器等の情報家電、テレビジョン放送用のチューナやデコーダ等がある。また、情報処理装置１０、暗号化装置２０および復号装置３０は、契約者が持ち運びできるポータブルデバイス（Ｐｏｒｔａｂａｌｅ  Ｄｅｖｉｃｅ）、例えば、携帯型ゲーム機、携帯電話、携帯型映像／音声プレーヤ、ＰＤＡ、ＰＨＳなどであってもよい。
【００８２】
［本適用例における情報処理装置の構成について］
続いて、図４を参照しながら、本適用例における情報処理装置１０の構成について、簡単に説明する。図４は、本適用例における情報処理装置１０の構成を説明するためのブロック図である。
【００８３】
本適用例における情報処理装置１０は、例えば図４に示したように、群選択部１０１と、双線形写像選択部１０３と、判定パラメータ選択部１０５と、群決定部１１１と、演算処理部１１３と、記憶部１１５と、を主に備える。
【００８４】
本適用例における群選択部１０１、双線形写像選択部１０３、判定パラメータ選択部１０５、群決定部１１１および記憶部１１５は、先に説明した情報処理装置１０における各処理部と同様の機能を有し、ほぼ同一の効果を奏するため、詳細な説明は省略する。
【００８５】
本適用例における演算処理部１１３は、非特許文献２に記載の方法における４つの基本処理のうち、Ｓｅｔｕｐ処理およびＪｏｉｎ処理を実行する処理部である。Ｓｅｔｕｐ処理およびＪｏｉｎ処理の詳細については、以下で改めて詳細に説明する。この演算処理部１１３は、非特許文献２に記載の方法に基づいて公開情報を生成するとともに、同文献に記載の方法に基づいて各ユーザの個人鍵を生成する。演算処理部１１３は、例えば図４に示したように、システムパラメータ選択部１１７と、鍵生成部１１９と、を更に備える。システムパラメータ選択部１１７は、上記Ｓｅｔｕｐ処理を実行する処理部であり、鍵生成部１１９は、上記Ｊｏｉｎ処理を実行する処理部である。
【００８６】
システムパラメータ選択部１１７は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。システムパラメータ選択部１１７は、群決定部１１１が決定した群と、双線形写像選択部１０３が選択した双線形写像と、を利用して、非特許文献２に記載の方法に基づいて暗号処理システムのパラメータ（以下、システムパラメータと称する。）を設定する。また、システムパラメータ選択部１１７は、設定したシステムパラメータのうち、公開する必要がある情報については、公開情報として暗号化装置２０および復号装置３０に公開する。この公開情報は、本適用例における情報処理装置１０が備える通信制御部（図示せず。）を介して行われる。
【００８７】
また、システムパラメータ選択部１１７は、選択したシステムパラメータを、記憶部１１５に記録する。
【００８８】
鍵生成部１１９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ等から構成されている。鍵生成部１１９は、群決定部１１１が決定した群と、双線形写像選択部１０３が選択した双線形写像と、システムパラメータ選択部１１７が選択したシステムパラメータと、を利用して、各ユーザに固有の個人鍵を生成する。ユーザに固有の個人鍵は、ユーザのみが秘匿する秘密鍵と、他のユーザに対して公開される公開鍵と、の２種類がある。鍵生成部１１９は、非特許文献２に記載の方法に基づいて、これらの個人鍵を生成する。鍵生成部１１９は、生成した公開鍵および秘密鍵からなる個人鍵を、安全な通信路を介して該当するユーザに送付するとともに、公開鍵を他のユーザに対して公開する。個人鍵の送付および公開鍵の公開は、本適用例における情報処理装置１０が備える通信制御部（図示せず。）を介して行われる。
【００８９】
また、鍵生成部１１９は、生成した個人鍵を、該当するユーザに関するユーザ情報に関連付けて、記憶部１１５に記録する。
【００９０】
以上、本適用例における情報処理装置１０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本適用例を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【００９１】
次に、図５〜図１０を参照しながら、非特許文献２に開示されている公開鍵配信方法について、詳細に説明する。非特許文献２の方法は、Ｓｅｔｕｐ、Ｊｏｉｎ、Ｅｎｃｒｙｐｔｉｏｎ、Ｄｅｃｒｙｐｔｉｏｎという４つの基本処理から構成される。この４つの基本処理のうち、Ｓｅｔｕｐ処理およびＪｏｉｎ処理は、上述のように、図３に示した情報処理装置１０で実行される処理である。また、上記４つの基本処理のうち、Ｅｎｃｒｙｐｔｉｏｎ処理は、図３に示した暗号化装置２０で実行される処理である。また、上記４つの基本処理のうち、Ｄｅｃｒｙｐｔｉｏｎ処理は、図３に示した復号装置３０で実行される処理である。
【００９２】
［非特許文献２の方法における公開情報の生成方法について］
まず、図５を参照しながら、非特許文献２の方法におけるＳｅｔｕｐ処理、すなわち、公開情報の生成方法について、詳細に説明する。図５は、非特許文献２の方法における公開情報の生成方法について説明するための流れ図である。
【００９３】
Ｓｅｔｕｐ処理は、本適用例における情報処理装置１０を有するセンタがシステム構築時に一度だけ実行する公開情報の生成処理である。センタは、セキュリティパラメータλを決定し、情報処理装置１０は、入力されたセキュリティパラメータλを用いて、以下に説明するＳｅｔｕｐ処理を実行する。
【００９４】
まず、情報処理装置１０は、λ−ｂｉｔの素数ｐを選択し、素数ｐを位数とする加法群Ｇ１Ｇ２および巡回乗法群ＧＴを選択するとともに、双線形写像ｅ：Ｇ１×Ｇ２→ＧＴを決定する（ステップＳ１１）。なお、群の選択は、本適用例における群選択部１０１により行われ、群決定部１１１によって演算に用いられる群が決定される。また、双線形写像の選択は、本適用例における双線形写像選択部１０３により実行される。
【００９５】
次に、情報処理装置１０のシステムパラメータ選択部１１７は、生成元Ｇ∈Ｇ１、Ｈ∈Ｇ２を選択する（ステップＳ１２）。
【００９６】
続いて、情報処理装置１０のシステムパラメータ選択部１１７は、秘密情報γ∈Ｚｒ＊を選択し、Ｗ＝γＧ∈Ｇ１を算出するとともに、Ｖ＝ｅ（Ｇ，Ｈ）∈ＧＴを算出する（ステップＳ１３）。
【００９７】
その後、情報処理装置１０のシステムパラメータ選択部１１７は、ＳＫ＝（Ｇ，γ）を秘密情報（マスター鍵）として秘密保持するとともに、ＰＫ０を以下の式１０１のように構成し、公開情報とする（ステップＳ１４）。
【００９８】
ＰＫ０＝｛ｐ，Ｇ１，Ｇ２，ＧＴ，ｅ，Ｈ，Ｗ，Ｖ｝  ・・・（式１０１）
【００９９】
続いて、情報処理装置１０は、Ｓｅｔｕｐ処理の実行によって得られたＰＫ０を、システム全体の公開情報として公開する。
【０１００】
［非特許文献２の方法における鍵生成方法について］
続いて、図６を参照しながら、非特許文献２の方法におけるＪｏｉｎ処理、すなわち、鍵生成方法について、詳細に説明する。図６は、非特許文献２の方法における鍵生成方法について説明するための流れ図である。
【０１０１】
Ｊｏｉｎ処理は、本適用例における情報処理装置１０を有するセンタが、ユーザからのシステム加入要求がある毎に実行するユーザ登録処理である。この処理は、センタがシステム設定を終えた後に、任意のタイミングで実行されてよい。
【０１０２】
センタは、公開情報ＰＫｉ―１（１≦ｉ≦ｎ）、マスター鍵ＳＫおよびｉ番目に加入したユーザのインデックスであるｉを情報処理装置１０に入力し、以下に説明するＪｏｉｎ処理を実行する。これにより、センタは、システム加入要求を送信したユーザの秘密鍵を生成して、システムへの加入処理を行う。
【０１０３】
まず、情報処理装置１０の鍵生成部１１９は、ユーザｉに固有の値である、ｘｉ∈Ｚｒ＊を選択する（ステップＳ２１）。その後、情報処理装置１０の鍵生成部１１９は、以下の式１０２、式１０３、式１０４に示した値を算出し、システム加入要求を送信したユーザｉの秘密鍵ｄｋｉ（式１０５）と、ラベルｌａｂｉ（式１０６）と、を計算する（ステップＳ２２）。上記ラベルｌａｂｉが、ユーザｉの公開鍵に該当するものである。
【０１０４】
【数３】
2010117384.tif 000006
【０１０５】
ここで、上記式１０３に示したＢｉは、秘密鍵ｄｋｉの一部としているが、Ｂｉは秘密の情報ではなく公開情報であり、ユーザｉは、Ｂｉを秘密保持する必要はない。
【０１０６】
情報処理装置１０は、Ｊｏｉｎ処理の実行によって得られたユーザｉの秘密鍵ｄｋｉを、安全な通信路を利用してユーザｉに秘密裏に配布する（ステップＳ２３）。また、情報処理装置１０は、現在の公開鍵ＰＫｉ−１にユーザｉに対応するラベルｌａｂｉ＝（ｘｉ，Ｖｉ，Ｂｉ）を追加し、公開情報ＰＫとして更新、公開する（ステップＳ２３）。このとき、新たな公開情報ＰＫは、以下の式１０７のような構成となっている。
【０１０７】
【数４】
2010117384.tif 000007
【０１０８】
［非特許文献２の方法における暗号化方法について］
続いて、図７を参照しながら、非特許文献２の方法におけるＥｎｃｒｙｐｔｉｏｎ処理、すなわち、暗号化方法について、詳細に説明する。図７は、非特許文献２の方法における暗号化方法について説明するための流れ図である。
【０１０９】
Ｅｎｃｒｙｐｔｉｏｎ処理は、コンテンツ等の配信を希望する任意の送信者が、図３に示した暗号化装置２０を用いて、配信毎に実行する処理である。
【０１１０】
送信者は、以下に説明するＥｎｃｒｙｐｔｉｏｎ処理を実行することで、配信したいコンテンツ等の平文に対して暗号化処理を行う。暗号化装置２０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等を備えた装置であり、以下に示す処理を、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等を用いて実行する。
【０１１１】
暗号化装置２０は、まず、排除されるユーザの集合Ｒ＝｛１，・・・，ｒ｝を決定し（ステップＳ３１）、Ｒの要素数をカウントしてカウント結果をｒとする。
【０１１２】
続いて、暗号化装置２０は、Ｇ２上の演算に対して双線形群の演算処理（Ａｇｇｒｅｇａｔｅ（Ａ）アルゴリズム）を行い、以下の式１０８に示した値Ｐｒを算出する（ステップＳ３２）。なお、双線形群の演算処理アルゴリズムであるＡｇｇｒｅｇａｔｅ（Ａ）アルゴリズムについては、以下で改めて詳細に説明する。
【０１１３】
【数５】
2010117384.tif 000008
【０１１４】
次に、暗号化装置２０は、乱数ｋ∈Ｚｒ＊を選択し、暗号文（Ｃ１，Ｃ２）を、以下の式１０９、式１１０に基づいて算出する（ステップＳ３３）。
【０１１５】
【数６】
2010117384.tif 000009
【０１１６】
続いて、暗号化装置２０は、ＧＴ上の演算に対して双線形群の演算処理（Ａｇｇｒｅｇａｔｅ（Ａ）アルゴリズム）を行い、以下の式１１１に示した値を算出する（ステップＳ３４）。
【０１１７】
【数７】
2010117384.tif 000010
【０１１８】
ＰｒおよびＫ’の算出が終了すると、暗号化装置２０は、セッション鍵Ｋを以下の式１１２に基づいて算出する（ステップＳ３５）。
【０１１９】
【数８】
2010117384.tif 000011
【０１２０】
次に、暗号化装置２０は、暗号文ｈｄｒを、以下の式１１３のようにして算出する（ステップＳ３６）。
【０１２１】
【数９】
2010117384.tif 000012
【０１２２】
暗号化装置２０は、平文Ｍのセッション鍵Ｋによる暗号文を生成した後、暗号文ｈｄｒとともに同報配信する。かかる処理を行うことで、送信者は、希望するユーザに対して暗号化されたコンテンツ等を送信することができる。
【０１２３】
続いて、図８を参照しながら、Ｅｎｃｒｙｐｔｉｏｎ処理中で実施される双線形群演算処理であるＡｇｇｒｅｇａｔｅ（Ａ）アルゴリズムについて、詳細に説明する。図８は、非特許文献２の方法における双線形群の演算処理を説明するための流れ図である。
【０１２４】
Ａｇｇｒｅｇａｔｅ（Ａ）アルゴリズムは、暗号化装置が（Ｐ１，・・・Ｐｒ）∈Ｇ２と、Ｋ’∈ＧＴと、を算出する際に実行するアルゴリズムである。なお、このアルゴリズムの実行に際して、ｘ＝［ｘ１，・・・，ｘｒ］、Ｐ＝［Ｂ１，・・・，Ｂｒ］が入力として与えられる。
【０１２５】
まず、暗号化装置２０は、パラメータｊをｊ＝１と設定する（ステップＳ４１）。続いて、暗号化装置２０は、パラメータｌをｌ＝ｊ＋１と設定する（ステップＳ４２）。
【０１２６】
ここで、暗号化装置２０は、ｘ［ｊ］とｘ［ｌ］との比較を行い（ステップＳ４３）、ｘ［ｊ］＝ｘ［ｌ］であれば、エラーメッセージを出力し（ステップＳ４４）、処理を終了する。また、ｘ［ｊ］＝ｘ［ｌ］でなければ、暗号化装置２０は、以下に示すステップＳ４５を実行する。
【０１２７】
続いて、暗号化装置２０は、以下の式１１４を用いて、Ｐ［ｌ］を計算する（ステップＳ４５）。
【０１２８】
【数１０】
2010117384.tif 000013
【０１２９】
上記式１１４の計算が終了すると、暗号化装置２０は、ｌをｌ＋１と設定し（ステップＳ４６）、ｌとｒ＋１の比較を行う（ステップＳ４７）。ｌ＝ｒ＋１であれば、暗号化装置２０は、ステップＳ４８を実行し、ｌがｒ＋１と等しくなければ、暗号化装置２０は、ステップＳ４３に戻って処理を続行する。
【０１３０】
次に、暗号化装置２０は、ｊをｊ＋１と設定し（ステップＳ４８）、ｊとｒの比較を行う（ステップＳ４９）。ｊ＝ｒであれば、暗号化装置２０は、ステップＳ５０を実行し、ｊがｒと等しくなければ、暗号化装置は、ステップＳ４２に戻って処理を続行する。
【０１３１】
その後、暗号化装置２０は、Ｐ［ｒ］を出力する（ステップＳ５０）。
【０１３２】
なお、Ｋ’∈ＧＴも、上述のＡｇｇｒｅｇａｔｅ（Ａ）アルゴリズムによって算出することが可能である。この場合、加（減）算を乗（除）算に、乗算を冪乗算に変更した上で、ステップＳ４５をＧＴ上での演算として実行すればよい。ただし、Ｚｒ＊上の演算である１／（ｘ［ｌ］−ｘ［ｊ］）は、いずれの場合においてもＺｒ＊上での減算及び逆元演算として計算する必要がある。
【０１３３】
［非特許文献２の方法における復号方法について］
続いて、図９を参照しながら、非特許文献２の方法におけるＤｅｃｒｙｐｔｉｏｎ処理、すなわち、復号方法について、詳細に説明する。図９は、非特許文献２の方法における復号方法について説明するための流れ図である。
【０１３４】
Ｄｅｃｒｙｐｔｉｏｎ処理は、コンテンツ等の配信を受けた受信者が暗号文を復号して平文を取得する際に、図３に示した復号装置３０によって実行される処理である。
【０１３５】
復号装置３０は、送信者により送信されたｈｄｒと、自身の秘密鍵ｄｋｉと、自身に固有の値であるｘｉと、に基づいて、以下に説明するＤｅｃｒｙｐｔｉｏｎ処理を実行することで、配信されたコンテンツ等の暗号文に対して復号処理を行う。復号装置３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等を備えた装置であり、以下に示す処理を、ＣＰＵ、ＲＯＭ、ＲＡＭ、通信装置等を用いて実行する。
【０１３６】
まず、復号装置３０は、送信者から配信されたｈｄｒの中に、自身に固有の値であるｘｉが存在するか否かを判断する（ステップＳ５１）。ｈｄｒの中に自身に固有の値であるｘｉが存在する場合には、送信者により受信者が排除されたことを意味するため、受信装置は、エラーメッセージを出力し（ステップＳ５２）、処理を終了する。また、ｈｄｒの中に自身に固有の値であるｘｉが存在しない場合には、受信装置は、以下のステップＳ５３を実行する。
【０１３７】
次に、復号装置３０は、双線形群の演算処理（Ａｇｇｒｅｇａｔｅ（Ｂ）アルゴリズム）を行い、以下の式１１５に示した値を算出する（ステップＳ５３）。なお、双線形群の演算処理アルゴリズムであるＡｇｇｒｅｇａｔｅ（Ｂ）アルゴリズムについては、以下で改めて詳細に説明する。
【０１３８】
【数１１】
2010117384.tif 000014
【０１３９】
ステップＳ５３が終了すると、復号装置３０は、算出したＢｉ，Ｒを用いて、以下の式１１６によりセッション鍵Ｋを算出する（ステップＳ５４）。
【０１４０】
【数１２】
2010117384.tif 000015
【０１４１】
受信者は、上述のＤｅｃｒｙｐｔｉｏｎ処理により得られたセッション鍵Ｋを利用して、送信者から送信されたコンテンツ等の暗号文を復号し、平文を取得する。
【０１４２】
続いて、図１０を参照しながら、Ｄｅｃｒｙｐｔｉｏｎ処理中で実施される双線形群演算処理であるＡｇｇｒｅｇａｔｅ（Ｂ）アルゴリズムについて、詳細に説明する。図１０は、非特許文献２の方法における双線形群の演算処理を説明するための流れ図である。
【０１４３】
Ａｇｇｒｅｇａｔｅ（Ｂ）アルゴリズムは、復号装置３０がＢｉ，Ｒ∈Ｇ２を算出する際に実行するアルゴリズムである。なお、このアルゴリズムの実行に際して、ｘｉ、Ｂｉ、ｘ＝［ｘ１，・・・，ｘｒ］、Ｐ＝［Ｂ１，・・・，Ｂｒ］が入力として与えられる。
【０１４４】
まず、復号装置３０は、パラメータｔｅｍｐを設定してｔｅｍｐの初期値をＢｉとし（ステップＳ６１）、続いて、パラメータｊをｊ＝１と設定する（ステップＳ６２）。
【０１４５】
次に、復号装置３０は、ｘｉとｘ［ｊ］との比較を行い（ステップＳ６３）、ｘｉ＝ｘ［ｊ］であれば、エラーメッセージを出力し（ステップＳ６４）、処理を終了する。また、復号装置３０は、ｘｉ＝ｘ［ｊ］でなければ、以下に示すステップＳ６５を実行する。
【０１４６】
続いて、復号装置３０は、以下の式１１７を用いて、新たなｔｅｍｐの値を算出する（ステップＳ６５）。
【０１４７】
【数１３】
2010117384.tif 000016
【０１４８】
ここで、上記式１１７から明らかなように、式中の分母に、復号装置３０に固有の値であるｘｉが含まれているため、暗号化装置２０から送信されたｈｄｒに自身のｘｉが含まれている場合には、ｔｅｍｐが値を持たなくなる。これにより、排除されたユーザは、セッション鍵Ｋの算出に必要なＢｉ，Ｒを得ることが出来なくなるため、暗号文を復号化することができない。
【０１４９】
上記の演算が終了すると、復号装置３０は、ｊの値をｊ＋１とし（ステップＳ６６）、次いで、ｊとｒ＋１の比較を行う（ステップＳ６７）。ｊ＝ｒ＋１であれば、復号装置３０は、後述するステップＳ６８を実行する。また、ｊがｒ＋１と等しくない場合には、復号装置３０は、ステップＳ６３に戻って処理を続行する。
【０１５０】
次に、復号装置３０は、ｔｅｍｐを出力する（ステップＳ６８）。出力されたｔｅｍｐは、Ｂｉ，Ｒであり、復号装置３０は、かかる出力値を用いてセッション鍵Ｋを算出する。
【０１５１】
［非特許文献２の方法における問題点について］
非特許文献２では、具体的な群Ｇ１，Ｇ２の選択方法に関する記述は成されていない。先に述べたように、１２８−ｂｉｔ  ｓｅｃｕｒｉｔｙを確保するためには、ｏｒｄｉｎａｒｙ  ｃｕｒｖｅにおいてＧ１＝Ｅ（Ｆｑ）［ｒ］、Ｇ２＝Ｅ’（Ｆｑ２）［ｒ］と設定する必要がある。このとき、楕円曲線としては、埋め込み次数ｋ＝１２であるＢＮ曲線Ｅ：ｙ２＝ｘ３＋ｂ，ｂ∈Ｆｑが採用される。また、楕円曲線Ｅに対する６次のｔｗｉｓｔは、Ｅ’：ｙ２＝ｘ３＋ｂ／Ｄ，Ｄ∈Ｆｑ２で与えられる。群Ｇ１，Ｇ２の元を表現するために必要な情報量は、それぞれ５１２−ｂｉｔ、１０２４−ｂｉｔであり、群Ｇ２における群演算の演算コストは、群Ｇ１における群演算の演算コストの３倍である。
【０１５２】
非特許文献２に記載の方法において、率直に群を選ぶと、本実施形態に係る情報処理方法を適用していない情報処理装置では、情報量が大きい群Ｇ２の元から生成元Ｈを選択することとなる。また、暗号化装置および復号装置それぞれは、暗号化および復号化のほとんどの処理を、情報量が大きな群Ｇ２上で行うこととなる。これは、暗号処理システム全体において、演算量および情報量の観点から、非効率であるといえる。
【０１５３】
そこで、本実施形態に係る情報処理方法を適用することにより、暗号処理システム全体における演算量および情報量を削減することが可能となる。すなわち、センタが所有する本適用例における情報処理装置１０において、Ｓｅｔｕｐ処理時にパラメータとして使用される郡Ｇ１，Ｇ２に対するそれぞれの演算量や情報量を算出し、判定結果に応じて、Ｇ１，Ｇ２の群の入れ替えを実施する。従って、図５に示したステップＳ１１を実行している際に、図２に示した本実施形態に係る情報処理方法が適用されることとなる。
【０１５４】
［演算量および情報量の比較］
以下では、非特許文献２に記載の方法に対して、本実施形態に係る情報処理方法を適用した場合における演算量および情報量の変化について、説明する。
【０１５５】
なお、本適用例では、判定パラメータとして、演算量または情報量のどちらを選択した場合であっても、大きな違いは無い。また、演算におけるパラメータ設定は、楕円曲線上のペアリングについて説明した際と同じ設定であるものとする。また、ユーザ総数ｎを２２０＝１０４８５７６とし、リボークユーザ数（排除されるユーザ数）ｒを２１０＝１０２４として、本実施形態に係る情報処理方法の適用の有無における演算量と情報量の比較を行った。
【０１５６】
まず、図１１を参照しながら、情報量の変化について検討する。なお、図１１中における単位は、ビット［ｂｉｔ］である。
【０１５７】
図１１を参照すると、本実施形態に係る情報処理方法を適用した場合、公開鍵の情報量の合計は３８４０ｎ＋４６０８−ｂｉｔであり、秘密鍵の情報量の合計は１７９２−ｂｉｔであり、暗号文の情報量の合計は７６８ｒ＋１５３６であることがわかる。
【０１５８】
他方、本実施形態に係る情報処理方法を適用しない場合、公開鍵の情報量の合計は４３５２ｎ＋４６０８−ｂｉｔであり、秘密鍵の情報量の合計は１７９２−ｂｉｔであり、暗号文の情報量の合計は１２８０ｒ＋１５３６−ｂｉｔであることがわかる。
【０１５９】
従って、ｎ＝２２０、ｒ＝２１０の場合において、１ｂｙｔｅ＝８ｂｉｔとして各情報量を計算すると、次のようになる。すなわち、適用ありの場合では、公開鍵の情報量の合計は５０３，３１７，０５６ｂｙｔｅｓとなり、秘密鍵の情報量の合計は２２４ｂｙｔｅｓとなり、暗号文の情報量の合計は９８，４９６ｂｙｔｅｓとなる。また、適用なしの場合では、公開鍵の情報量の合計は５７０，４２５，９２０ｂｙｔｅｓとなり、秘密鍵の情報量の合計は２２４ｂｙｔｅｓとなり、暗号文の情報量の合計は１６４，０３２ｂｙｔｅｓとなる。
【０１６０】
従って、本実施形態に係る情報処理方法を適用することで、公開鍵の情報量を約６７ＭＢｙｔｅ削減でき、暗号文の情報量を約６５ＫＢｙｔｅ削減できることがわかった。
【０１６１】
続いて、図１２を参照しながら、演算量の変化について検討する。なお、図１２に示した例では、非特許文献３を参考にして、演算量の推定を行った。
【０１６２】
定義体Ｆｑにおける乗算１回をＭとし、ｓ（＝２ｉ３ｊ）次拡大体Ｆｑｓの乗算１回をＭｓとすると、演算量Ｍｓ＝３ｉ５ｊＭと推定できる。すなわち、２＝２１３０より、Ｍ２＝３１５０Ｍ＝３Ｍとなる。同様に、１２＝２２３１より、Ｍ１２＝３２５１Ｍ＝４５Ｍとなる。
【０１６３】
また、群Ｇ１における加算、２倍算をそれぞれ１４Ｍ、１２Ｍとすると、２次拡大体の元から構成される群Ｇ２における加算、２倍算は、それぞれ１４Ｍ２＝４２Ｍ、１２Ｍ２＝３６Ｍとなる。
【０１６４】
なお、各群におけるスカラー倍、べき乗計算のアルゴリズムは、Ｄｏｕｂｌｅ  ａｎｄ  Ａｄｄ法を利用するものとした。
【０１６５】
図１２を参照しながら、ｒ＝２１０の場合における演算量を計算すると、本適用例における演算量は、適用しない場合に比べて、暗号化時において、５，１０９，９６８，３８４Ｍ、復号化時において、９，９９０，１４４Ｍ削減されることが確認できた。
【０１６６】
＜ハードウェア構成について＞
次に、図１３を参照しながら、本発明の各実施形態に係る情報処理装置１０のハードウェア構成について、詳細に説明する。図１３は、本発明の各実施形態に係る情報処理装置１０のハードウェア構成を説明するためのブロック図である。
【０１６７】
情報処理装置１０は、主に、ＣＰＵ９０１と、ＲＯＭ９０３と、ＲＡＭ９０５と、を備える。また、情報処理装置１０は、更に、ホストバス９０７と、ブリッジ９０９と、外部バス９１１と、インターフェース９１３と、入力装置９１５と、出力装置９１７と、ストレージ装置９１９と、ドライブ９２１と、接続ポート９２３と、通信装置９２５とを備える。
【０１６８】
ＣＰＵ９０１は、演算処理装置および制御装置として機能し、ＲＯＭ９０３、ＲＡＭ９０５、ストレージ装置９１９、またはリムーバブル記録媒体９２７に記録された各種プログラムに従って、情報処理装置１０内の動作全般またはその一部を制御する。ＲＯＭ９０３は、ＣＰＵ９０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ９０５は、ＣＰＵ９０１の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはＣＰＵバス等の内部バスにより構成されるホストバス９０７により相互に接続されている。
【０１６９】
ホストバス９０７は、ブリッジ９０９を介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの外部バス９１１に接続されている。
【０１７０】
入力装置９１５は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置９１５は、例えば、赤外線やその他の電波を利用したリモートコントロール手段（いわゆる、リモコン）であってもよいし、情報処理装置１０の操作に対応した携帯電話やＰＤＡ等の外部接続機器９２９であってもよい。さらに、入力装置９１５は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、ＣＰＵ９０１に出力する入力制御回路などから構成されている。情報処理装置１０のユーザは、この入力装置９１５を操作することにより、情報処理装置１０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【０１７１】
出力装置９１７は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、ＣＲＴディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置９１７は、例えば、情報処理装置１０が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置１０が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
【０１７２】
ストレージ装置９１９は、情報処理装置１０の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置９１９は、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置９１９は、ＣＰＵ９０１が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
【０１７３】
ドライブ９２１は、記録媒体用リーダライタであり、情報処理装置１０に内蔵、あるいは外付けされる。ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録されている情報を読み出して、ＲＡＭ９０５に出力する。また、ドライブ９２１は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体９２７に記録を書き込むことも可能である。リムーバブル記録媒体９２７は、例えば、ＤＶＤメディア、ＨＤ−ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア等である。また、リムーバブル記録媒体９２７は、コンパクトフラッシュ（登録商標）（ＣｏｍｐａｃｔＦｌａｓｈ：ＣＦ）、メモリースティック、または、ＳＤメモリカード（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ  ｍｅｍｏｒｙ  ｃａｒｄ）等であってもよい。また、リムーバブル記録媒体９２７は、例えば、非接触型ＩＣチップを搭載したＩＣカード（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ  ｃａｒｄ）または電子機器等であってもよい。
【０１７４】
接続ポート９２３は、機器を情報処理装置１０に直接接続するためのポートである。接続ポート９２３の一例として、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）ポート、ｉ．Ｌｉｎｋ等のＩＥＥＥ１３９４ポート、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。接続ポート９２３の別の例として、ＲＳ−２３２Ｃポート、光オーディオ端子、ＨＤＭＩ（Ｈｉｇｈ−Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）ポート等がある。この接続ポート９２３に外部接続機器９２９を接続することで、情報処理装置１０は、外部接続機器９２９から直接各種データを取得したり、外部接続機器９２９に各種データを提供したりする。
【０１７５】
通信装置９２５は、例えば、通信網９３１に接続するための通信デバイス等で構成された通信インターフェースである。通信装置９２５は、例えば、有線または無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、Ｂｌｕｅｔｏｏｔｈ、またはＷＵＳＢ（Ｗｉｒｅｌｅｓｓ  ＵＳＢ）用の通信カード等である。また、通信装置９２５は、光通信用のルータ、ＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）用のルータ、または、各種通信用のモデム等であってもよい。この通信装置９２５は、例えば、インターネットや他の通信機器との間で、例えばＴＣＰ／ＩＰ等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置９２５に接続される通信網９３１は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
【０１７６】
以上、本発明の各実施形態に係る情報処理装置１０の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
【０１７７】
＜まとめ＞
以上説明したように、本発明の各実施形態に係る情報処理装置および情報処理方法により、線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能となる。
【０１７８】
なお、上述のような本発明の各実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。
【０１７９】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１８０】
例えば、上述した実施形態における情報処理装置および情報処理方法は、非特許文献２に記載の方法を改良し、演算量や公開鍵サイズを削減した方法や、非特許文献１に記載されているようなＩＤベース型公開鍵配信方法にも適用可能である。
【図面の簡単な説明】
【０１８１】
【図１】本発明の第１の実施形態に係る情報処理装置の構成を説明するためのブロック図である。
【図２】本発明の第１の実施形態に係る情報処理方法を説明するための流れ図である。
【図３】同実施形態に係る情報処理装置の適用例を説明するための説明図である。
【図４】同実施形態に係る情報処理装置の適用例を説明するためのブロック図である。
【図５】非特許文献２における公開情報の生成方法を説明するための流れ図である。
【図６】非特許文献２における鍵生成方法を説明するための流れ図である。
【図７】非特許文献２における暗号化方法を説明するための流れ図である。
【図８】非特許文献２における演算方法を説明するための流れ図である。
【図９】非特許文献２における復号方法を説明するための流れ図である。
【図１０】非特許文献２における演算方法を説明するための流れ図である。
【図１１】同実施形態に係る情報処理方法の適用の有無に応じた情報量の変化について説明するための説明図である。
【図１２】同実施形態に係る情報処理方法の適用の有無に応じた演算量の変化について説明するための説明図である。
【図１３】本発明の各実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
【符号の説明】
【０１８２】
１０    情報処理装置
１０１    群選択部
１０３    双線形写像選択部
１０５    判定パラメータ算出部
１０７    演算量算出部
１０９    情報量算出部
１１１    群決定部
１１３    演算処理部
１１５    記憶部
【図１】
2010117384.tif 000017
【図２】
2010117384.tif 000018
【図３】
2010117384.tif 000019
【図４】
2010117384.tif 000020
【図５】
2010117384.tif 000021
【図６】
2010117384.tif 000022
【図７】
2010117384.tif 000023
【図８】
2010117384.tif 000024
【図９】
2010117384.tif 000025
【図１０】
2010117384.tif 000026
【図１１】
2010117384.tif 000027
【図１２】
2010117384.tif 000028
【図１３】
2010117384.tif 000029