JP4748206B2 - 情報処理装置、情報処理方法およびプログラム - Google Patents

情報処理装置、情報処理方法およびプログラム Download PDF

Info

Publication number
JP4748206B2
JP4748206B2 JP2008288395A JP2008288395A JP4748206B2 JP 4748206 B2 JP4748206 B2 JP 4748206B2 JP 2008288395 A JP2008288395 A JP 2008288395A JP 2008288395 A JP2008288395 A JP 2008288395A JP 4748206 B2 JP4748206 B2 JP 4748206B2
Authority
JP
Japan
Prior art keywords
group
calculation
amount
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.)
Expired - Fee Related
Application number
JP2008288395A
Other languages
English (en)
Other versions
JP2010117384A (ja
Inventor
誠一 松田
智之 浅野
雅文 草川
玄良 樋渡
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.)
Sony Corp
Original Assignee
Sony 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 Sony Corp filed Critical Sony Corp
Priority to JP2008288395A priority Critical patent/JP4748206B2/ja
Priority to US12/615,421 priority patent/US20100119058A1/en
Priority to CN200910212175.8A priority patent/CN101741543B/zh
Publication of JP2010117384A publication Critical patent/JP2010117384A/ja
Application granted granted Critical
Publication of JP4748206B2 publication Critical patent/JP4748206B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Description

本発明は、情報処理装置、情報処理方法およびプログラムに関する。
近年、パーソナルコンピュータ(PC)のみならず、携帯電話やディジタル家電等の普及、発達に伴い、音楽や映像等のコンテンツ配信ビジネスが益々重要になってきている。コンテンツ配信ビジネスとしては、CATVや衛星放送、インターネット等を利用した有料放送や、CD、DVD等の物理メディアを利用したコンテンツの販売などが存在するが、いずれにおいても、契約者のみがコンテンツを取得可能となる仕組みを構成する必要がある。
このような仕組みの一例として、双線形写像と呼ばれる演算を用いた鍵共有方法が、各種提案されている(例えば、非特許文献1および非特許文献2を参照。)。双線形写像とは、2つの加法群の元を乗法群の元に写像する関数であり、入力した2つの元と、出力された元との間に、線形性が成立する。
C.Delerablee, "Identity−Based Broadcast Encryption with Constant Size Ciphertexts and Private Keys,"ASIACRYPT 2007,LNCS 4833,pp.200−215,2007. C.Delerablee,P.Paillier,and D.Pointcheval,"Fully Collusion Secure Dinamic Broadcast Encryption with Constant−Size Ciphertexts or Decryption Keys,"Pairing−Based Cryptography−Pairing2007,Lecture Notes in Computer Science 4575,pp.39−59,Springer,2007. F.Hess,N.Smart,and F.Vercauteren,"The Eta Pairing Revisited",IEEE TRANSACTIONSON INFORMATION THEORY,VOL.52,NO.10,pp.4595−4602,OCT.2006.
上記非特許文献1および非特許文献2に記載の方法においても、方法の実行に際して2種類の群を選択する必要がある。しかしながら、選択した群によっては、方式全体の計算量および情報量が大きく変動してしまうという問題があった。
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能な、新規かつ改良された情報処理装置、情報処理方法およびプログラムを提供することにある。
上記課題を解決するために、本発明のある観点によれば、暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される2種類の群G,Gを少なくとも選択する群選択部と、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記暗号処理に関する演算は、前記群Gでの演算よりも前記群Gでの演算が多く、前記群決定部は、前記群Gにおける前記演算量または前記情報量が、前記群Gにおける前記演算量または前記情報量よりも大きい場合に、前記群Gと前記群Gの内容を入れ替える、情報処理装置が提供される。
かかる構成によれば、双線形写像選択部は、所定の演算に用いられる双線形写像を選択し、群選択部は、演算を行う際に利用される2種類の群G,Gを少なくとも選択する。また、判定パラメータ算出部は、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する。また、群決定部は、判定パラメータに基づき、演算を行う際に利用する群を決定する。更に、群決定部は、群Gにおける演算量または情報量が、群Gにおける演算量または情報量よりも大きい場合に、群Gと群Gの内容を入れ替える。
前記情報処理装置は、前記双線形写像を用いた演算の詳細が記録されている記憶部を更に備え、前記判定パラメータ算出部は、前記記憶部に記録されている演算の詳細を参照して、前記判定パラメータの算出を行ってもよい。
前記群Gおよび前記群Gは、それぞれの群に属する元が互いに異なることが好ましい。
前記群選択部により選択される群は、所定のビット数を有する素数を位数とする群であることが好ましい。
前記双線形写像は、楕円曲線上に位置する点に関する写像に関するものであることが好ましい。前記双線形写像は、Tateペアリングであってもよく、Ateペアリングであってもよい。
前記所定の演算は、公開鍵配信方式に基づく演算であってもよく、IDベース型公開鍵配信方式に基づく演算であってもよい。
上記課題を解決するために、本発明の別の観点によれば、暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される2種類の群G,Gを少なくとも選択する群選択部と、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記暗号処理に関する演算では、前記群Gでの演算よりも前記群Gでの演算が多く実施される情報処理装置の前記群選択部が、前記演算を行う際に利用される2種類の群G,Gを少なくとも選択するステップと、前記双線形写像選択部が、前記演算に用いられる双線形写像を選択するステップと、前記判定パラメータ算出部が、選択された少なくとも2種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出するステップと、前記群決定部が、前記判定パラメータに基づいて判定を行い、前記群Gにおける前記演算量または前記情報量が、前記群Gにおける前記演算量または前記情報量よりも大きい場合に、前記群Gと前記群Gの内容を入れ替えるステップと、を含む、情報処理方法が提供される。
上記課題を解決するために、本発明の更に別の観点によれば、暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される2種類の群G ,G を少なくとも選択する群選択部と、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記暗号処理に関する演算では、前記群G での演算よりも前記群G での演算が多く実施されるコンピュータの前記群選択部が、前記演算を行う際に利用される2種類の群G ,G を少なくとも選択する機能を実現し、前記コンピュータの前記双線形写像選択部が、前記演算に用いられる双線形写像を選択する機能を実現し、前記コンピュータの前記判定パラメータ算出部が、選択された少なくとも2種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する機能を実現し、前記コンピュータの前記群決定部が、前記判定パラメータに基づいて判定を行い、前記群G における前記演算量または前記情報量が、前記群G における前記演算量または前記情報量よりも大きい場合に、前記群G と前記群G の内容を入れ替える機能を実現するためのプログラムが提供される。

かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるCPUに読み込まれて実行されることにより、そのコンピュータを上記の情報処理装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
本発明によれば、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能である。
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
なお、説明は、以下の順序で行うものとする。
(1)目的
(2)楕円曲線上のペアリングについて
(3)第1の実施形態
(3−1)情報処理装置の構成について
(3−2)情報処理方法について
(3−3)情報処理装置の適用例について
暗号処理システムについて
情報処理装置の適用例
非特許文献2の方法における公開情報の生成方法
非特許文献2の方法における鍵生成方法
非特許文献2の方法における暗号化方法
非特許文献2の方法における復号方法
非特許文献2の方法における問題点
演算量および情報量の比較
(4)本発明の各実施形態に係る情報処理装置のハードウェア構成について
(5)まとめ
<目的>
まず、本発明の各実施形態に係る情報処理装置および情報処理方法を説明するに先立ち、双線形写像を用いる演算として公開鍵配信における暗号処理を例に取りながら、本発明の目的とするところについて、詳細に説明する。
双線形写像とは、上述のように、2つの加法群の元を乗法群の元に写像する関数であり、入力した2つの元と、出力された元との間に、線形性が成立する。一般的な双線形写像として、例えば、楕円曲線上で定義されるWeil pairingおよびTate pairingの2つがある。以下では、これらのペアリングをまとめて、ペアリングと称することとする。
ペアリングは、本来は、楕円曲線上の離散対数問題を有限体上の離散対数問題に帰着させる楕円曲線暗号に対する攻撃手法として認識されていた。しかし、Jouxによる3者間鍵共有や境らによるIDベース型鍵共有方式など、ペアリングを利用した画期的な方式が提案されると、以降、ペアリングを利用した応用研究が、活発に行われるようになった。
ペアリングは、他の暗号要素技術と比較して、計算コストが大きいことが問題であった。しかしながら、高速な計算アルゴリズムとして、η pairingやAte pairingが提案され、現在では、RSA暗号や楕円曲線暗号と、ほぼ同等のコスト(より詳細には、ほぼ同等のオーダー)で計算可能となっている。
ペアリングを利用した暗号方式では、方式の安全性を確保するために、ペアリングの入出力となる元のサイズなどのパラメータを、適切に設定する必要がある。現在の安全性水準では、supersingular curveと称される楕円曲線を利用することにより、群G=Gを構成可能であり、高速なη pairingを用いてペアリングの値を計算可能である。
しかしながら、より高い安全性水準を満足するパラメータを利用する場合、後述するいくつかの理由から、G≠Gとなる群を選択する必要が生じる。この際に、ペアリングの値の計算には、ordinary curveと称される楕円曲線におけるAte pairingを用いる。このとき、公開情報やユーザ鍵等を生成するセンタと、複数のユーザとから構成される暗号方式において、利用する群の選択により、方式全体の計算量及び情報量が大きく変動するという問題がある。
そのため、本願発明者らは、より高度な安全性水準を維持しつつ、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能な情報処理装置および情報処理方法を提供することを目的として、鋭意研究を行った。その結果、本願発明者らは、以下で説明するような、情報処理装置および情報処理方法に想到した。
<楕円曲線上のペアリングについて>
本発明の各実施形態に係る情報処理装置および情報処理方法について説明するに先立ち、まず、楕円曲線上のペアリングについて、簡単に説明する。
[1.有限体、楕円曲線]
素数をpとし、その冪数q=pとする。有限体Fは素体Fのm次拡大体である。有限体F上で定義された楕円曲線Eは、y=x+ax+b、(a、b∈F)の形で与えられ、部分群の位数をrとして、位数rの元による群をE(F)[r]と表記する。
楕円曲線に依存するパラメータに埋め込み次数kがあり、r|q−1を満足する最小の整数として定義される。楕円曲線Eがordinary curveと称される楕円曲線であれば、F上で定義された次数d(d=2、3、4、6)のEのtwist E’が存在し、以下の式1で表される同型写像φを持つ。楕円曲線Eがsupersingular curveと称される楕円曲線であれば、distortion mapと呼ばれる以下の式2で表される同型写像を持つ。
Figure 0004748206
[2.双線形写像]
位数rの巡回群をそれぞれG、G、Gとすると、双線形写像eは、以下の式3のように定義される。
e:G×G→G ・・・(式3)
また、この双線形写像eは、任意のG∈G、H∈Gおよびa,b∈Zに対して、以下2つの性質を満たす。
1.双線形性:e(aG,bH)=e(G,H)ab
2.非退化性:e(G,H)≠1(G≠1、または、H≠1の場合)
Supersingular curveでは、G=G=E(F)[r]とし、ordinary curveでは、有限体F上で定義されたtwist E’を利用して、G=E(F)[r]、G=E’(F)[r]とする。どちらの曲線であっても、Gは、以下の式4のようになる。非自明なペアリングの値を導出するためには、同型写像を利用して、Gの点をE(F )[r]までリフティングする必要がある。なお、以下の説明において、「F 」という表記は、Fのk次拡大体を表すものとする。Supersingular curveでは、distortion mapφを利用して、以下の式5で表されるP∈Gと線形独立な元φ(P)を導出できる。他方、ordinary curveでは、Q∈Gに対して、twist E’の同型写像φを利用して、以下の式6のように導出する。
Figure 0004748206
なお、上述のような双線形写像の一般的な例として、例えば、Weil pairing、Tate pairing、Ate pairing等がある。
[3.双線形写像を用いた演算におけるパラメータ設定]
双線形写像を用いた演算におけるパラメータの設定では、楕円曲線と同時に、ペアリングの入力である楕円曲線上の加法群のサイズ、および、ペアリングの出力である乗法群が属する有限体のサイズを決定する。現在の安全性水準である80−bit securityでは、加法群のサイズについて、楕円曲線上の離散対数問題から、部分群の位数rを160−bit程度と設定する。また、乗法群が属する有限体のサイズについては、有限体上の離散対数問題から、有限体|F |を1024−bit程度に設定すればよい。
具体的なパラメータとしては、例えば、埋め込み次数k=6、|r|=160、|F|=171、|F |=1026となる。このとき、G、Gの元の情報量は、supersingular curveであっても、ordinary curveであっても変わらない。しかしながら、現在の安全性水準よりも高い安全性を確保する場合には、利用する楕円曲線によって、G、Gの元の情報量は異なる。例えば、128−bit securityを満足するパラメータは、部分群の位数|r|は256−bit程度となり、有限体|F |は3072−bit程度となる。
Supersingular curveの埋め込み次数はk=6が最大であるため、定義体Fのサイズを512−bitに設定する必要がある。また、P∈Gの情報量は、1024−bitとなる。
他方、Ordinary curveの埋め込み次数kは任意な値を取り得るが、同型写像の次数は最大で6である。Gの元のE(F )[r]へのリフティングが課題となるが、twistの定義体の拡大次数を大きくすることにより、対応可能である。つまり、twistの次数をdとして、k=edとなるeを拡大次数と設定して、twist上の群E’(F )[r]をGとする。Gの任意の元は、φによりE(F )[r]に写像される。
Supersingular curveでは、Fのサイズを大きくするため、G、Gに属する元の情報量がどちらも増大する。他方、ordinary curveでは、Gの情報量は変動せず、Gに属する元の情報量が増大する。定義体が大きくなれば、群の演算コストもO((lg q))で増大するため、計算量的観点でも優位性が認められる。
(第1の実施形態)
<情報処理装置の構成について>
まず、図1を参照しながら、本発明の第1の実施形態に係る情報処理装置の構成について、詳細に説明する。図1は、本実施形態に係る情報処理装置の構成を説明するためのブロック図である。
本実施形態に係る情報処理装置10は、双線形写像を用いた所定の演算を行うことが可能な装置である。本実施形態に係る情報処理装置10は、例えば図1に示したように、群選択部101と、双線形写像選択部103と、判定パラメータ算出部105と、群決定部111と、演算処理部113と、記憶部115と、を主に備える。
群選択部101は、例えば、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)等から構成されている。群選択部101は、λ−bitの素数pを無作為に選択し、pを位数とする加法群G、Gおよび巡回乗法群Gを無作為に選択する。
群選択部101は、選択した群G、GおよびGを、後述する判定パラメータ算出部105および群決定部111へと伝送する。
双線形写像選択部103は、例えば、CPU、ROM、RAM等から構成されている。双線形写像選択部103は、群選択部101により群G、GおよびGが選択されると、G×G→Gとなる双線形写像を選択する。
双線形写像選択部103により選択される双線形写像は、写像の演算に用いられる2つの群G、Gに属する元の情報量が互いに異なることを条件とするペアリングであることが好ましい。このような双線形写像の一例として、例えば、所定の楕円曲線上に位置する点をある有限体へと変換する写像があり、より具体的には、例えば、Tate pairingおよびAte pairing等のペアリングを挙げることができる。Tate pairingおよびAte pairingは、楕円曲線の埋め込み次数kとして、任意の値を設定することが可能となり、楕円曲線の選択の幅を広げることが可能となる。
以下に示す表1は、高速な演算が可能なη pairingにおけるパラメータの情報量と、Ate pairingにおけるパラメータの情報量とを比較したものである。η pairingでは、楕円曲線としてSupersingular curveを用いる必要があるため、楕円曲線の埋め込み次数kは、最大でも6である。そのため、128−bit securityを実現するためには、η pairingでは、k=6の場合に、位数rを512−bitに設定し、有限体F の大きさを3072−bitにする必要がある。他方、Ate pairingでは、楕円曲線の埋め込み次数kを任意の値に設定することが可能であるため、128−bit securityを実現する場合であっても、埋め込み次数k=12とすることができる。その結果、Ate pairingでは、位数rを256−bitと設定し、有限体F の大きさを3072−bitとすることができ、η pairingに比べてパラメータの情報量に優れることがわかる。
Figure 0004748206
なお、本実施形態に係る情報処理装置は、上述のTate pairingおよびAte pairing以外にも、写像の演算に用いられる2つの群G、Gに属する元の情報量が互いに異なるペアリングであれば、任意の双線形写像を用いることが可能である。
双線形写像選択部103は、選択した双線形写像に関する情報を、後述する判定パラメータ算出部105、群決定部111および演算処理部113に伝送する。
判定パラメータ算出部105は、例えば、CPU、ROM、RAM等から構成されている。判定パラメータ算出部105は、伝送された群および双線形写像に関する情報に基づいて、後述する演算処理部113で実行される演算に要する演算量および演算における情報量の少なくとも何れかを含む判定パラメータを算出する。判定パラメータの算出に際しては、判定パラメータ算出部105は、後述する記憶部115等に記録されている、演算方法に関する詳細な情報を参照しながら、判定パラメータの算出を行うことが可能である。判定パラメータ算出部105は、例えば図1に示したように、演算量算出部107と、情報量算出部109と、を更に備える。
演算量算出部107は、例えば、CPU、ROM、RAM等から構成されている。演算量算出部107は、記憶部115等に記録されている詳細な演算方法や、演算実行にあたり設定されたパラメータ等を参照しながら、演算処理部113で実行される演算の演算量を算出する。演算量の一例としては、例えば、所定の演算で実行される加算、乗算、冪乗算、逆元演算、双線形写像演算等がある。これらの演算量は、演算処理部113で実行される演算が決定されると、設定パラメータ等に応じて、一義的に決定することが可能となる。
情報量算出部109は、例えば、CPU、ROM、RAM等から構成されている。情報量算出部109は、記憶部115等に記録されている詳細な演算方法や、演算実行にあたり設定されたパラメータ等を参照しながら、演算処理部113で実行される演算により生成される情報の情報量を算出する。演算により生成される情報は、演算処理部113により実行される演算の種類によって異なる。演算処理部113により、例えば双線形写像を用いた暗号処理に関する演算が行われる場合には、演算により生成される情報は、例えば、公開鍵に関する情報、暗号文に関する情報、秘密鍵に関する情報等がある。また、演算により生成される情報の情報量は、例えば、演算により生成された情報に対応するデータのデータサイズであり、対応するデータのビット数等で表すことが可能である。
判定パラメータ算出部105は、演算量算出部107により算出された演算量と、情報量算出部109により算出された情報量と、を取りまとめて、判定パラメータとして、後述する群決定部111に伝送する。
なお、判定パラメータ算出部105は、所定の演算に要する演算量や所定の演算における情報量以外にも、演算コストや演算の負荷等を表す任意の情報を、判定パラメータとして添付することが可能である。また、判定パラメータ算出部105は、算出された演算量と情報量との積を、判定パラメータとして群決定部111に伝送してもよい。
群決定部111は、例えば、CPU、ROM、RAM等から構成されている。群決定部111は、判定パラメータ算出部105から伝送された判定パラメータに基づいて、演算処理部113が演算を行う際に利用する群を決定する。より詳細には、群決定部111は、群選択部101が選択した群Gにおける演算量または情報量が、群選択部101が選択した群Gにおける演算量または情報量よりも大きい場合に、群Gと群Gの内容を入れ替える。これにより、演算処理部113が実行する演算で用いられる群が決定することとなる。
このような処理を行うことで、群Gにおける群演算の演算コストが群Gにおける群演算の演算コストよりも大きく、演算全体を通して群Gにおける演算が主となる場合に、演算全体における演算量および情報量を、効果的に削減することが可能となる。
群決定部111は、決定した群に関する情報を、演算処理部113に伝送する。また、郡決定部111は、決定した群に関する情報を、群を決定した日時に関する情報と互いに関連付けて、記憶部115等に記録してもよい。
演算処理部113は、例えば、CPU、ROM、RAM等から構成されている。演算処理部113は、群決定部111から伝送された複数の群、双線形写像選択部103から伝送された双線形写像、および、演算の設定パラメータ等を利用して、所定の演算を実行する。演算処理部113が実行する演算は、双線形写像を用いた演算である。このような演算の一例として、双線形写像を利用した各種の暗号処理に関する演算がある。双線形写像を利用した暗号処理に関する演算の一例として、例えば、公開鍵配信方式に基づく暗号処理や、IDベース型公開鍵配信方式に基づく暗号処理の演算等がある。
演算処理部113が実行する演算は、上述のような双線形写像を利用した暗号処理に関する演算に限定されるわけではなく、双線形写像を用いた演算であれば、任意の演算処理を行うことが可能である。
記憶部115は、本実施形態に係る演算処理部113で実行される演算方法に関する詳細な情報が格納されている。この演算方法に関する詳細な情報として、例えば、演算処理部113で実行される演算に関するプログラムの実行データや、プログラムのソースコードや、演算に関する各種の設定が予め記録されたデータベース等を挙げることが可能である。また、記憶部115には、これらの各種データ以外にも、情報処理装置10が、何らかの処理を行う際に保存する必要が生じた様々なパラメータや処理の途中経過等、または、各種のデータベース等を、適宜記憶することが可能である。この記憶部115は、群選択部101、双線形写像選択部103、判定パラメータ算出部105、演算量算出部107、情報量算出部109、群決定部111、演算処理部113等が、自由に読み書きを行うことが可能である。
以上、本実施形態に係る情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
<情報処理方法について>
続いて、図2を参照しながら、本実施形態に係る情報処理方法について、詳細に説明する。図2は、本実施形態に係る情報処理方法を説明するための流れ図である。
まず、本実施形態に係る情報処理装置10の群選択部101は、λ−bitの素数pを無作為に選択し、pを位数とする巡回加法群G、Gを無作為に選択する(ステップS101)。また、群選択部101は、群G、Gの選択にあわせて、巡回乗法群Gを選択してもよい。群選択部101は、選択した群を、判定パラメータ算出部105に伝送する。
また、情報処理装置10の双線形写像選択部103は、群の選択に伴い、双線形写像の選択を行って、判定パラメータ算出部105に伝送する。
次に、判定パラメータ算出部105は、群選択部101により選択された群G、G等に基づいて、演算方式全体における判定パラメータの算出を行う(ステップS103)。判定パラメータ算出部105は、算出した判定パラメータを、群決定部111に伝送する。
続いて、情報処理装置10の群決定部111は、算出された判定パラメータに基づいて、群選択部101により選択された群G、Gの判定を行う。具体的には、群決定部111は、群Gにおける演算量または情報量と、群Gにおける演算量または情報量との大小関係に基づいて、判定を行う(ステップS105)。
群Gにおける演算量または情報量が、群Gにおける演算量または情報量よりも小さい場合には、群決定部111は、群選択部101が選択した群GおよびGの内容を変更することなく、これらの群を演算に用いる群として決定する。
また、群Gにおける演算量または情報量が、群Gにおける演算量または情報量よりも大きい場合には、群決定部111は、群選択部101が選択した群GおよびGの内容を入れ替える(ステップS107)。その結果、群決定部111は、内容が入れ替わった群GおよびGを、演算に用いる群として決定する。
本実施形態に係る情報処理方法は、群Gにおける演算量または情報量が、群Gにおける演算量または情報量よりも大きい場合に互いの群の内容を入れ替えることにより、双線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制できる。
<本実施形態に係る情報処理装置の適用例について>
続いて、図3〜図12を参照しながら、本実施形態に係る情報処理装置および情報処理方法の適用例について、双線形写像を用いた暗号処理を例にとって、詳細に説明する。なお、以下で説明する双線形写像を用いた暗号処理は、非特許文献2に記載されている、公開鍵配信方式に基づく暗号処理である。
なお、以下では、128−bit security以上の安全性を確保する場合について説明するものとし、G≠Gとなるordinary curveを利用するものとする。
[暗号処理システムについて]
まず、図3を参照しながら、非特許文献2に記載の方法等における暗号処理システムについて、簡単に説明する。図3は、本実施形態に係る情報処理装置の適用例を説明するための説明図である。
暗号処理システムは、例えば図3に示したように、通信網3と、情報処理装置10と、暗号化装置20A,20B,20Cと、復号装置30A,30B,30Cと、を主に含む。
通信網3は、情報処理装置10、暗号化装置20および復号装置30を双方向通信又は一方向通信可能に接続する通信回線網である。この通信網3は、公衆回線網で構成されていてもよく、専用回線網で構成されていてもよい。また、この通信網3は、有線/無線を問わない。公衆回線網の一例として、例えば、インターネット、NGN(Next Generation Network)網、電話回線網、衛星通信網、同報通信路等がある。また、専用回線網の一例として、例えば、WAN、LAN、IP−VPN、Ethernet(登録商標)、ワイヤレスLAN等がある。
本適用例では、情報処理装置10は、暗号処理における演算に利用される各種のシステムパラメータ等を決定するとともに、公開鍵および秘密鍵からなる各ユーザに固有の個人鍵を生成する。情報処理装置10は、システムパラメータのうち公開可能なものと、公開鍵とを公開するとともに、暗号化装置20および復号装置30に対して、安全な通信路を介して、それぞれの秘密鍵を配信する。なお、この情報処理装置10は、公開鍵および秘密鍵の生成・管理を行うセンタが所有する。
暗号化装置20は、情報処理装置10によって生成および公開された公開鍵を用いて、任意のコンテンツを暗号化し、通信網3を介して、各復号装置に配信する。この暗号化装置20は、任意の第三者が所有することが可能であり、また、情報処理装置10の所有者や、復号装置30の所有者が所有することも可能である。なお、図3において、暗号化装置20は3台のみ記載されているが、記載の例に限定されるわけではなく、暗号化装置20は、任意の台数が存在していてもよい。
復号装置30は、暗号化装置20から配信された暗号化されたコンテンツを、固有の秘密鍵によって復号化して利用することが可能である。この復号装置30は、各契約者によって所有されるものである。
なお、情報処理装置10、暗号化装置20および復号装置30は、パーソナルコンピュータ等のコンピュータ装置(ノート型、デスクトップ型を問わない。)等に限定されず、ネットワークを介した通信機能を有する機器であればよい。通信機能を有する機器として、例えば、PDA(Personal Digital Assistant)、家庭用ゲーム機、DVD/HDDレコーダ、Blu−rayレコーダ、テレビジョン受像器等の情報家電、テレビジョン放送用のチューナやデコーダ等がある。また、情報処理装置10、暗号化装置20および復号装置30は、契約者が持ち運びできるポータブルデバイス(Portabale Device)、例えば、携帯型ゲーム機、携帯電話、携帯型映像/音声プレーヤ、PDA、PHSなどであってもよい。
[本適用例における情報処理装置の構成について]
続いて、図4を参照しながら、本適用例における情報処理装置10の構成について、簡単に説明する。図4は、本適用例における情報処理装置10の構成を説明するためのブロック図である。
本適用例における情報処理装置10は、例えば図4に示したように、群選択部101と、双線形写像選択部103と、判定パラメータ選択部105と、群決定部111と、演算処理部113と、記憶部115と、を主に備える。
本適用例における群選択部101、双線形写像選択部103、判定パラメータ選択部105、群決定部111および記憶部115は、先に説明した情報処理装置10における各処理部と同様の機能を有し、ほぼ同一の効果を奏するため、詳細な説明は省略する。
本適用例における演算処理部113は、非特許文献2に記載の方法における4つの基本処理のうち、Setup処理およびJoin処理を実行する処理部である。Setup処理およびJoin処理の詳細については、以下で改めて詳細に説明する。この演算処理部113は、非特許文献2に記載の方法に基づいて公開情報を生成するとともに、同文献に記載の方法に基づいて各ユーザの個人鍵を生成する。演算処理部113は、例えば図4に示したように、システムパラメータ選択部117と、鍵生成部119と、を更に備える。システムパラメータ選択部117は、上記Setup処理を実行する処理部であり、鍵生成部119は、上記Join処理を実行する処理部である。
システムパラメータ選択部117は、例えば、CPU、ROM、RAM等から構成されている。システムパラメータ選択部117は、群決定部111が決定した群と、双線形写像選択部103が選択した双線形写像と、を利用して、非特許文献2に記載の方法に基づいて暗号処理システムのパラメータ(以下、システムパラメータと称する。)を設定する。また、システムパラメータ選択部117は、設定したシステムパラメータのうち、公開する必要がある情報については、公開情報として暗号化装置20および復号装置30に公開する。この公開情報は、本適用例における情報処理装置10が備える通信制御部(図示せず。)を介して行われる。
また、システムパラメータ選択部117は、選択したシステムパラメータを、記憶部115に記録する。
鍵生成部119は、例えば、CPU、ROM、RAM等から構成されている。鍵生成部119は、群決定部111が決定した群と、双線形写像選択部103が選択した双線形写像と、システムパラメータ選択部117が選択したシステムパラメータと、を利用して、各ユーザに固有の個人鍵を生成する。ユーザに固有の個人鍵は、ユーザのみが秘匿する秘密鍵と、他のユーザに対して公開される公開鍵と、の2種類がある。鍵生成部119は、非特許文献2に記載の方法に基づいて、これらの個人鍵を生成する。鍵生成部119は、生成した公開鍵および秘密鍵からなる個人鍵を、安全な通信路を介して該当するユーザに送付するとともに、公開鍵を他のユーザに対して公開する。個人鍵の送付および公開鍵の公開は、本適用例における情報処理装置10が備える通信制御部(図示せず。)を介して行われる。
また、鍵生成部119は、生成した個人鍵を、該当するユーザに関するユーザ情報に関連付けて、記憶部115に記録する。
以上、本適用例における情報処理装置10の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、CPU等が全て行ってもよい。従って、本適用例を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
次に、図5〜図10を参照しながら、非特許文献2に開示されている公開鍵配信方法について、詳細に説明する。非特許文献2の方法は、Setup、Join、Encryption、Decryptionという4つの基本処理から構成される。この4つの基本処理のうち、Setup処理およびJoin処理は、上述のように、図3に示した情報処理装置10で実行される処理である。また、上記4つの基本処理のうち、Encryption処理は、図3に示した暗号化装置20で実行される処理である。また、上記4つの基本処理のうち、Decryption処理は、図3に示した復号装置30で実行される処理である。
[非特許文献2の方法における公開情報の生成方法について]
まず、図5を参照しながら、非特許文献2の方法におけるSetup処理、すなわち、公開情報の生成方法について、詳細に説明する。図5は、非特許文献2の方法における公開情報の生成方法について説明するための流れ図である。
Setup処理は、本適用例における情報処理装置10を有するセンタがシステム構築時に一度だけ実行する公開情報の生成処理である。センタは、セキュリティパラメータλを決定し、情報処理装置10は、入力されたセキュリティパラメータλを用いて、以下に説明するSetup処理を実行する。
まず、情報処理装置10は、λ−bitの素数pを選択し、素数pを位数とする加法群Gおよび巡回乗法群Gを選択するとともに、双線形写像e:G×G→Gを決定する(ステップS11)。なお、群の選択は、本適用例における群選択部101により行われ、群決定部111によって演算に用いられる群が決定される。また、双線形写像の選択は、本適用例における双線形写像選択部103により実行される。
次に、情報処理装置10のシステムパラメータ選択部117は、生成元G∈G、H∈Gを選択する(ステップS12)。
続いて、情報処理装置10のシステムパラメータ選択部117は、秘密情報γ∈Z を選択し、W=γG∈Gを算出するとともに、V=e(G,H)∈Gを算出する(ステップS13)。
その後、情報処理装置10のシステムパラメータ選択部117は、SK=(G,γ)を秘密情報(マスター鍵)として秘密保持するとともに、PKを以下の式101のように構成し、公開情報とする(ステップS14)。
PK={p,G,G,G,e,H,W,V} ・・・(式101)
続いて、情報処理装置10は、Setup処理の実行によって得られたPKを、システム全体の公開情報として公開する。
[非特許文献2の方法における鍵生成方法について]
続いて、図6を参照しながら、非特許文献2の方法におけるJoin処理、すなわち、鍵生成方法について、詳細に説明する。図6は、非特許文献2の方法における鍵生成方法について説明するための流れ図である。
Join処理は、本適用例における情報処理装置10を有するセンタが、ユーザからのシステム加入要求がある毎に実行するユーザ登録処理である。この処理は、センタがシステム設定を終えた後に、任意のタイミングで実行されてよい。
センタは、公開情報PKi―1(1≦i≦n)、マスター鍵SKおよびi番目に加入したユーザのインデックスであるiを情報処理装置10に入力し、以下に説明するJoin処理を実行する。これにより、センタは、システム加入要求を送信したユーザの秘密鍵を生成して、システムへの加入処理を行う。
まず、情報処理装置10の鍵生成部119は、ユーザiに固有の値である、x∈Z を選択する(ステップS21)。その後、情報処理装置10の鍵生成部119は、以下の式102、式103、式104に示した値を算出し、システム加入要求を送信したユーザiの秘密鍵dk(式105)と、ラベルlab(式106)と、を計算する(ステップS22)。上記ラベルlabが、ユーザiの公開鍵に該当するものである。
Figure 0004748206
ここで、上記式103に示したBは、秘密鍵dkの一部としているが、Bは秘密の情報ではなく公開情報であり、ユーザiは、Bを秘密保持する必要はない。
情報処理装置10は、Join処理の実行によって得られたユーザiの秘密鍵dkを、安全な通信路を利用してユーザiに秘密裏に配布する(ステップS23)。また、情報処理装置10は、現在の公開鍵PKi−1にユーザiに対応するラベルlab=(x,V,B)を追加し、公開情報PKとして更新、公開する(ステップS23)。このとき、新たな公開情報PKは、以下の式107のような構成となっている。
Figure 0004748206
[非特許文献2の方法における暗号化方法について]
続いて、図7を参照しながら、非特許文献2の方法におけるEncryption処理、すなわち、暗号化方法について、詳細に説明する。図7は、非特許文献2の方法における暗号化方法について説明するための流れ図である。
Encryption処理は、コンテンツ等の配信を希望する任意の送信者が、図3に示した暗号化装置20を用いて、配信毎に実行する処理である。
送信者は、以下に説明するEncryption処理を実行することで、配信したいコンテンツ等の平文に対して暗号化処理を行う。暗号化装置20は、CPU、ROM、RAM、通信装置等を備えた装置であり、以下に示す処理を、CPU、ROM、RAM、通信装置等を用いて実行する。
暗号化装置20は、まず、排除されるユーザの集合R={1,・・・,r}を決定し(ステップS31)、Rの要素数をカウントしてカウント結果をrとする。
続いて、暗号化装置20は、G上の演算に対して双線形群の演算処理(Aggregate(A)アルゴリズム)を行い、以下の式108に示した値Pを算出する(ステップS32)。なお、双線形群の演算処理アルゴリズムであるAggregate(A)アルゴリズムについては、以下で改めて詳細に説明する。
Figure 0004748206
次に、暗号化装置20は、乱数k∈Z を選択し、暗号文(C,C)を、以下の式109、式110に基づいて算出する(ステップS33)。
Figure 0004748206
続いて、暗号化装置20は、G上の演算に対して双線形群の演算処理(Aggregate(A)アルゴリズム)を行い、以下の式111に示した値を算出する(ステップS34)。
Figure 0004748206
およびK’の算出が終了すると、暗号化装置20は、セッション鍵Kを以下の式112に基づいて算出する(ステップS35)。
Figure 0004748206
次に、暗号化装置20は、暗号文hdrを、以下の式113のようにして算出する(ステップS36)。
Figure 0004748206
暗号化装置20は、平文Mのセッション鍵Kによる暗号文を生成した後、暗号文hdrとともに同報配信する。かかる処理を行うことで、送信者は、希望するユーザに対して暗号化されたコンテンツ等を送信することができる。
続いて、図8を参照しながら、Encryption処理中で実施される双線形群演算処理であるAggregate(A)アルゴリズムについて、詳細に説明する。図8は、非特許文献2の方法における双線形群の演算処理を説明するための流れ図である。
Aggregate(A)アルゴリズムは、暗号化装置が(P,・・・P)∈Gと、K’∈Gと、を算出する際に実行するアルゴリズムである。なお、このアルゴリズムの実行に際して、x=[x,・・・,x]、P=[B,・・・,B]が入力として与えられる。
まず、暗号化装置20は、パラメータjをj=1と設定する(ステップS41)。続いて、暗号化装置20は、パラメータlをl=j+1と設定する(ステップS42)。
ここで、暗号化装置20は、x[j]とx[l]との比較を行い(ステップS43)、x[j]=x[l]であれば、エラーメッセージを出力し(ステップS44)、処理を終了する。また、x[j]=x[l]でなければ、暗号化装置20は、以下に示すステップS45を実行する。
続いて、暗号化装置20は、以下の式114を用いて、P[l]を計算する(ステップS45)。
Figure 0004748206
上記式114の計算が終了すると、暗号化装置20は、lをl+1と設定し(ステップS46)、lとr+1の比較を行う(ステップS47)。l=r+1であれば、暗号化装置20は、ステップS48を実行し、lがr+1と等しくなければ、暗号化装置20は、ステップS43に戻って処理を続行する。
次に、暗号化装置20は、jをj+1と設定し(ステップS48)、jとrの比較を行う(ステップS49)。j=rであれば、暗号化装置20は、ステップS50を実行し、jがrと等しくなければ、暗号化装置は、ステップS42に戻って処理を続行する。
その後、暗号化装置20は、P[r]を出力する(ステップS50)。
なお、K’∈Gも、上述のAggregate(A)アルゴリズムによって算出することが可能である。この場合、加(減)算を乗(除)算に、乗算を冪乗算に変更した上で、ステップS45をG上での演算として実行すればよい。ただし、Z 上の演算である1/(x[l]−x[j])は、いずれの場合においてもZ 上での減算及び逆元演算として計算する必要がある。
[非特許文献2の方法における復号方法について]
続いて、図9を参照しながら、非特許文献2の方法におけるDecryption処理、すなわち、復号方法について、詳細に説明する。図9は、非特許文献2の方法における復号方法について説明するための流れ図である。
Decryption処理は、コンテンツ等の配信を受けた受信者が暗号文を復号して平文を取得する際に、図3に示した復号装置30によって実行される処理である。
復号装置30は、送信者により送信されたhdrと、自身の秘密鍵dkと、自身に固有の値であるxと、に基づいて、以下に説明するDecryption処理を実行することで、配信されたコンテンツ等の暗号文に対して復号処理を行う。復号装置30は、CPU、ROM、RAM、通信装置等を備えた装置であり、以下に示す処理を、CPU、ROM、RAM、通信装置等を用いて実行する。
まず、復号装置30は、送信者から配信されたhdrの中に、自身に固有の値であるxが存在するか否かを判断する(ステップS51)。hdrの中に自身に固有の値であるxが存在する場合には、送信者により受信者が排除されたことを意味するため、受信装置は、エラーメッセージを出力し(ステップS52)、処理を終了する。また、hdrの中に自身に固有の値であるxが存在しない場合には、受信装置は、以下のステップS53を実行する。
次に、復号装置30は、双線形群の演算処理(Aggregate(B)アルゴリズム)を行い、以下の式115に示した値を算出する(ステップS53)。なお、双線形群の演算処理アルゴリズムであるAggregate(B)アルゴリズムについては、以下で改めて詳細に説明する。
Figure 0004748206
ステップS53が終了すると、復号装置30は、算出したBi,Rを用いて、以下の式116によりセッション鍵Kを算出する(ステップS54)。
Figure 0004748206
受信者は、上述のDecryption処理により得られたセッション鍵Kを利用して、送信者から送信されたコンテンツ等の暗号文を復号し、平文を取得する。
続いて、図10を参照しながら、Decryption処理中で実施される双線形群演算処理であるAggregate(B)アルゴリズムについて、詳細に説明する。図10は、非特許文献2の方法における双線形群の演算処理を説明するための流れ図である。
Aggregate(B)アルゴリズムは、復号装置30がBi,R∈Gを算出する際に実行するアルゴリズムである。なお、このアルゴリズムの実行に際して、x、B、x=[x,・・・,x]、P=[B,・・・,B]が入力として与えられる。
まず、復号装置30は、パラメータtempを設定してtempの初期値をBとし(ステップS61)、続いて、パラメータjをj=1と設定する(ステップS62)。
次に、復号装置30は、xとx[j]との比較を行い(ステップS63)、x=x[j]であれば、エラーメッセージを出力し(ステップS64)、処理を終了する。また、復号装置30は、x=x[j]でなければ、以下に示すステップS65を実行する。
続いて、復号装置30は、以下の式117を用いて、新たなtempの値を算出する(ステップS65)。
Figure 0004748206
ここで、上記式117から明らかなように、式中の分母に、復号装置30に固有の値であるxが含まれているため、暗号化装置20から送信されたhdrに自身のxが含まれている場合には、tempが値を持たなくなる。これにより、排除されたユーザは、セッション鍵Kの算出に必要なBi,Rを得ることが出来なくなるため、暗号文を復号化することができない。
上記の演算が終了すると、復号装置30は、jの値をj+1とし(ステップS66)、次いで、jとr+1の比較を行う(ステップS67)。j=r+1であれば、復号装置30は、後述するステップS68を実行する。また、jがr+1と等しくない場合には、復号装置30は、ステップS63に戻って処理を続行する。
次に、復号装置30は、tempを出力する(ステップS68)。出力されたtempは、Bi,Rであり、復号装置30は、かかる出力値を用いてセッション鍵Kを算出する。
[非特許文献2の方法における問題点について]
非特許文献2では、具体的な群G,Gの選択方法に関する記述は成されていない。先に述べたように、128−bit securityを確保するためには、ordinary curveにおいてG=E(F)[r]、G=E’(F )[r]と設定する必要がある。このとき、楕円曲線としては、埋め込み次数k=12であるBN曲線E:y=x+b,b∈Fが採用される。また、楕円曲線Eに対する6次のtwistは、E’:y=x+b/D,D∈F で与えられる。群G,Gの元を表現するために必要な情報量は、それぞれ512−bit、1024−bitであり、群Gにおける群演算の演算コストは、群Gにおける群演算の演算コストの3倍である。
非特許文献2に記載の方法において、率直に群を選ぶと、本実施形態に係る情報処理方法を適用していない情報処理装置では、情報量が大きい群Gの元から生成元Hを選択することとなる。また、暗号化装置および復号装置それぞれは、暗号化および復号化のほとんどの処理を、情報量が大きな群G上で行うこととなる。これは、暗号処理システム全体において、演算量および情報量の観点から、非効率であるといえる。
そこで、本実施形態に係る情報処理方法を適用することにより、暗号処理システム全体における演算量および情報量を削減することが可能となる。すなわち、センタが所有する本適用例における情報処理装置10において、Setup処理時にパラメータとして使用される,Gに対するそれぞれの演算量や情報量を算出し、判定結果に応じて、G,Gの群の入れ替えを実施する。従って、図5に示したステップS11を実行している際に、図2に示した本実施形態に係る情報処理方法が適用されることとなる。
[演算量および情報量の比較]
以下では、非特許文献2に記載の方法に対して、本実施形態に係る情報処理方法を適用した場合における演算量および情報量の変化について、説明する。
なお、本適用例では、判定パラメータとして、演算量または情報量のどちらを選択した場合であっても、大きな違いは無い。また、演算におけるパラメータ設定は、楕円曲線上のペアリングについて説明した際と同じ設定であるものとする。また、ユーザ総数nを220=1048576とし、リボークユーザ数(排除されるユーザ数)rを210=1024として、本実施形態に係る情報処理方法の適用の有無における演算量と情報量の比較を行った。
まず、図11を参照しながら、情報量の変化について検討する。なお、図11中における単位は、ビット[bit]である。
図11を参照すると、本実施形態に係る情報処理方法を適用した場合、公開鍵の情報量の合計は3840n+4608−bitであり、秘密鍵の情報量の合計は1792−bitであり、暗号文の情報量の合計は768r+1536であることがわかる。
他方、本実施形態に係る情報処理方法を適用しない場合、公開鍵の情報量の合計は4352n+4608−bitであり、秘密鍵の情報量の合計は1792−bitであり、暗号文の情報量の合計は1280r+1536−bitであることがわかる。
従って、n=220、r=210の場合において、1byte=8bitとして各情報量を計算すると、次のようになる。すなわち、適用ありの場合では、公開鍵の情報量の合計は503,317,056bytesとなり、秘密鍵の情報量の合計は224bytesとなり、暗号文の情報量の合計は98,496bytesとなる。また、適用なしの場合では、公開鍵の情報量の合計は570,425,920bytesとなり、秘密鍵の情報量の合計は224bytesとなり、暗号文の情報量の合計は164,032bytesとなる。
従って、本実施形態に係る情報処理方法を適用することで、公開鍵の情報量を約67MByte削減でき、暗号文の情報量を約65KByte削減できることがわかった。
続いて、図12を参照しながら、演算量の変化について検討する。なお、図12に示した例では、非特許文献3を参考にして、演算量の推定を行った。
定義体Fにおける乗算1回をMとし、s(=2)次拡大体F の乗算1回をMsとすると、演算量Ms=3Mと推定できる。すなわち、2=2より、M=3M=3Mとなる。同様に、12=2より、M12=3M=45Mとなる。
また、群Gにおける加算、2倍算をそれぞれ14M、12Mとすると、2次拡大体の元から構成される群Gにおける加算、2倍算は、それぞれ14M=42M、12M=36Mとなる。
なお、各群におけるスカラー倍、べき乗計算のアルゴリズムは、Double and Add法を利用するものとした。
図12を参照しながら、r=210の場合における演算量を計算すると、本適用例における演算量は、適用しない場合に比べて、暗号化時において、5,109,968,384M、復号化時において、9,990,144M削減されることが確認できた。
<ハードウェア構成について>
次に、図13を参照しながら、本発明の各実施形態に係る情報処理装置10のハードウェア構成について、詳細に説明する。図13は、本発明の各実施形態に係る情報処理装置10のハードウェア構成を説明するためのブロック図である。
情報処理装置10は、主に、CPU901と、ROM903と、RAM905と、を備える。また、情報処理装置10は、更に、ホストバス907と、ブリッジ909と、外部バス911と、インターフェース913と、入力装置915と、出力装置917と、ストレージ装置919と、ドライブ921と、接続ポート923と、通信装置925とを備える。
CPU901は、演算処理装置および制御装置として機能し、ROM903、RAM905、ストレージ装置919、またはリムーバブル記録媒体927に記録された各種プログラムに従って、情報処理装置10内の動作全般またはその一部を制御する。ROM903は、CPU901が使用するプログラムや演算パラメータ等を記憶する。RAM905は、CPU901の実行において使用するプログラムや、その実行において適宜変化するパラメータ等を一次記憶する。これらはCPUバス等の内部バスにより構成されるホストバス907により相互に接続されている。
ホストバス907は、ブリッジ909を介して、PCI(Peripheral Component Interconnect/Interface)バスなどの外部バス911に接続されている。
入力装置915は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバーなどユーザが操作する操作手段である。また、入力装置915は、例えば、赤外線やその他の電波を利用したリモートコントロール手段(いわゆる、リモコン)であってもよいし、情報処理装置10の操作に対応した携帯電話やPDA等の外部接続機器929であってもよい。さらに、入力装置915は、例えば、上記の操作手段を用いてユーザにより入力された情報に基づいて入力信号を生成し、CPU901に出力する入力制御回路などから構成されている。情報処理装置10のユーザは、この入力装置915を操作することにより、情報処理装置10に対して各種のデータを入力したり処理動作を指示したりすることができる。
出力装置917は、取得した情報をユーザに対して視覚的または聴覚的に通知することが可能な装置で構成される。このような装置として、CRTディスプレイ装置、液晶ディスプレイ装置、プラズマディスプレイ装置、ELディスプレイ装置およびランプなどの表示装置や、スピーカおよびヘッドホンなどの音声出力装置や、プリンタ装置、携帯電話、ファクシミリなどがある。出力装置917は、例えば、情報処理装置10が行った各種処理により得られた結果を出力する。具体的には、表示装置は、情報処理装置10が行った各種処理により得られた結果を、テキストまたはイメージで表示する。他方、音声出力装置は、再生された音声データや音響データ等からなるオーディオ信号をアナログ信号に変換して出力する。
ストレージ装置919は、情報処理装置10の記憶部の一例として構成されたデータ格納用の装置である。ストレージ装置919は、例えば、HDD(Hard Disk Drive)等の磁気記憶部デバイス、半導体記憶デバイス、光記憶デバイス、または光磁気記憶デバイス等により構成される。このストレージ装置919は、CPU901が実行するプログラムや各種データ、および外部から取得した各種のデータなどを格納する。
ドライブ921は、記録媒体用リーダライタであり、情報処理装置10に内蔵、あるいは外付けされる。ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録されている情報を読み出して、RAM905に出力する。また、ドライブ921は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体927に記録を書き込むことも可能である。リムーバブル記録媒体927は、例えば、DVDメディア、HD−DVDメディア、Blu−rayメディア等である。また、リムーバブル記録媒体927は、コンパクトフラッシュ(登録商標)(CompactFlash:CF)、メモリースティック、または、SDメモリカード(Secure Digital memory card)等であってもよい。また、リムーバブル記録媒体927は、例えば、非接触型ICチップを搭載したICカード(Integrated Circuit card)または電子機器等であってもよい。
接続ポート923は、機器を情報処理装置10に直接接続するためのポートである。接続ポート923の一例として、USB(Universal Serial Bus)ポート、i.Link等のIEEE1394ポート、SCSI(Small Computer System Interface)ポート等がある。接続ポート923の別の例として、RS−232Cポート、光オーディオ端子、HDMI(High−Definition Multimedia Interface)ポート等がある。この接続ポート923に外部接続機器929を接続することで、情報処理装置10は、外部接続機器929から直接各種データを取得したり、外部接続機器929に各種データを提供したりする。
通信装置925は、例えば、通信網931に接続するための通信デバイス等で構成された通信インターフェースである。通信装置925は、例えば、有線または無線LAN(Local Area Network)、Bluetooth、またはWUSB(Wireless USB)用の通信カード等である。また、通信装置925は、光通信用のルータ、ADSL(Asymmetric Digital Subscriber Line)用のルータ、または、各種通信用のモデム等であってもよい。この通信装置925は、例えば、インターネットや他の通信機器との間で、例えばTCP/IP等の所定のプロトコルに則して信号等を送受信することができる。また、通信装置925に接続される通信網931は、有線または無線によって接続されたネットワーク等により構成され、例えば、インターネット、家庭内LAN、赤外線通信、ラジオ波通信または衛星通信等であってもよい。
以上、本発明の各実施形態に係る情報処理装置10の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。
<まとめ>
以上説明したように、本発明の各実施形態に係る情報処理装置および情報処理方法により、線形写像を用いる演算において、演算方式全体の計算量および情報量を抑制することが可能となる。
なお、上述のような本発明の各実施形態に係る情報処理装置の各機能を実現するためのコンピュータプログラムを作製し、パーソナルコンピュータ等に実装することが可能である。
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
例えば、上述した実施形態における情報処理装置および情報処理方法は、非特許文献2に記載の方法を改良し、演算量や公開鍵サイズを削減した方法や、非特許文献1に記載されているようなIDベース型公開鍵配信方法にも適用可能である。
本発明の第1の実施形態に係る情報処理装置の構成を説明するためのブロック図である。 本発明の第1の実施形態に係る情報処理方法を説明するための流れ図である。 同実施形態に係る情報処理装置の適用例を説明するための説明図である。 同実施形態に係る情報処理装置の適用例を説明するためのブロック図である。 非特許文献2における公開情報の生成方法を説明するための流れ図である。 非特許文献2における鍵生成方法を説明するための流れ図である。 非特許文献2における暗号化方法を説明するための流れ図である。 非特許文献2における演算方法を説明するための流れ図である。 非特許文献2における復号方法を説明するための流れ図である。 非特許文献2における演算方法を説明するための流れ図である。 同実施形態に係る情報処理方法の適用の有無に応じた情報量の変化について説明するための説明図である。 同実施形態に係る情報処理方法の適用の有無に応じた演算量の変化について説明するための説明図である。 本発明の各実施形態に係る情報処理装置のハードウェア構成を説明するためのブロック図である。
符号の説明
10 情報処理装置
101 群選択部
103 双線形写像選択部
105 判定パラメータ算出部
107 演算量算出部
109 情報量算出部
111 群決定部
113 演算処理部
115 記憶部

Claims (11)

  1. 暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、
    前記演算を行う際に利用される2種類の群G,Gを少なくとも選択する群選択部と、
    選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、
    前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、
    を備え、
    前記暗号処理に関する演算は、前記群Gでの演算よりも前記群Gでの演算が多く、
    前記群決定部は、前記群Gにおける前記演算量または前記情報量が、前記群Gにおける前記演算量または前記情報量よりも大きい場合に、前記群Gと前記群Gの内容を入れ替える、
    情報処理装置。
  2. 前記情報処理装置は、前記双線形写像を用いた演算の詳細が記録されている記憶部を更に備え、
    前記判定パラメータ算出部は、前記記憶部に記録されている演算の詳細を参照して、前記判定パラメータの算出を行う、
    請求項1に記載の情報処理装置。
  3. 前記群Gおよび前記群Gは、それぞれの群に属する元が互いに異なる、
    請求項2に記載の情報処理装置。
  4. 前記群選択部により選択される群は、所定のビット数を有する素数を位数とする群である、
    請求項2に記載の情報処理装置。
  5. 前記双線形写像は、楕円曲線上に位置する点に関する写像に関するものである、
    請求項1に記載の情報処理装置。
  6. 前記双線形写像は、Tateペアリングである、
    請求項5に記載の情報処理装置。
  7. 前記双線形写像は、Ateペアリングである、
    請求項5に記載の情報処理装置。
  8. 前記所定の演算は、公開鍵配信方式に基づく演算である、
    請求項1に記載の情報処理装置。
  9. 前記所定の演算は、IDベース型公開鍵配信方式に基づく演算である、
    請求項1に記載の情報処理装置。
  10. 暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される2種類の群G,Gを少なくとも選択する群選択部と、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記暗号処理に関する演算では、前記群Gでの演算よりも前記群Gでの演算が多く実施される情報処理装置の前記群選択部が、前記演算を行う際に利用される2種類の群G,Gを少なくとも選択するステップと、
    前記双線形写像選択部が、前記演算に用いられる双線形写像を選択するステップと、
    前記判定パラメータ算出部が、選択された少なくとも2種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出するステップと、
    前記群決定部が、前記判定パラメータに基づいて判定を行い、前記群Gにおける前記演算量または前記情報量が、前記群Gにおける前記演算量または前記情報量よりも大きい場合に、前記群Gと前記群Gの内容を入れ替えるステップと、
    を含む、
    情報処理方法。
  11. 暗号処理に関する演算に用いられる双線形写像を選択する双線形写像選択部と、前記演算を行う際に利用される2種類の群G ,G を少なくとも選択する群選択部と、選択された少なくとも2種類の群それぞれに基づき、所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する判定パラメータ算出部と、前記判定パラメータに基づき、前記演算を行う際に利用する群を決定する群決定部と、を備え、前記暗号処理に関する演算では、前記群G での演算よりも前記群G での演算が多く実施されるコンピュータの前記群選択部が、前記演算を行う際に利用される2種類の群G ,G を少なくとも選択する機能を実現し、
    前記コンピュータの前記双線形写像選択部が、前記演算に用いられる双線形写像を選択する機能を実現し、
    前記コンピュータの前記判定パラメータ算出部が、選択された少なくとも2種類の群それぞれに基づき、前記所定の演算に要する演算量および前記所定の演算における情報量の少なくとも何れかを含む判定パラメータを算出する機能を実現し、
    前記コンピュータの前記群決定部が、前記判定パラメータに基づいて判定を行い、前記群G における前記演算量または前記情報量が、前記群G における前記演算量または前記情報量よりも大きい場合に、前記群G と前記群G の内容を入れ替える機能を実現するためのプログラム。
JP2008288395A 2008-11-11 2008-11-11 情報処理装置、情報処理方法およびプログラム Expired - Fee Related JP4748206B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2008288395A JP4748206B2 (ja) 2008-11-11 2008-11-11 情報処理装置、情報処理方法およびプログラム
US12/615,421 US20100119058A1 (en) 2008-11-11 2009-11-10 Information processing apparatus, information processing method, and program
CN200910212175.8A CN101741543B (zh) 2008-11-11 2009-11-11 信息处理设备、信息处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008288395A JP4748206B2 (ja) 2008-11-11 2008-11-11 情報処理装置、情報処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2010117384A JP2010117384A (ja) 2010-05-27
JP4748206B2 true JP4748206B2 (ja) 2011-08-17

Family

ID=42165228

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008288395A Expired - Fee Related JP4748206B2 (ja) 2008-11-11 2008-11-11 情報処理装置、情報処理方法およびプログラム

Country Status (3)

Country Link
US (1) US20100119058A1 (ja)
JP (1) JP4748206B2 (ja)
CN (1) CN101741543B (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5365072B2 (ja) * 2007-12-11 2013-12-11 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法およびプログラム
CN104579661B (zh) * 2013-10-21 2018-05-01 航天信息股份有限公司 基于身份的电子签章的实现方法和装置
JP6348082B2 (ja) * 2015-04-23 2018-06-27 日本電信電話株式会社 構造変換装置およびプログラム
JP7451454B2 (ja) 2021-03-19 2024-03-18 信豪 高場 値比較装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5884274A (en) * 1996-11-15 1999-03-16 Walker Asset Management Limited Partnership System and method for generating and executing insurance policies for foreign exchange losses
JP2005500740A (ja) * 2001-08-13 2005-01-06 ザ ボード オブ トラスティーズ オブ ザ リーランド スタンフォード ジュニア ユニバーシティ Idベース暗号化および関連する暗号手法のシステムおよび方法
JP5365072B2 (ja) * 2007-12-11 2013-12-11 ソニー株式会社 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法およびプログラム

Also Published As

Publication number Publication date
CN101741543A (zh) 2010-06-16
US20100119058A1 (en) 2010-05-13
CN101741543B (zh) 2012-10-10
JP2010117384A (ja) 2010-05-27

Similar Documents

Publication Publication Date Title
US8213609B2 (en) Key generating device, encrypting device, receiving device, key generating method, encrypting method, key processing method, and program
JP4859933B2 (ja) 暗号文生成装置及び暗号通信システム及び群パラメータ生成装置
US7826619B2 (en) Key-updating method, encryption processing method, key-insulated cryptosystem and terminal device
WO2019014425A1 (en) SAFE PARTY WITH SEVERAL PARTIES KNOWING NO VOICE IMPRESSIONS
JP4786531B2 (ja) 暗号システム、暗号装置、復号装置、プログラムおよび集積回路
CN108200181B (zh) 一种面向云存储的可撤销属性基加密系统及方法
JP4984827B2 (ja) 鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラム
JP5257357B2 (ja) 鍵生成装置、暗号化装置及び復号装置
JP4611305B2 (ja) 情報伝達システム、暗号装置及び復号装置
JP4748206B2 (ja) 情報処理装置、情報処理方法およびプログラム
WO2007011071A1 (ja) タイム装置、暗号化装置、復号化装置、暗号化/復号化システム
WO2008059672A1 (fr) Dispositif de traitement d'informations
KR101059344B1 (ko) 암호화 통신 시스템
KR101533950B1 (ko) 브로드캐스트 암호화 방법 및 시스템
JP2010049212A (ja) 復号装置、復号方法、復号プログラム、暗号化装置、暗号化方法および暗号化プログラム
WO2023226308A1 (zh) 一种文件共享方法、系统、电子设备及可读存储介质
JP4715748B2 (ja) 暗号方式の安全性を保証するパディング適用方法
JP7325689B2 (ja) 暗号文変換システム、変換鍵生成方法、及び、変換鍵生成プログラム
JP7125857B2 (ja) 暗号化システム、暗号化装置、復号装置、暗号化方法、復号方法、及びプログラム
JP2014017763A (ja) 暗号更新システム、暗号更新要求装置、暗号更新装置、復号装置、暗号更新方法、および、コンピュータ・プログラム
JP2006254417A (ja) 秘密通信システム及び通信装置及びプログラム
JP6000207B2 (ja) 暗号化システム、システムパラメータ生成装置、暗号化装置、復号装置、及びその方法、プログラム
Sahu et al. A Novel Attribute based Encryption with implicit user authentication for Cloud
Soni et al. Efficient Cipher Scheme for Hybrid Models with Internal Structure Modification
Munoz Study of the Reconciliation Mechanism of NewHope

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100914

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101108

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110324

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110419

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110502

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140527

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees