第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納するステップと、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納するステップと、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納するステップと、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップと、を含み、コンピュータにより実行される秘匿分析処理方法。前記第2の鍵が、前記第1のユーザのデータ及び前記第2のユーザのデータにおける担当データ項目のための桁を含み、前記分析結果秘匿化ステップにおいて前記分析結果データにおける秘匿化部分に含まれるデータ項目のデータ値と、前記第2の鍵において対応する桁との排他的論理和を算出する請求項1記載の秘匿分析処理方法。前記第1のユーザが複数である場合、前記第1のユーザの各々の第1の鍵について、前記第3の鍵を生成する請求項1又は2記載の秘匿分析処理方法。第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納するステップと、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納するステップと、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を分析部に実施させ、当該分析部から分析結果データを取得して第3のデータ格納部に格納するステップと、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップと、を、コンピュータに実行させるための秘匿分析処理プログラム。第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部と、前記第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納する鍵生成部と、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部と、前記第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納する分析データ生成部と、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納する分析処理部と、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化部と、を有する秘匿分析処理装置。従って、本技術の目的は、一側面として、複数のユーザのデータを他のユーザ及び分析者にも秘匿化したまま分析処理を実施できるようにするための技術を提供することである。本方法は、A第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている第1の鍵と第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を第1のデータ格納部に格納するステップと、B第1のユーザの秘密鍵と第1のユーザのデータとの排他的論理和である第1の秘匿化データと、第2のユーザの秘密鍵と第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている第1の秘匿化データと、第1のデータ格納部に格納されている第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、第2のデータ格納部に格納するステップと、C第2のデータ格納部に格納されている第2の秘匿化データ及び第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納するステップと、D第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して第1のデータ格納部に格納されている第2の鍵との排他的論理和を算出して、共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップとを含む。複数のユーザのデータを他のユーザ及び分析者にも秘匿化したまま分析処理を実施できるようになる。最初に、図1乃至図3を用いて、本技術の実施の形態におけるおおまかな処理の流れを説明しておく。本実施の形態では、2以上のユーザ装置図1乃至図3ではユーザ装置Aとユーザ装置Bと、分析装置とがインターネット等のネットワークに接続されている。そして、図1に示すように、ユーザ装置Aとユーザ装置Bとは、何らかの方式で共有鍵Sを共有するステップ1。公開鍵暗号方式等で暗号化した上で一方のユーザ装置から他方のユーザ装置へ送信するようにしても良いし、何らかの装置から、協業する全てのユーザの全てのユーザ装置に公開鍵暗号方式などによって暗号化した上で配信するようにしても良い。そして、ユーザ装置Aは、秘密鍵Kaと共有鍵Sとの排他的論理和以下、特に明示しない限りは排他的論理和を表すものとする。を算出することで、共有鍵Sでマスクされた秘密鍵KaSを、公開鍵暗号方式などによって暗号化した上で、分析装置に送信するステップ2。また、ユーザ装置Bは、秘密鍵Kbと共有鍵Sとの排他的論理和を算出することで、共有鍵Sでマスクされた秘密鍵KbSを、公開鍵暗号方式などによって暗号化した上で、分析装置に送信するステップ3。一方、分析装置は、ユーザ装置Aからマスクされた秘密鍵KaSを、ユーザ装置Bからマスクされた秘密鍵KbSを取得し、保持しておく。さらに、分析装置は、マスク化された秘密鍵KaSとKbSとの排他的論理和を算出して、変換鍵KaKbを生成し、保持しておくステップ4。このように排他的論理和を行うと、同じデータである共有鍵Sがキャンセルされるという特性を用いている。図2の処理に移行し、ユーザ装置Aは、ユーザAのデータDaと秘密鍵Kaとの排他的論理和を算出することで、秘匿化データDaKaを生成し、秘匿化データDaKaを、分析装置に送信するステップ5。また、ユーザ装置Bは、ユーザBのデータDbと秘密鍵Kbとの排他的論理和を算出することで、秘匿化データDbKbを生成し、秘匿化データDbKbを、分析装置に送信するステップ6。これに対して分析装置は、ユーザ装置Aから秘匿化データDaKaを取得し、ユーザ装置Bから秘匿化データDbKbを取得し、保持しておく。そして、分析装置は、秘匿化データDaKaと変換鍵KaKbとの排他的論理和を算出することで、第2の秘匿化データDaKbを生成するステップ7。具体的には、DaKaKaKb=DaKbとなる。その後、ユーザ装置Bからの秘匿化データDbKbと第2の秘匿化データDaKbとに対して、予め定められた分析処理を実施し、マスク化された分析結果RKbを生成するステップ8。本実施の形態では、ステップ7でマスク化のキーがKbに揃えられたので、同じデータ値であればマスク化されても同じ値になる。従って、マスク化を解除することなく、マスク化したままでも各種の分析処理を実施することができる。例えば、複数のデータ項目のデータ値の組み合わせについての出現頻度を集計するクロス集計や任意のデータ項目間で相関が高いデータ項目の組み合わせを抽出する相関ルール抽出などを行う。図3の処理に移行し、分析装置は、マスク化された分析結果RKbと第2のユーザからのマスク化された秘密鍵KbSとを排他的論理和を算出することで、配信データRSを生成しステップ9、この配信データRSをユーザ装置A及びユーザ装置Bに送信するステップ10。共有鍵Sでマスクされたデータをネットワークを介して配信することで、秘密鍵が漏洩することを防止している。そうすると、ユーザ装置A及びユーザ装置Bは、それぞれ配信データRSを取得して、保持する。そして、分析結果Rが共有鍵Sでマスク化された配信データRSを使用する際には、ユーザ装置A及びユーザ装置Bは、それぞれ配信データRSと共有鍵Sとの排他的論理和を算出することで、分析結果Rを生成するステップ11。このようにすれば、ユーザは、分析装置には、秘密鍵を明かすことなく、ユーザの実データについても明かすことはないが、分析装置では集計処理等の分析処理を実施することができる。また、ユーザ間では共有鍵Sを共有するだけで、分析装置から、マスク化されていたとしても他人のデータについては送信しないようにすれば、ユーザの実データについても他のユーザに明かすことはない。すなわち、分析装置にも実データを明かすことなく、複数のユーザ間で実データを共有することなく、複数のユーザのデータについて集計結果などの分析結果を共有することができるようになる。よって、より大量のデータの分析結果のみを複数のユーザで活用できるようになる。また、分析処理自体は、従来の処理から変更することなく、分析処理のモジュールをそのまま活用することができる。次に、上で述べたような処理を実施するためのシステムについて図4乃至図27を用いて説明する。図4にシステム全体の概要図を示す。例えばインターネットであるネットワーク1には、分析装置3と、複数のユーザ装置とが接続されている。図4では、ユーザ装置A及びユーザ装置Bが示されているが、2以上であればいくつであっても良い。ユーザ装置Aは、例えば社内LANLocalAreaNetworkなどのネットワーク51を介して1又は複数のユーザ端末53が接続されている。同様に、ユーザ装置Bは、ネットワーク71を介して1又は複数のユーザ端末73が接続されている。ユーザ端末53は、ユーザ装置Aに対して指示やデータを出力したり、ユーザ装置Aから分析結果等のデータを取得するような例えばパーソナルコンピュータである。例えば、ユーザ装置AがWebウェブサーバ機能を有しており、ユーザ端末53がWebブラウザを実行しており、Webサーバ機能とWebブラウザでデータのやりとりを行う。同様に、ユーザ端末73は、ユーザ装置Bに対して指示やデータを出力したり、ユーザ装置Bから分析結果等のデータを取得するような例えばパーソナルコンピュータである。例えば、ユーザ装置BがWebサーバ機能を有しており、ユーザ端末73がWebブラウザを実行しており、Webサーバ機能とWebブラウザでデータのやりとりを行う。ユーザ装置1000は、図5に示すような構成を有する。すなわち、ユーザ装置1000は、前処理部1100と、データ登録部1200と、データ取得部1300と、データ格納部1400と、鍵格納部1500と、端末インタフェース部1600とを有する。また、前処理部1100は、共有鍵取得部1110と、鍵生成部1120と、鍵マスク部1130と、鍵登録部1140とを有する。また、データ登録部1200は、データマスク部1210と、データ送信部1220とを有する。さらに、データ取得部1300は、データ受信部1310と、復号部1320とを有する。これらの処理部の処理内容については、処理フローの説明において述べる。さらに、分析装置300は、鍵登録部301と、鍵格納部302と、変換鍵生成部303と、データ変換部304と、データ格納部305と、データ登録部306と、分析処理部307と、分析結果格納部308と、配布データ生成部309と、配布データ格納部310と、データ送信部311とを有する。鍵登録部301は、ユーザ装置から受信したマスク化秘密鍵のデータを鍵格納部302に格納する。変換鍵生成部303は、鍵格納部302に格納されているマスク化秘密鍵から変換鍵を生成し、当該変換鍵を鍵格納部302に格納する。データ登録部306は、ユーザ装置から秘匿化データを受信し、データ格納部305に格納する。データ変換部304は、鍵格納部302に格納されている変換鍵を用いてデータ格納部305に格納されている秘匿化データを処理して、処理結果をデータ格納部305に格納する。分析処理部307は、データ格納部305に格納されている秘匿化データを用いて所定の分析処理を実施して、マスク化された分析結果を生成し、分析結果格納部308に格納する。配布データ生成部309は、鍵格納部302に格納されているマスク化鍵を用いて、分析結果格納部308に格納されている、マスク化された分析結果を処理して、処理結果である配布データを配布データ格納部310に格納する。データ送信部311は、配布データ格納部310に格納されている配布データを、ユーザ装置に送信する。次に、図7乃至図27を用いて図4乃至図6に示したシステムの動作について説明する。まず、図7を用いてメイン処理の処理フローを示す。最初に、ユーザ装置1000は、マスク化鍵生成処理を実施するステップS1。この処理は、図1のステップ1乃至3に相当する。次に、分析装置300は、変換鍵生成処理を実施するステップS3。この処理は図1のステップ4に相当する。その後、ユーザ装置1000は、データ秘匿化処理を実施するステップS5。この処理は、図2のステップ5及び6に相当する。これに対して、分析装置300は、秘匿化データ分析処理を実施するステップS7。この処理は、図2のステップ7及び8並びに図3のステップ9及び10に相当する。最後に、ユーザ装置1000は、分析結果取得処理を実施するステップS9。この処理は、図3のステップ11に相当する。以下、これらの処理を具体的に説明する。最初に、マスク化鍵生成処理について図8を用いて説明する。まず、例えばユーザ端末などからの指示を端末インタフェース部1600で受け付けると、ユーザ装置1000の前処理部1100における共有鍵取得部1110は、共有鍵Sを取得し、鍵格納部1500に格納するステップS11。協業するユーザのうち1人がコーディネータとして共有鍵Sを生成する場合には、コーディネータが、生成した共有鍵Sを、他のユーザの公開鍵で暗号化して、それぞれのユーザに配布する。配布先のユーザのユーザ装置1000の前処理部1100における共有鍵取得部1110は、秘密鍵で復号化して共有鍵Sを取得する。又は、信頼できる第三者機関が、共有鍵Sを生成して、協業する各ユーザの公開鍵で共有鍵Sを暗号化して配布し、各ユーザのユーザ装置100が、上で述べたのと同様に復号化することで共有鍵Sを取得する。また、ユーザ装置1000の前処理部1100における鍵生成部1120は、予め定められた方法によって秘密鍵Kuを生成し、鍵格納部1500に格納するステップS13。なお、uはユーザを表しており、ユーザAであればa、ユーザBであればbとなる。その後、前処理部1100の鍵マスク部1130は、秘密鍵Kuと共有鍵Sとの排他的論理和を算出することでマスク化鍵Kum=KuSを生成し、鍵格納部1500に格納するステップS15。その後、鍵登録部1140は、予め設定されている分析装置300宛に、マスク化鍵Kumを送信するステップS17。なお、ステップS17では、公開鍵暗号方式などで暗号化した上で、分析装置300にマスク化鍵を送信する。このような処理を実施することで、分析装置1000に各ユーザのマスク化鍵Kumを登録することができるようになる。なお、以下で用いる具体例のために、共有鍵S、秘密鍵Ku及びマスク化鍵Kumについて示しておく。本実施の形態では、データベースの1レコードが6バイトであり、各鍵もレコードのバイト数と同じ長さであるものとする。S=033efddaac35Ka=ab92034af012Kb=eff024acd33aKam=033efddaac35ab92034af012=a8acfe905c27Kbm=033efddaac35eff024acd33a=ecced9767f0f次に、図9を用いて変換鍵生成処理について説明する。分析装置300の鍵登録部301は、ユーザ装置1000からマスク化鍵Kumを受信し、鍵格納部302に格納するステップS31。また、変換鍵生成部303は、例えば協業するユーザからマスタとなるユーザを選択して、当該ユーザのマスク化鍵と他のユーザのマスク化鍵との排他的論理和を算出することで、変換鍵Kab=KamKbm=KaSKbSを生成し、鍵格納部302に格納するステップS33。マスタとなるユーザの選択は、予めルールとして決定しておき、例えば所定時間毎に切り替える、又は所定時間毎にランダムに選択するなどの手法によって行う。上で述べた例では、Kabは、以下のような値となる。Kab=a8acfe905c27ecced9767f0f=446277e62328このような処理を実施することで、以下で述べる分析処理で実データを復元することなく通常どおり分析処理を行うことができるようになる。次に、データ秘匿化処理について図10乃至図17を用いて説明する。例えば端末インタフェース部1600を介してユーザ端末などから分析の対象となるデータDuを受信し、データ格納部1400に格納する。その後、ユーザ装置1000のデータ登録部1200におけるデータマスク部1210は、分析データDuと秘密鍵Kuとの排他的論理和を算出することで秘匿化データDum=DuKuを生成し、メインメモリなどの記憶装置に格納するステップS41。その後、データ送信部1220は、秘匿化データDumを分析装置300に送信するステップS43。図11に、例えばユーザAのデータの一例を示す。図11の例では、日付と、性別と、年齢と、購入品とを含むレコードが含まれる。日付と、性別と、年齢とについてはそれぞれ1バイトであるものとする。また、購入品については3バイトであるものとする。このようなデータについては16進数表示で取り扱うものとすると、図12に示すようなデータとなる。データフォーマットは図11と同じである。また、図13に、例えばユーザBのデータ16進数表示の一例を示す。図12と同じデータフォーマットとなっている。本実施の形態では、図14に示すように、秘密鍵Ka及びKbのいずれも、先頭2桁は日付の属性データ項目とも呼ぶ。に対応付けられ、次の2桁は性別の属性に対応付けられ、次の2桁は年齢の属性に対応付けられ、最後の6桁は購入品の属性に対応付けられている。同様に、図15に示すように、共有鍵Sのいずれも、先頭2桁は日付の属性データ項目とも呼ぶ。に対応付けられ、次の2桁は性別の属性に対応付けられ、次の2桁は年齢の属性に対応付けられ、最後の6桁は購入品の属性に対応付けられている。そして、ユーザAのデータDaと秘密鍵Kaとの排他的論理和を算出することで秘匿化データKamを生成すると、図16に示すようなデータが得られる。同様に、ユーザBのデータDbと秘密鍵Kbとの排他的論理和を算出することで秘匿化データKbmを生成すると、図17に示すようなデータが得られる。次に、図18乃至図24を用いて秘匿化データ分析処理について説明する。まず、データ登録部306は、ユーザ装置1000から秘匿化データDum上の例ではDam及びDbmを受信し、データ格納部305に格納するステップS51。そして、データ変換部304は、秘匿化データDamと変換鍵Kabとの排他的論理和を算出することで変換データを生成し、データ格納部305に格納するステップS53。ここでは、ユーザBがマスタとして選択されているものとして、それ以外のユーザAについての秘匿化データDamに対して、変更鍵Kabを適用する。すなわち、Damc=DamKab=DaKaKaKb=DaKbが算出されることになる。上で述べた例では、Kab=446277e62328と図16の秘匿化データとの排他的論理和を算出することになり、図19に示すようなデータが得られるようになる。Kbでマスクされた形になるので、図17に示すようなユーザBの秘匿化データと同様に取り扱うことができる。例えば同じ男性であれば両方共f0に変換されており、同じ値であれば実データ値も同じであることになる。そうすると、分析処理部307は、データ格納部305に格納されている秘匿化データDbm及びDamcを用いて、所定の分析処理を実施するステップS55。所定の分析処理については任意であるが、ここでは、クロス集計と相関ルール抽出とを一例として示す。まず、クロス集計処理で年齢と購入品との組み合わせについて出現頻度をカウントするものとする。図17と図19とから、年齢と購入品との組み合わせについて出現頻度をカウントした結果は、図20に示すようなデータが得られる。図20の例では、横方向のカラム名には、購入品についての秘匿化されたデータ値が列挙されており、縦方向のカラム名には、年齢についての秘匿化されたデータ値が列挙されている。年齢と購入品との組み合わせについての出現頻度については実データ値である。なお、このようなデータは分析結果格納部308に格納される。一方、相関ルール抽出については、図21乃至図24を用いて説明する。まず、分析処理部307は、抽出条件を取得するステップS61。例えば、以下で用いる最小支持度及び確信度閾値を予め設定しておき、それらを読み出す。そして、データ格納部305に格納されている秘匿化データにおける各値について支持度を算出し、例えばメインメモリなどの記憶装置に格納するステップS63。本ステップでは、属性による区別はないので、日付のeeecなどの各々の値について、性別f0f1の各々の値について、年齢についても3a0cなどの各々の値について、購入品03e4b38820e6などの各々の値について、出現頻度を計数する。その後、出現頻度/全レコード数によって支持度を算出する。図17及び図19の例では、以下のような支持度が得られる。ee01ec05eb01ed01ea01e901f006f1043a010c0230062e0103e4b3028820e60571ffef02db309101次に、分析処理部307は、予め設定されている最小支持度以上の秘匿化データ値を特定するステップS65。上で述べた例では、最小支持度=0.3とすると、ecと、f0と、f1と、30と、8820e6とが特定される。その後、分析処理部307は、特定された秘匿化データ値の全てのペアについて支持度を算出し、メインメモリなどの記憶装置に格納するステップS67。例えば、ecかつf0の支持度は、図17及び図19のデータからすると、4/10=0.4と算出される。その他の組み合わせを併せて記載すれば以下のとおりである。ecかつf004ecかつf101ecかつ3003ecかつ8820e605f0かつ3002f0かつ8820e604f1かつ3004f1かつ8820e60130かつ8820e603さらに、分析処理部307は、支持度が最小支持度以上のペアを抽出して、当該ペアから確信度を算出し、例えばメインメモリなどの記憶装置に格納するステップS69。例えば、最低支持度0.3以上のペアを特定し、確信度を以下のように算出する。AならばBの確信度=AかつBの出現回数/Aの出現回数BならばAの確信度=AかつBの出現回数/Bの出現回数従って、ecならばf0の確信度は、4回/5回=0.8であり、f0ならばecの確信度は、4回/6回=0.66といったように算出される。その後、分析処理部307は、確信度が閾値以上のルールを特定し、分析結果格納部308に格納するステップS71。上で述べた例では、図22に示すようなデータが得られるようになる。日付がecならば購入品8820e6となるというルールや、購入品8820e6ならば日付ecとなるというルールや、性別がf1ならば年齢30となるというルールなどが抽出される。このような処理については従来技術と同じであり、本実施の形態のために変更しなくても良いので、既存のプログラムモジュールをそのまま使用できる。図18の処理の説明に戻って、配布データ生成部309は、分析結果格納部308に格納されている分析結果RbmとマスタであるユーザBのマスク化鍵Kbmとの排他的論理和を算出することで配布データRmを生成し、配布データ格納部310に格納するステップS57。具体的には、RbmはKbでマスクされているので、マスク化鍵Kbm=KbSとの排他的論理和を算出することで、KbがSで置換される。すなわち、Rm=実分析結果RSである。例えば図20に示すような分析結果が得られた場合、ステップS57を実施することで図23に示すようなデータが得られる。なお、横方向のデータ項目が購入品であり、縦方向のデータが項目が年齢であるから、マスク化鍵Kbmにおいても購入品に対応する桁すなわち最も右から6桁までと、年齢に対応する桁最も右から7桁目及び8桁目とをそれぞれ利用する。すなわち、Kbm=ecced9767f0fの767f0fと購入品のデータ値との排他的論理和を算出し、Kbm=ecced9767f0fのd9と年齢のデータ値との排他的論理和を算出する。さらに、図22に示すような分析結果が得られた場合、ステップS57を実施することで、図24に示すようなデータが得られる。各データ値のデータ項目に対応する桁を用いる点については同じである。すなわち、日付購入品性別年齢といったデータ項目名については演算を行わず、データ値について演算を行う。図18の処理の説明に戻って、データ送信部311は、配信データRmをユーザ装置1000に送信するステップS59。このようにRm=実分析結果RSを送信することで、秘密鍵の漏洩を防止している。次に、図25乃至図27を用いて分析結果取得処理について説明する。まず、ユーザ装置1000のデータ取得部1300におけるデータ受信部1310は、分析装置300から、配布データRmを受信し、データ格納部1400に格納するステップS81。そして、データ取得部1300の復号部1320は、データ格納部1400に格納されている配布データと、鍵格納部1500に格納されている共有鍵Sとの排他的論理和を算出することで分析結果を復元し、データ格納部1400に格納するステップS83。すなわち、R=RmS=RSSを算出する。図23のような配布データの場合には、図26に示すような16進数表現に復号される。図26でも図23と同様に、購入品及び年齢のデータ値について復号が行われる。このような16進数表現が得られれば、図27に示すように、対応する具体的なデータ値にも直すことができるようになる。また、図24に示すような配布データの場合には、図28に示すような16進数表現に復号される。図28でも図24と同様に、各データ項目のデータ値について復号が行われる。このような16進数表現が得られれば、図29に示すように、対応する具体的なデータ値にも直すことができるようになる。例えばユーザ端末Aは、ユーザ装置Aにアクセスすると、端末インタフェース部1600が、データ格納部1400に格納されている実分析データを読み出して、要求元のユーザ端末Aに送信する。ユーザ端末Aは、ユーザ装置Aから実分析データを受信して、表示装置に表示する。これによってユーザは、分析結果を利用することができるようになる。ユーザ端末Bも同様の処理を行う。以上のような処理を実施すれば、分析装置300には、秘密鍵を明かすことなく、ユーザの実データについても明かすことはないが、分析装置300では分析処理を実施することができる。また、ユーザ同士では共有鍵Sを共有するだけで、分析装置300から、マスク化されていたとしても他人のデータについては送信しないようにすれば、ユーザの実データについても他のユーザに明かすことはない。すなわち、分析装置300にも実データを明かすことなく、複数のユーザ間で実データを共有することなく、複数のユーザのデータについて分析結果を共有することができるようになる。よって、より大量のデータの分析結果のみを複数のユーザで活用できるようになる。また、分析処理自体は、従来の処理から変更することなく、分析処理のモジュールをそのまま活用することができる。なお、マスタではないユーザAが複数の場合にも、上で述べたような処理をそのまま利用することができる。具体的には、ユーザC、ユーザDについても、それぞれ変換鍵を生成する。より具体的には、ユーザCのマスク化鍵KcmユーザBのマスク化鍵Kbm=KcSKbS=KcKbで変換鍵Kcbを生成し、ユーザDのマスク化鍵KdmユーザBのマスク化鍵Kbm=KdSKbS=KdKbを生成する。そして、ユーザCの秘匿化データDcmユーザCについての変換鍵Kcb=DcKcKcKb=DcKbを生成する。さらに、ユーザDの秘匿化データDdmユーザDについての変換鍵Kdb=DdKdKdKb=DdKbを生成する。そうすれば、上で述べたような分析処理をそのまま実施することができる。以上本技術の実施の形態について説明したが、本技術はこれに限定されるものではない。例えば、図4乃至図6の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない。また、処理フローについても、処理結果が変わらない限り、ステップの順番を入れ替えたり、並列に実行しても良い場合もある。なお、上で述べたユーザ装置1000、分析装置300は、コンピュータ装置であって、図30に示すように、メモリ2501とCPUCentralProcessingUnit2503とハードディスクドライブHDD:HardDiskDrive2505と表示装置2509に接続される表示制御部2507とリムーバブルディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティングシステムOS:OperatingSystem及び本実施例における処理を実施するためのアプリケーションプログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーションプログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーションプログラムはコンピュータ読み取り可能なリムーバブルディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーションプログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。以上述べた本実施の形態をまとめると、以下のようになる。本実施の形態に係る秘匿分析処理方法は、A第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている第1の鍵と第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を第1のデータ格納部に格納するステップと、B第1のユーザの秘密鍵と第1のユーザのデータとの排他的論理和である第1の秘匿化データと、第2のユーザの秘密鍵と第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている第1の秘匿化データと、第1のデータ格納部に格納されている第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、第2のデータ格納部に格納するステップと、C第2のデータ格納部に格納されている第2の秘匿化データ及び第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納するステップと、D第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して第1のデータ格納部に格納されている第2の鍵との排他的論理和を算出して、共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップとを含む。このような処理を行うことで、複数のユーザのデータを他のユーザ及び分析者にも秘匿化したまま分析処理を実施することができるようになる。また、上で述べた第2の鍵が、第1のユーザのデータ及び第2のユーザのデータにおける担当データ項目のための桁を含む場合もある。このような場合には、分析結果秘匿化ステップにおいて、分析結果データにおける秘匿化部分に含まれるデータ項目のデータ値と、第2の鍵において対応する桁との排他的論理和を算出するようにしてもよい。これによって分析結果において一部のデータ項目のみのデータ値を用いる場合にも対処することができるようになる。さらに、上で述べた第1のユーザが複数である場合、第1のユーザの各々の第1の鍵について、上で述べた第3の鍵を生成するようにしてもよい。このようにすれば、3以上のユーザが存在する場合も対処することができる。なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、CD-ROMなどの光ディスク、光磁気ディスク、半導体メモリ例えばROM、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。付記1第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納するステップと、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納するステップと、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納するステップと、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップと、を含み、コンピュータにより実行される秘匿分析処理方法。付記2前記第2の鍵が、前記第1のユーザのデータ及び前記第2のユーザのデータにおける担当データ項目のための桁を含み、前記分析結果秘匿化ステップにおいて前記分析結果データにおける秘匿化部分に含まれるデータ項目のデータ値と、前記第2の鍵において対応する桁との排他的論理和を算出する付記1記載の秘匿分析処理方法。付記3前記第1のユーザが複数である場合、前記第1のユーザの各々の第1の鍵について、前記第3の鍵を生成する付記1又は2記載の秘匿分析処理方法。付記4第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納するステップと、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納するステップと、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を分析部に実施させ、当該分析部から分析結果データを取得して第3のデータ格納部に格納するステップと、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納する分析結果秘匿化ステップと、を、コンピュータに実行させるための秘匿分析処理プログラム。付記5第1のユーザの秘密鍵と共通鍵との排他的論理和である第1の鍵と、第2のユーザの秘密鍵と前記共通鍵との排他的論理和である第2の鍵とを格納している第1のデータ格納部と、前記第1のデータ格納部に格納されている前記第1の鍵と前記第2の鍵との排他的論理和を算出して第3の鍵を生成し、当該第3の鍵を前記第1のデータ格納部に格納する鍵生成部と、前記第1のユーザの秘密鍵と前記第1のユーザのデータとの排他的論理和である第1の秘匿化データと、前記第2のユーザの秘密鍵と前記第2のユーザのデータとの排他的論理和である第2の秘匿化データとを格納する第2のデータ格納部と、前記第2のデータ格納部に格納されている前記第1の秘匿化データと、前記第1のデータ格納部に格納されている前記第3の鍵との排他的論理和を算出して第3の秘匿化データを生成し、前記第2のデータ格納部に格納するデータ変換部と、前記第2のデータ格納部に格納されている前記第2の秘匿化データ及び前記第3の秘匿化データに対して、秘匿化を解除することなく所定の分析処理を実施して、分析結果データを第3のデータ格納部に格納する分析処理部と、前記第3のデータ格納部に格納されている分析結果データにおける秘匿化部分に対して前記第1のデータ格納部に格納されている前記第2の鍵との排他的論理和を算出して、前記共有鍵により秘匿化された分析結果データを生成し、第4のデータ格納部に格納するデータ生成部と、を有する秘匿分析処理装置。