(57)【要約】【課題】オープンな環境においてデータベース内のデータを利用に適した形で適切に秘匿する。【解決手段】本方法は、第１データ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるようにマスクマトリクスにおける各要素のマスク値を生成するステップと、オリジナルマトリクスとマスクマトリクスとを加算して、マスク化マトリクスを生成するステップと、マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップとを含む。【選択図】図２
2012083536.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータにより実行される情報処理方法であって、
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるように前記マスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、
を含む情報処理方法。
【請求項２】
他のコンピュータが、前記複数のユーザからの前記マスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、前記複数のユーザについての前記所定値を加算することで算出される調整値のうちの前記他の次元の特定の要素番号についての値を差し引く演算を実施するステップ
をさらに含む請求項１記載の情報処理方法。
【請求項３】
前記複数のユーザのうちいずれかのユーザのコンピュータから通知された第１の値から当該第１の値を相殺するように前記所定値を算出するステップ
をさらに含む請求項１又は２記載の情報処理方法。
【請求項４】
コンピュータにより実行される情報処理方法であって、
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、
前記記憶装置に格納されている前記マスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を前記複数のユーザのうちいずれかのユーザのコンピュータ又は前記第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知ステップと、
を含む情報処理方法。
【請求項５】
前記第３のコンピュータ又は前記第２のコンピュータが、前記複数のユーザのコンピュータから受信した前記集計の結果に基づく値を加算して調整値を生成するステップと、
前記第３のコンピュータ又は前記第２のコンピュータが、前記複数のユーザからの前記マスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、前記調整値のうち前記他の次元の特定の要素番号についての値を差し引く演算を実施するステップと、
をさらに含む請求項４記載の情報処理方法。
【請求項６】
前記複数のユーザのうちの他のユーザのコンピュータから第１の値を受信するステップ
をさらに含み、
前記通知ステップにおいて、
前記第１の値と前記集計の結果とを加算することで前記集計の結果に基づく値を算出すると共に、前記集計の結果に基づく値を前記複数のユーザのうちのさらに他のユーザのコンピュータに送信する
請求項４記載の情報処理方法。
【請求項７】
コンピュータにより実行される情報処理方法であって、
第２のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第３のコンピュータに送信するステップと、
を含み、
前記マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを前記複数のユーザに対して分解することで得られるマトリクスである
情報処理方法。
【請求項８】
他のコンピュータが、前記複数のユーザからの前記マスク化マトリクスを加算した結果である合計マスク化マトリクスから前記復号マトリクスを引くことにより、前記複数のユーザの全てのオリジナルマトリクスを加算した結果を取得するステップ、
をさらに含む請求項７記載の情報処理方法。
【請求項９】
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるように前記マスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するマスク値生成部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
を有する情報処理装置。
【請求項１０】
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するマスク値生成部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
前記記憶装置に格納されている前記マスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を前記複数のユーザのうちいずれかのユーザのコンピュータ又は前記第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知部と、
を有する情報処理装置。
【請求項１１】
第１のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するマスク取得部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第１のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
を有し、
前記マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを前記複数のユーザに対して分解することで得られるマトリクスである
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、データの秘匿化技術に関する。
【背景技術】
【０００２】
例えば、各支店で各商品の月別売上表をサーバで共有し、本部の集計担当者が商品別集計、月別集計などを行うというようなケースを考える。例えば図１の左に示すように、支店Ａでは、商品Ａ、商品Ｂ及び商品Ｃの月毎の売上を表す売上表を有し、支店Ｂでは、同じく商品Ａ、商品Ｂ及び商品Ｃの月毎の売上を表す売上表を有する。そして、図１の右に示すように、本部では、全ての支店に関して、商品Ａ、商品Ｂ、商品Ｃそれぞれについての売上合計値、全商品についての月毎の売上合計値といった集計値を算出する。場合によっては、全売上高というような集計値を計算する場合もある。
【０００３】
このような場合に、各支店では細かい売上高を他の支店などに知らせたくなく、本部も細かい情報を把握できなくとも集計値を得られればよい、といった要望が出てくることがある。しかしながら、このような要望に十分対応できるような技術は存在しない。
【０００４】
例えば、データを秘匿化するために、データを暗号化してサーバに保持させるようなことも考えられる。しかし、第三者がこのデータを集計する場合には、結局復号化しなければならず、結果としてデータの中身そのものを第三者が見ることになってしまう。
【０００５】
また、暗号化したまま加算処理を行う準同型暗号方式も存在している。しかしながら、この方式を採用すると加算結果も同じキーで暗号化されてしまう。複数のユーザがクラウド上でデータを共有し、第三者が集計処理を行う場合、全ユーザと集計者がキーを共有することになり、結果としてデータの中身そのものも第三者は見ることができるようになってしまう。
【０００６】
さらに、元データにノイズ（すなわち乱数）を加えることで、元データを秘匿しつつ、統計的にある程度の精度でクロス集計を可能にするという技術も存在している。このような技術における集計システムでは、各ユーザに対して、指定したパラメータ（具体的には維持確率）を与えて値をランダム化させた上で集計を行い、この集計値から真の集計値を統計的に推定するというものである。但し、この方法は、以下のような問題を有している。すなわち、元データに対してノイズが小さいと元データのおおよその値がわかってしまう。また集計値が近似値である。さらに、クラウド側で集計処理の後統計的推定処理という別の処理を行うことになる。特に、クラウド上の他社サービスに独自機能を追加することは難しい場合があり、実用上は問題となることがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１０−１０８４８８
【非特許文献】
【０００８】
【非特許文献１】Paillier, P., Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, Proc. Eurocrypt 99, pp.223-238, 1999.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本技術の目的は、一側面として、オープンな環境においてデータベース内のデータを利用に適した形で適切に秘匿するための技術を提供することである。
【課題を解決するための手段】
【００１０】
第１の態様に係る情報処理方法は、（Ａ）第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるようにマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップとを含む。
【００１１】
第２の態様に係る情報処理方法は、（Ａ）第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、（Ｄ）記憶装置に格納されているマスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を複数のユーザのうちいずれかのユーザのコンピュータ又は第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知ステップとを含む。
【００１２】
第３の態様に係る情報処理方法は、（Ａ）第２のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第３のコンピュータに送信するステップとを含む。そして、マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを複数のユーザに対して分解することで得られるマトリクスである。
【発明の効果】
【００１３】
オープンな環境においてデータベース内のデータを利用に適した形で適切に秘匿できるようになる。
【図面の簡単な説明】
【００１４】
【図１】図１は、従来技術の問題を説明するための図である。
【図２】図２は、実施の形態におけるシステム構成の一例を示す図である。
【図３】図３は、第１の実施の形態に係る本部コンピュータの機能ブロック図である。
【図４】図４は、第１の実施の形態に係る支店コンピュータの機能ブロック図である。
【図５】図５は、第１の実施の形態の概要を説明するための図である。
【図６】図６は、第１の実施の形態の概要を説明するための図である。
【図７】図７は、第１の実施の形態の処理フローを示す図である。
【図８】図８は、マスク生成処理の処理フローを示す図である。
【図９】図９は、マスク生成処理の概要を説明するための図である。
【図１０】図１０は、更新処理の処理フローを示す図である。
【図１１】図１１は、第２の実施の形態の処理フローを示す図である。
【図１２】図１２は、第３の実施の形態に係る支店コンピュータの機能ブロック図である。
【図１３】図１３は、第３の実施の形態に係る処理フローを示す図である。
【図１４】図１４は、第３の実施の形態に係る処理フローを示す図である。
【図１５】図１５は、第４の実施の形態に係る本部コンピュータの機能ブロック図である。
【図１６】図１６は、第４の実施の形態の処理フローを示す図である。
【図１７】図１７は、第５の実施の形態に係るマスクマトリクスを説明するための図である。
【図１８】図１８は、第５の実施の形態に係る集計キーを説明するための図である。
【図１９】図１９は、第６の実施の形態に係る本部コンピュータの機能ブロック図である。
【図２０】図２０は、第６の実施の形態に係る支店コンピュータの機能ブロック図である。
【図２１】図２１は、第６の実施の形態に係る処理フローを示す図である。
【図２２】図２２は、第６の実施の形態を説明するための図である。
【図２３】図２３は、第６の実施の形態に係る処理フローを示す図である。
【図２４】図２４は、第７の実施の形態を説明するための図である。
【図２５】図２５は、第７の実施の形態に係る処理フローを示す図である。
【図２６】図２６は、第７の実施の形態に係る処理フローを示す図である。
【図２７】図２７は、第７の実施の形態に係る処理フローを示す図である。
【図２８】図２８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１５】
［実施の形態１］
図２に本実施の形態に係るシステム構成例を示す。例えばインターネットであるネットワーク１には、クラウドシステム３と、本部コンピュータ９と、複数の支店コンピュータ５及び７とが接続されている。支店コンピュータ５及び７の台数は、２台以上の任意の台数でよい。
【００１６】
クラウドシステム３は、秘匿化されたデータを格納する秘匿情報データベース（ＤＢ）３３を有しており、秘匿情報ＤＢ３３に対してデータ登録及び更新処理等を実施するデータ登録部３１と、秘匿情報ＤＢ３３に対する各種集計処理を実施する集計処理部３５と、集計処理部３５による処理結果等を格納するデータ格納部３７とを有する。また、集計処理部３５は、他のコンピュータから集計要求等を受信し、処理結果を要求元のコンピュータに送信する処理も行う。
【００１７】
図３に、本部コンピュータ９の機能ブロック図を示す。本部コンピュータ９は、集計キー生成部９１と、集計キー格納部９２と、集計キー配布処理部９３と、出力処理部９４と、集計データ格納部９５と、要求処理部９６と、データ格納部９７とを有する。
【００１８】
集計キー生成部９１は、例えば管理者などの指示に応じて集計キーを生成し、集計キー格納部９２に格納する。集計キー配布処理部９３は、データ格納部９７に格納されているデータに基づき支店コンピュータ５及び７に対して集計キーを配布する処理を実施する。また、要求処理部９６は、本部担当者等からの指示に応じて、クラウドシステム３から集計データ等を取得して、集計データ等を集計データ格納部９５に格納する。出力処理部９４は、集計データ格納部９５に格納されているデータを出力する処理を実施したり、集計キー格納部９２に格納されている集計キーを用いて集計データを処理して出力データを生成し、出力する処理を実施する。
【００１９】
また、図４に支店コンピュータ５の機能ブロック図を示す。支店コンピュータ５は、集計キー取得部５１と、集計キー格納部５２と、マスク生成部５３と、マスク格納部５４と、オリジナルデータ取得部５５と、オリジナルデータ格納部５６と、マスク処理部５７と、マスク化データ格納部５８と、データ送信部５９と、データ取得部６０と、受信データ格納部６１と、アンマスク処理部６２と、アンマスク化データ格納部６３と、アンマスク化データ出力部６４とを有する。
【００２０】
集計キー取得部５１は、例えば本部コンピュータ９から集計キーを取得し、集計キー格納部５２に格納する。マスク生成部５３は、集計キー格納部５２からマスクを生成し、マスク格納部５４に格納する。オリジナルデータ取得部５５は、支店担当者などからオリジナルデータを取得し、オリジナルデータ格納部５６に格納する。マスク処理部５７は、マスク格納部５４に格納されているマスクを用いてオリジナルデータ格納部５６に格納されているデータに対してマスク化処理を実施して、処理結果をマスク化データ格納部５８に格納する。データ送信部５９は、マスク化データ格納部５８に格納されているデータを、クラウドシステム３に送信する。データ取得部６０は、例えばクラウドシステム３からマスク化データを取得し、受信データ格納部６１に格納する。アンマスク処理部６２は、受信データ格納部６１に格納されているマスク化データを、マスク格納部５４に格納されているマスクを用いてアンマスク化処理を実施し、アンマスク化データ格納部６３に格納する。アンマスク化データ出力部６４は、アンマスク化データ格納部６３に格納されているデータを、支店の担当者等に出力する。
【００２１】
次に、図５及び図６を用いて、本実施の形態における処理の概要を説明する。本実施の形態では、図１を用いて説明したケースと同様に、各支店ｉでは、月別商品別の売上数のマトリクスＯＭi（すなわちオリジナルマトリクス）を保持しているものとする。そして、このオリジナルマトリクスと同一形状（次元数が同一で且つ各次元の要素数が同一）のマスクマトリクスＭＭiを加算することでオリジナルマトリクスにおける各要素の値をマスクする。但し、単純に乱数等でマスクマトリクスＭＭiの各要素の値を生成すると、全支店の集計を行う際に真の集計値を得ることができなくなる。そこで、マスクマトリクスＭＭiの制約条件として、集計キーを導入する。
【００２２】
例えば、各支店ｉにおいて、商品Ａ乃至Ｄについて１月から６月までの売上数についてのオリジナルマトリクスＯＭiを保持していることを想定する。このような場合には、図５に示すようなマスクマトリクスＭＭiは、オリジナルマトリクスＭＭiと同一形状のマトリクスとなる。そして、集計キーは、マスクマトリクスＭＭiにおいて、横方向に要素の値を合計した値の１次元行列である集計キーＴＫＨiと、縦方向に要素の値を合計した値の一次元行列である集計キーＴＫＶiとを含む。具体的には、集計キーＴＫＨは、商品Ａについて１月から６月までの売上数を合計した値と、商品Ｂについて１月から６月までの売上数を合計した値と、商品Ｃについて１月から６月までの売上数を合計した値と、商品Ｄについて１月から６月までの売上数を合計した値とを要素の値として含む。また、集計キーＴＫＶは、１月における商品Ａ乃至Ｄの売上数を合計した値と、２月における商品Ａ乃至Ｄの売上数を合計した値と、３月における商品Ａ乃至Ｄの売上数を合計した値と、４月における商品Ａ乃至Ｄの売上数を合計した値と、５月における商品Ａ乃至Ｄの売上数を合計した値と、６月における商品Ａ乃至Ｄの売上数を合計した値とを、要素の値として含む。
【００２３】
実際には、集計キーＴＫＨi及びＴＫＶiを与えて、集計キーＴＫＨi及びＴＫＶiが得られるようにマスクマトリクスＭＭiの各要素の値を生成する。さらに、全ての支店についての集計キーＴＫＨiを加算すると０となり、全ての支店についての集計キーＴＫＶiを加算すると０となるように、各支店のＴＫＨi及びＴＫＶiを決定する。
【００２４】
例えば、集計キーＴＫＨ及びＴＫＶの各要素に適切な値を設定することで決定する。例えば、支店番号が偶数であれば、その支店には集計キー＋ＴＫＨ及び＋ＴＫＶを与え、支店番号が奇数であれば、その支店には集計キー−ＴＫＨ及び−ＴＫＶを与える。支店数ｎが偶数であれば、このように割り当てることによって、全ての支店について集計キーＴＫＨ及びＴＫＶを全て加算すると０となる。一方、支店数ｎが奇数であれば、支店番号ｎには集計キー−ＴＫＨ及び−ＴＫＶを与え、支店番号（ｎ−１）には集計キー＋２ＴＫＨ及び＋２ＴＫＶを与え、支店番号（ｎ−２）には集計キー−ＴＫＨ及び−ＴＫＶを与え、支店番号（ｎ−３）以下については支店数が偶数と同じように割り当てる。そうすれば、全ての支店について集計キーＴＫＨ及びＴＫＶを加算すると０となる。なお、支店数ｎが奇数の場合には、本部などが、オリジナルマトリクスＯＭがゼロ行列となっている（ｎ＋１）番目のダミー支店として機能して、集計キー＋ＴＫＨ及び＋ＴＨＶを用いるようにしても、全支店について集計キーＴＨＫ及びＴＨＶを加算すると０となる。
【００２５】
このような制約条件を満たすようなマスクマトリクスＭＭiをオリジナルマトリクスＯＭiに加算しておけば、マスクマトリクスＭＭiとオリジナルマトリクスＯＭiとの加算結果であるマスク化マトリクスＭＫＭiを全て足し合わせた結果における縦方向の集計値及び横方向の集計値は、オリジナルマトリクスＯＭiを全て重ね合わせた結果における縦方向の集計値及び横方向の集計値になる。
【００２６】
図６に模式的に示すように、支店ｉの商品Ａの１月の売上数をａi1と表し、商品Ｂの１月の売上数をｂi1と表すようにする。また、支店ｉのマスクマトリクスＭＭiにおいて商品Ａの１月の売上数をマスクする要素値をｍi11と表し、商品Ｂの１月の売上数をマスクする要素値をｍi21と表すものとする。すなわち、ｍの下付けの数値のうち２番目の数値は商品Ａであれば「１」により表し、商品Ｂであれば「２」により表し、商品Ｃであれば「３」により表し、商品Ｄであれば「４」により表すものとする。そして、マスク化マトリクスＭＫＭiにおいて、商品Ａの１月の売上数は、ａi1＋ｍi11というようにマスクされている。同様に、商品Ｂの１月の売上数は、ｂi1＋ｍi21というようにマスクされている。
【００２７】
そして、全支店について、マスク化マトリクスＭＫＭiを加算して、横方向に集計すると、商品Ａについては、Σi,jａij＋Σi,jｍi1jとなる。ｊは月についてのパラメータである。しかしながら、Σi,jｍi1jは、マスクマトリクスＭＭiを全ての支店ｉについて加算してさらに商品Ａについて行の要素値を全て加算したものであるから「０」となっている。すなわち、Σi,jａijが、マスク化マトリクスＭＫＭiの加算結果における商品Ａについての集計値となるが、これはオリジナルマトリクスＯＭiの加算結果における商品Ａについての集計値と一致する。
【００２８】
同様に、全支店について、マスク化マトリクスＭＫＭiを加算して、縦方向に集計すると、１月については、Σiａi1＋Σiｂi1＋Σiｃi1＋Σiｄi1＋Σi,kｍik1となる。ｋは商品についてのパラメータである。しかしながら、Σi,kｍik1は、マスクマトリクスＭＭiを全ての支店ｉについて加算してさらに１月について列の要素値を全て加算したものであるから「０」となっている。すなわち、Σiａi1＋Σiｂi1＋Σiｃi1＋Σiｄi1が、マスク化マトリクスＭＫＭiの加算結果における１月についての集計値となるが、これはオリジナルマトリクスＯＭiの加算結果における１月についての集計値と一致する。
【００２９】
このように、上でも述べたようにマスクマトリクスＭＭiにおける縦方向の集計値及び横方向の集計値、すなわち集計キーは、全支店について加算すれば０となっているため、集計処理の際にはマスクマトリクスＭＭiによるマスクの効果が相殺される。
【００３０】
このような処理の概要を実現するための処理について図７乃至図１０を用いて説明する。なお、本部コンピュータ９の集計キー生成部９１は、本実施の形態では、乱数等によってランダムな集計キーＴＫ（ＴＫＨとＴＫＶとをまとめてＴＫと表すものとする。）を生成し、集計キー格納部９２に格納しておく。
【００３１】
また、データ格納部９７には、支店コンピュータ５及び７の支店番号及びアドレス等を格納しておくものとする。
【００３２】
本部コンピュータの集計キー配布処理部９３は、データ格納部９７に格納されている、各支店コンピュータのアドレス宛に、当該支店コンピュータのための集計キーＴＫを送信する（図７：ステップＳ１）。上でも述べたように、支店番号が偶数であれば、その支店には集計キー＋ＴＫＨ及び＋ＴＫＶを配布し、支店番号が奇数であれば、その支店には集計キー−ＴＫＨ及び−ＴＫＶを配布する。支店数が奇数であれば、上で述べたようにさらに調整が行われる支店もある。各支店コンピュータの集計キー取得部５１は、本部コンピュータ９から集計キーＴＫを受信し、集計キー格納部５２に格納する（ステップＳ３）。
【００３３】
次に、マスク生成部５３は、集計キー格納部５２に格納されている集計キーからマスクキーを生成するマスク生成処理を実施する（ステップＳ５）。このマスク生成処理については、図８を用いて説明する。
【００３４】
なお、ここでは、オリジナルマトリクスＯＭは、Ｍ×Ｎの２次元マトリクスであるものとする。
【００３５】
マスク生成部５３は、ｉ＝１乃至Ｎ−１及びｊ＝１乃至Ｍ−１について、乱数を発生して、マスクマトリクスＭＭであるａ（ｉ，ｊ）に設定する（ステップＳ３１）。図９に模式的に示すように、ここでは最後の１行及び１列以外の部分については、乱数によって要素値を決定する。
【００３６】
そして、マスク生成部５３は、集計キー格納部５２から縦方向の集計結果に対応する集計キーＴＫＶ（ｊ）を読み出し（ステップＳ３３）、ｊ＝１乃至Ｍ−１に対して、未設定のマスクＭＭ（Ｎ，ｊ）を以下のように設定する（ステップＳ３５）。具体的には以下のとおりである。
ＭＭ（Ｎ，ｊ）＝ＴＫＶ（ｊ）−ΣpＭＭ（ｐ，ｊ）
Σはｐ＝１乃至Ｍ−１についての加算を表している。
【００３７】
さらに、マスク生成部５３は、集計キー格納部５２から横方向の集計値に対応する集計キーＴＫＨ（ｉ）を読み出し（ステップＳ３７）、ｉ＝１乃至Ｎに対して、未設定のマスクＭＭ（ｉ，Ｍ）を、以下のように設定する（ステップＳ３９）。
【００３８】
なお、ＴＫＨの要素値の合計とＴＫＶの要素値の合計とは同一であるため、このような処理フローでＴＫＨとＴＫＶの制約条件を満たすマスクマトリクスを生成できる。
ａ（ｉ，Ｍ）＝ＴＫＨ（ｉ）−Σqａ（ｉ，ｑ）
Σはｑ＝１乃至Ｎについての加算を表している。そして元の処理に戻る。なお、マスクａ（ｉ，ｊ）についてはマスク格納部５４に格納される。
【００３９】
このように、最後の１行及び１列で、集計キーＴＫＨ及びＴＫＶとの差を調整する例を示したが、他の１行及び１列で、集計キーＴＫＨ及びＴＫＶとの差を調整するようにしても良い。また、１行及び１列ではなく、２以上の行及び列で、集計キーＴＫＨ及びＴＫＶとの差を調整するようにしてもよい。例えば２行及び２列で調整を行う場合には、ＴＫＨ及びＴＫＶとの差を１／２ずつ調整するようにしてもよい。その他の手法でマスクマトリクスＭＭを生成しても良い。
【００４０】
図７の処理に戻って、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭを適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ７）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【００４１】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ９）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータ５及び７で生成したオリジナルマトリクスＯＭであってもよい。
【００４２】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１１）。
【００４３】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１３）。
【００４４】
このような処理を、集計キーを配布した全ての支店コンピュータについて実施すれば、集計キーを配布した全ての支店についてのデータが秘匿情報ＤＢ３３に登録されたことになる。
【００４５】
その後任意のタイミングで、本部コンピュータ９は、本部集計担当者からの集計指示を受け付け、本部コンピュータ９の要求処理部９６は、集計要求をクラウドシステム３に送信する（ステップＳ１５）。なお、特定の行、特定の列、行のみ、列のみなど集計の種類を指示するようにしても良い。
【００４６】
クラウドシステム３の集計処理部３５は、本部コンピュータ９から集計要求を受信し、データ格納部３７に格納する（ステップＳ１７）。そして、集計処理部３５は、集計要求に従って指定の集計処理を実施し、集計結果をデータ格納部３７に格納する（ステップＳ１９）。集計処理の具体的な処理については従来技術であるので、ここでは詳細に説明しない。但し、特定の行番号を指定して行方向（列番号を変動させる）に集計を行う処理、特定の列番号を指定して列方向（行番号を変動させる）に集計を行う処理、各行番号について行方向に集計を行う処理、各列番号について列方向に集計を行う処理などを行う。
【００４７】
上でも述べたように、マスク化マトリクスＭＫＭについてこのような集計処理を行ったとしてもマスクは相殺し合って、集計結果自体は真の値となる。すなわち、クラウドシステム３の集計処理部３５は特別な処理を行わないでも良い。
【００４８】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータ９に送信する（ステップＳ２１）。本部コンピュータ９の要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する（ステップＳ２３）。そして、出力処理部９４は、本実施の形態では特別な処理を行わずに、出力装置（例えば表示装置、プリンタ）又は他のコンピュータに、集計データ格納部９５に格納されている集計結果を出力する（ステップＳ２５）。
【００４９】
このように集計処理の段階では特別な処理を行わずに真の集計結果を得ることができるようになる。
【００５０】
次に、各支店がオリジナルマトリクスＯＭを更新する場合の処理について説明する。支店コンピュータのデータ取得部６０は、支店担当者等からの指示に応じて、当該支店のマスク化マトリクスの要求をクラウドシステム３に送信する（ステップＳ４１）。クラウドシステム３のデータ登録部３１は、支店コンピュータから当該支店のマスク化マトリクスの要求を受信し（ステップＳ４３）、秘匿情報ＤＢ３３から該当する支店番号に対応付けられているマスク化マトリクスを抽出し、要求元の支店コンピュータに送信する（ステップＳ４５）。支店コンピュータのデータ取得部６０は、クラウドシステム３からマスク化マトリクスのデータを受信し、受信データ格納部６１に格納する（ステップＳ４７）。
【００５１】
支店コンピュータのアンマスク処理部６２は、マスク格納部５４に格納されているマスクマトリクスＭＭを用いて受信データ格納部６１に格納されているマスク化マトリクスＭＫＭに対してアンマスク処理を実施する（ステップＳ４９）。具体的には、ＭＫＭ−ＭＭという行列演算を実施する。アンマスク化されたマトリクスのデータは、アンマスク化データ格納部６３に格納する。アンマスク化データ出力部６４は、出力装置又は支店の他のコンピュータ、若しくは支店コンピュータに別途設けられる更新処理部に、アンマスク化されたマトリクスのデータを出力する。支店の他のコンピュータ又は更新処理部などによって、アンマスク化されたマトリクスのデータ（すなわちオリジナルマトリクス）の更新を行い、更新結果を新たなオリジナルマトリクスＯＭとしてオリジナルデータ取得部５５に出力する。オリジナルデータ取得部５５は、オリジナルデータ格納部５６に格納する（ステップＳ５１）。なお、ステップＳ５１は、他のコンピュータの処理の場合もあるので、図１０では点線で示している。
【００５２】
そして、支店コンピュータのマスク処理部５７は、オリジナルデータ格納部５６に格納されている新たなオリジナルマトリクスに対して、マスク格納部５４に格納されているマスクマトリクスを適用してマスク化マトリクスを生成し、マスク化データ格納部５８に格納する（ステップＳ５３）。そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスをクラウドシステム３に送信する（ステップＳ５５）。
【００５３】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ５９）。
【００５４】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスを受信し、秘匿情報ＤＢ３３に登録する（ステップＳ５７）。
【００５５】
このような処理を行えば、支店コンピュータはマスク化マトリクスのデータ更新を実施することができる。
【００５６】
更新時にマスクマトリクスを生成し直してもよい。なお、マスクマトリクスの各要素の値は、オリジナルマトリクスの要素値の桁数等に応じて決定する。加算するわけであるから、オリジナルマトリクスの要素値に比して小さすぎる値を加算しても十分に秘匿化できないためである。
【００５７】
［実施の形態２］
実施の形態１では、全ての支店についての集計キーを合計すると０になるように集計キーを生成する例を示したが、必ずしも集計キーの合計が０でなくともよい。具体的には集計キーの合計値を調整値として保持しておき、クラウドシステム３から受信した集計結果から調整値を差し引けば真の集計値を得ることができるようになる。
【００５８】
このような処理の詳細について図１１を用いて説明する。なお、本部コンピュータ９の集計キー生成部９１は、本実施の形態では、乱数等によって各支店のためのランダムな集計キーＴＫi（ＴＫＨiとＴＫＶiとをまとめてＴＫと表すものとする。）を生成し、集計キー格納部９２に格納しておく。なお、全ての支店について集計キーを同じ値に設定するようにしても良い。
【００５９】
また、データ格納部９７には、支店コンピュータ５及び７の支店番号及びアドレス等を格納しておくものとする。
【００６０】
本部コンピュータの集計キー配布処理部９３は、データ格納部９７に格納されている、各支店コンピュータのアドレス宛に、当該支店コンピュータのための集計キーＴＫiを送信する（図１１：ステップＳ６１）。本実施の形態では、例えば全ての支店について異なる集計キーＴＫiを送信する。  
【００６１】
また、集計キー生成部９１は、集計キー格納部９２に格納されている全ての集計キーＴＫiを加算することで、調整値を生成し、集計キー格納部９２に格納する（ステップＳ６２）。
【００６２】
各支店コンピュータの集計キー取得部５１は、本部コンピュータ９から集計キーＴＫiを受信し、集計キー格納部５２に格納する（ステップＳ６３）。そして、マスク生成部５３は、集計キー格納部５２に格納されている集計キーからマスクキーを生成するマスク生成処理を実施する（ステップＳ６５）。このマスク生成処理については、図８と同じであるからこれ以上述べない。
【００６３】
図１１の処理に戻って、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭを適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ６７）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【００６４】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ６９）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータ５及び７で生成したオリジナルマトリクスＯＭであってもよい。
【００６５】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ７１）。
【００６６】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ７３）。
【００６７】
このような処理を、集計キーを配布した全ての支店コンピュータについて実施すれば、集計キーを配布した全ての支店についてのデータが秘匿情報ＤＢ３３に登録されたことになる。
【００６８】
その後任意のタイミングで、本部コンピュータ９は、本部集計担当者からの集計指示を受け付け、本部コンピュータ９の要求処理部９６は、集計要求をクラウドシステム３に送信する（ステップＳ７５）。なお、特定の行、特定の列、行のみ、列のみなど集計の種類を指示するようにしても良い。
【００６９】
クラウドシステム３の集計処理部３５は、本部コンピュータ９から集計要求を受信し、データ格納部３７に格納する（ステップＳ７７）。そして、集計処理部３５は、集計要求に従って指定の集計処理を実施し、集計結果をデータ格納部３７に格納する（ステップＳ７９）。集計処理の具体的な処理については従来技術であるので、ここでは詳細に説明しない。但し、特定の行番号を指定して行方向（列番号を変動させる）に集計を行う処理、特定の列番号を指定して列方向（行番号を変動させる）に集計を行う処理、各行番号について行方向に集計を行う処理、各列番号について列方向に集計を行う処理などを行う。
【００７０】
本実施の形態では、集計キーは相殺されないので、全支店についての集計キーの合計値、すなわち上で述べた調整値が真の集計結果に上乗せされている。但し、クラウドシステム３の集計処理部３５は特別な処理を行わない。
【００７１】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータ９に送信する（ステップＳ８１）。本部コンピュータ９の要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する（ステップＳ８３）。そして、出力処理部９４は、集計データ格納部９５に格納されている集計結果から集計キー格納部９２に格納されている調整値における該当値を差し引くことにより調整し（ステップＳ８５）、調整結果を出力装置（例えば表示装置、プリンタ）又は他のコンピュータに出力する（ステップＳ８７）。調整値は、集計キーと同一形状の行列であるから、集計要求で指定した行又は列についての値を該当値として用いる。
【００７２】
このようにすれば、クラウドシステム３の集計処理部３５に対して修正を行わずに、本部コンピュータ９で調整を行うことで、真の集計結果を得ることができるようになる。
【００７３】
なお、各支店ｉについての集計キーＴＫiを０に設定することも可能である。このようにすれば、本実施の形態でも調整値が０となるので、実質的に調整を行わなくても良いようになる。
【００７４】
また、第１及び第２の実施の形態における集計キーの配布については、別途メールその他の手段によって行うようにしても良い。
【００７５】
［実施の形態３］
第１及び第２の実施の形態では、集計キーを本部コンピュータ９から支店コンピュータ５及び７に配布するような構成を採用していたが、本部コンピュータ９の関与無くして相殺可能な集計キーを生成するような形態も可能である。
【００７６】
本実施の形態に係る支店コンピュータ７は、例えば図１２に示すような構成を有する。但し、本実施の形態では、図４と同じ参照番号の構成要素については同一の機能を有するものとする。図４と図１２の差異は、集計キー通信部１５１と第２集計キー格納部１５２とマスク生成部１５３とを、集計キー取得部５１と集計キー格納部５２とマスク生成部５３との代わりに導入する。さらに、支店コンピュータの支店番号及びアドレス等を格納するデータ格納部１５４を新たに導入する。
【００７７】
集計キー通信部１５１は、支店コンピュータ間で集計キーを調整するための調整集計キーなどを他の支店コンピュータから受信し、新たな調整集計キーを送信する。マスク生成部１５３は、マスクマトリクスＭＭを生成すると共に、当該マスクマトリクスＭＭの集計キーである個別集計キーを生成し、さらに新たな調整集計キーを生成するといった処理等を行う。また、マスク生成部１５３は、使用すべき集計キーを算出する処理をも行う場合がある。なお、本実施の形態では、Ｎ個の支店コンピュータが存在する場合には、Ｎ番目の支店コンピュータが処理の起点となる。
【００７８】
次に、図１３及び図１４を用いて本実施の形態の処理を説明する。まず、Ｎ番目の支店コンピュータ（ここでは３番目の支店コンピュータＣ）の集計キー通信部１５１は、ダミーの調整集計キーＴＫ０を生成し、第２集計キー格納部１５２に保管すると共に、１番目の支店コンピュータである支店コンピュータＡに調整集計キーを送信する。ダミーの調整集計キーＴＫ０を送信することで、真の集計キーを他の支店コンピュータにさらすことなく調整集計キーを送ることができるようになる。
【００７９】
これに対して支店コンピュータＡの集計キー通信部１５１は、Ｎ番目の支店コンピュータから調整集計キーＴＫ０を受信し、第２集計キー格納部１５２に格納する（ステップＳ９１）。支店コンピュータＡのマスク生成部１５３は、マスクマトリクスＭＭ1を生成し、マスク格納部５４に格納する（ステップＳ９３）。本実施の形態では、オリジナルマトリクスＯＭと同一形状のマトリクスにおいて各要素値を乱数等で生成することで、マスクマトリクスを生成する。このとき、集計キーの制約なしでマスクマトリクスＭＭ1を生成することができる。
【００８０】
また、マスク生成部１５３は、生成したマスクマトリクスＭＭ1から個別集計キーＴＫ１を生成し、第２集計キー格納部１５２に格納する（ステップＳ９５）。個別集計キーＴＫ１は、第２の実施の形態の集計キーと同じようにして算出される。すなわち、マスクマトリクスＭＭにおいて、列方向に（行番号を変更しつつ）同一の列番号の要素値を合計する処理と、行方向に（列番号を変更しつつ）同一の行番号の要素値を合計する処理とを行うことで集計キーＴＫＨ1及びＴＫＶ1を生成する。
【００８１】
そして、集計キー通信部１５１は、受信した調整集計キーＴＫ０と生成した個別集計キーとを加算して、新たな調整集計キーＴＫ１を生成して、２番目の支店コンピュータＢのアドレス等をデータ格納部１５４に格納されているデータから特定して、当該支店コンピュータＢに送信する（ステップＳ９７）。支店コンピュータ間の通信は暗号化などで秘匿化する。
【００８２】
なお、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭを適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ９９）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【００８３】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ１０１）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータＡで生成したオリジナルマトリクスＯＭであってもよい。
【００８４】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１０５）。
【００８５】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１０３）。
【００８６】
さらに、支店コンピュータＢの集計キー通信部１５１は、支店コンピュータＡから調整集計キーＴＫ１を受信し、第２集計キー格納部１５２に格納する（ステップＳ１０７）。これとは別に、支店コンピュータＢのマスク生成部１５３は、マスクマトリクスＭＭ2を、集計キーの制約なしで生成し、マスク格納部５４に格納する（ステップＳ１０９）。さらに、マスク生成部１５３は、マスクマトリクスＭＭ2から個別集計キーを生成し、第２集計キー格納部１５２に格納する（ステップＳ１１１）。
【００８７】
そして、集計キー通信部１５１は、受信した調整集計キーＴＫ１と生成した個別集計キーとを加算して、新たな調整集計キーＴＫ２を生成して、３番目の支店コンピュータＣのアドレス等をデータ格納部１５４に格納されているデータから特定して、当該支店コンピュータＣに送信する（ステップＳ１１３）。処理は端子Ａを介して図１４の処理移行する。
【００８８】
支店コンピュータＢの集計キー通信部１５１は、３番目の支店コンピュータＣのアドレス等をデータ格納部１５４に格納されているデータから特定して、当該支店コンピュータＣに送信する（ステップＳ１１５）。支店コンピュータ間の通信は暗号化などで秘匿化する。
【００８９】
なお、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭ2を適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ１１７）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【００９０】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ１１９）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータＢで生成したオリジナルマトリクスＯＭであってもよい。
【００９１】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１２３）。
【００９２】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１２１）。
【００９３】
一方、支店コンピュータＣの集計キー通信部１５１は、支店コンピュータＢから調整集計キーＴＫ２を受信し（ステップＳ１２５）、第２集計キー格納部１５２に格納する。そして、マスク生成部１５３は、調整集計キーＴＫ２からダミーの調整集計キーＴＫ０を差し引くことで、他の支店についての個別集計キーを相殺するための支店Ｃについての集計キー（−（ＴＫ２−ＴＫ０））を生成し、さらに図８に示したような処理を行ってこの集計キーの制約の下、マスクマトリクスＭＭ3を生成し、マスク格納部５４に格納する（ステップＳ１２７）。
【００９４】
そして、支店コンピュータＣのマスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭ3を適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ１２９）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【００９５】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ１３１）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータＣで生成したオリジナルマトリクスＯＭであってもよい。
【００９６】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１３５）。
【００９７】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１３３）。
【００９８】
以上の処理を実施することで、第１の実施の形態と同様のデータがクラウドシステム３の秘匿情報ＤＢ３３に蓄積されたことになる。
【００９９】
従って、図７のステップＳ１５乃至Ｓ２５を実施すれば、本部コンピュータ９では、真の集計キーを特別な処理を行わずに得ることができるようになる。
【０１００】
なお、上で述べた処理は以下のような処理に変形することも可能である。Ｎ個の支店コンピュータのうちＮ−１個の支店コンピュータが、自由にマスクマトリクスＭＭを生成し、そのマスクマトリクスＭＭの集計キーを生成して本部コンピュータに送信する。本部コンピュータは、Ｎ−１個の支店コンピュータからＮ−１個の集計キーを受信すると、それらを加算して合計集計キーを算出し、符号を逆転することによってＮ−１個の支店についての集計キーを相殺するための相殺集計キーを生成し、Ｎ番目の支店コンピュータに送信する。Ｎ番目の支店コンピュータは、相殺集計キーからマスクマトリクスを生成する。このようにすれば、支店コンピュータ間の通信なしでも全ての支店コンピュータで集計キーを相殺するようなマスクマトリクスを各支店コンピュータで生成できるようになる。
【０１０１】
さらに、上で述べた例では１つの支店コンピュータで残りの支店コンピュータの集計キー合計を相殺するような集計キーを採用することになっているが、複数の支店コンピュータで残りの支店コンピュータの集計キー合計を相殺するような集計キーを採用するようにしてもよい。この複数の支店コンピュータの集計キーで均等に合計集計キーを相殺するようにしても良いし、不均一に相殺するようにしても良い。例えば、支店コンピュータをいくつかのグループに分類して、そのグループ内で合計集計キーを相殺するようにしてもよい。
【０１０２】
［実施の形態４］
第３の実施の形態では、起点となる支店コンピュータ以外の支店コンピュータでは自由にマスクマトリクスＭＭを生成できるが、全ての支店コンピュータにおける集計キーを合計すると０になるようにするため、支店コンピュータ間で調整集計キーの通信を行うことになる。
【０１０３】
例えば本実施の形態のような構成を採用することによって全ての支店コンピュータにおいて自由にマスクマトリクスＭＭを生成できるようになる。
【０１０４】
なお、本実施の形態において支店コンピュータ５及び７については例えば図１２に示したような構成を採用する。また、本部コンピュータ９には、図１５に示すような構成を採用する。
【０１０５】
図１５の本部コンピュータ９は、集計キー受信部１９１と、第２集計キー格納部１９２と、調整値生成部１９３と、第２データ格納部１９４と、出力処理部９４と、集計データ格納部９５と、要求処理部９６とを有する。図３と同じ参照符号の構成要素は同様の処理を実施する。集計キー受信部１９１は、支店コンピュータから集計キーを受信すると、第２集計キー格納部１９２に格納する。調整値生成部１９３は、第２集計キー格納部１９２に格納されている集計キーを合計して調整値を生成し、第２集計キー格納部１９２に格納する。なお、調整値生成部１９３は、第２データ格納部１９４に格納されている支店番号リストなどを確認して、全ての支店コンピュータの集計キーを加算したかを確認する。
【０１０６】
次に、図１６を用いて本実施の形態における処理を説明する。
【０１０７】
各支店コンピュータのマスク生成部１５３は、集計キーの制約なしに、マスクマトリクスＭＭを生成し、マスク格納部５４に格納する（ステップＳ１４１）。また、マスク生成部１５３は、生成したマスクマトリクスから集計キーを生成し、第２集計キー格納部１５２に格納する（ステップＳ１４３）。そして、集計キー通信部１５１は、データ格納部１５４に格納されている本部コンピュータ９のアドレス宛に、第２集計キー格納部１５２に格納されている集計キーを送信する（ステップＳ１４５）。本部コンピュータ９の集計キー受信部１９１は、いずれかの支店コンピュータから集計キーを受信すると、第２集計キー格納部１９２に格納する（ステップＳ１４７）。
【０１０８】
任意のタイミングで、調整値生成部１９３は、第２データ格納部１９４に格納されている支店番号リストなどに基づき全ての支店コンピュータから集計キーを受信しているか確認して、全集計キーを受信済みであれば、全集計キーを加算して調整値を生成し、第２集計キー格納部１９２に格納する（ステップＳ１５７）。
【０１０９】
一方、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭを適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ１４９）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【０１１０】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ１５１）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータ５及び７で生成したオリジナルマトリクスＯＭであってもよい。
【０１１１】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１５５）。
【０１１２】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１５３）。
【０１１３】
このような処理を、集計キーを配布した全ての支店コンピュータについて実施すれば、集計キーを配布した全ての支店についてのデータが秘匿情報ＤＢ３３に登録されたことになる。
【０１１４】
その後任意のタイミングで、本部コンピュータ９は、本部集計担当者からの集計指示を受け付け、本部コンピュータ９の要求処理部９６は、集計要求をクラウドシステム３に送信する（ステップＳ１６１）。なお、特定の行、特定の列、行のみ、列のみなど集計の種類を指示するようにしても良い。
【０１１５】
クラウドシステム３の集計処理部３５は、本部コンピュータ９から集計要求を受信し、データ格納部３７に格納する（ステップＳ１６３）。そして、集計処理部３５は、集計要求に従って指定の集計処理を実施し、集計結果をデータ格納部３７に格納する（ステップＳ１６５）。集計処理の具体的な処理については従来技術であるので、ここでは詳細に説明しない。但し、特定の行番号を指定して行方向（列番号を変動させる）に集計を行う処理、特定の列番号を指定して列方向（行番号を変動させる）に集計を行う処理、各行番号について行方向に集計を行う処理、各列番号について列方向に集計を行う処理などを行う。
【０１１６】
本実施の形態では、集計キーは相殺されないので、全支店についての集計キーの合計値、すなわち上で述べた調整値が真の集計結果に上乗せされている。但し、クラウドシステム３の集計処理部３５は特別な処理を行わない。
【０１１７】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータ９に送信する（ステップＳ１６７）。本部コンピュータ９の要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する（ステップＳ１６９）。そして、出力処理部９４は、集計データ格納部９５に格納されている集計結果から、第２集計キー格納部１９２に格納されている調整値を差し引くことにより調整し（ステップＳ１７１）、調整結果を出力装置（例えば表示装置、プリンタ）又は他のコンピュータに出力する（ステップＳ１７３）。
【０１１８】
このようにすれば、支店コンピュータは自由にマスクマトリクスを生成することができるので、処理負荷を下げることができる。また、支店コンピュータは他の支店コンピュータのデータを保持しなくとも済む。
【０１１９】
［実施の形態５］
上で述べた実施の形態では、分かりやすいようにオリジナルマトリクスは２次元マトリクスの例を示していた。しかし、２次元以上のマトリクスであっても良い。例えば、図１７に示すように３次元マトリクスであってもよい。マスクマトリクスＭＭも同一形状である。図１７の例では、マスクマトリクスＭＭは直方体であり、場所ｒ、病気ｐ、年齢ｑの３軸が用意されており、２次元マトリクスの同様に、例えばｐ個の病気のうちｐ−１個の病気とｑ−１個の年齢とｒ−１個の場所との各組み合わせに対して乱数等によって要素値を生成する。これが図１７のハッチング付きの直方体部分であり、その外側の部分を調整することで、与えられた集計キーが得られるようにする。
【０１２０】
すなわち、図１８に示すように、病気ｐ方向の集計値についての集計キーＴＫｐ（ｑ，ｒ）と、年齢ｑ方向の集計値についての集計キーＴＫｑ（ｐ，ｒ）と、場所ｒ方向の集計値についての集計キーＴＫｒ（ｐ，ｑ）とが与えられる。
【０１２１】
例えば、マスクマトリクスにおけるｐｑ平面の最も外側の要素値は、以下のように設定する。
ＴＫｐ（１，１）−Σpａ（ｐ，１，１），ＴＫｐ（２，１）−Σpａ（ｐ，２，１），・・・，ＴＫｐ（ｑmax−１，１）−Σpａ（ｐ，ｑmax−１，１）
ここでΣはｐを１乃至ｐmax−１まで変更して加算することを意味する。
ＴＫｑ（１，１）−Σqａ（１，ｑ，１），ＴＫｑ（２，１）−Σqａ（２，ｑ，１），・・・，ＴＫｑ（ｐmax，１）−Σqａ（ｐmax，ｑ，１）
ここでΣｑを１乃至ｑmaxまで変更して加算することを意味する。
【０１２２】
さらに、このような計算をｒ＝ｒmax−１まで実施する。そして、ｒ＝ｒmaxについては、ｐ＝１からｐmaxまで及びｑ＝１からｑmaxまでの全ての組み合わせ（ｐa，ｑa）について、以下のような計算を行う。
ＴＫｒ（ｐa，ｑa）−Σrａ（ｐa，ｑa，ｒ）
ここでΣはｒを１乃至ｒmax−１まで変更して加算することを意味する。
【０１２３】
このような場合には、集計キーが用意されている方向の集計及び当該集計結果を用いる集計について、正しい集計結果を得ることができる。上で述べた例では、場所、病気、年齢の集計結果、場所と病気との組み合わせ、病気と年齢との組み合わせ、場所と年齢との組み合わせについての集計結果を得ることができる。
【０１２４】
なお、このような演算は、次元数が増加しても同様である。
【０１２５】
［実施の形態６］
上で述べた実施の形態では、図６中に「真の集計値」と述べた部分については値を得ることができるようになる。しかしながら、Σａi1のみ、Σｂi1といった、全てのオリジナルマトリクスの加算結果における特定の要素の値のみを得ることができない。
【０１２６】
そこで、以下に示すような構成及び処理によって、特定の利用者には全てのオリジナルマトリクスにおける特定の要素の値のみを得ることができるようにする。
【０１２７】
本実施の形態において、本部コンピュータ９には、図１９に示すような構成を採用する。
【０１２８】
図１９の本部コンピュータ９は、マスク生成部２９１と、マスク格納部２９２と、マスク配布処理部２９３と、第２出力処理部２９４と、集計データ格納部９５と、要求処理部９６とを有する。図３と同じ参照符号の構成要素は同様の処理を実施する。マスク生成部２９１は、各支店用のマスクマトリクスを生成し、マスクマトリクスの加算結果と共にマスク格納部２９２に格納する。また、マスク配布処理部２９３は、データ格納部９７に格納されている支店番号とアドレス等とに基づきマスクマトリクスを各支店コンピュータに配布する。また、第２出力部２９４は、マスク格納部２９２に格納されているデータを用いて、集計データ格納部９５に格納されているデータを処理して、出力する。
【０１２９】
また、本実施の形態に係る支店コンピュータ７は、例えば図２０に示すような構成を有する。但し、本実施の形態では、図４と同じ参照番号の構成要素については同一の機能を有するものとする。図４と図１２の差異は、集計キー取得部５１及び集計キー格納部５２が存在せず、マスク生成部５３の代わりにマスク取得部２５３が設けられている。マスク取得部２５３は、マスクマトリクスをマスク格納部５４に格納する。
【０１３０】
次に、図２１乃至図２３を用いて本実施の形態における処理フローを示す。
【０１３１】
本部コンピュータ９のマスク生成部２９１は、各支店のためのマスクマトリクスＭ1乃至Ｍn-1を例えば乱数等によって生成し、マスク格納部２９２に格納する（ステップＳ１８１）。さらに、マスク生成部２９１は、マスクマトリクスＭ1乃至Ｍnについて行方向の集計値及び列方向の集計値が全て０になるように、生成したマスクマトリクスＭ1乃至Ｍn-1からマスクマトリクスＭnを生成し、マスク格納部５４に格納する（ステップＳ１８３）。例えば、マスクマトリクスＭnの１行１列以外は乱数等で要素値を決定し、この要素値と他のマスクマトリクスＭ1乃至Ｍn-1の要素値とから集計キーが０となるように、当該１行１列の値を決定するようにしても良い。
【０１３２】
そして、マスク配布処理部２９３は、データ格納部９７に格納されているデータに従って、各支店コンピュータに、マスク格納部２９２に格納されている当該支店用のマスクマトリクスを配布する（ステップＳ１８５）。さらに、マスク生成部２９１は、マスクマトリクスと同一形状の復号キーＫ＝ΣiＭiを生成し、マスク格納部２９２に格納する（ステップＳ１８７）。復号キーＫについては、第２出力処理部２９４で用いられる。また、ステップＳ１８３からして、復号キーＫの縦方向の集計値及び横方向の集計値は０となっている。なお、ステップ１８７の後に、マスクマトリクスについては削除する。これによって本部コンピュータの利用者が、各支店のマスク化データを復号できないようにする。
【０１３３】
一方、各支店コンピュータ５のマスク取得部２５３は、自支店用のマスクマトリクスを本部コンピュータ９から受信し、マスク格納部５４に格納する（ステップＳ１８９）。
【０１３４】
また、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭ（オリジナルデータとも呼ぶ）に、マスク格納部５４に格納されているマスクマトリクスＭＭを適用し、マスク化マトリクスＭＫＭ（マスク化データとも呼ぶ）を生成し、マスク化データ格納部５８に格納する（ステップＳ１９１）。具体的には、オリジナルマトリクスＯＭ＋マスクマトリクスＭＭという行列の加算を行う。
【０１３５】
そして、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭをクラウドシステム３に送信する（ステップＳ１９３）。なお、オリジナルマトリクスＯＭについては、支店担当者等からの指示によりオリジナルデータ取得部５５が支店の他のコンピュータなどから取得して、オリジナルデータ格納部５６に格納する。支店コンピュータ５及び７で生成したオリジナルマトリクスＯＭであってもよい。
【０１３６】
また、データ秘匿のため、マスク処理部５７は、オリジナルデータ格納部５６に格納されているオリジナルマトリクスＯＭを破棄し、データ送信部５９は、マスク化データ格納部５８に格納されているマスク化マトリクスＭＫＭを破棄する（ステップＳ１９５）。
【０１３７】
クラウドシステム３のデータ登録部３１は、支店コンピュータからマスク化マトリクスＭＫＭを受信し、例えば支店番号等と対応付けて秘匿情報ＤＢ３３に登録する（ステップＳ１９７）。
【０１３８】
このような処理を、マスクマトリクスを配布した全ての支店コンピュータについて実施すれば、集計キーを配布した全ての支店についてのデータが秘匿情報ＤＢ３３に登録されたことになる。
【０１３９】
秘匿情報ＤＢ３３に格納されているデータ等について模式的に示せば図２２のようになる。支店１では、オリジナルマトリクスＯＭ１＋マスクマトリクスＭ1が算出され、秘匿データ（すなわちマスク化マトリクス）としてＯＭ1＋Ｍ1が秘匿情報ＤＢ３３に登録される。他の支店についても同様の演算が行われ、同様の秘匿データが秘匿情報ＤＢ３３に登録される。
【０１４０】
そうすると、秘匿データを全てマトリクスとして加算すると、ＯＭ1＋ＯＭ2＋・・・・・＋Ｋとなる。これは、ステップＳ１８７でマスクマトリクスＭiの合計が復号キーＫとして算出しているためである。従って、復号キーＫを有するならば、ＯＭ1＋ＯＭ2＋・・・＋ＯＭnが得られるため、全オリジナルマトリクスについてセル（要素）毎の集計値を得ることができる。一方、復号キーを有しない場合には、Ｍ1＋Ｍ2＋・・・＋Ｍn＝Ｋについて縦方向の集計値及び横方向の集計値が０になるようにマスクマトリクスが生成されているので、特別な演算を行わずに、ＯＭ1＋ＯＭ2＋・・・＋ＯＭnについて横方向の集計値、縦方向の集計値を得ることができる。
【０１４１】
次に、集計処理を実施する際の処理について図２３を用いて説明する。但し、本実施の形態では、本部コンピュータのうち権限の低い集計担当者が操作する本部コンピュータＡ又は秘匿情報ＤＢ３３にアクセス権限を有するが権限の低い他の利用者が操作するコンピュータと、本部コンピュータのうち権限の高い集計担当者が操作する本部コンピュータＢとは異なる集計処理が行われる。
【０１４２】
まず、本部コンピュータＡの要求処理部９６は、権限の低い集計担当者からの集計指示を受け付け、本部コンピュータＡの要求処理部９６は、第１の集計要求をクラウドシステム３に送信する（ステップＳ２０１）。なお、特定の行、特定の列、行のみ、列のみなど集計の種類を指示するようにしても良い。
【０１４３】
クラウドシステム３の集計処理部３５は、本部コンピュータＡから第１の集計要求を受信し、データ格納部３７に格納する（ステップＳ２０３）。そして、集計処理部３５は、第１の集計要求に従って指定の集計処理を実施し、集計結果をデータ格納部３７に格納する（ステップＳ２０５）。集計処理の具体的な処理については従来技術であるので、ここでは詳細に説明しない。但し、特定の行番号を指定して行方向（列番号を変動させる）に集計を行う処理、特定の列番号を指定して列方向（行番号を変動させる）に集計を行う処理、各行番号について行方向に集計を行う処理、各列番号について列方向に集計を行う処理などを行う。
【０１４４】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータＡに送信する（ステップＳ２０７）。本部コンピュータ９の要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する。そして、出力処理部９４は、本実施の形態の形態では特別な処理を行わずに、出力装置（例えば表示装置、プリンタ）又は他のコンピュータに、集計データ格納部９５に格納されている集計結果を出力する（ステップＳ２０９）。
【０１４５】
このように集計処理の段階では特別な処理を行わずに真の集計結果を得ることができるようになる。
【０１４６】
一方、本部コンピュータＢの要求処理部９６は、権限の高い集計担当者からの集計指示を受け付け、本部コンピュータＢの要求処理部９６は、第２の集計要求をクラウドシステム３に送信する（ステップＳ２１１）。ここでは、全マスク化マトリクスの加算結果についてセル単位の集計値を要求したものとする。セルの一部を指定しても良い。
【０１４７】
そうすると、クラウドシステム３の集計処理部３５は、本部コンピュータＢから第２の集計要求を受信し、データ格納部３７に格納する（ステップＳ２１３）。そして、集計処理部３５は、第２の集計要求に従って全マスク化マトリクスについてセル毎に要素値を加算する処理（すなわち、マスク化マトリクスの全てを加算する処理）を実施し、この集計結果をデータ格納部３７に格納する（ステップＳ２１５）。
【０１４８】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータＢに送信する（ステップＳ２１７）。本部コンピュータＢの要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する（ステップＳ２１９）。そして、出力処理部９４は、マスク格納部２９２に格納されている復号キーＫを読み出し、集計データ格納部９５に格納されている集計結果から復号キーを差し引くことにより、セル単位の集計結果を表す集計結果マトリクスを生成し、出力装置（例えば表示装置、プリンタ）又は他のコンピュータに、集計結果マトリクスを出力する（ステップＳ２２１）。なお、集計結果マトリクスについては、集計データ格納部９５に格納するようにしても良い。
【０１４９】
以上のように、権限に応じて開示するデータ内容を変更するようにしても良い。なお、復号キーＫを有する担当者も、復号キーＫを有しない担当者と同様の集計処理を行わせることも可能である。
【０１５０】
さらに、復号キーＫについて縦方向の集計値及び縦方向の集計値を０にすることになっているが、０ではない所定値に設定すれば、復号キーと集計値とで、開示のさらなる段階化を行うことも可能となる。すなわち、何も有さないユーザには完全に秘匿化し、集計値を有するユーザには全オリジナルマトリクスについて横方向の集計値及び縦方向の集計値を開示し、復号キーを有するユーザには集計結果マトリクスを開示するといった段階化も可能となる。
【０１５１】
［実施の形態７］
第６の実施の形態では、全ての支店についてまとめて１つの復号キーを生成することにしていた。しかし、例えば全国に支店が存在する場合には、例えば都道府県単位又は市単位などで集計を行いたい場合もあるが、このような場合に対応できない。
【０１５２】
従って、予め定められた単位で支店をグループ化し、グループｊ毎に復号キーＫｊを生成し、復号キーＫｊにおいて縦方向の集計値及び横方向の集計値を０になるようにグループ内の各支店のためのマスクマトリクスＭｉを生成する。そうすれば、例えば都道府県毎に、オリジナルマトリクスにおける縦方向の集計結果及び横方向の集計結果並びに集計結果マトリクスを生成できるようになる。さらに、全支店についてのオリジナルマトリクスにおける縦方向の集計値及び横方向の集計値並びに集計結果マトリクスを算出することもできる。
【０１５３】
例えば、図２４に模式的に示すように、東京都、神奈川県、埼玉県に支店がある場合には、東京都の支店について縦方向及び横方向の集計値が０である復号キーＫ1を１つ生成し、神奈川県の支店について縦方向及び横方向の集計値が０である復号キーＫ2を１つ生成し、埼玉県の支店について縦方向及び横方向の集計値が０である復号キーＫ3を１つ生成する。そうすれば、東京都、神奈川県、埼玉県の単位だけではなく、全支店という観点からも集計値を算出することができる。
【０１５４】
従って、本部コンピュータ９は、以下のような処理を実施する。なお、データ格納部９７に、支店番号と住所とアドレス等とを登録しておくものとする。まず、本部コンピュータ９のマスク生成部２９１は、データ格納部９７に格納されているデータに基づき、支店のグループ化を行う（図２５：ステップＳ２３１）。例えばグループ化を都道府県単位で行う場合には、支店の住所から都道府県毎にグループ化する。
【０１５５】
そして、マスク生成部２９１は、未処理のグループｊを１つ特定する（ステップＳ２３３）。その後、マスク生成部２９１は、当該グループｊについて、各支店のためのマスクマトリクスＭ1乃至Ｍn-1を例えば乱数等によって生成し、マスク格納部２９２に格納する（ステップＳ２３５）。さらに、マスク生成部２９１は、当該グループｊについて、マスクマトリクスＭ1乃至Ｍnについて行方向の集計値及び列方向の集計値が全て０になるように、生成したマスクマトリクスＭ1乃至Ｍn-1からマスクマトリクスＭnを生成し、マスク格納部５４に格納する（ステップＳ２３７）。
【０１５６】
そして、マスク配布処理部２９３は、データ格納部９７に格納されているデータに従って、当該グループｊの各支店コンピュータに、マスク格納部２９２に格納されている当該支店用のマスクマトリクスを配布する（ステップＳ２３９）。さらに、マスク生成部２９１は、当該グループについて、マスクマトリクスと同一形状の復号キーＫj＝ΣiＭiを生成し、マスク格納部２９２に格納する（ステップＳ２４１）。復号キーＫjについては、第２出力処理部２９４で用いられる。また、ステップＳ２３７からして、復号キーＫjの縦方向の集計値及び横方向の集計値は０となっている。
【０１５７】
その後、マスク生成部２９１は、未処理のグループが存在するか判断し、未処理のグループが存在する場合にはステップＳ２３３に戻る。一方、未処理のグループが存在していない場合には、処理を終了する。
【０１５８】
各支店コンピュータにおける処理は第６の実施の形態と同じである。
【０１５９】
次に、集計処理の際の処理について図２６を用いて説明する。
【０１６０】
まず、本部コンピュータＡの要求処理部９６は、権限の低い集計担当者からの集計指示を受け付け、本部コンピュータＡの要求処理部９６は、集計単位の指定を含む第１の集計要求をクラウドシステム３に送信する（ステップＳ２５１）。上の例では東京都や神奈川県といった都道府県の単位又は全支店といった指定を行う。さらに、特定の行、特定の列、行のみ、列のみなど集計の種類を指示するようにしても良い。
【０１６１】
クラウドシステム３の集計処理部３５は、本部コンピュータＡから集計単位を含む第１の集計要求を受信し、データ格納部３７に格納する（ステップＳ２５３）。そして、集計処理部３５は、第１の集計要求に従って指定された集計単位についての集計処理を実施し、集計結果をデータ格納部３７に格納する（ステップＳ２５５）。集計処理の具体的な処理については従来技術であるので、ここでは詳細に説明しない。但し、指定された集計単位についてのマスク化マトリクスを全て加算した上で、特定の行番号を指定して行方向（列番号を変動させる）に集計を行う処理、特定の列番号を指定して列方向（行番号を変動させる）に集計を行う処理、各行番号について行方向に集計を行う処理、各列番号について列方向に集計を行う処理などを行う。
【０１６２】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータＡに送信する（ステップＳ２５７）。本部コンピュータ９の要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する。そして、出力処理部９４は、本実施の形態では特別な処理を行わずに、出力装置（例えば表示装置、プリンタ）又は他のコンピュータに、集計データ格納部９５に格納されている集計結果を出力する（ステップＳ２５９）。
【０１６３】
このように縦方向又は横方向についての集計処理の段階では特別な処理を行わずに真の集計結果を得ることができるようになる。
【０１６４】
一方、本部コンピュータＢの要求処理部９６は、権限の高い集計担当者から集計単位を含む集計指示を受け付け、本部コンピュータＢの要求処理部９６は、集計単位の指定を含む第２の集計要求をクラウドシステム３に送信する（図２７：ステップＳ２６１）。ここでは、東京都における全オリジナルマトリクスについてセル単位の集計値を要求したものとする。
【０１６５】
そうすると、クラウドシステム３の集計処理部３５は、本部コンピュータＢから集計単位を含む第２の集計要求を受信し、データ格納部３７に格納する（ステップＳ２６３）。そして、集計処理部３５は、第２の集計要求に従って集計単位に含まれるマスク化マトリクスを読み出し、読み出したマスク化マトリクスを全て加算する集計処理を実施し、この集計結果をデータ格納部３７に格納する（ステップＳ２６５）。上で述べた例では、東京都の支店についてのマスク化マトリクスを読み出す。
【０１６６】
そして、集計処理部３５は、データ格納部３７に格納された集計結果を本部コンピュータＢに送信する（ステップＳ２６７）。本部コンピュータＢの要求処理部９６は、クラウドシステム３から集計結果を受信し、集計データ格納部９５に格納する（ステップＳ２６９）。そして、出力処理部９４は、マスク格納部２９２に格納されている復号キーＫのうち指定集計単位についての復号キーを読み出し、集計データ格納部９５に格納されている集計結果から当該復号キーを差し引くことにより、セル単位の集計結果を表す集計結果マトリクスを生成し、出力装置（例えば表示装置、プリンタ）又は他のコンピュータに、集計結果マトリクスを出力する（ステップＳ２７１）。なお、集計結果マトリクスについては、集計データ格納部９５に格納するようにしても良い。上で述べた例では、東京都についての復号キーを集計結果から差し引くことによって、集計結果マトリクスを生成する。なお、埼玉県と東京都を指定した場合についても、集計結果マトリクスから埼玉県及び東京都の復号キーを２つ差し引けばよい。
【０１６７】
以上のように、権限に応じて開示するデータ内容を変更するようにしても良い。なお、復号キーＫを有する担当者も、復号キーＫを有しない担当者と同様の集計処理を行わせることも可能である。
【０１６８】
さらに、本実施の形態も第６の実施の形態と同じであり、復号キーＫについて縦方向の集計値及び縦方向の集計値を０にすることになっているが、０ではない所定値に設定すれば、復号キーと集計値とで、開示の段階化を行うことも可能となる。すなわち、何も有さないユーザには完全に秘匿化し、集計値を有するユーザには全オリジナルマトリクスについての横方向の集計値及び縦方向の集計値を開示し、復号キーを有するユーザには集計結果マトリクスを開示するといった段階化も可能となる。
【０１６９】
以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上では支店と本部という例のみを示したが、必ずしもこのような適用例に限定されるものではない。例えば、患者を１０代、２０代、３０代といったように年齢で区分し、さらに患者を病気の種類で区分して、各組み合わせについてマトリクスで管理するような場合にも適用できる。すなわち、このようなオリジナルマトリクスを病院毎に生成して、保健所などの本部に相当する機関が集計結果を利用するようなケースにも適用できる。
【０１７０】
また、上で述べた機能ブロック図は一例であって、実際のプログラムモジュール構成とは異なる場合もある。さらに、処理フローについても、処理結果が変わらないかぎり処理順番を入れ替えたり、並列に実施するようにしても良い。
【０１７１】
さらに、上で述べた技術は様々に変形可能であるから、各機能についてはネットワーク上の様々な位置に配置されることになる。すなわち、様々な装置間で協働して上で述べたような機能を実現する。
【０１７２】
例えば、クラウドシステム３に、本部コンピュータ９に相当する機能を有する装置を設けるようにしても良い。
【０１７３】
なお、上で述べた本部コンピュータ９及び支店コンピュータ５及び７並びにクラウドシステム３におけるコンピュータは、コンピュータ装置であって、図２８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１７４】
以上述べた本実施の形態をまとめると、以下のようになる。
【０１７５】
実施の形態の第１の態様に係る情報処理方法は、（Ａ）第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果（例えば、マスクマトリクスにおいて各次元方向について他の次元の要素番号の各々について集計を行った結果）が所定値になるようにマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップとを含む。
【０１７６】
所定値を適切に設定することによって、オリジナルマトリクスを秘匿しつつ、各次元方向についての集計結果を得ることができるようになる。例えば、このようにマスク化マトリクスを生成する全コンピュータの所定値の合計がゼロになるようにすれば、特別な集計処理を行うことなく各次元方向についての集計結果を得ることができる。たとえ所定値の合計がゼロでなくとも、所定値の合計（以下で述べる調整値）を有していれば、正しい集計結果を得ることができる。例えば、所定値は集計処理を行うユーザ等が指定する。
【０１７７】
また、実施の形態の第１の態様に係る情報処理方法は、（Ｄ）他のコンピュータ（例えば所定値の通知元である第３のコンピュータ又は第２のコンピュータ）が、複数のユーザからのマスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、複数のユーザについての所定値を加算することで算出される調整値のうちの他の次元の特定の要素番号についての値を差し引く演算を実施するステップをさらに含むようにしてもよい。所定値の合計が０でない場合でも、複数のユーザについての全てのオリジナルマトリクスに対して特定の次元方向に他の次元の特定の要素番号について集計を行った結果の合計値を得ることができる。
【０１７８】
なお、実施の形態の第１の態様においては、複数のユーザについての所定値を加算すると０となるようにしてもよい。このようにすれば、集計処理を簡単にすることができる。さらに、複数のユーザが複数セット存在するような場合もある。所定値の合計が０であれば、例えば東京の支店群、神奈川の支店群でグループを構成するようにすれば、東京と神奈川とで分けて集計処理を行うこともできるし、東京と神奈川で合わせて集計処理を行うことも可能である。
【０１７９】
また、実施の形態における第１の態様に係る情報処理方法は、（Ｅ）複数のユーザのうちいずれかのユーザのコンピュータから通知された第１の値から当該第１の値を相殺するように所定値を算出するステップをさらに含むようにしてもよい。例えば、ユーザのグループで所定値の合計に制約が課されている場合には、このように他のユーザから通知された値から所定値を算出すれば、制約を満たすことができるようになる。
【０１８０】
本実施の形態における第２の態様に係る情報処理方法は、（Ａ）第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、（Ｄ）記憶装置に格納されているマスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を複数のユーザのうちいずれかのユーザのコンピュータ又は第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知ステップとを含む。
【０１８１】
このように、複数のユーザ間で連携が可能であれば、自由にマスクマトリクスを生成できる場合もある。その場合にも、集計の結果に基づく値を上で述べたように用いるコンピュータに送信することによって、集計処理に対処できるようになる。具体的には複数のユーザ間で複数のユーザについてのマスクマトリクスにおける各次元方向の集計値を調整する場合もあれば、集計処理の結果を調整する場合もある。
【０１８２】
また、本実施の形態における第２の態様に係る情報処理方法は、（Ｅ）第３のコンピュータ又は第２のコンピュータが、複数のユーザのコンピュータから受信した集計の結果に基づく値を加算して調整値を生成するステップと、（Ｆ）第３のコンピュータ又は第２のコンピュータが、複数のユーザからのマスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、調整値のうち他の次元の特定の要素番号についての値を差し引く演算を実施するステップとをさらに含むようにしてもよい。このように、集計結果を調整値により調整するようにしても良い。
【０１８３】
また、本実施の形態における第２の態様に係る情報処理方法は、（Ｇ）複数のユーザのうちの他のユーザのコンピュータから第１の値を受信するステップをさらに含むようにしてもよい。その際、上で述べた通知ステップにおいて、第１の値と集計の結果とを加算することで集計の結果に基づく値を算出すると共に、集計の結果に基づく値を複数のユーザのうちのさらに他のユーザのコンピュータに送信するようにしてもよい。このように、複数のユーザ間で調整を行うことも可能である。
【０１８４】
本実施の形態における第３の態様に係る情報処理方法は、（Ａ）第２のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するステップと、（Ｂ）第１のデータ格納部に格納されているオリジナルマトリクスと記憶装置に格納されているマスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、（Ｃ）第２のデータ格納部に格納されているマスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第３のコンピュータに送信するステップとを含む。そして、マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを複数のユーザに対して分解することで得られるマトリクスである。
【０１８５】
このようなマスクマトリクスを配布して復号マトリクスを用意することで、上記複数のユーザについてのオリジナルマトリクスの加算結果さえも得ることができるようになる。
【０１８６】
さらに、本実施の形態における第３の態様に係る情報処理方法は、（Ｄ）他のコンピュータ（例えば第３のコンピュータ又は第２のコンピュータ）が、複数のユーザからのマスク化マトリクスについて同一要素の値を加算した結果である合計マスク化マトリクスから復号マトリクスを引くことにより、複数のユーザの全てのオリジナルマトリクスを加算した結果を取得するステップをさらに含むようにしてもよい。このようにすれば、オリジナルマトリクス自体は得ることはできないが、複数のユーザの全てのオリジナルマトリクスを加算した結果を得ることができるようになる。
【０１８７】
なお、本実施の形態における第３の態様において、複数のユーザが複数セット存在する場合もある。このようにすれば、セット毎に集計を行うことができ、さらに複数のセットまとめて集計を行うことができるようになる。
【０１８８】
なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、ＣＤ−ＲＯＭなどの光ディスク、光磁気ディスク、半導体メモリ（例えばＲＯＭ）、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、ＲＡＭ等の記憶装置に一時保管される。
【０１８９】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１９０】
（付記１）
コンピュータにより実行される情報処理方法であって、
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるように前記マスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、
を含む情報処理方法。
【０１９１】
（付記２）
他のコンピュータが、前記複数のユーザからの前記マスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、前記複数のユーザについての前記所定値を加算することで算出される調整値のうちの前記他の次元の特定の要素番号についての値を差し引く演算を実施するステップ
をさらに含む付記１記載の情報処理方法。
【０１９２】
（付記３）
前記複数のユーザについての前記所定値を加算すると０となる
付記１記載の情報処理方法。
【０１９３】
（付記４）
前記複数のユーザの組が複数存在する
付記３記載の情報処理方法。
【０１９４】
（付記５）
前記複数のユーザのうちいずれかのユーザのコンピュータから通知された第１の値から当該第１の値を相殺するように前記所定値を算出するステップ
をさらに含む付記１又は２記載の情報処理方法。
【０１９５】
（付記６）
コンピュータにより実行される情報処理方法であって、
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信するステップと、
前記記憶装置に格納されている前記マスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を前記複数のユーザのうちいずれかのユーザのコンピュータ又は前記第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知ステップと、
を含む情報処理方法。
【０１９６】
（付記７）
前記第３のコンピュータ又は前記第２のコンピュータが、前記複数のユーザのコンピュータから受信した前記集計の結果に基づく値を加算して調整値を生成するステップと、
前記第３のコンピュータ又は前記第２のコンピュータが、前記複数のユーザからの前記マスク化マトリクスに対して特定の次元方向に他の次元における特定の要素番号について集計を行った結果の合計値から、前記調整値のうち前記他の次元の特定の要素番号についての値を差し引く演算を実施するステップと、
をさらに含む付記６記載の情報処理方法。
【０１９７】
（付記８）
前記複数のユーザのうちの他のユーザのコンピュータから第１の値を受信するステップ
をさらに含み、
前記通知ステップにおいて、
前記第１の値と前記集計の結果とを加算することで前記集計の結果に基づく値を算出すると共に、前記集計の結果に基づく値を前記複数のユーザのうちのさらに他のユーザのコンピュータに送信する
付記６記載の情報処理方法。
【０１９８】
（付記９）
コンピュータにより実行される情報処理方法であって、
第２のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するステップと、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するステップと、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第３のコンピュータに送信するステップと、
を含み、
前記マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを前記複数のユーザに対して分解することで得られるマトリクスである
情報処理方法。
【０１９９】
（付記１０）
他のコンピュータが、前記複数のユーザからの前記マスク化マトリクスを加算した結果である合計マスク化マトリクスから前記復号マトリクスを引くことにより、前記複数のユーザの全てのオリジナルマトリクスを加算した結果を取得するステップ、
をさらに含む付記９記載の情報処理方法。
【０２００】
（付記１１）
前記複数のユーザの組が複数存在する
付記９記載の情報処理方法。
【０２０１】
（付記１２）
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおいて各次元方向についての集計結果が所定値になるように前記マスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するマスク値生成部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
を有する情報処理装置。
【０２０２】
（付記１３）
第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスにおける各要素のマスク値を生成し、記憶装置に格納するマスク値生成部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算してマスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第２のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
前記記憶装置に格納されている前記マスクマトリクスにおいて各次元方向についての集計を実施し、当該集計の結果に基づく値を前記複数のユーザのうちいずれかのユーザのコンピュータ又は前記第２のコンピュータに蓄積されたデータを利用する第３のコンピュータに送信する通知部と、
を有する情報処理装置。
【０２０３】
（付記１４）
第１のコンピュータから、第１のデータ格納部に格納されている２次元以上のオリジナルマトリクスと同一形状のマスクマトリクスを受信し、記憶装置に格納するマスク取得部と、
前記第１のデータ格納部に格納されている前記オリジナルマトリクスと前記記憶装置に格納されている前記マスクマトリクスとを加算して、マスク化マトリクスを生成し、第２のデータ格納部に格納するマスク処理部と、
前記第１のデータ格納部に格納されている前記マスク化マトリクスを、複数のユーザのコンピュータからのデータを蓄積する第２のコンピュータに送信する登録部と、
を有し、
前記マスクマトリクスが、各次元方向についての集計結果が０となっている復号マトリクスを前記複数のユーザに対して分解することで得られるマトリクスである
情報処理装置。
【符号の説明】
【０２０４】
１      ネットワーク
３      クラウドシステム
９      本部コンピュータ
５,７      支店コンピュータ
３      クラウドシステム
３３      秘匿情報ＤＢ
３１      データ登録部
３５      集計処理部
３７      データ格納部
９１      集計キー生成部
９２      集計キー格納部
９３      集計キー配布処理部
９４      出力処理部
９５      集計データ格納部
９６      要求処理部
９７      データ格納部
５１      集計キー取得部
５２      集計キー格納部
５３      マスク生成部
５４      マスク格納部
５５      オリジナルデータ取得部
５６      オリジナルデータ格納部
５７      マスク処理部
５８      マスク化データ格納部
５９      データ送信部
６０      データ取得部
６１      受信データ格納部
６２      アンマスク処理部
６３      アンマスク化データ格納部
６４      アンマスク化データ出力部
【図１】
2012083536.tif 000003
【図２】
2012083536.tif 000004
【図３】
2012083536.tif 000005
【図４】
2012083536.tif 000006
【図５】
2012083536.tif 000007
【図６】
2012083536.tif 000008
【図７】
2012083536.tif 000009
【図８】
2012083536.tif 000010
【図９】
2012083536.tif 000011
【図１０】
2012083536.tif 000012
【図１１】
2012083536.tif 000013
【図１２】
2012083536.tif 000014
【図１３】
2012083536.tif 000015
【図１４】
2012083536.tif 000016
【図１５】
2012083536.tif 000017
【図１６】
2012083536.tif 000018
【図１７】
2012083536.tif 000019
【図１８】
2012083536.tif 000020
【図１９】
2012083536.tif 000021
【図２０】
2012083536.tif 000022
【図２１】
2012083536.tif 000023
【図２２】
2012083536.tif 000024
【図２３】
2012083536.tif 000025
【図２４】
2012083536.tif 000026
【図２５】
2012083536.tif 000027
【図２６】
2012083536.tif 000028
【図２７】
2012083536.tif 000029
【図２８】
2012083536.tif 000030