説明

代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体

【課題】信頼できるとは限らないプロセッサによって双線形写像を計算できる技術を提供する。
【解決手段】本発明の代理計算依頼装置は、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める。ただし、F、G、Hは巡回群である。また、ord()は巡回群の位数を示すものとする。本発明の代理計算依頼装置は、乱数生成部、変換部、送受信部、逆変換部を備える。乱数生成部は、0以上ord(G)未満の乱数rと0以上ord(H)未満の乱数sを生成する。変換部は、計算装置に送信する依頼データg’、h’を、g’=g、h’=hのように求める。送受信部は、依頼データ(g’、h’)を計算装置に送信し、計算装置から結果zを受信する。逆変換部は、u・r・s=1 mod ord(F)となるuを求め、θ(g,h)=zとする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信手段を用いて他の装置に複雑な演算を行わせる代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、および代理計算依頼プログラムを記録した記録媒体に関する。
【背景技術】
【0002】
IDベース暗号などのアルゴリズムの内部では、ペアリングなどの双線形写像の計算を行う必要がある場合がある(非特許文献1、特許文献1参照)。そして、ペアリングなどの双線形写像の計算は比較的複雑なアルゴリズムを必要とする場合がある。また、IDベース暗号などのアルゴリズムを実行するシステムは、信頼できるシステムである必要がある。よって、IDベース暗号などのアルゴリズムを実行させるシステムは、一定以上の性能を備え、信頼できるプロセッサを利用できるように設計されていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2009−141674号公報
【非特許文献】
【0004】
【非特許文献1】D.Boneh, M. Franklin,”Identitybased encryption from the Weil pairing”,Crypto2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp.213-229, 2001.
【発明の概要】
【発明が解決しようとする課題】
【0005】
従来技術は、信頼できるプロセッサなどの計算装置を、信頼できる領域内で利用しなければならないという制約がある。また、信頼できる計算装置は高価である。したがって、信頼性が十分でない計算装置を利用することや、信頼できない領域(インターネットなどの通信網)を介して計算装置を利用できないことにより、IDベース暗号システムなどの設備や運用に掛かるコストを低減できないという課題がある。
【0006】
そこで、本発明は、信頼できるとは限らない計算装置(信頼できるとは限らない領域を介した計算装置を含む)によって双線形写像を計算できる技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の代理計算依頼装置は、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める。ただし、F、G、Hは巡回群である。また、ord()は巡回群の位数、μ、μはそれぞれ群G、Hの生成元を示すものとし、ν=θ(μ,μ)とする。本発明の代理計算依頼装置は、乱数生成部、変換部、送受信部、逆変換部を備える。乱数生成部は、0以上ord(G)未満の乱数rと0以上ord(H)未満の乱数sを生成する。変換部は、計算装置に送信する依頼データg’、h’を、g’=g、h’=hのように求める。送受信部は、依頼データ(g’、h’)を計算装置に送信し、計算装置から結果zを受信する。逆変換部は、u・r・s=1 mod ord(F)となるuを求め、θ(g,h)=zとする。
【0008】
また、本発明の別の代理計算依頼装置では、乱数生成部は、0以上ord(G)未満の乱数rとa、および0以上ord(H)未満の乱数sとbを生成する。変換部は、計算装置に送信する依頼データg’、h’を、g’=μ、h’=μのように求める第1変換手段と、g’=μ、h’=μのように求める第2変換手段と、g’=μ、h’=μhのように求める第3変換手段とを有する。逆変換部は、a・a’=1 mod ord(F)となるa’を求め、(zν−rsa’を求める第1逆変換手段と、s・s’=1 mod ord(F)となるs’を求め、α=zs’を求める第2逆変換手段と、b・b’=1 mod ord(F)となるb’を求め、(zν−rsb’を求める第3逆変換手段と、r・r’=1 mod ord(F)となるr’を求め、α=zr’を求める第4逆変換手段と、a・a’=1 mod ord(F)となるa’を求め、(zν−rsα−asα−ra’を求める第5逆変換手段とを有する。また、制御部が、α乱数生成手段、α繰り返し手段、α算出手段、α乱数生成手段、α繰り返し手段、α算出手段、θ繰り返し手段を有する。α乱数生成手段は、乱数生成部に乱数sを生成させる。α繰り返し手段は、乱数生成部による乱数rとaの生成、第1変換手段の処理、送受信部の処理、第1逆変換手段の処理を繰り返して複数の(zν−rsa’の値を求め、あらかじめ定めた条件に適合する(zν−rsa’の値をzとする。α算出手段は、第2逆変換手段の処理を実行させる。α乱数生成手段は、乱数生成部に乱数rを生成させる。α繰り返し手段は、乱数生成部による乱数sとbの生成、第2変換手段の処理、送受信部の処理、第3逆変換手段の処理を繰り返して複数の(zν−rsb’の値を求め、あらかじめ定めた条件に適合する(zν−rsb’の値をzとする。α算出手段は、第4逆変換手段の処理を実行させる。θ繰り返し手段は、乱数生成部による乱数rとsとaの生成、第3変換手段の処理、送受信部の処理、第5逆変換手段の処理を繰り返して複数の(zν−rsα−asα−ra’の値を求め、あらかじめ定めた条件に適合する(zν−rsα−asα−ra’の値をθ(g,h)とする。
【発明の効果】
【0009】
本発明の代理計算依頼装置によれば、信頼できるとは限らない計算装置(信頼できるとは限らない領域を介した計算装置を含む)に双線形写像の計算を依頼する場合に、入出力を乱数によって攪拌する。したがって、代理計算依頼装置と計算装置との間の通信を傍受する攻撃者があるときでも、代理計算依頼装置内部の状態を攻撃者に秘匿できる。
【0010】
また、本発明の別の代理計算依頼装置によれば、信頼できるとは限らない計算装置(信頼できるとは限らない領域を介した計算装置を含む)への入出力を複数回繰り返す。したがって、計算装置が誤ることがあったとしても代理計算依頼装置は、無視し得る誤り率で双線形写像を出力できる。
【図面の簡単な説明】
【0011】
【図1】本発明の代理計算依頼装置を用いたシステムの構成例を示す図。
【図2】実施例1の代理計算依頼装置の構成例を示す図。
【図3】実施例1の代理計算依頼装置を用いたシステムの処理フロー例を示す図。
【図4】実施例2の代理計算依頼装置の構成例を示す図。
【図5】実施例2の代理計算依頼装置を用いたシステムの処理フロー例を示す図。
【図6】図5の続きであって、実施例2の代理計算依頼装置を用いたシステムの処理フロー例を示す図。
【図7】図6の続きであって、実施例2の代理計算依頼装置を用いたシステムの処理フロー例を示す図。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【実施例1】
【0013】
図1に本発明の代理計算依頼装置を用いたシステムの構成例を、図2に実施例1の代理計算依頼装置の構成例を示す。また、図3に実施例1の代理計算依頼装置を用いたシステムの処理フロー例を示す。代理計算依頼装置100は、通信網900(インターネットなどの公衆網やイントラネットなどのプライベートネットワーク)を介して計算装置500に接続されている。通信網900として専用のネットワークを構築すれば信頼性は確保できるがシステム全体のコストが高くなる。一方、通信網900としてインターネットなどの公衆網を使用すればシステム全体のコストや低減できる。しかし、通信網900が、信頼できるとは限らない領域に該当することになり、代理計算依頼装置100と計算装置500との間の通信を傍受する攻撃者が現れるリスクがある。
【0014】
代理計算依頼装置100は、双線形写像θ:G×H→Fの計算を行う計算装置500に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める。ただし、F、G、Hは巡回群である。また、ord()は巡回群の位数とし、ν=θ(μ,μ)とする。代理計算依頼装置100は、乱数生成部110、変換部120、送受信部130、逆変換部140、制御部150、記録部190などを備える。制御部150は、代理計算依頼装置100の処理の順序を制御する。記録部190は、g、h、νなどの処理に必要なデータを記録する。
【0015】
代理計算依頼装置100が入力g、hを受け取ると、乱数生成部110は、0以上ord(G)未満の乱数rと0以上ord(H)未満の乱数sを生成する(S110)。変換部120は、計算装置500に送信する依頼データg’、h’を、g’=g、h’=hのように求める(S120)。このように、送信する依頼データ(g’、h’)は、乱数r、sを用いた演算を入力g、hに施したデータである。したがって、代理計算依頼装置100からの出力は、乱数によって攪拌されており、代理計算依頼装置100内部の状態を攻撃者に秘匿できる。
【0016】
送受信部130は、依頼データ(g’、h’)を計算装置に送信する(S130)。計算装置500は、依頼データ(g’、h’)を受信し(S510)、演算を行って双線形写像z=θ(g’、h’)を求め(S520)、結果zを代理計算依頼装置100に送信する(S530)。送受信部130は、計算装置から結果zを受信する(S135)。ここで、代理計算依頼装置100が受信するデータは、乱数r、sを用いた演算を入力g、hに施したデータに対する双線形写像である。したがって、代理計算依頼装置100への入力は、乱数によって攪拌されており、代理計算依頼装置100内部の状態を攻撃者に秘匿できる。また、以下では、ステップS130からステップS135をまとめてステップS500としている。
【0017】
逆変換部140は、u・r・s=1 mod ord(F)となるuを求め、zを計算する(S140)。なお、zは、
=θ(g’、h’)
=θ(g、h
=θ(g、h)rsu
となる。ここで、u・r・s=1 mod ord(F)なので、z=θ(g、h)となる。このように、zは、求めたい双線形写像θ(g,h)となっている。逆変換部140は、計算結果zをθ(g,h)として出力する(S160)。
【0018】
代理計算依頼装置100によれば、このように入出力を乱数によって攪拌しながら、双線形写像θ(g,h)を求める。したがって、代理計算依頼装置100と計算装置500との間の通信を傍受する攻撃者があるときでも、代理計算依頼装置100内部の状態を攻撃者に秘匿できる。
【0019】
また、計算装置500が偶然の事故などにより双線形写像θ(g’、h’)とは異なる結果を返信する可能性が懸念される場合、上述の処理を複数回繰り返し、そのすべてが同一となることを確認すればよい。
【実施例2】
【0020】
実施例2の代理計算依頼装置を用いたシステムの構成例も図1と同じである。図4に実施例2の代理計算依頼装置の構成例を示す。また、図5から7に実施例2の代理計算依頼装置を用いたシステムの処理フロー例を示す。代理計算依頼装置100は、通信網900(インターネットなどの公衆網やイントラネットなどのプライベートネットワーク)を介して計算装置500に接続されている。本実施例では、通信網900を介した計算装置500からの返信データである結果zが信頼できないときであって、正しい計算結果を返信する確率がpであることが分かっている場合について説明する。
【0021】
代理計算依頼装置200も、双線形写像θ:G×H→Fの計算を行う計算装置500に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める。ただし、F、G、Hは巡回群である。また、ord()は巡回群の位数、μ、μはそれぞれ群G、Hの生成元を示すものとし、ν=θ(μ,μ)とする。代理計算依頼装置200は、乱数生成部210、変換部220、送受信部130、逆変換部240、制御部250、記録部290などを備える。制御部250は、代理計算依頼装置200の処理の順序を制御する。記録部290は、g、h、μ、μ、νなどの処理に必要なデータを記録する。
【0022】
乱数生成部210は、0以上ord(G)未満の乱数rとa、および0以上ord(H)未満の乱数sとbを生成する機能を有する。変換部220は、計算装置500に送信する依頼データg’、h’を、g’=μ、h’=μのように求める第1変換手段221と、g’=μ、h’=μのように求める第2変換手段222と、g’=μ、h’=μhのように求める第3変換手段223とを有する。送受信部130は、依頼データ(g’、h’)を計算装置に送信し、計算装置から結果zを受信する。逆変換部240は、a・a’=1 mod ord(F)となるa’を求め、(zν−rsa’を求める第1逆変換手段241と、s・s’=1 mod ord(F)となるs’を求め、α=zs’を求める第2逆変換手段242と、b・b’=1 mod ord(F)となるb’を求め、(zν−rsb’を求める第3逆変換手段243と、r・r’=1 mod ord(F)となるr’を求め、α=zr’を求める第4逆変換手段244と、a・a’=1 mod ord(F)となるa’を求め、(zν−rsα−asα−ra’を求める第5逆変換手段245とを有する。また、制御部250は、α乱数生成手段251、α繰り返し手段252、α算出手段253、α乱数生成手段254、α繰り返し手段255、α算出手段256、θ繰り返し手段257などを有する。
【0023】
以下に、図5〜7を参照しながら処理フローを説明する。代理計算依頼装置100が入力g、hを受け取ると、α乱数生成手段251は、乱数生成部210に、0以上ord(H)未満の乱数sを生成させる(S211)。α繰り返し手段252は、乱数生成部210による乱数rとaの生成(S212)、計算装置500に送信する依頼データg’、h’を、g’=μ、h’=μのように求める第1変換手段221の処理(S221)、送受信部130と計算装置500との処理(S500)、a・a’=1 mod ord(F)となるa’を求め、(zν−rsa’を求める第1逆変換手段241の処理(S241)を、例えば繰り返し回数が2/p回となるまで繰り返して複数の(zν−rsa’の値を求める(S251)。そして、α繰り返し手段252は、(zν−rsa’の最頻値が唯一に定まるかを確認し、Yesの場合には、(zν−rsa’の最頻値ををzとする(S252)。また、Noの場合には、ステップS211に戻る(S252)。なお、ステップS251の繰り返し回数は2/p回とすれば、誤りの確率を無視できるレベルにできるので最適である。しかし、システムとして要求される信頼度が決まっている場合は、要求される信頼度に合わせて繰り返し回数を調整してもよい。α算出手段253は、第2逆変換手段242に、s・s’=1 mod ord(F)となるs’を求めさせ、α=zs’を求めさせる(S242)。
【0024】
α乱数生成手段254は、乱数生成部210に乱数rを生成させる(S213)。α繰り返し手段255は、乱数生成部210による乱数sとbの生成(S214)、g’=μ、h’=μのように求める第2変換手段222の処理(S222)、送受信部130と計算装置500の処理(S500)、b・b’=1 mod ord(F)となるb’を求め、(zν−rsb’を求める第3逆変換手段243の処理(S243)を、例えば繰り返し回数が2/p回となるまで繰り返して複数の(zν−rsb’の値を求める(S253)。そして、α繰り返し手段255は、(zν−rsb’の最頻値が唯一に定まるかを確認し、Yesの場合には、(zν−rsb’の最頻値をzとする(S254)。また、Noの場合には、ステップS213に戻る(S252)。なお、ステップS253の繰り返し回数は2/p回とすれば、誤りの確率を無視できるレベルにできるので最適である。しかし、システムとして要求される信頼度が決まっている場合は、要求される信頼度に合わせて繰り返し回数を調整してもよい。α算出手段256は、第4逆変換手段244に、r・r’=1 mod ord(F)となるr’を求めさせ、α=zr’を求めさせる(S244)。
【0025】
θ繰り返し手段257は、乱数生成部210による乱数rとsとaの生成(S215)、g’=μ、h’=μhのように求める第3変換手段223の処理(S223)、送受信部130と計算装置500との処理(S500)、a・a’=1 mod ord(F)となるa’を求め、(zν−rsα−asα−ra’を求める第5逆変換手段245の処理(S245)を、例えば繰り返し回数が1/p回となるまで繰り返して複数の(zν−rsα−asα−ra’の値を求める(S255)。そして、θ繰り返し手段257は、(zν−rsα−asα−ra’の最頻値が唯一に定まるかを確認し、Yesの場合には、(zν−rsα−asα−ra’の最頻値をθ(g,h)とする(S256)。また、Noの場合には、ステップS211に戻る(S256)。代理計算依頼装置200は、ステップS256でθ(g,h)が得られた場合には、計算結果を出力する(S260)。なお、ステップS255の繰り返し回数は1/p回とすれば、誤りの確率を無視できるレベルにできるので最適である。しかし、システムとして要求される信頼度が決まっている場合は、要求される信頼度に合わせて繰り返し回数を調整してもよい。
【0026】
また、ν=θ(μ,μ)なので、
α=zs’=(zν−rsa’s’
=(θ(μ、μ)θ(μ,μ−rsa’s’
=(θ(g、μasθ(μ,μrs−rsa’s’
=(θ(g、μasa’s’
=θ(g、μasa’s’
となる。ここで、a・a’=1 mod ord(F)、s・s’=1 mod ord(F)なので、α=θ(g、μ)となる。また、
α=zr’=(zν−rsb’r’
=(θ(μ、μ)θ(μ,μ−rsb’r’
=(θ(μ、h)rbθ(μ,μrs−rsb’r’
=(θ(μ、h)rbb’r’
=θ(μ、h)rbb’r’
となる。ここで、b・b’=1 mod ord(F)、r・r’=1 mod ord(F)なので、α=θ(μ、h)となる。
なお、zの値は計算装置500に送信する依頼データがそれぞれ異なっているので、αの場合とαの場合と次式の場合では、zの値はそれぞれ異なることに注意されたい。
したがって、(zν−rsα−asα−ra’は、
(zν−rsα−asα−ra’
=(θ(μ、μh)θ(μ,μ−rsθ(g、μ−asθ(μ、h)−ra’
=(θ(μ、μrs−rsθ(g、h)θ(g、μas−asθ(μ、h)r−ra’
=θ(g、h)aa’
となる。ここで、a・a’=1 mod ord(F)なので、
(zν−rsα−asα−ra’=θ(g、h)
となる。このように(zν−rsα−asα−ra’は、求めたい双線形写像θ(g,h)となっている。
【0027】
代理計算依頼装置200によれば、このように入出力を乱数によって攪拌しながら、双線形写像θ(g,h)を求める。したがって、代理計算依頼装置200と計算装置500との間の通信を傍受する攻撃者があるときでも、代理計算依頼装置200内部の状態を攻撃者に秘匿できる。さらに、代理計算依頼装置200によれば、信頼できるとは限らない計算装置500(または信頼できるとは限らない通信網900を介した計算装置500)への入出力を複数回繰り返す。したがって、計算装置500が誤ること(または通信網900での改ざん)があったとしても代理計算依頼装置200は、無視し得る誤り率で双線形写像を出力できる。
【0028】
[変形例1]
実施例2では、通信網900を介した計算装置500からの返信データである結果zが信頼できないときであって、正しい計算結果を返信する確率がpであることが分かっている場合について説明した。本変形例は、通信網900を介した計算装置500からの返信データである結果zが信頼できないときであって、正しい計算結果を返信する確率が特定できない場合について説明する。本変形例の代理計算依頼装置を用いたシステムの構成例も図1と同じである。本変形例の代理計算依頼装置の構成例は図4に示されており、本変形例の代理計算依頼装置を用いたシステムの処理フロー例は図5から7に示されている。
【0029】
本変形例の代理計算依頼装置300と実施例2の代理計算依頼装置200との相違点は、制御部350のα繰り返し手段352、α繰り返し手段355、θ繰り返し手段357である。そして、代理計算依頼装置300は、計算装置500が正しい計算結果を返信する確率が不明なので、あらかじめ時間切れを規定する定数として整数tを定めておく。tを大きく取れば信頼度を高くすることができるが計算量が増加してしまう。したがって、整数tはシステム全体に要求される信頼度や要求される処理時間などから定めればよい。
【0030】
α繰り返し手段352とα繰り返し手段252との相違点は、繰り返しの処理(S351、S352)の条件である。ステップS351では、α繰り返し手段352は、繰り返し回数が2t回を越えるか、求めた(zν−rsa’の値に重複する値が含まれるようになるまでステップS212からステップS241を繰り返す。ステップS352では、α繰り返し手段352は、(zν−rsa’の値に重複する値が含まれるかを確認し、Yesの場合には、重複する(zν−rsa’の値をzとする。また、Noの場合には、ステップS211に戻る。
【0031】
α繰り返し手段355とα繰り返し手段255との相違点も、繰り返し処理(S353、S354)の条件である。ステップS353では、α繰り返し手段355は、繰り返し回数が2t回を越えるか、求めた(zν−rsb’の値に重複する値が含まれるようになるまでステップS214からステップS243を繰り返す。ステップS354では、α繰り返し手段355は、(zν−rsb’の値に重複する値が含まれるかを確認し、Yesの場合には、重複する(zν−rsb’の値をzとする。また、Noの場合には、ステップS213に戻る。
【0032】
θ繰り返し手段357とθ繰り返し手段257との相違点も、繰り返し処理(S355、S356)の条件である。ステップS355では、θ繰り返し手段357は、繰り返し回数がt回を越えるか、求めた(zν−rsα−asα−ra’の値に重複する値が含まれるようになるまでステップS215からステップS245を繰り返す。ステップS356では、θ繰り返し手段357は、(zν−rsα−asα−ra’の値に重複する値が含まれるかを確認し、Yesの場合には、重複する(zν−rsα−asα−ra’の値をθ(g,h)とする。また、Noの場合には、ステップS211に戻る。
【0033】
代理計算依頼装置200によれば、このように入出力を乱数によって攪拌しながら、双線形写像θ(g,h)を求める。したがって、代理計算依頼装置200と計算装置500との間の通信を傍受する攻撃者があるときでも、代理計算依頼装置200内部の状態を攻撃者に秘匿できる。さらに、代理計算依頼装置200によれば、信頼できるとは限らない計算装置500(または信頼できるとは限らない通信網900を介した計算装置500)への入出力を複数回繰り返す。したがって、計算装置500が誤ること(または通信網900での改ざん)があったとしても代理計算依頼装置200は、低い誤り率で双線形写像を出力できる。
【0034】
実施例1、実施例2、実施例2変形例1で説明した各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0035】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0036】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0037】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0038】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0039】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0040】
100、200、300 代理計算依頼装置
110、210 乱数生成部
120、220 変換部
130 送受信部
140、240 逆変換部
150、250、350 制御部
190、290 記録部
500 計算装置
900 通信網


【特許請求の範囲】
【請求項1】
F、G、Hを巡回群とし、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める代理計算依頼装置であって、
ord()は巡回群の位数を示すものとし、
0以上ord(G)未満の乱数rと0以上ord(H)未満の乱数sを生成する乱数生成部と、
前記計算装置に送信する依頼データg’、h’を、g’=g、h’=hのように求める変換部と、
前記依頼データ(g’、h’)を前記計算装置に送信し、前記計算装置から結果zを受信する送受信部と、
u・r・s=1 mod ord(F)となるuを求め、θ(g,h)=zとする逆変換部と、
を備える代理計算依頼装置。
【請求項2】
F、G、Hを巡回群とし、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める代理計算依頼装置であって、
ord()は巡回群の位数、μ、μはそれぞれ群G、Hの生成元を示すものとし、
μ、μ、ν=θ(μ,μ)をあらかじめ記録しており、
0以上ord(G)未満の乱数rとa、および0以上ord(H)未満の乱数sとbを生成する乱数生成部と、
前記計算装置に送信する依頼データg’、h’を、g’=μ、h’=μのように求める第1変換手段と、g’=μ、h’=μのように求める第2変換手段と、g’=μ、h’=μhのように求める第3変換手段とを有する変換部と、
前記依頼データ(g’、h’)を前記計算装置に送信し、前記計算装置から結果zを受信する送受信部と、
a・a’=1 mod ord(F)となるa’を求め、(zν−rsa’を求める第1逆変換手段と、s・s’=1 mod ord(F)となるs’を求め、α=zs’を求める第2逆変換手段と、b・b’=1 mod ord(F)となるb’を求め、(zν−rsb’を求める第3逆変換手段と、r・r’=1 mod ord(F)となるr’を求め、α=zr’を求める第4逆変換手段と、a・a’=1 mod ord(F)となるa’を求め、(zν−rsα−asα−ra’を求める第5逆変換手段とを有する逆変換部と、
処理の順序を制御する制御部と
を備え、
前記制御部は、
前記乱数生成部に前記乱数sを生成させるα乱数生成手段と、
前記乱数生成部による乱数rとaの生成、前記第1変換手段の処理、前記送受信部の処理、前記第1逆変換手段の処理を繰り返して複数の(zν−rsa’の値を求め、あらかじめ定めた条件に適合する(zν−rsa’の値を前記zとするα繰り返し手段と、
前記第2逆変換手段の処理を実行させるα算出手段と、
前記乱数生成部に前記乱数rを生成させるα乱数生成手段と、
前記乱数生成部による乱数sとbの生成、前記第2変換手段の処理、前記送受信部の処理、前記第3逆変換手段の処理を繰り返して複数の(zν−rsb’の値を求め、あらかじめ定めた条件に適合する(zν−rsb’の値を前記zとするα繰り返し手段と、
前記第4逆変換手段の処理を実行させるα算出手段と、
前記乱数生成部による乱数rとsとaの生成、前記第3変換手段の処理、前記送受信部の処理、前記第5逆変換手段の処理を繰り返して複数の(zν−rsα−asα−ra’の値を求め、あらかじめ定めた条件に適合する(zν−rsα−asα−ra’の値をθ(g,h)とするθ繰り返し手段と
を有することを特徴とする代理計算依頼装置。
【請求項3】
請求項2記載の代理計算依頼装置であって、
前記制御部のあらかじめ定めた条件とは、最も頻度の高い値であり、
前記α繰り返し手段、前記α繰り返し手段、前記θ繰り返し手段は、手段ごとに定めた回数繰り返すこと
を特徴とする代理計算依頼装置。
【請求項4】
請求項2記載の代理計算依頼装置であって、
前記制御部のあらかじめ定めた条件とは、重複した値が存在することであり、
前記α繰り返し手段、前記α繰り返し手段、前記θ繰り返し手段は、手段ごとに定めた回数以内で重複した値が生じるまで繰り返すこと
を特徴とする代理計算依頼装置。
【請求項5】
F、G、Hを巡回群とし、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める代理計算依頼方法であって、
ord()は巡回群の位数を示すものとし、
乱数生成部が、0以上ord(G)未満の乱数rと0以上ord(H)未満の乱数sを生成する乱数生成ステップと、
変換部が、前記計算装置に送信する依頼データg’、h’を、g’=g、h’=hのように求める変換ステップと、
送受信部が、前記依頼データ(g’、h’)を前記計算装置に送信し、前記計算装置から結果zを受信する送受信ステップと、
逆変換部が、u・r・s=1 mod ord(F)となるuを求め、θ(g,h)=zとする逆変換ステップと、
を有する代理計算依頼方法。
【請求項6】
F、G、Hを巡回群とし、双線形写像θ:G×H→Fの計算を行う計算装置に計算を依頼することで、群Gの元gと群Hの元hの双線形写像θ(g,h)を求める代理計算依頼方法であって、
ord()は巡回群の位数、μ、μはそれぞれ群G、Hの生成元を示すものとし、μ、μ、ν=θ(μ,μ)をあらかじめ記録しており、
α乱数生成ステップ、α繰り返しステップ、α算出ステップ、α乱数生成ステップ、α繰り返しステップ、α算出ステップ、θ繰り返しステップを有し、
前記α乱数生成ステップは、乱数生成部が、0以上ord(H)未満の乱数sを生成し、
前記α繰り返しステップは、
前記乱数生成部が、0以上ord(G)未満の乱数rとaを生成するサブステップと、
変換部が、前記計算装置に送信する依頼データg’、h’を、g’=μ、h’=μのように求める第1変換サブステップと、
送受信部が、前記依頼データ(g’、h’)を前記計算装置に送信し、前記計算装置から結果zを受信する送受信サブステップと、
逆変換部が、a・a’=1 mod ord(F)となるa’を求め、(zν−rsa’を求める第1逆変換サブステップとを
繰り返して複数の(zν−rsa’の値を求め、あらかじめ定めた条件に適合する(zν−rsa’の値をzとするステップであり、
前記α算出ステップは、前記逆変換部が、s・s’=1 mod ord(F)となるs’を求め、α=zs’を求め、
前記α乱数生成ステップは、前記乱数生成部が0以上ord(G)未満の乱数rを生成し、
前記α繰り返しステップは、
前記乱数生成部が0以上ord(H)未満の乱数sとbを生成するサブステップと、
前記変換部が、g’=μ、h’=μのように求める第2変換サブステップと、
前記送受信サブステップと、
前記逆変換部が、b・b’=1 mod ord(F)となるb’を求め、(zν−rsb’を求める第3逆変換サブステップとを
繰り返して複数の(zν−rsb’の値を求め、あらかじめ定めた条件に適合する(zν−rsb’の値をzとするステップであり、
前記α算出ステップは、前記逆変換部が、r・r’=1 mod ord(F)となるr’を求め、α=zr’を求め、
前記θ繰り返しステップは、
前記乱数生成部が、0以上ord(G)未満の乱数rとaと0以上ord(H)未満の乱数sを生成するサブステップと、
前記変換部が、g’=μ、h’=μhのように求める第3変換サブステップと、
前記送受信サブステップと、
前記逆変換部が、a・a’=1 mod ord(F)となるa’を求め、(zν−rsα−asα−ra’を求める第5逆変換サブステップとを
繰り返して複数の(zν−rsα−asα−ra’の値を求め、あらかじめ定めた条件に適合する(zν−rsα−asα−ra’の値をθ(g,h)とするステップである
ことを特徴とする代理計算依頼方法。
【請求項7】
請求項6記載の代理計算依頼方法であって、
前記あらかじめ定めた条件とは、最も頻度の高い値であり、
前記α繰り返しステップ、前記α繰り返しステップ、前記θ繰り返しステップは、それぞれに定められた回数繰り返すこと
を特徴とする代理計算依頼方法。
【請求項8】
請求項6記載の代理計算依頼方法であって、
前記あらかじめ定めた条件とは、重複した値が存在することであり、
前記α繰り返しステップ、前記α繰り返しステップ、前記θ繰り返しステップは、それぞれに定められた回数以内で重複した値が生じるまで繰り返すこと
を特徴とする代理計算依頼方法。
【請求項9】
請求項1から4のいずれかに記載された代理計算依頼装置としてコンピュータを動作させる代理計算依頼プログラム。
【請求項10】
請求項9記載の代理計算依頼プログラムを記録したコンピュータ読み取り可能な記録媒体。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−53607(P2011−53607A)
【公開日】平成23年3月17日(2011.3.17)
【国際特許分類】
【出願番号】特願2009−204705(P2009−204705)
【出願日】平成21年9月4日(2009.9.4)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【Fターム(参考)】