(57)【要約】【課題】秘匿した２値の加減算を高速に行える演算システム、演算方法及び演算プログラムを提供すること。【解決手段】演算システム１は、第１の値を保持する第１ノードと、第２の値を保持する第２ノードと、第１の値及び第２の値の演算を行う第３ノードとを備え、第１ノードは、第１の値に対してパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、第２ノードは、第２の値に対して、パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、第３ノードは、第１ノード及び第２ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、第１の値及び第２の値の和又は差を含む演算式の値を出力する。【選択図】図１
2017203855.tif 000002
【特許請求の範囲】
【請求項１】
第１の値を保持する第１ノードと、第２の値を保持する第２ノードと、前記第１の値及び前記第２の値の演算を行う第３ノードとを備え、
前記第１ノードは、前記第１の値に対してパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、
前記第２ノードは、前記第２の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、
前記第３ノードは、前記第１ノード及び前記第２ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む演算式の値を出力する演算システム。
【請求項２】
前記第３ノードは、前記第１の値及び前記第２の値の和又は差の２乗と前記定数との積を出力する請求項１に記載の演算システム。
【請求項３】
前記第１ノードは、第１のパラメータ群及び第２のパラメータ群を用いた演算値を要素とする第１の行列及び第２の行列を生成し、
前記第２ノードは、前記第１のパラメータ群との積が第１の定数になる第３のパラメータ群、及び前記第２のパラメータ群との積が第２の定数になる第４のパラメータ群を用いた演算値を要素とする第３の行列及び第４の行列を生成し、
前記第３ノードは、
前記第１の行列と前記第３の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む２つの演算式のそれぞれ一部を合計した値を出力した後、
前記第２の行列と前記第４の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記２つの演算式のうち、残りの部分を合計した値を出力する請求項１又は請求項２に記載の演算システム。
【請求項４】
前記第１ノードは、第１のパラメータ群及び第２のパラメータ群を用いた演算値を要素とする第１の行列及び第２の行列を生成し、
前記第２ノードは、前記第１のパラメータ群との積が第１の定数になる第３のパラメータ群、及び前記第２のパラメータ群との積が第２の定数になる第４のパラメータ群を用いた演算値を要素とする第３の行列及び第４の行列を生成し、
前記第３ノードは、
前記第１の行列と前記第３の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む２つの演算式のそれぞれ一部を合計した値を出力するノードと、
前記第２の行列と前記第４の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記２つの演算式のうち、残りの部分を合計した値を出力するノードと、に分離されている請求項１又は請求項２に記載の演算システム。
【請求項５】
前記第１ノードは、生成した行列とランダム行列とを乗じて前記第３ノードに提供し、
前記第２ノードは、前記ランダム行列の逆行列と生成した行列とを乗じて前記第３ノードに提供する請求項１から請求項４のいずれかに記載の演算システム。
【請求項６】
第１の値を保持する第１ノードと、第２の値を保持する第２ノードと、前記第１の値及び前記第２の値の演算を行う第３ノードとを備えた演算システムにおいて、
前記第１ノードが、前記第１の値に対してパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、
前記第２ノードが、前記第２の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、
前記第３ノードが、前記第１ノード及び前記第２ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む演算式の値を出力する演算方法。
【請求項７】
コンピュータを、請求項１から請求項５のいずれかに記載の第１ノード、第２ノード又は第３ノードとして機能させるための演算プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、秘匿した２値を演算する演算システム、演算方法及び演算プログラムに関する。
【背景技術】
【０００２】
従来、秘匿した情報を演算する手段として、値を暗号化したまま加法又は乗法の演算が可能なＰａｉｌｌｉｅｒ暗号（例えば、非特許文献１参照）又はｍｏｄｉｆｉｅｄ−Ｅｌｇａｍａｌ暗号などの準同型暗号と呼ばれる暗号方式が用いられている。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】Ｐａｓｃａｌ  Ｐａｉｌｌｉｅｒ，  Ｐｕｂｌｉｃ−Ｋｅｙ  Ｃｒｙｐｔｏｓｙｓｔｅｍｓ  Ｂａｓｅｄ  ｏｎ  Ｃｏｍｐｏｓｉｔｅ  Ｄｅｇｒｅｅ  Ｒｅｓｉｄｕｏｓｉｔｙ  Ｃｌａｓｓｅｓ，  ＥＵＲＯＣＲＹＰＴ  １９９９，  ｐｐ２２３−２３８．
【発明の概要】
【発明が解決しようとする課題】
【０００４】
位置情報を秘匿した上で２点間の距離を求める際には、前述の準同型暗号を利用できる。しかしながら、準同型暗号による演算は処理負荷が大きいため、大規模なデータセットを対象にした場合、処理時間が膨大となっていた。
【０００５】
本発明は、秘匿した２値の加減算を高速に行える演算システム、演算方法及び演算プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る演算システムは、第１の値を保持する第１ノードと、第２の値を保持する第２ノードと、前記第１の値及び前記第２の値の演算を行う第３ノードとを備え、前記第１ノードは、前記第１の値に対してパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、前記第２ノードは、前記第２の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、前記第３ノードは、前記第１ノード及び前記第２ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む演算式の値を出力する。
【０００７】
前記第３ノードは、前記第１の値及び前記第２の値の和又は差の２乗と前記定数との積を出力してもよい。
【０００８】
前記第１ノードは、第１のパラメータ群及び第２のパラメータ群を用いた演算値を要素とする第１の行列及び第２の行列を生成し、前記第２ノードは、前記第１のパラメータ群との積が第１の定数になる第３のパラメータ群、及び前記第２のパラメータ群との積が第２の定数になる第４のパラメータ群を用いた演算値を要素とする第３の行列及び第４の行列を生成し、前記第３ノードは、前記第１の行列と前記第３の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む２つの演算式のそれぞれ一部を合計した値を出力した後、前記第２の行列と前記第４の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記２つの演算式のうち、残りの部分を合計した値を出力してもよい。
【０００９】
前記第１ノードは、第１のパラメータ群及び第２のパラメータ群を用いた演算値を要素とする第１の行列及び第２の行列を生成し、前記第２ノードは、前記第１のパラメータ群との積が第１の定数になる第３のパラメータ群、及び前記第２のパラメータ群との積が第２の定数になる第４のパラメータ群を用いた演算値を要素とする第３の行列及び第４の行列を生成し、前記第３ノードは、前記第１の行列と前記第３の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む２つの演算式のそれぞれ一部を合計した値を出力するノードと、前記第２の行列と前記第４の行列とを掛け合わせて得られる行列の一部の要素に基づいて、前記２つの演算式のうち、残りの部分を合計した値を出力するノードと、に分離されていてもよい。
【００１０】
前記第１ノードは、生成した行列とランダム行列とを乗じて前記第３ノードに提供し、前記第２ノードは、前記ランダム行列の逆行列と生成した行列とを乗じて前記第３ノードに提供してもよい。
【００１１】
本発明に係る演算方法は、第１の値を保持する第１ノードと、第２の値を保持する第２ノードと、前記第１の値及び前記第２の値の演算を行う第３ノードとを備えた演算システムにおいて、前記第１ノードが、前記第１の値に対してパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、前記第２ノードが、前記第２の値に対して、前記パラメータ群との積が定数になるパラメータ群を用いた演算値を要素とする少なくとも１つの行列を生成し、前記第３ノードが、前記第１ノード及び前記第２ノードのそれぞれが生成した行列を掛け合わせて得られた結果の一部の要素に基づいて、前記第１の値及び前記第２の値の和又は差を含む演算式の値を出力する。
【００１２】
本発明に係る演算プログラムは、コンピュータを、前記第１ノード、前記第２ノード又は前記第３ノードとして機能させる。
【発明の効果】
【００１３】
本発明によれば、秘匿した２値の加減算を高速に行える。
【図面の簡単な説明】
【００１４】
【図１】第１実施形態に係る演算システムの構成を示す図である。
【図２】第１実施形態に係る演算方法を示すフローチャートである。
【図３】第２実施形態に係る演算方法を示すフローチャートである。
【図４】第３実施形態に係る演算方法を示すフローチャートである。
【発明を実施するための形態】
【００１５】
［第１実施形態］
以下、本発明の第１実施形態について説明する。
図１は、本実施形態に係る演算システム１の構成を示す図である。
【００１６】
演算システム１は、演算対象である第１の値ｐ及び第２の値ｑの一方をそれぞれ保持するノードＸ（第１ノード）及びノードＹ（第２ノード）と、２値の演算を行うノードＺ（第３ノード）とを備える。
ノードＸ及びノードＹは、値ｐ及びｑを定数ｒに基づくパラメータで秘匿化した行列を、ノードＺに提供する。
ノードＺは、演算結果をノードＸ又はノードＹ、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報（定数ｒ）に基づいて、２値の和又は差を算出する。
【００１７】
ここで、各ノードＸ、Ｙ及びＺは、サーバ又はＰＣなどの情報処理装置（コンピュータ）により構成され、各ノードの記憶部に格納された所定のプログラム（演算プログラム）を各ノードの制御部が実行することにより、本実施形態の機能を実現する。
【００１８】
図２は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードＸが保持する数値ｐと、ノードＹが保持する数値ｑとの和又は差を、ノードＺの演算結果を用いてノードＸが取得する。
【００１９】
ステップＳ１において、ノードＸとノードＹとの間で、次式を満たすランダムな定数ｒ及びパラメータ群ａ１，ａ２，ｂ１，ｂ２，ｃ１，ｃ２，ｄ１，ｄ２、並びにランダムな２×２の行列Ｒを取り決める。
ａ１ａ２＝ｂ１ｃ２＝ｃ１ｂ２＝ｄ１ｄ２＝ｒ
【００２０】
ステップＳ２において、ノードＸは、数値ｐに対してパラメータ群を用いた演算値を要素とする行列Ａを生成し、ランダム行列Ｒとの積ＡＲを保持する。行列Ａは、例えば次式のように生成される。
【数１】
2017203855.tif 000003
【００２１】
ステップＳ３において、ノードＹは、数値ｑに対してパラメータ群を用いた演算値を要素とする行列Ｂを生成し、ランダム行列Ｒの逆行列Ｒ−１との積Ｒ−１Ｂを保持する。行列Ｂは、例えば次式のように生成される。
【数２】
2017203855.tif 000004
【００２２】
ステップＳ４において、ノードＸは、行列ＡＲをノードＺへ送信する。
ステップＳ５において、ノードＹは、行列Ｒ−１ＢをノードＺへ送信する。
ステップＳ６において、ノードＺは、ノードＸ及びノードＹから受信した行列を掛け合わせ、行列ＡＲＲ−１Ｂ＝ＡＢを生成する。
【数３】
2017203855.tif 000005
続いて、ノードＺは、行列ＡＢの要素のうち、１行１列及び２行２列の値を足す。
ａ１ａ２ｐ２＋ｂ１ｃ２ｑ２±２ｃ１ｂ２ｐｑ＝ｒ（ｐ±ｑ）２
ステップＳ７において、ノードＺは、計算結果ｒ（ｐ±ｑ）２を、ノードＸへ送信する。
【００２３】
ステップＳ８において、ノードＸは、受信した計算結果ｒ（ｐ±ｑ）２を定数ｒで割り２値の和又は差の２乗を、あるいは、さらに平方根を求めて２値の和又は差を算出する。
なお、計算結果をノードＸ又はノードＹとは異なる別のノードに提供する場合、このノードへは、定数ｒも提供される。
【００２４】
また、行列Ａ、Ｂの各要素は、前述の例には限られない。例えば、
【数４】
2017203855.tif 000006
とし、積ＡＢの１行１列及び２行２列の値を足すと、前述と同様にｒ（ｐ±ｑ）２が得られる。
また、例えば、
【数５】
2017203855.tif 000007
とし、積ＡＢの１行２列及び２行１列の値を足すと、前述と同様にｒ（ｐ±ｑ）２が得られる。
このように、積ＡＢの要素のいずれかを組み合わせることにより、例えば（ｐ±ｑ）２の展開式と定数ｒとの積が構成されるように、行列Ａ及びＢが設定されればよい。
【００２５】
本実施形態によれば、演算システム１は、値ｐ及びｑをランダムなパラメータを用いて演算し、行列によって秘匿した状態で保持する。そして、演算システム１は、行列演算の結果の一部から、値ｐとｑとの和又は差がパラメータにより秘匿された計算結果を出力する。したがって、演算システム１は、簡便な行列の乗算及び数値計算のみにより加減算を実施できるので、データが多量であっても、秘匿した２値の加減算を高速に行える。
【００２６】
また、演算システム１は、行列の一部の要素から値ｐとｑとの和又は差の２乗と定数ｒとの積を抽出する。これにより、演算システム１は、例えば２点間のユークリッド距離など、差の２乗を用いた計算を効率的に行える。
【００２７】
また、演算システム１は、値ｐ及びｑから生成した行列に対して、ランダム行列を乗じて保持するので、行列及びパラメータの漏洩に対して安全性が向上する。
【００２８】
［第２実施形態］
以下、本発明の第２実施形態について説明する。
本実施形態では、ノードＸ及びノードＹは、値ｐ及びｑを、第１の定数ｒ及び第２の定数ｒ’に基づく２セットのパラメータ群で秘匿化した２つの行列を、それぞれノードＺに提供する。
ノードＺは、演算結果をノードＸ又はノードＹ、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報（ｒ＋ｒ’）に基づいて、２値の和又は差を算出する。
【００２９】
図３は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードＸが保持する数値ｐと、ノードＹが保持する数値ｑとの和又は差を、ノードＺの演算結果を用いてノードＸが取得する。
【００３０】
ステップＳ１１において、ノードＸとノードＹとの間で、ランダムな定数ｒに対応して、第１のパラメータ群ａ１，ｂ１，ｃ１，ｄ１と第３のパラメータ群ａ２，ｂ２，ｃ２，ｄ２とを、また、ランダムな定数ｒ’に対応して、第２のパラメータ群ａ’１，ｂ’１，ｃ’１，ｄ’１と第４のパラメータ群ａ’２，ｂ’２，ｃ’２，ｄ’２とを、次式を満たすように取り決める。また、ランダムな２×２の行列Ｒ及びＲ’がノードＸとノードＹとの間で取り決められる。
ａ１ａ２＝ｂ１ｃ２＝ｃ１ｂ２＝ｄ１ｄ２＝ｒ
ａ’１ａ’２＝ｂ’１ｃ’２＝ｃ’１ｂ’２＝ｄ’１ｄ’２＝ｒ’
【００３１】
ステップＳ１２において、ノードＸは、数値ｐに対して第１のパラメータ群及び第２のパラメータ群を用いた演算値を要素とする第１の行列Ａ及び第２の行列Ａ’を生成し、それぞれランダム行列Ｒ及びＲ’を乗じてＡＲ及びＡ’Ｒ’を保持する。行列Ａ及びＡ’は、例えば次式のように生成される。
【数６】
2017203855.tif 000008
【００３２】
ステップＳ１３において、ノードＹは、数値ｑに対して第３のパラメータ群及び第４のパラメータ群を用いた演算値を要素とする第３の行列Ｂ及び第４の行列Ｂ’を生成し、それぞれランダム行列Ｒの逆行列Ｒ−１及びＲ’の逆行列Ｒ’−１を乗じてＲ−１Ｂ及びＲ’−１Ｂ’を保持する。行列Ｂ及びＢ’は、例えば次式のように生成される。
【数７】
2017203855.tif 000009
【００３３】
ステップＳ１４において、ノードＸは、行列ＡＲをノードＺへ送信する。
ステップＳ１５において、ノードＹは、行列Ｒ−１ＢをノードＺへ送信する。
ステップＳ１６において、ノードＺは、ノードＸ及びノードＹから受信した行列を掛け合わせ、行列ＡＲＲ−１Ｂ＝ＡＢを生成する。
【数８】
2017203855.tif 000010
続いて、ノードＺは、行列ＡＢの要素のうち、１行１列及び２行２列の値を足す。
ａ１ａ２ｐ２＋ｂ１ｃ２ｑ２±２ｃ’１ｂ’２ｐｑ＝ｒ（ｐ２＋ｑ２）±２ｒ’ｐｑ
ステップＳ１７において、ノードＺは、計算結果を、ノードＸへ送信する。
ステップＳ１８において、ノードＺは、受信データ及び計算結果を削除する。
【００３４】
ステップＳ１９において、ノードＸは、行列Ａ’Ｒ’をノードＺへ送信する。
ステップＳ２０において、ノードＹは、行列Ｒ’−１Ｂ’をノードＺへ送信する。
ステップＳ２１において、ノードＺは、ノードＸ及びノードＹから受信した行列を掛け合わせ、行列Ａ’Ｒ’Ｒ’−１Ｂ’＝Ａ’Ｂ’を生成する。
【数９】
2017203855.tif 000011
続いて、ノードＺは、行列ＡＢの要素のうち、１行１列及び２行２列の値を足す。
ａ’１ａ’２ｐ２＋ｂ’１ｃ’２ｑ２±２ｃ１ｂ２ｐｑ
＝ｒ’（ｐ２＋ｑ２）±２ｒｐｑ
ステップＳ２２において、ノードＺは、計算結果を、ノードＸへ送信する。
ステップＳ２３において、ノードＺは、受信データ及び計算結果を削除する。
【００３５】
ステップＳ２４において、ノードＸは、受信した計算結果ｒ（ｐ２＋ｑ２）±２ｒ’ｐｑとｒ’（ｐ２＋ｑ２）±２ｒｐｑとを足し、定数（ｒ＋ｒ’）で割って２値の和又は差の２乗を、あるいは、さらに平方根を求めて２値の和又は差を算出する。
なお、計算結果をノードＸ又はノードＹとは異なる別のノードに提供する場合、このノードへは、定数（ｒ＋ｒ’）も提供される。
【００３６】
本実施形態によれば、演算システム１は、行列ＡとＢとの組による計算結果、及び行列Ａ’とＢ’との組による計算結果の両方を用いて値ｐ及びｑの加減算を行う。したがって、演算システム１は、より秘匿性を高めて、各行列の要素又はパラメータなどの漏洩に対して安全性を向上できる。
また、ノードＺにおいて、計算結果を送信したあとにデータを削除することにより、複数のデータを組み合わせて値ｐ又はｑが求められるリスクが低減される。
【００３７】
なお、本実施形態における前述の行列Ａ，Ａ’，Ｂ，Ｂ’の要素は一例であり、積ＡＢのいずれかの要素、及び積Ａ’Ｂ’のいずれかの要素を組み合わせることにより、例えば（ｐ±ｑ）２の展開式と定数（ｒ＋ｒ’）との積が構成されるように設定されればよい。
【００３８】
［第３実施形態］
以下、本発明の第３実施形態について説明する。
本実施形態では、ノードＸ及びノードＹは、値ｐ及びｑを、第１の定数ｒ及び第２の定数ｒ’に基づく２セットのパラメータ群で秘匿化した２つの行列を、ノードＺ１及びノードＺ２に提供する。
ノードＺ１及びノードＺ２は、演算結果をノードＸ又はノードＹ、あるいは他のノードへ提供し、演算結果を受信したノードは、与えられた情報（ｒ＋ｒ’）に基づいて、２値の和又は差を算出する。
【００３９】
図４は、本実施形態に係る演算方法を示すフローチャートである。
ここでは、ノードＸが保持する数値ｐと、ノードＹが保持する数値ｑとの和又は差を、ノードＺ１及びノードＺ２の演算結果を用いてノードＸが取得する。
【００４０】
ステップＳ３１〜Ｓ３３は、第２実施形態（図３）のステップＳ１１〜Ｓ１３と共通である。
ステップＳ３４〜Ｓ４１では、第２実施形態（図３）のステップＳ１４〜Ｓ１８と、ステップＳ１９〜Ｓ２３とが、それぞれノードＺ１及びノードＺ２で並列に処理される。
ステップＳ４２は、第２実施形態（図３）のステップＳ２４と共通である。
【００４１】
本実施形態によれば、演算システム１は、行列ＡとＢとの組による計算結果、及び行列Ａ’とＢ’との組による計算結果の両方を用いて値ｐ及びｑの加減算を行う。さらに、ノードＺが２つに分離され、それぞれで行列計算を分担するので、ノードＺ１及びノードＺ２のそれぞれが取得できるデータが制限され、安全性が向上する。
また、ノードＺ１及びノードＺ２で並列処理されることにより、処理が高速化される。
【００４２】
［応用例１］
前述のいずれかの実施形態により、ｎ次元のユークリッド距離を計算する応用例１を説明する。
【００４３】
ｎ次元のユークリッド距離の計算では、直交座標系における点Ｐ（ｐ１，ｐ２，・・・，Ｐｎ）及び点Ｑ（ｑ１，ｑ２，・・・，ｑｎ）に対して、それぞれの成分を、
【数１０】
2017203855.tif 000012
と行列に変換する。
【００４４】
これらの行列の積は、
【数１１】
2017203855.tif 000013
となるので、１行１列及び２行２列の値を足すと、（ｐｋ−ｑｋ）２が求まる。
したがって、各次元（ｋ）の成分を加算して、平方根を求めることにより、ｎ次元のユークリッド距離ｄ（Ｐ，Ｑ）が算出される。
【数１２】
2017203855.tif 000014
【００４５】
［応用例２］
前述のいずれかの実施形態により、緯度経度情報から距離を計算する応用例２を説明する。
【００４６】
ヒュベニの公式によれば、緯度ｐ１で経度ｐ２の地点と、緯度ｑ１で経度ｑ２の地点との距離ｄは、
【数１３】
2017203855.tif 000015
で与えられる。ただし、ａ及びｂは、それぞれ赤道半径及び極半径である。
したがって、前述の実施形態により（ｐ１−ｑ１）２、（ｐ２−ｑ２）２、ｐ１＋ｑ１を求め、この式に代入することで、地点間の距離が算出される。
【００４７】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、本実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本実施形態に記載されたものに限定されるものではない。
【００４８】
演算システム１による演算方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００４９】
１  演算システム
Ｘ  第１ノード
Ｙ  第２ノード
Ｚ  第３ノード
ｒ  第１の定数
ｒ’  第２の定数
ａ１、ｂ１、ｃ１、ｄ１  第１のパラメータ群
ａ’１、ｂ’１、ｃ’１、ｄ’１  第２のパラメータ群
ａ２、ｂ２、ｃ２、ｄ２  第３のパラメータ群
ａ’２、ｂ’２、ｃ’２、ｄ’２  第４のパラメータ群
ｐ  第１の値
ｑ  第２の値
Ａ  第１の行列
Ａ’  第２の行列
Ｂ  第３の行列
Ｂ’  第４の行列
Ｒ、Ｒ’  ランダム行列
【図１】
2017203855.tif 000016
【図２】
2017203855.tif 000017
【図３】
2017203855.tif 000018
【図４】
2017203855.tif 000019