"複数のノードから構成される通信ネットワークであって、前記複数のノードは複数の局所ノード群に分類され、一の前記局所ノード群は一管理者に属するノードの数が閾値秘密分散法における所定の閾値未満であり、一の前記局所ノード群内の全てのノード間には通信路が存在し、2つの前記局所ノード群間に通信路が存在する場合に当該2つの局所ノード群をお互いに隣接する局所ノード群であると定義した、前記通信ネットワークにおいて、ノードごとに設けられ、局所トポロジー情報から次ホップ情報を求める分散ルーティング処理装置であり、自分散ルーティング処理装置が設けられているノード自ノードからの局所トポロジー情報を入力する入力部と、前記入力された局所トポロジー情報を用いて前記閾値による閾値秘密分散法により前記閾値以上の個数の分散情報を生成する秘密分散部と、自ノードが属する局所ノード群内のノード間で、前記閾値以上の個数の分散情報を分散して保持する分散情報格納部と、前記閾値以上の個数の第1の分散情報を、前記第1の分散情報とは異なり、且つ、前記閾値以上の個数の第2の分散情報変換分散情報であって前記閾値以上の個数の変換分散情報を用いて前記第1の分散情報の元の情報を復元することができる変換分散情報を構成する要素変換分散情報構成要素に変換する分散情報変換部と、自ノードが属する局所ノード群に隣接する局所ノード群との間で変換分散情報構成要素を交換して変換分散情報を生成する変換分散情報交換部と、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、局所トポロジー情報の分散情報から次ホップ情報の分散情報を求めるために必要な所定の関数を分散して計算するSMCSecureMultipartycomputationを解決するSMC部と、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、次ホップ情報の前記閾値以上の個数の分散情報から次ホップ情報を復元する秘密分散復元部と、前記復元された次ホップ情報を自ノードへ出力する出力部と、を備えたことを特徴とする分散ルーティング処理装置。複数のノードから構成される通信ネットワークであって、前記複数のノードは複数の局所ノード群に分類され、一の前記局所ノード群は一管理者に属するノードの数が閾値秘密分散法における所定の閾値未満であり、一の前記局所ノード群内の全てのノード間には通信路が存在し、2つの前記局所ノード群間に通信路が存在する場合に当該2つの局所ノード群をお互いに隣接する局所ノード群であると定義した、前記通信ネットワークにおいて、ノードごとに、局所トポロジー情報から次ホップ情報を求める分散ルーティング処理を行うためのコンピュータプログラムであって、自分散ルーティング処理装置が設けられているノード自ノードからの局所トポロジー情報を入力する入力ステップと、前記入力された局所トポロジー情報を用いて前記閾値による閾値秘密分散法により前記閾値以上の個数の分散情報を生成する秘密分散ステップと、自ノードが属する局所ノード群内のノード間で、前記閾値以上の個数の分散情報を分散して保持する分散情報格納ステップと、前記閾値以上の個数の第1の分散情報を、前記第1の分散情報とは異なり、且つ、前記閾値以上の個数の第2の分散情報変換分散情報であって前記閾値以上の個数の変換分散情報を用いて前記第1の分散情報の元の情報を復元することができる変換分散情報を構成する要素変換分散情報構成要素に変換する分散情報変換ステップと、自ノードが属する局所ノード群に隣接する局所ノード群との間で変換分散情報構成要素を交換して変換分散情報を生成する変換分散情報交換ステップと、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、局所トポロジー情報の分散情報から次ホップ情報の分散情報を求めるために必要な所定の関数を分散して計算するSMCSecureMultipartycomputationを解決するSMCステップと、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、次ホップ情報の前記閾値以上の個数の分散情報から次ホップ情報を復元する秘密分散復元ステップと、前記復元された次ホップ情報を自ノードへ出力する出力ステップと、をコンピュータに実行させるためのコンピュータプログラム。しかし、上述したBellmanFordアルゴリズムに代表される従来の分散ルーティング処理技術では、フルメッシュに通信リンクが存在しない通信ネットワークを対象にしているが、ノードiの秘密情報をノードiの管理者以外の者に秘匿することができない。一方、上述した汎用的なSMCプロトコルを用いる場合には、フルメッシュに通信リンクが存在する通信ネットワークを対象にする必要がある。本発明は、このような事情を考慮してなされたもので、フルメッシュに通信リンクが存在しない通信ネットワークを対象にした分散ルーティング処理において、ノードの秘密情報を当該ノードの管理者以外の者に秘匿することができる分散ルーティング処理装置およびコンピュータプログラムを提供することを課題とする。上記の課題を解決するために、本発明に係る分散ルーティング処理装置は、複数のノードから構成される通信ネットワークであって、前記複数のノードは複数の局所ノード群に分類され、一の前記局所ノード群は一管理者に属するノードの数が閾値秘密分散法における所定の閾値未満であり、一の前記局所ノード群内の全てのノード間には通信路が存在し、2つの前記局所ノード群間に通信路が存在する場合に当該2つの局所ノード群をお互いに隣接する局所ノード群であると定義した、前記通信ネットワークにおいて、ノードごとに設けられ、局所トポロジー情報から次ホップ情報を求める分散ルーティング処理装置であり、自分散ルーティング処理装置が設けられているノード自ノードからの局所トポロジー情報を入力する入力部と、前記入力された局所トポロジー情報を用いて前記閾値による閾値秘密分散法により前記閾値以上の個数の分散情報を生成する秘密分散部と、自ノードが属する局所ノード群内のノード間で、前記閾値以上の個数の分散情報を分散して保持する分散情報格納部と、前記閾値以上の個数の第1の分散情報を、前記第1の分散情報とは異なり、且つ、前記閾値以上の個数の第2の分散情報変換分散情報であって前記閾値以上の個数の変換分散情報を用いて前記第1の分散情報の元の情報を復元することができる変換分散情報を構成する要素変換分散情報構成要素に変換する分散情報変換部と、自ノードが属する局所ノード群に隣接する局所ノード群との間で変換分散情報構成要素を交換して変換分散情報を生成する変換分散情報交換部と、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、局所トポロジー情報の分散情報から次ホップ情報の分散情報を求めるために必要な所定の関数を分散して計算するSMCSecureMultipartycomputationを解決するSMC部と、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、次ホップ情報の前記閾値以上の個数の分散情報から次ホップ情報を復元する秘密分散復元部と、前記復元された次ホップ情報を自ノードへ出力する出力部と、を備えたことを特徴とする。本発明に係るコンピュータプログラムは、複数のノードから構成される通信ネットワークであって、前記複数のノードは複数の局所ノード群に分類され、一の前記局所ノード群は一管理者に属するノードの数が閾値秘密分散法における所定の閾値未満であり、一の前記局所ノード群内の全てのノード間には通信路が存在し、2つの前記局所ノード群間に通信路が存在する場合に当該2つの局所ノード群をお互いに隣接する局所ノード群であると定義した、前記通信ネットワークにおいて、ノードごとに、局所トポロジー情報から次ホップ情報を求める分散ルーティング処理を行うためのコンピュータプログラムであって、自分散ルーティング処理装置が設けられているノード自ノードからの局所トポロジー情報を入力する入力ステップと、前記入力された局所トポロジー情報を用いて前記閾値による閾値秘密分散法により前記閾値以上の個数の分散情報を生成する秘密分散ステップと、自ノードが属する局所ノード群内のノード間で、前記閾値以上の個数の分散情報を分散して保持する分散情報格納ステップと、前記閾値以上の個数の第1の分散情報を、前記第1の分散情報とは異なり、且つ、前記閾値以上の個数の第2の分散情報変換分散情報であって前記閾値以上の個数の変換分散情報を用いて前記第1の分散情報の元の情報を復元することができる変換分散情報を構成する要素変換分散情報構成要素に変換する分散情報変換ステップと、自ノードが属する局所ノード群に隣接する局所ノード群との間で変換分散情報構成要素を交換して変換分散情報を生成する変換分散情報交換ステップと、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、局所トポロジー情報の分散情報から次ホップ情報の分散情報を求めるために必要な所定の関数を分散して計算するSMCSecureMultipartycomputationを解決するSMCステップと、自ノードが属する局所ノード群内の各ノードの分散ルーティング処理装置と連携して、次ホップ情報の前記閾値以上の個数の分散情報から次ホップ情報を復元する秘密分散復元ステップと、前記復元された次ホップ情報を自ノードへ出力する出力ステップと、をコンピュータに実行させるためのコンピュータプログラムであることを特徴とする。これにより、前述の分散ルーティング処理装置がコンピュータを利用して実現できるようになる。本発明によれば、フルメッシュに通信リンクが存在しない通信ネットワークを対象にした分散ルーティング処理において、ノードの秘密情報を当該ノードの管理者以外の者に秘匿することができるという効果が得られる。以下、図面を参照し、本発明の実施形態について説明する。図1は、本発明の一実施形態に係る分散ルーティング処理装置1の構成を示すブロック図である。図1において、分散ルーティング処理装置1は、入力部11と出力部12と秘密分散部13と秘密分散復元部14と分散情報格納部15とSMC部16と分散情報変換部17と変換分散情報交換部18とを備える。図2は、本実施形態に係る、分散ルーティング処理を行う対象である通信ネットワーク100の構成例である。図2において、通信ネットワーク100は、複数N台のノードから構成されている。通信ネットワーク100には、通信リンクが存在しないノード間がある。つまり、通信ネットワーク100は、フルメッシュに通信リンクが存在しない通信ネットワークである。通信ネットワーク100を構成するN台のノードは、複数7個の局所ノード群101~107に分類されている。一の局所ノード群は、一管理者に属するノードの数が閾値秘密分散法における所定の閾値未満であり、且つ、局所ノード群内の全てのノード間には通信リンクが存在するフルメッシュに通信リンクが存在するように、設定される。又、2つの局所ノード群間に通信リンクが存在する場合に、当該2つの局所ノード群をお互いに隣接する局所ノード群であると定義する。例えば、図2において、局所ノード群101は8台のノードから構成される。この局所ノード群101に対して、閾値秘密分散法における閾値は3に設定されている。従って、局所ノード群101においては、一管理者に属するノードの数は3未満である。具体的には、局所ノード群101において、管理者Aに属するのはノードn1,n2の2台、管理者Bに属するのはノードn3の1台、管理者Cに属するのはノードn4の1台、管理者Dに属するのはノードn5の1台、管理者Eに属するのはノードn6の1台、管理者Fに属するのはノードn7,n8の2台、である。なお、ノードの管理者とは、当該ノードが格納する情報を知ることできる全ての者を指す。ノードの管理者としては、例えば、ノードの所有者、ノードの所有者からノードの使用権を与えられている者、ノードの使用権限を不当に取得している攻撃者などが挙げられる。さらに、局所ノード群101において、全てのノード間には通信リンクが存在する。図2の例では、局所ノード群101内の全ノードn1~n8は、局所的な通信ネットワーク200に接続している。通信ネットワーク200は、ノードn1~n8に対して、全ノード間の通信リンクを提供する。これにより、局所ノード群101内には、フルメッシュに通信リンクが存在している。又、図2の通信ネットワーク100において、局所ノード群間に通信リンクが存在する2つの局所ノード群はお互いに隣接する局所ノード群である。具体的には、局所ノード群101と局所ノード群102は、お互いに隣接する局所ノード群である。同様に、局所ノード群101と局所ノード群103、局所ノード群102と局所ノード群104、局所ノード群103と局所ノード群104、局所ノード群104と局所ノード群105、局所ノード群104と局所ノード群106、局所ノード群105と局所ノード群107は、それぞれに、お互いに隣接する局所ノード群である。分散ルーティング処理装置1は、分散ルーティング処理を行う対象である通信ネットワークを構成する各ノードに設けられる。図2の通信ネットワーク100においては、通信ネットワーク100を構成するN台のノードに対して、ノードごとに、分散ルーティング処理装置1が設けられる。例えば、局所ノード群101においては、局所ノード群101内の全ノードn1~n8がそれぞれに分散ルーティング処理装置1を有する。以下、図2に示される、N台のノードから構成される通信ネットワーク100、を分散ルーティング処理の対象として説明を行う。この分散ルーティング処理では、N入力N出力の関数[Y_1,Y_2,,Y_N=FX_1,X_2,,X_N]を計算する。但し、X_iはノードiから入力される局所トポロジー情報である。Y_iはノードiへ出力する次ホップ情報である。図1において、入力部11は、自分散ルーティング処理装置1が設けられているノード以下、自ノードと称するiから局所トポロジー情報X_iを入力する。出力部12は、自ノードiに対して、分散ルーティング処理の結果のうち次ホップ情報Y_iのみを出力する。秘密分散部13は、局所トポロジー情報X_iを用いて、所定の閾値による閾値秘密分散法により当該閾値以上の個数の分散情報を生成する。秘密分散部13は、その閾値以上の個数の分散情報を、自ノードが属する局所ノード群以下、自局所ノード群と称する内の各ノードで分散して保持させる。例えば、図2の局所ノード群101では、閾値が3であるので、局所トポロジー情報X_iから3個以上の所定個数ここでは、8個とするの分散情報を生成する。そして、その8個の分散情報を、局所ノード群101内の各ノードn1~n8でそれぞれ1個ずつ保持する。これにより、局所ノード群101では、一管理者に属するノードの数は最大2台であるので、一管理者は、最大で2個の分散情報しか手に入れることができず、該分散情報からは元の局所トポロジー情報X_iを復元することができない。なお、閾値秘密分散法としては、非特許文献5に開示されるものを利用することができる。又は、排他的論理和演算を用いて、情報xをx=x_1XORx_2となるような、2個の情報x_1,x_2に分割する方法を利用することができる。但し、XORはビット毎の排他的論理和演算を表す。秘密分散復元部14は、自局所ノード群内の各ノードと連携して、次ホップ情報Y_iの複数閾値秘密分散法における閾値以上の個数の分散情報から次ホップ情報Y_iを復元する。例えば、図2の局所ノード群101では、閾値が3であるので、次ホップ情報Y_iの3個以上の所定個数ここでは、8個とするの分散情報から次ホップ情報Y_iを復元する。その次ホップ情報Y_iの8個の分散情報は、局所ノード群101内の各ノードn1~n8でそれぞれ1個ずつ保持されている。このため、ノードiここでは、ノードn1とするの分散ルーティング処理装置1は、次ホップ情報Y_iの1個の分散情報を保持しているが、残りの7個の分散情報は他の7台のノードn2~n8から取得する。そして、ノードn1の分散ルーティング処理装置1は、次ホップ情報Y_iの8個の分散情報から次ホップ情報Y_iを復元する。分散情報格納部15は、自ノードで管理する分散情報を保持する。SMC部16は、所定の関数[y=fx]をM台のノードで分散して計算するSMCを解決する。但し、xは分散情報である。関数fは、分散情報xから分散情報yを与える。所定の関数[y=fx]としては、局所トポロジー情報X_iの分散情報から次ホップ情報Y_iの分散情報を求めるために必要な関数が準備される。SMCを解決する方法には、例えば非特許文献1,2,3などに記載される汎用的な計算手順SMCプロトコルを利用する。SMC部16は、自局所ノード群内のM台のノードのみによって、所定の関数fを分散して計算する。一局所ノード群内の全ノード間には通信リンクが存在する。つまり、一局所ノード群内にはフルメッシュに通信リンクが存在する。さらに、一局所ノード群を構成するM台のノードのうち一管理者に属するノードの台数は閾値秘密分散法における閾値未満である。例えば、図2の局所ノード群101では、Mは8であり、8台のノードn1~n8に対してフルメッシュに通信リンクが存在する。さらに、閾値秘密分散法における閾値は3であり、一管理者に属するノードの数は3未満である。そして、8台のノードn1~n8の各SMC部16によって、所定の関数fを分散して計算する。分散情報変換部17は、元情報から生成された複数閾値秘密分散法における閾値以上の個数の分散情報を、該分散情報とは異なり且つ複数閾値秘密分散法における閾値以上の個数の分散情報変換分散情報を構成する要素以下、変換分散情報構成要素と称する、に変換する。但し、閾値秘密分散法における閾値以上の個数の変換分散情報を用いて、元情報を復元することができるようにする。変換分散情報交換部18は、自局所ノード群に隣接する局所ノード群以下、隣接局所ノード群と称するとの間で変換分散情報構成要素を交換して変換分散情報を生成する。変換分散情報交換部18は、分散情報変換部17が生成した変換分散情報構成要素を隣接局所ノード群へ送信する。また、変換分散情報交換部18は、隣接局所ノード群から変換分散情報構成要素を受信する。例えば、図2の通信ネットワーク100では、局所ノード群101内の各ノードn1~n8は、隣接局所ノード群102,103との間で変換分散情報構成要素を交換する。そして、変換分散情報交換部18は、隣接局所ノード群から受信した変換分散情報構成要素を用いて変換分散情報を生成する。ここで、変換分散情報の生成方法の例を説明する。ここでは、閾値秘密分散法における閾値を2とする。元情報をxとする。元情報xから生成された2個の分散情報をx_1,x_2とする。但し、x=x_1XORx_2である。分散情報x_1は、ノードnaで保持している。分散情報x_2は、ノードnaが属する局所ノード群内の他のノードnbで保持している。このとき、ノードnaでは、x_1=x_11XORx_12となるx_11とx_12を生成する。ノードnbでは、x_2=x_21XORx_22となるx_21とx_22を生成する。そして、ノードnaとノードnbは、生成した情報を、隣接局所ノード群へ送信する。ここでは、隣接局所ノード群のノードnc,ndへ送信するとする。このとき、ノードnaは、生成した情報のうち一方の情報x_11をノードncへ送信し、もう一方の情報x_12をノードndへ送信する。ノードnbは、生成した情報のうち一方の情報x_21をノードncへ送信し、もう一方の情報x_22をノードndへ送信する。隣接局所ノード群において、ノードncは、x_3=x_11XORx_21を計算することにより、変換分散情報x_3を得る。従って、x_11及びx_21は変換分散情報x_3の変換分散情報構成要素である。ノードndは、x_4=x_12XORx_22を計算することにより、変換分散情報x_4を得る。従って、x_12及びx_22は変換分散情報x_4の変換分散情報構成要素である。そして、隣接局所ノード群において、変換分散情報x_3はノードncで、変換分散情報x_4はノードndで、それぞれ分散して保持される。この2個の変換分散情報x_3,x_4によれば、x=x_3XORx_4となり、元情報xを復元することができる。次に、図3を参照して、本実施形態に係る分散ルーティング処理の手順を説明する。図3は、本実施形態に係る分散ルーティング処理のフローチャートである。ステップS1:通信ネットワーク100内のN台のノードiは、それぞれに、自己の分散ルーティング処理装置1へ局所トポロジー情報X_iを入力する。ステップS2:ノードiの分散ルーティング処理装置1は、局所トポロジー情報X_iを用いて、所定の閾値による閾値秘密分散法により当該閾値以上の個数の分散情報を生成する。この分散情報は、自局所ノード群内の各ノードで分散して保持される。ステップS3:ノードiの分散ルーティング処理装置1は、自ノードiで保持している分散情報を変換分散情報構成要素に変換する。ステップS4:ノードiの分散ルーティング処理装置1は、隣接局所ノード群との間で変換分散情報構成要素を交換する。そして、ノードiの分散ルーティング処理装置1は、隣接局所ノード群から受信した変換分散情報構成要素を用いて変換分散情報を生成する。ステップS5:ノードiの分散ルーティング処理装置1は、自局所ノード群内のM台のノードのみによって、所定の関数[y=fx]を分散して計算する。但し、xは、自局所ノード群内のM台のノードがそれぞれに保持する分散情報である。なお、分散情報とは変換分散情報を含む。所定の関数[y=fx]は、局所トポロジー情報X_iの分散情報から次ホップ情報Y_iの分散情報を求めるために必要な関数であり、予め準備される。ステップS6:ノードiの分散ルーティング処理装置1は、上記ステップS3からS5の処理を終了する条件を判定する。上記ステップS3からS5の処理は、通信ネットワーク100内で最も離れた2つのノード間のホップ数グラフ理論ではネットワークの直径と称されると同じ回数だけ繰り返す必要がある。この終了条件を、満足する場合にはステップS7に進み、満足しない場合にはステップS3に戻る。ステップS7:ノードiの分散ルーティング処理装置1は、自局所ノード群内の各ノードから、閾値秘密分散法における閾値以上の個数だけ次ホップ情報Y_iの分散情報を取得する。そして、ノードiの分散ルーティング処理装置1は、次ホップ情報Y_iの複数閾値秘密分散法における閾値以上の個数の分散情報から、次ホップ情報Y_iを復元する。ステップS8:ノードiの分散ルーティング処理装置1は、次ホップ情報Y_iを自ノードiへ出力する。次に、本実施形態に係る一実施例を説明する。本実施例では、図4に示される、6台のノードから構成される通信ネットワーク300、を分散ルーティング処理の対象とする。本実施例では、分散ルーティング処理として、最短パスルーティングを扱う。最短パスルーティングでは、2つのノード間の通信パスが最短パスとなるような次ホップ情報を求める。最短パスとは、2つのノード間の通信パスが有する通信リンクの距離の合計が最小となる通信パスである。図4において、ノード1とノード2間には通信リンクが存在し、当該通信リンクの距離は1である。ノード2とノード3間には通信リンクが存在し、当該通信リンクの距離は3である。ノード2とノード4間には通信リンクが存在し、当該通信リンクの距離は1である。ノード3とノード5間には通信リンクが存在し、当該通信リンクの距離は1である。ノード4とノード5間には通信リンクが存在し、当該通信リンクの距離は2である。ノード5とノード6間には通信リンクが存在し、当該通信リンクの距離は1である。通信ネットワーク300には、通信リンクが存在しないノード間がある。つまり、通信ネットワーク300は、フルメッシュに通信リンクが存在しない通信ネットワークである。本実施例では、図5に示されるように、局所ノード群が設定されている。局所ノード群G2は、ノード1とノード2から構成される。局所ノード群G3は、ノード3とノード5から構成される。局所ノード群G4は、ノード2とノード4から構成される。局所ノード群G5は、ノード5とノード6から構成される。各局所ノード群G2,G3,G4,G5内は、全てのノード間に通信リンクが存在するフルメッシュに通信リンクが存在する。局所ノード群G2,G3,G4,G5において、閾値秘密分散法における閾値は2に設定されている。従って、局所ノード群G2,G3,G4,G5において、一管理者に属するノードの数は2未満である。図6は、通信ネットワーク300における局所ノード群の構成である。局所ノード群G2と局所ノード群G3との間には通信リンクが存在し、局所ノード群G2と局所ノード群G3とはお互いに隣接する局所ノード群である。同様に、局所ノード群G2と局所ノード群G4、局所ノード群G3と局所ノード群G5、局所ノード群G4と局所ノード群G5は、それぞれに、お互いに隣接する局所ノード群である。図4において、例えば、ノード6からノード1への最短パスは、ノード6→ノード5→ノード4→ノード2→ノード1である。従って、ノード5から見ると、宛先ノード1に対応する次ホップはノード4となる。各ノードが予め知っている局所トポロジー情報は、自分との間に通信リンクが存在するノード以下、隣接ノードと称するの識別子IDと、自分と隣接ノード間の通信リンクの距離だけである。従って、ノード5単独では、宛先ノード1に対応する次ホップがノード4であるという情報は導出できない。そこで、本実施例では、そのような次ホップ情報を、各ノードが自身の局所トポロジー情報を他のノードに開示せずに求めることを図る。本実施例では、各ノード1~6は、それぞれに、図1の分散ルーティング処理装置1を備える。本実施例では、以下を定義する。[x]_i:局所ノード群iにおいて秘密情報xから閾値秘密分散法により生成されて各ノードに分散されて保持されている分散情報。各ノードでは、分散情報格納部15が分散情報を保持している。[x]_i=SHAREi,x:局所ノード群iにおいて、閾値秘密分散法により秘密情報xから分散情報を生成し、分散情報を各ノードに分散して保持させる動作。局所ノード群i内の各ノードの秘密分散部13は互いに通信して、本動作を行う。本動作によって、分散情報[x]_iとなる。[y]_i=COMPUTEi,f,[x]_i:局所ノード群iにおいて、分散情報[x]_iを引数として所定の関数[y=fx]を計算し、分散情報[y]_iを得る動作。局所ノード群i内の各ノードのSMC部16は、互いに通信して、所定の関数[y=fx]を分散して計算するSMCを解決する。分散情報[y]_iは、局所ノード群i内の各ノードに分散されて保持される。各ノードでは、分散情報格納部15が分散情報を保持する。[x]_j=TRANSFERi,j,[x]_i:局所ノード群iが分散情報[x]_iを変換分散情報構成要素に変換して局所ノード群jへ送信し、局所ノード群jが該変換分散情報構成要素を用いて変換分散情報[x]_jを生成する、動作。局所ノード群iの各ノードの分散情報変換部17は、分散情報[x]_iを変換分散情報構成要素に変換する。次いで、局所ノード群iの各ノードの変換分散情報交換部18は、局所ノード群jの各ノードの変換分散情報交換部18へ、変換分散情報構成要素を送信する。局所ノード群jの各ノードの変換分散情報交換部18は、受信した変換分散情報構成要素を用いて変換分散情報[x]_jを生成する。局所ノード群jにおいて、変換分散情報[x]_jは各ノードに分散されて保持される。局所ノード群jの各ノードでは、分散情報格納部15が変換分散情報を保持する。x=RECOVERi,[x]_i:局所ノード群iにおいて、分散情報[x]_iから秘密情報xを復元する動作。なお、分散情報とは変換分散情報を含む。局所ノード群i内の各ノードの秘密分散復元部14は互いに通信して、本動作を行う。本実施例では、非特許文献4などに記載されるBellmanFordアルゴリズムを用いて、最短パスルーティングを行う分散ルーティング処理を実行する。BellmanFordアルゴリズムでは全ノードについて最短パスを同時に計算するが、ここでは、説明の便宜上、図4においてノード1への最短パスのみを計算する簡略化されたBellmanFordアルゴリズムを用いて、以下に説明する。局所ノード群G2は以下の動作を行う。[4]_G2=SHAREG2,4。ここで、秘密情報4はノード1からノード3までの通信パスの距離である図4参照。[4]_G3=TRANSFERG2,G3,[4]_G2。これにより、秘密情報4が変換分散情報[4]_G3として局所ノード群G3へ伝達される。[2]_G2=SHAREG2,2。ここで、秘密情報2はノード1からノード4までの通信パスの距離である図4参照。[2]_G4=TRANSFERG2,G4,[2]_G2。これにより、秘密情報2が変換分散情報[2]_G4として局所ノード群G4へ伝達される。局所ノード群G3は以下の動作を行う。[1]_G3=SHAREG3,1。ここで、秘密情報1はノード3からノード5までの通信パスの距離である図4参照。[5]_G3=COMPUTEG3,,[4]_G3,[1]_G3。ここで、所定の関数[y=fx]は、変換分散情報[4]_G3と分散情報[1]_G3とを引数として加算を行うものである。この結果として得られた分散情報[5]_G3は秘密情報5の分散情報であり、当該秘密情報5はノード1からノード3を経由したノード5までの通信パスの距離である図4参照。[5]_G5=TRANSFERG3,G5,[5]_G3。これにより、秘密情報5が変換分散情報[5]_G5として局所ノード群G5へ伝達される。局所ノード群G4は以下の動作を行う。[2]_G4=SHAREG4,2。ここで、秘密情報2はノード4からノード5までの通信パスの距離である図4参照。[4]_G4=COMPUTEG4,,[2]_G4,[2]_G4。ここで、所定の関数[y=fx]は、変換分散情報[2]_G4と分散情報[2]_G4とを引数として加算を行うものである。この結果として得られた分散情報[4]_G4は秘密情報4の分散情報であり、当該秘密情報4はノード1からノード4を経由したノード5までの通信パスの距離である図4参照。[4]_G5=TRANSFERG4,G5,[4]_G4。これにより、秘密情報4が変換分散情報[4]_G5として局所ノード群G5へ伝達される。局所ノード群G5は以下の動作を行う。[4]_G5=COMPUTEG5,argmin,[5]_G5,[4]_G5。ここで、所定の関数[y=fx]は、変換分散情報[5]_G5と変換分散情報[4]_G5とを引数として、最短の距離である方の隣接ノード次ホップのIDを求めるものである。この結果として得られた分散情報[4]_G5は秘密情報4の分散情報であり、当該秘密情報4はノード4のIDである。4=RECOVERG5,[4]_G5。これにより、秘密情報4が復元される。秘密情報4は、ノード5において、宛先ノード1に対応する次ホップのIDである。これにより、ノード5において、宛先ノード1に対応する次ホップがノード4であるという、次ホップ情報が得られる。この次ホップ情報はノード5へ出力される。本実施例において、秘密情報および途中の計算結果は全て分散された状態で保持されるため、各ノードの秘密情報は他のノードに対して秘匿される。上述したように本実施形態によれば、任意の分散ルーティングを、SMCの要件を満たしながら実行することができる。これにより、フルメッシュに通信リンクが存在しない通信ネットワークを対象にした分散ルーティング処理において、ノードiの秘密情報をノードiの管理者以外の者に秘匿することができるという効果が得られる。又、任意の分散ルーティングに適用できるので、適用範囲が広い。以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。なお、本発明に適用可能な通信ネットワークとしては、物理ノードと物理通信リンクから成る物理ネットワークであってもよく、又は、peertopeer技術もしくはオーバーレイネットワーク技術もしくは計算機仮想化技術等を用いて作られた論理ノードと論理通信リンクから成る論理ネットワークであってもよい。例えば、peertopeerネットワークや、仮想化された計算機から構成される仮想化されたネットワークのような、管理者が複数存在し、各ノードは異なる管理者に属する場合があり、したがって各ノードの管理者と、ノードに格納される分散ルーティング中の情報の所有者とが必ずしも一致しない環境において、各ノードの秘密情報を開示せずに分散ルーティングを実行することができる。また、図3に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、分散ルーティング処理を行ってもよい。なお、ここでいうコンピュータシステムとは、OSや周辺機器等のハードウェアを含むものであってもよい。また、コンピュータ読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVDDigitalVersatileDisk等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらにコンピュータ読み取り可能な記録媒体とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ例えばDRAMDynamicRandomAccessMemoryのように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する伝送媒体は、インターネット等のネットワーク通信網や電話回線等の通信回線通信線のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル差分プログラムであっても良い。"