JP5724720B2 - Information processing method and apparatus, and computer system - Google Patents

Information processing method and apparatus, and computer system Download PDF

Info

Publication number
JP5724720B2
JP5724720B2 JP2011162775A JP2011162775A JP5724720B2 JP 5724720 B2 JP5724720 B2 JP 5724720B2 JP 2011162775 A JP2011162775 A JP 2011162775A JP 2011162775 A JP2011162775 A JP 2011162775A JP 5724720 B2 JP5724720 B2 JP 5724720B2
Authority
JP
Japan
Prior art keywords
matrix
storage unit
mask
data storage
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2011162775A
Other languages
Japanese (ja)
Other versions
JP2013026996A (en
Inventor
雅哉 安田
雅哉 安田
武司 下山
武司 下山
淳 小暮
淳 小暮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2011162775A priority Critical patent/JP5724720B2/en
Publication of JP2013026996A publication Critical patent/JP2013026996A/en
Application granted granted Critical
Publication of JP5724720B2 publication Critical patent/JP5724720B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本技術は、データの秘匿化技術に関する。   The present technology relates to data concealment technology.

例えば、各支店における各商品の月別売上表をサーバで共有し、本部の集計担当者が各種集計処理を実施するケースを考える。例えば図1の左に示すように、支店Aでは、商品A、商品B及び商品Cの月毎の売上を表す売上表を有し、支店Bでは、同じく商品A、商品B及び商品Cの月毎の売上を表す売上表を有する。そして、図1の右に示すように、本部では、全ての支店に関して、商品A、商品B、商品Cそれぞれについての売上合計値(例えばX)、全商品についての月毎の売上合計値(例えばY)といった集計値を算出する。場合によっては、特定の月における特定の商品についての売上合計値(例えば1月における商品Aの売上高合計ΣiAi1(iは支店のパラメータ))や、全売上高というような集計値(例えばZ)を計算する場合もある。 For example, consider a case where a monthly sales table for each product at each branch is shared by a server, and a person in charge of aggregation at the headquarters performs various aggregation processes. For example, as shown on the left in FIG. 1, the branch A has a sales table showing the monthly sales of the products A, B, and C, and the branch B also has the same month for the products A, B, and C. It has a sales table showing sales for each. As shown on the right of FIG. 1, the headquarters has a total sales value (for example, X) for each of the products A, B, and C and a total sales value for each month (for example, for all the branches). Y) is calculated. In some cases, the total sales value for a specific product in a specific month (for example, the total sales amount of product A in January Σ i m Ai1 (i is a branch parameter)) or an aggregate value such as total sales ( For example, Z) may be calculated.

このような場合に、各支店では細かい売上高を他の支店などに知らせたくなく、本部も細かい情報を把握できなくとも集計値を得られればよい、といった要望が出てくることがある。しかしながら、このような要望に十分対応できるような技術は存在しない。   In such a case, there is a demand that each branch does not want to notify other sales offices of detailed sales, and that the headquarters should be able to obtain a total value even if it cannot grasp detailed information. However, there is no technology that can sufficiently meet such demands.

例えば、データを秘匿化するために、データを暗号化してサーバに保持させるようなことも考えられる。しかし、第三者がこのデータを集計する場合には、結局復号化しなければならず、結果としてデータの中身そのものを第三者が見ることになってしまう。   For example, in order to conceal the data, it is conceivable that the data is encrypted and stored in the server. However, when a third party aggregates this data, it must be decrypted eventually, and as a result, the third party sees the data itself.

さらに、元データにノイズ(すなわち乱数)を加えることで、元データを秘匿しつつ、統計的にある程度の精度でクロス集計を可能にするという技術も存在している。このような技術における集計システムでは、各ユーザに対して、指定したパラメータ(具体的には維持確率)を与えて値をランダム化させた上で集計を行い、この集計値から真の集計値を統計的に推定するというものである。但し、この方法は、以下のような問題を有している。すなわち、元データに対してノイズが小さいと元データのおおよその値がわかってしまう。また集計値が近似値である。さらに、クラウド側で集計処理の後統計的推定処理という別の処理を行うことになる。特に、クラウド上の他社サービスに独自機能を追加することは難しい場合があり、実用上は問題となることがある。   In addition, there is a technique that enables cross tabulation with a certain degree of accuracy statistically while concealing the original data by adding noise (that is, a random number) to the original data. In such a totaling system, the specified parameters (specifically, maintenance probabilities) are given to each user to randomize the values, and the totals are calculated. It is a statistical estimation. However, this method has the following problems. That is, if the noise is small with respect to the original data, the approximate value of the original data is known. The aggregate value is an approximate value. Furthermore, another process called a statistical estimation process is performed after the aggregation process on the cloud side. In particular, it may be difficult to add unique functions to other companies' services on the cloud, which may be problematic in practice.

また、準同型暗号という技術も存在している。この技術を用いれば、暗号化したままで暗号化前の値の演算が可能となるが、これまでは視聴履歴収集システムや電子投票システムといった特殊なシステムに用いられてきた。   There is also a technique called homomorphic encryption. If this technique is used, it is possible to calculate the value before encryption while still being encrypted, but until now it has been used for special systems such as a viewing history collection system and an electronic voting system.

特開2010−108488号公報JP 2010-108488 A 特開2000−236305号公報JP 2000-236305 A 特開2010−128865号公報JP 2010-128865 A

Paillier, P., Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, Proc. Eurocrypt 99, pp.223-238, 1999.Paillier, P., Public-Key Cryptosystems Based on Composite Degree Residuosity Classes, Proc. Eurocrypt 99, pp.223-238, 1999.

このように、上で述べた従来技術では、データベース内のデータを、利用に適した形で適切に秘匿することはできない。   As described above, in the conventional technology described above, the data in the database cannot be properly concealed in a form suitable for use.

従って、本技術の目的は、一側面として、データベース内のデータを、利用に適した形で適切に秘匿するための技術を提供することである。   Accordingly, an object of the present technology is to provide a technology for appropriately concealing data in a database in a form suitable for use, as one aspect.

本技術に係る情報処理方法は、(A)第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つオリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、(B)第3のデータ格納部に格納されているマスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2の処理とを含む。そして、上記マスクマトリクスが、複数のユーザが用いるマスクマトリクスを加算すると、ゼロ行列となるように生成されている。   An information processing method according to the present technology includes (A) an original matrix stored in a first data storage unit and a mask matrix stored in a second data storage unit and having the same shape as the original matrix. A first process for generating a masked matrix by adding and storing the masked matrix in the third data storage unit, and (B) data on the masked matrix stored in the third data storage unit are transmitted to a plurality of users. And a second process of transmitting the data from the computer to the second computer for storing the data. The mask matrix is generated so as to be a zero matrix when the mask matrices used by a plurality of users are added.

データベース内のデータを利用に適した形で適切に秘匿できるようになる。   Data in the database can be properly concealed in a form suitable for use.

図1は、従来技術の問題を説明するための図である。FIG. 1 is a diagram for explaining a problem of the prior art. 図2は、本技術の実施の形態に係るシステム全体の概要図である。FIG. 2 is a schematic diagram of the entire system according to the embodiment of the present technology. 図3は、マスク配信サーバの機能ブロック図である。FIG. 3 is a functional block diagram of the mask distribution server. 図4は、ユーザ装置の機能ブロック図である。FIG. 4 is a functional block diagram of the user apparatus. 図5は、集計サーバの機能ブロック図である。FIG. 5 is a functional block diagram of the aggregation server. 図6は、管理者装置の機能ブロック図である。FIG. 6 is a functional block diagram of the administrator device. 図7は、本実施の形態における処理フローを示す図である。FIG. 7 is a diagram showing a processing flow in the present embodiment. 図8は、本実施の形態における処理フローを示す図である。FIG. 8 is a diagram showing a processing flow in the present embodiment. 図9は、コンピュータの機能ブロック図である。FIG. 9 is a functional block diagram of the computer.

最初に、本技術の実施の形態の概要を説明する。各ユーザiについて、例えば各商品の月別売上表のようなオリジナルマトリクスOMiが存在する場合、このオリジナルマトリクスOMiにマスクマトリクスMMiを加算する。このマスクマトリクスMMiは、全ユーザについて加算するとゼロ行列になるように生成されている。但し、MMiのいずれもがゼロ行列ではないものとする。 First, an outline of an embodiment of the present technology will be described. For each user i, for example, when an original matrix OM i such as a monthly sales table for each product exists, the mask matrix MM i is added to the original matrix OM i . This mask matrix MM i is generated so as to become a zero matrix when added for all users. However, it is assumed that none of MM i is a zero matrix.

具体的には、ユーザ1については、以下のような行列の加算演算が行われる。他のユーザでも同様の加算演算が行われる。   Specifically, for the user 1, the following matrix addition operation is performed. Other users perform the same addition operation.

Figure 0005724720
Figure 0005724720

なお、例えば、オリジナルマトリクスOMiの要素値を表すa乃至dは商品名を表し、最初の下付け文字はユーザ番号を表し、2番目の下付け文字は月番号を表す。また、例えば、マスクマトリクスMMiの要素値を表すmの最初の下付け文字は商品名を表し、次の下付け文字はユーザ番号を表し、3番目の下付け文字は月番号を表す。 For example, a to d representing element values of the original matrix OM i represent the product name, the first subscript represents the user number, and the second subscript represents the month number. For example, the first subscript of m representing the element value of the mask matrix MM i represents the product name, the next subscript represents the user number, and the third subscript represents the month number.

このような加算演算でマスク化マトリクスMKMiを生成すれば、オリジナルマトリクスOMiを復元することはできないので、基本的な秘匿化がなされる。 If the masked matrix MKM i is generated by such an addition operation, the original matrix OM i cannot be restored, so that basic concealment is achieved.

そして、マスク化マトリクスMKMiの総和を計算すると、オリジナルマトリクスOMiの総和が得られる。これは、以下のように表される。 Then, when the sum of the masked matrix MKM i is calculated, the sum of the original matrix OM i is obtained. This is expressed as follows.

ΣiMKMi
=Σi(OMi+MMi
=ΣiOMi+ΣiMMi
=ΣiOMi+0
=ΣiOMi
Σ i MKM i
= Σ i (OM i + MM i )
= Σ i OM i + Σ i MM i
= Σ i OM i +0
= Σ i OM i

オリジナルマトリクスの総和ΣiOMiからは、個々のオリジナルマトリクスOMiを復元することはできないので、この点においても基本的な秘匿化がなされている。 Since the individual original matrix OM i cannot be restored from the sum Σ i OM i of the original matrix, the basic concealment is made also in this respect.

このようなオリジナルマトリクスの総和ΣiOMiが得られれば、全てのユーザに関して、商品A、商品B、商品Cそれぞれについての売上合計値、全商品についての月毎の売上合計値、特定の月における特定の商品についての売上合計値、全売上高というような集計値を計算することも可能になる。 If such a sum Σ i OM i of the original matrix is obtained, the total sales value for each of the products A, B, and C, the total sales value for each product for each month, and the specific month for all users It is also possible to calculate a total value such as the total sales value and total sales for a specific product.

但し、上で述べたような単純なマスク化だけでは、マスク化マトリクスを盗聴又は収集すれば、上で述べたようにオリジナルマトリクスの総和が得られるようになってしまう。盗聴しなくとも、例えばマスク化マトリクスを、例えばクラウドシステムに集めて、クラウドシステムの集計サーバでその総和を算出すると、算出完了時にオリジナルマトリクスの総和が、クラウドシステムに対して露出してしまう。   However, with only simple masking as described above, if the masked matrix is wiretapped or collected, the sum of the original matrix can be obtained as described above. Even if eavesdropping is not performed, for example, when masked matrices are collected in, for example, a cloud system and the sum is calculated by the aggregation server of the cloud system, the sum of the original matrix is exposed to the cloud system when the calculation is completed.

そこで、本実施の形態では、準同型暗号を導入する。各ユーザは、準同型暗号における管理者の公開鍵を取得して、マスク化マトリクスをそれぞれ暗号化する。クラウドシステムなどにおいては、各ユーザから暗号化されたマスク化マトリクスを受信し、例えば管理者からの要求に応じて、暗号化された、マスク化マトリクスの総和が得られるように、採用された準同型暗号における演算を実施する。準同型暗号には、様々な方式があるが、例えばElGamal暗号やPailler暗号を採用する場合、平文における加算結果を暗号化した値を得るためには、暗号化された値の乗算を行うことになる。このように、平文における加算を実現するために実施すべき演算を、暗号化された値に対して行う。   Therefore, in this embodiment, homomorphic encryption is introduced. Each user acquires the administrator's public key in the homomorphic encryption, and encrypts the masked matrix. In a cloud system, etc., the received masked matrix is received from each user and, for example, in response to a request from the administrator, the encrypted masked matrix is obtained so that the sum of the masked matrices is obtained. Performs operations in homomorphic encryption. There are various types of homomorphic ciphers. For example, when ElGamal cipher or Pillar cipher is adopted, in order to obtain a value obtained by encrypting the addition result in plain text, the encrypted value is multiplied. Become. In this way, an operation to be performed to realize addition in plain text is performed on the encrypted value.

このようにすれば、通信路だけではなくクラウドシステムなどの集計サーバにおいても、オリジナルマトリクス及びオリジナルマトリクスの総和が露出することを防止できる。   In this way, the original matrix and the sum of the original matrix can be prevented from being exposed not only in the communication path but also in the aggregation server such as a cloud system.

これに対して秘密鍵を有する管理者は、個々のオリジナルマトリクスについてはマスクマトリクスによって秘匿化されているが、オリジナルマトリクスの総和を取得することができる。   On the other hand, an administrator who has a secret key can conceal each original matrix by a mask matrix, but can obtain the sum of the original matrices.

以下、このような処理を実施するためのコンピュータシステムについて図2乃至図8を用いて説明する。   Hereinafter, a computer system for carrying out such processing will be described with reference to FIGS.

図2に、本実施の形態に係るコンピュータシステムの一例を示す。例えばインターネットなどのコンピュータネットワーク9には、複数のユーザ装置1乃至3(数は3に限定されず、任意の整数でよい)と、管理者装置5と、クラウドシステムなどに配置される集計サーバ7と、マスクマトリクスMMを配布するためのマスク配信サーバ6とが接続されている。   FIG. 2 shows an example of a computer system according to this embodiment. For example, a computer network 9 such as the Internet includes a plurality of user devices 1 to 3 (the number is not limited to 3 and may be an arbitrary integer), an administrator device 5, and a totaling server 7 arranged in a cloud system or the like. Are connected to a mask distribution server 6 for distributing the mask matrix MM.

ユーザ装置1乃至3は、例えば支店毎のコンピュータであって、例えば支店の他のコンピュータなどに接続されている。また、管理者装置5は、例えば本部のコンピュータであって、例えば本部の他のコンピュータなどに接続されている。マスク配信サーバ6は、例えばクラウドシステム、管理者及びユーザとは独立に管理及び運営されており、上で述べたような各ユーザのマスクマトリクスMMiを加算するとゼロ行列となるように各マスクマトリクスMMiを生成して、各ユーザ装置に配布する。集計サーバ7は、各ユーザ装置から受信したデータを蓄積すると共に、例えば管理者装置5からの要求に応じて所定の集計処理を実施し、集計結果を管理者装置5に送信する。 The user devices 1 to 3 are computers at each branch, for example, and are connected to other computers at the branch, for example. The manager device 5 is, for example, a computer at the headquarters, and is connected to, for example, another computer at the headquarters. The mask distribution server 6 is managed and operated independently of, for example, a cloud system, an administrator, and a user, and each mask matrix is set to be a zero matrix by adding the mask matrixes MM i of each user as described above. MM i is generated and distributed to each user device. The aggregation server 7 accumulates data received from each user device, performs predetermined aggregation processing in response to a request from the administrator device 5, for example, and transmits the aggregation result to the administrator device 5.

図3に、本実施の形態に係るマスク配信サーバ6の機能ブロック図を示す。マスク配信サーバ6は、マスク生成部61と、マスク配信部62と、配信先データ格納部63とを有する。マスク配信サーバ6は、予め管理者などからマスクマトリクスMMの配布先のデータを受信して、配信先データ格納部63に格納しておく。マスク生成部61は、例えば定期的に又は任意のタイミングで、各ユーザ装置のために上で述べた性質を有するマスクマトリクスMMを生成し、マスク配信部62に出力する。マスク配信部62は、配信先データ格納部63に格納されている配布先のデータに従って、各ユーザ装置に対して、生成したマスクマトリクスMMを送信する。   FIG. 3 shows a functional block diagram of mask distribution server 6 according to the present embodiment. The mask distribution server 6 includes a mask generation unit 61, a mask distribution unit 62, and a distribution destination data storage unit 63. The mask distribution server 6 receives the distribution destination data of the mask matrix MM from an administrator or the like in advance and stores it in the distribution destination data storage unit 63. The mask generation unit 61 generates a mask matrix MM having the above-described properties for each user apparatus, for example, periodically or at an arbitrary timing, and outputs the mask matrix MM to the mask distribution unit 62. The mask distribution unit 62 transmits the generated mask matrix MM to each user device according to the distribution destination data stored in the distribution destination data storage unit 63.

図4に、本実施の形態に係るユーザ装置(例えばユーザ装置1)の機能ブロック図を示す。ユーザ装置1は、オリジナルマトリスク取得部101と、オリジナルマトリクス格納部102と、マスク受信部103と、マスク格納部104と、マスク処理部105と、マスク化マトリクス格納部108と、暗号化処理部109と、公開鍵格納部110と、暗号化データ格納部111と、送信部112とを有する。   FIG. 4 shows a functional block diagram of a user apparatus (for example, user apparatus 1) according to the present embodiment. The user apparatus 1 includes an original mat risk acquisition unit 101, an original matrix storage unit 102, a mask reception unit 103, a mask storage unit 104, a mask processing unit 105, a masked matrix storage unit 108, and an encryption processing unit. 109, a public key storage unit 110, an encrypted data storage unit 111, and a transmission unit 112.

オリジナルマトリクス取得部101は、ユーザ装置1に接続されている他のコンピュータなどからオリジナルマトリクスのデータを取得して、オリジナルマトリクス格納部102に格納する。場合によっては、オリジナルマトリクス取得部101が、オリジナルマトリクスを生成する。また、マスク受信部103は、マスク配信サーバ6からマスクマトリクスMMを受信し、マスク格納部104に格納する。   The original matrix acquisition unit 101 acquires original matrix data from another computer connected to the user apparatus 1 and stores the data in the original matrix storage unit 102. In some cases, the original matrix acquisition unit 101 generates an original matrix. Further, the mask receiving unit 103 receives the mask matrix MM from the mask distribution server 6 and stores it in the mask storage unit 104.

マスク処理部105は、オリジナルマトリクス格納部102に格納されているオリジナルマトリクスOMとマスク格納部104に格納されているマスクマトリクスMMを加算することでマスク化マトリクスMKMを生成し、マスク化マトリクス格納部108に格納する。   The mask processing unit 105 generates a masked matrix MKM by adding the original matrix OM stored in the original matrix storage unit 102 and the mask matrix MM stored in the mask storage unit 104, and generates a masked matrix storage unit It stores in 108.

暗号化処理部109は、予め定められた準同型暗号方式に従って、公開鍵格納部110に格納されている管理者装置5のための公開鍵で、マスク化マトリクスMKMを暗号化することで、暗号化された行列データE(MKM)を生成して、暗号化データ格納部111に格納する。送信部112は、暗号化データ格納部111に格納されている暗号化された行列データE(MKM)を、クラウドシステムにおける集計サーバ7に送信する。   The encryption processing unit 109 encrypts the masking matrix MKM with the public key for the administrator device 5 stored in the public key storage unit 110 in accordance with a predetermined homomorphic encryption method. Generated matrix data E (MKM) is stored in the encrypted data storage unit 111. The transmission unit 112 transmits the encrypted matrix data E (MKM) stored in the encrypted data storage unit 111 to the aggregation server 7 in the cloud system.

図5に、本実施の形態に係る集計サーバ7の機能ブロック図を示す。集計サーバ7は、データ受信部71と、データベース(DB)72と、集計要求処理部73と、データ格納部74とを有する。集計要求処理部73は、採用されている準同型暗号方式において暗号化したまま平文の加算を実現するための演算を実施する演算部731を有する。例えば、平文の加算結果を暗号化した値を得るために、暗号化したデータ同士の乗算を行う。   FIG. 5 shows a functional block diagram of the aggregation server 7 according to the present embodiment. The aggregation server 7 includes a data receiving unit 71, a database (DB) 72, an aggregation request processing unit 73, and a data storage unit 74. The aggregation request processing unit 73 includes a calculation unit 731 that performs a calculation for realizing addition of plaintext while being encrypted in the adopted homomorphic encryption method. For example, in order to obtain a value obtained by encrypting the addition result of plaintext, the encrypted data is multiplied.

データ受信部71は、ユーザ装置1乃至3から、暗号化された行列データE(MKM)を受信すると、DB72に格納する。なお、このDB72は、ユーザ装置1乃至3のためのデータベースであり、管理者装置5からの集計要求に基づき集計処理が実施されるデータを格納するものとする。すなわち、ユーザのグループ毎に分別管理される。また、集計要求処理部73は、管理者装置5から集計要求を受信すると、DB72から、各ユーザ装置からの暗号化された行列データE(MKM)を読み出す。そして、集計要求処理部73の演算部731は、暗号化された行列データE(MKM)について上で述べたように所定の演算を実施する。処理途中及び処理結果のデータについては、データ格納部74に格納する。   When receiving the encrypted matrix data E (MKM) from the user devices 1 to 3, the data receiving unit 71 stores the encrypted matrix data E (MKM) in the DB 72. The DB 72 is a database for the user devices 1 to 3 and stores data to be subjected to aggregation processing based on the aggregation request from the administrator device 5. That is, it is managed separately for each group of users. In addition, when the aggregation request processing unit 73 receives the aggregation request from the administrator device 5, the aggregation request processing unit 73 reads the encrypted matrix data E (MKM) from each user device from the DB 72. Then, the calculation unit 731 of the aggregation request processing unit 73 performs a predetermined calculation on the encrypted matrix data E (MKM) as described above. Data in the middle of processing and processing results are stored in the data storage unit 74.

上でも述べたように、このような処理を実施することでオリジナルマトリクスの総和ΣiOMiの暗号化データE(ΣiOMi)が得られる。 As described above, by performing such processing, encrypted data E (Σ i OM i ) of the sum Σ i OM i of the original matrix can be obtained.

集計要求処理部73は、管理者装置5に対して、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を送信する。 The aggregation request processing unit 73 transmits the encrypted data E (Σ i OM i ) of the sum of the original matrix to the manager device 5.

図6に、本実施の形態に係る管理者装置5の機能ブロック図を示す。管理者装置5は、集計要求部51と、受信データ格納部52と、復号化処理部53と、秘密鍵格納部54と、復号化データ格納部55と、出力処理部57とを有する。   FIG. 6 shows a functional block diagram of the administrator device 5 according to the present embodiment. The administrator device 5 includes a totaling request unit 51, a received data storage unit 52, a decryption processing unit 53, a secret key storage unit 54, a decrypted data storage unit 55, and an output processing unit 57.

集計要求部51は、例えば管理者装置5に接続されている他のコンピュータなどから集計要求を送信するように指示されると、集計要求を集計サーバ7に送信し、集計サーバ7から、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を受信し、受信データ格納部52に格納する。 When the aggregation request unit 51 is instructed to transmit the aggregation request from, for example, another computer connected to the administrator device 5, the aggregation request unit 51 transmits the aggregation request to the aggregation server 7. Encrypted data E (Σ i OM i ) is received and stored in the received data storage unit 52.

復号化処理部53は、秘密鍵格納部54に格納されている秘密鍵を用いて、オリジナルマトリクスの総和の暗号化データE(ΣiOMi)を復号化して、復号化データ格納部55に格納する。 The decryption processing unit 53 decrypts the encrypted data E (Σ i OM i ) of the sum of the original matrix using the secret key stored in the secret key storage unit 54, and stores it in the decrypted data storage unit 55. Store.

出力処理部57は、復号化データ格納部55に格納されているオリジナルマトリクスの総和ΣiOMiをそのまま例えば管理者装置5に接続されている他のコンピュータなどに出力する。なお、オリジナルマトリクスの総和ΣiOMiからさらに集計処理を実施しても良い。例えば、1月における全ユーザ及び全商品の売上合計値を算出するようにしてもよいし、1月から6月までにおける全ユーザ及び商品Aについての売上合計値を算出するようにしても良い。 The output processing unit 57 outputs the sum Σ i OM i of the original matrix stored in the decoded data storage unit 55 as it is to, for example, another computer connected to the administrator device 5. Note that the aggregation process may be further performed from the sum Σ i OM i of the original matrix. For example, the total sales value for all users and all products in January may be calculated, or the total sales value for all users and products A from January to June may be calculated.

次に、図7及び図8を用いて図2に示したシステムにおける処理の流れについて説明する。まず、マスク配信サーバ6のマスク生成部61は、定期的に又は任意のタイミングで、ΣiMMi=0を満たすように、マスクマトリクスMMiを生成し、マスク配信部62に出力する(図7:ステップS1)。例えば、配信先データ格納部63に格納されている配布先のデータから生成個数Nを特定して、(N−1)個のマスクマトリクスMMについては、その各要素値を乱数で生成する。そして、(N−1)個のマスクマトリクスMMの総和を算出してその符号を反転させることで、N個目のマスクマトリクスMMNを生成する。その他、Nを複数のグループに分けて、各グループで上で述べたような方法でグループ内のマスクマトリクスMMの総和が0になるようにマスクマトリクスMMを生成するようにしても良い。また、マスクマトリクスMMの形状(次元数及び各次元のサイズ)は、予め与えられているものとする。 Next, a processing flow in the system shown in FIG. 2 will be described with reference to FIGS. First, the mask generation unit 61 of the mask distribution server 6 generates a mask matrix MM i so as to satisfy Σ i MM i = 0 periodically or at an arbitrary timing, and outputs it to the mask distribution unit 62 (FIG. 7: Step S1). For example, the generation number N is specified from the distribution destination data stored in the distribution destination data storage unit 63, and each element value of the (N-1) mask matrixes MM is generated with a random number. Then, to generate the (N-1) its code by inverting the by calculating the sum of the number of the mask matrix MM, N-th mask matrix MM N. In addition, N may be divided into a plurality of groups, and the mask matrix MM may be generated so that the sum of the mask matrices MM in the group becomes 0 by the method described above in each group. Further, it is assumed that the shape (number of dimensions and size of each dimension) of the mask matrix MM is given in advance.

マスク配信サーバ6のマスク配信部62は、マスク生成部61から受け取ったマスクマトリクスMMiを、配信先データ格納部63に格納されているユーザ装置のアドレスに配信する(ステップS3)。なお、マスク配信サーバ6と各ユーザ装置との間の通信は、例えば公開鍵暗号方式などの暗号によって秘匿化する。 Mask delivery portion 62 of the mask distribution server 6 distributes the address of the user device the mask matrix MM i received from the mask generating unit 61, is stored in the destination data storage unit 63 (step S3). Note that communication between the mask distribution server 6 and each user device is concealed by encryption such as a public key cryptosystem.

例えばユーザ装置1のマスク受信部103は、マスク配信サーバ6からマスクマトリクスMM1を受信し、マスク格納部104に格納する(ステップS5)。この後、任意のタイミング又は定期的に、以下の処理を実施する。 For example, the mask receiving unit 103 of the user device 1 receives the mask matrix MM 1 from the mask distribution server 6 and stores it in the mask storage unit 104 (step S5). Thereafter, the following processing is performed at an arbitrary timing or periodically.

例えば、オリジナルマトリクス取得部101が、集計サーバ7に送信すべきオリジナルマトリクスOM1を取得してオリジナルマトリクス格納部102に格納すると、マスク処理部105は、マスク格納部104に格納されているマスクマトリクスMM1と、オリジナルマトリクス格納部102に格納されているオリジナルマトリクスOM1とを加算することでマスク化マトリクスMKM1を生成して、マスク化マトリクス格納部108に格納する(ステップS7)。 For example, when the original matrix acquisition unit 101 acquires the original matrix OM 1 to be transmitted to the aggregation server 7 and stores it in the original matrix storage unit 102, the mask processing unit 105 stores the mask matrix stored in the mask storage unit 104. The masked matrix MKM 1 is generated by adding MM 1 and the original matrix OM 1 stored in the original matrix storage unit 102 and stored in the masked matrix storage unit 108 (step S 7).

その後、暗号化処理部109は、公開鍵格納部110に格納されている管理者の公開鍵で、準同型暗号方式にて、マスク化マトリクスMKM1を暗号化して、暗号化データ格納部111に格納する(ステップS11)。そして、送信部112は、暗号化データ格納部111に格納されており、暗号化されたマスク化マトリクスE(MKM1)を、集計サーバ7に送信する(ステップS13)。 After that, the encryption processing unit 109 encrypts the masking matrix MKM 1 by the homomorphic encryption method with the administrator's public key stored in the public key storage unit 110, and stores it in the encrypted data storage unit 111. Store (step S11). Then, the transmission unit 112 transmits the encrypted masked matrix E (MKM 1 ) stored in the encrypted data storage unit 111 to the aggregation server 7 (step S13).

これに対して、集計サーバ7のデータ受信部71は、各ユーザ装置から、暗号化されたマスク化マトリクスE(MKMi)を受信し、DB72に格納する(ステップS15)。マスクマトリクスMMiが配布された全てのユーザ装置から、暗号化されたマスク化マトリクスE(MKMi)を受信すれば、以下の処理を実施することができるようになる。 On the other hand, the data receiving unit 71 of the aggregation server 7 receives the encrypted masked matrix E (MKM i ) from each user device and stores it in the DB 72 (step S15). If the encrypted masked matrix E (MKM i ) is received from all user devices to which the mask matrix MM i is distributed, the following processing can be performed.

次に、管理者装置5の集計要求部51は、マスク化マトリクスの総和の集計要求を、集計サーバ7に送信する(図8:ステップS21)。これに対して、集計サーバ7の集計要求処理部73は、管理者装置5から、マスク化マトリクスの総和の集計要求を受信する(ステップS23)。そうすると、集計要求処理部73は、DB72から、暗号化されたマスク化マトリクスE(MKMi)を読み出し、演算部731は、暗号化された、マスク化マトリクスの総和が得られるように、暗号化したまま所定の演算を実施して、演算結果(E(ΣiMKMi))をデータ格納部74に格納する(ステップS25)。但し、E(ΣiMKMi)=E(ΣiOMiNext, the totaling request unit 51 of the manager device 5 transmits a totaling request for the sum of the masked matrix to the totaling server 7 (FIG. 8: Step S21). On the other hand, the aggregation request processing unit 73 of the aggregation server 7 receives a totalization request for the sum of masked matrices from the administrator device 5 (step S23). Then, the aggregation request processing unit 73 reads the encrypted masked matrix E (MKM i ) from the DB 72, and the calculation unit 731 performs encryption so that the sum of the encrypted masked matrices can be obtained. Then, a predetermined calculation is performed, and the calculation result (E (Σ i MKM i )) is stored in the data storage unit 74 (step S25). However, E (Σ i MKM i ) = E (Σ i OM i )

そして、集計要求処理部73は、演算結果(E(ΣiMKMi))を、要求送信元の管理装置5に送信する(ステップS27)。これに対して管理装置5の集計要求部51は、集計サーバ7から演算結果(E(ΣiMKMi))を受信し、受信データ格納部52に格納する(ステップS29)。復号化処理部53は、秘密鍵格納部54に格納されている秘密鍵を用いて、演算結果を復号化して、復号化データ格納部55に格納する(ステップS31)。これによって、上で述べたように、オリジナルマトリクスの総和ΣiOMiが得られたことになる。 Then, the aggregation request processing unit 73 transmits the calculation result (E (Σ i MKM i )) to the management device 5 that is the request transmission source (step S27). On the other hand, the aggregation request unit 51 of the management device 5 receives the calculation result (E (Σ i MKM i )) from the aggregation server 7 and stores it in the received data storage unit 52 (step S29). The decryption processing unit 53 decrypts the calculation result using the secret key stored in the secret key storage unit 54 and stores the result in the decrypted data storage unit 55 (step S31). As a result, as described above, the sum Σ i OM i of the original matrix is obtained.

その後、出力処理部57は、管理者からの要求等に応じて、各種集計演算を実施して、管理者装置5に接続されている他のコンピュータなどに出力する(ステップS33)。   Thereafter, the output processing unit 57 performs various tabulation operations in response to a request from the administrator, and outputs the result to another computer connected to the administrator device 5 (step S33).

例えば図1の例では、図1の右に示すように、全ての支店に関して、商品A、商品B、商品Cそれぞれについての売上合計値(例えばX)、全商品についての月毎の売上合計値(例えばY)といった集計値を算出する。場合によっては、特定の月における特定の商品についての売上合計値(例えば1月における商品Aの売上高合計ΣiAi1(iは支店のパラメータ))や、全売上高というような集計値(例えばZ)を計算する場合もある。オリジナルマトリクスの総和ΣiOMiをそのまま出力しても良い。 For example, in the example of FIG. 1, as shown on the right side of FIG. 1, for all branches, the total sales value (for example, X) for each of the products A, B, and C, and the monthly sales total value for all products A total value such as (for example, Y) is calculated. In some cases, the total sales value for a specific product in a specific month (for example, the total sales amount of product A in January Σ i m Ai1 (i is a branch parameter)) or an aggregate value such as total sales ( For example, Z) may be calculated. The sum Σ i OM i of the original matrix may be output as it is.

以上のような処理を実施することで、管理者は各ユーザの個別データについては参照することはできないが、ユーザ全体のデータについては、集計サーバ7に対しても秘匿化したままオリジナルマトリクスの総和ΣiOMiを管理者は得ることができるようになる。オリジナルマトリクスの総和ΣiOMiが得られると、それを用いてさらなる集計処理を行うことも可能である。 By performing the processing as described above, the administrator cannot refer to the individual data of each user, but the total of the original matrix is kept confidential to the aggregation server 7 for the data of the entire user. The administrator can obtain Σ i OM i . When the sum Σ i OM i of the original matrix is obtained, it is possible to perform further aggregation processing using the sum.

以上本技術の実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、集計サーバ7における秘匿性が他の手法にて確保されるのであれば、準同型暗号方式を採用せずに、他の暗号方式を装置間で採用するようにしてもよい。   Although the embodiment of the present technology has been described above, the present technology is not limited to this. For example, if the secrecy of the aggregation server 7 is ensured by another method, another encryption method may be adopted between devices without using the homomorphic encryption method.

また、上の例では集計サーバ7が、集計のために演算を実施する例を示したが、単にデータの蓄積のみを行って、演算自体については管理者装置5が行う場合もある。   In the above example, the aggregation server 7 performs the calculation for the aggregation. However, the administrator device 5 may perform the calculation itself by simply storing data.

その他、処理結果が変わらない限り、処理順番を入れ替えたり、並列実行するようにしても良い。さらに、上で述べた機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。   In addition, as long as the processing result does not change, the processing order may be changed or executed in parallel. Furthermore, the functional block diagram described above is merely an example, and may not necessarily match the actual program module configuration.

さらに各装置は、1台のコンピュータで実装される場合もあれば、複数台のコンピュータで実装される場合もある。さらに、マスク配信サーバ6を設けずに、郵送その他の手法によって別途マスクマトリクスを配布するようにしても良い。   Furthermore, each device may be implemented by a single computer or a plurality of computers. Further, the mask matrix may be separately distributed by mail or other methods without providing the mask distribution server 6.

なお、上で述べたユーザ装置、管理者装置5、マスク配信サーバ6及び集計サーバ7は、コンピュータ装置であって、図9に示すように、メモリ2501とCPU2503とハードディスク・ドライブ(HDD)2505と表示装置2509に接続される表示制御部2507とリムーバブル・ディスク2511用のドライブ装置2513と入力装置2515とネットワークに接続するための通信制御部2517とがバス2519で接続されている。オペレーティング・システム(OS:Operating System)及び本実施例における処理を実施するためのアプリケーション・プログラムは、HDD2505に格納されており、CPU2503により実行される際にはHDD2505からメモリ2501に読み出される。CPU2503は、アプリケーション・プログラムの処理内容に応じて表示制御部2507、通信制御部2517、ドライブ装置2513を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ2501に格納されるが、HDD2505に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク2511に格納されて頒布され、ドライブ装置2513からHDD2505にインストールされる。インターネットなどのネットワーク及び通信制御部2517を経由して、HDD2505にインストールされる場合もある。このようなコンピュータ装置は、上で述べたCPU2503、メモリ2501などのハードウエアとOS及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。   Note that the above-described user device, administrator device 5, mask distribution server 6 and aggregation server 7 are computer devices, and as shown in FIG. 9, a memory 2501, a CPU 2503, a hard disk drive (HDD) 2505, and the like. A display control unit 2507 connected to the display device 2509, a drive device 2513 for a removable disk 2511, an input device 2515, and a communication control unit 2517 for connecting to a network are connected by a bus 2519. An operating system (OS) and an application program for executing the processing in this embodiment are stored in the HDD 2505, and are read from the HDD 2505 to the memory 2501 when executed by the CPU 2503. The CPU 2503 controls the display control unit 2507, the communication control unit 2517, and the drive device 2513 according to the processing content of the application program, and performs a predetermined operation. Further, data in the middle of processing is mainly stored in the memory 2501, but may be stored in the HDD 2505. In an embodiment of the present technology, an application program for performing the above-described processing is stored in a computer-readable removable disk 2511 and distributed, and installed from the drive device 2513 to the HDD 2505. In some cases, the HDD 2505 may be installed via a network such as the Internet and the communication control unit 2517. Such a computer apparatus realizes various functions as described above by organically cooperating hardware such as the CPU 2503 and the memory 2501 described above and programs such as the OS and application programs. .

以上述べた本実施の形態をまとめると、以下のようになる。   The above-described embodiment can be summarized as follows.

本実施の形態に係る情報処理方法は、(A)第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つオリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1のステップと、(B)第3のデータ格納部に格納されているマスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2のステップとを含む。そして、マスクマトリクスは、複数のユーザが用いるマスクマトリクスを加算すると、ゼロ行列となるように生成されている。   The information processing method according to the present embodiment includes (A) an original matrix stored in the first data storage unit, and a mask matrix stored in the second data storage unit and having the same shape as the original matrix. To generate a masked matrix and store it in the third data storage unit, and (B) a plurality of data about the masked matrix stored in the third data storage unit. A second step of transmitting data from the user's computer to a second computer that stores the data. The mask matrix is generated to be a zero matrix when the mask matrices used by a plurality of users are added.

このようにすることで、各ユーザのオリジナルマトリクスは秘匿化されるが、全ユーザのマスク化マトリクスを加算すれば、オリジナルマトリクスの総和を得ることができる。そうすれば、各種集約処理結果も得ることができるようになる。   By doing so, the original matrix of each user is concealed, but if the masked matrices of all users are added, the sum of the original matrices can be obtained. Then, various aggregation processing results can be obtained.

また、上で述べた第2のステップが、マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化されたマスク化マトリクスを、第2のコンピュータに送信するステップを含むようにしても良い。このように準同型暗号方式を採用すれば、第2のコンピュータで暗号化したままマスク化マトリクスの総和を得るような演算を行うことができる。   In the second step described above, the masking matrix is encrypted with a public key of a specific user in the homomorphic encryption method, and the encrypted masking matrix is transmitted to the second computer. It may be included. By adopting the homomorphic encryption method in this way, it is possible to perform an operation to obtain the sum of the masked matrix while being encrypted by the second computer.

さらに、本情報処理方法において、(C)第2のコンピュータが、複数のユーザのコンピュータからの暗号化されたマスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3のステップと、(D)第2のコンピュータが、第4のデータ格納部に格納されている演算結果を、特定のユーザ(例えば管理者)のコンピュータに送信する第4のステップとをさらに含むようにしても良い。準同型暗号は様々なタイプのものがあるので、平文の加算結果を暗号化した値を得るための演算を実施する。   Further, in this information processing method, (C) the second computer can obtain the total sum of the masked matrices encrypted with respect to the encrypted masked matrices from the computers of a plurality of users. A third step of performing a predetermined operation while being encrypted by the homomorphic encryption method, and storing the operation result in the fourth data storage unit; and (D) the second computer has the fourth data storage unit And a fourth step of transmitting the calculation result stored in the computer to a computer of a specific user (for example, an administrator). Since there are various types of homomorphic encryption, an operation for obtaining a value obtained by encrypting the plaintext addition result is performed.

また、本情報処理方法において、(E)特定のユーザのコンピュータが、第2のコンピュータからの演算結果を特定のユーザの秘密鍵で復号化することで、マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5のステップをさらに含むようにしても良い。   In this information processing method, (E) a specific user's computer decrypts the calculation result from the second computer with the specific user's private key to generate a sum of masked matrices, and The fifth data storage unit may further include a fifth step.

なお、上で述べたような処理をコンピュータに実施させるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブル・ディスク、CD−ROMなどの光ディスク、光磁気ディスク、半導体メモリ(例えばROM)、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。なお、処理途中のデータについては、RAM等の記憶装置に一時保管される。   It is possible to create a program for causing a computer to carry out the processing described above, such as a flexible disk, an optical disk such as a CD-ROM, a magneto-optical disk, and a semiconductor memory (for example, ROM). Or a computer-readable storage medium such as a hard disk or a storage device. Note that data being processed is temporarily stored in a storage device such as a RAM.

以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。   The following supplementary notes are further disclosed with respect to the embodiments including the above examples.

(付記1)
コンピュータにより実行される情報処理方法であって、
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザのコンピュータからのデータを蓄積する第2のコンピュータに送信する第2の処理と、
を含み、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理方法。
(Appendix 1)
An information processing method executed by a computer,
A masked matrix is generated by adding the original matrix stored in the first data storage unit and the mask matrix stored in the second data storage unit and having the same shape as the original matrix; A first process stored in the data storage unit 3;
A second process of transmitting data about the masked matrix stored in the third data storage unit to a second computer that accumulates data from a plurality of users'computers;
Including
The information processing method, wherein the mask matrix is generated to be a zero matrix by adding the mask matrices used by the plurality of users.

(付記2)
前記第2の処理が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2のコンピュータに送信する処理
を含む付記1記載の情報処理方法。
(Appendix 2)
The second process includes
The information processing method according to claim 1, further comprising: encrypting the masked matrix with a public key of a specific user in a homomorphic encryption method, and transmitting the encrypted masked matrix to the second computer.

(付記3)
前記第2のコンピュータが、前記複数のユーザのコンピュータからの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3の処理と、
前記第2のコンピュータが、前記第4のデータ格納部に格納されている演算結果を、前記特定のユーザのコンピュータに送信する第4の処理と、
をさらに含む付記2記載の情報処理方法。
(Appendix 3)
The second computer encrypts with the homomorphic encryption method so that the sum of the masked matrices encrypted with respect to the masked matrices encrypted from the plurality of users' computers is obtained. A third process for performing a predetermined calculation while storing the result and storing the calculation result in a fourth data storage unit;
A fourth process in which the second computer transmits a calculation result stored in the fourth data storage unit to the computer of the specific user;
The information processing method according to appendix 2, further comprising:

(付記4)
前記特定のユーザのコンピュータが、前記第2のコンピュータからの前記演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5の処理
をさらに含む付記3記載の情報処理方法。
(Appendix 4)
The computer of the specific user decrypts the calculation result from the second computer with the secret key of the specific user, thereby generating a sum of the masking matrix and storing it in a fifth data storage unit. The information processing method according to appendix 3, further including a fifth process of storing.

(付記5)
第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納するマスク処理部と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスについてのデータを、複数のユーザの情報処理装置からのデータを蓄積する第2の情報処理装置に送信する出力部と、
を有し、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを加算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理装置。
(Appendix 5)
A masked matrix is generated by adding the original matrix stored in the first data storage unit and the mask matrix stored in the second data storage unit and having the same shape as the original matrix; A mask processing unit stored in the data storage unit 3;
An output unit that transmits data about the masked matrix stored in the third data storage unit to a second information processing device that accumulates data from information processing devices of a plurality of users;
Have
The information processing apparatus, wherein the mask matrix is generated to be a zero matrix when the mask matrices used by the plurality of users are added.

(付記6)
前記出力部が、
前記マスク化マトリクスを、準同型暗号方式における特定のユーザの公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2の情報処理装置に送信する暗号化処理部
を含む付記5記載の情報処理装置。
(Appendix 6)
The output unit is
Appendix 5 including an encryption processing unit that encrypts the masked matrix with a public key of a specific user in the homomorphic encryption method, and transmits the encrypted masked matrix to the second information processing apparatus. Information processing device.

(付記7)
付記6記載の情報処理装置と、
前記第2の情報処理装置と、
を有し、
前記第2の情報処理装置が、
前記複数のユーザの情報処理装置からの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納し、第4のデータ格納部に格納されている演算結果を、特定のユーザの情報処理装置に送信する、
コンピュータシステム。
(Appendix 7)
The information processing apparatus according to appendix 6,
The second information processing apparatus;
Have
The second information processing apparatus is
The encrypted masked matrix from the information processing apparatuses of the plurality of users is encrypted with the homomorphic encryption method so as to obtain an encrypted sum of the masked matrix. Performing the operation, storing the operation result in the fourth data storage unit, and transmitting the operation result stored in the fourth data storage unit to the information processing apparatus of the specific user.
Computer system.

(付記8)
前記特定のユーザの情報処理装置
をさらに有し、
前記特定のユーザの情報処理装置が、
前記第2の情報処理装置からの演算結果を前記特定のユーザの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する
付記7記載のコンピュータシステム。
(Appendix 8)
The information processing apparatus of the specific user is further included,
The information processing apparatus of the specific user is
The computer according to appendix 7, wherein the calculation result from the second information processing device is decrypted with the secret key of the specific user to generate a sum of the masked matrixes and store the sum in the fifth data storage unit system.

1−3 ユーザ装置
5 管理者装置
6 マスク配信サーバ
7 集計サーバ
101 オリジナルマトリクス取得部
102 オリジナルマトリクス格納部
103 マスク受信部
104 マスク格納部
105 マスク処理部
108 マスク化マトリクス格納部
109 暗号化処理部
110 公開鍵格納部
111 暗号化データ格納部
112 送信部
51 集計要求部
52 受信データ格納部
53 復号化処理部
54 秘密鍵格納部
55 復号化データ格納部
57 出力処理部
61 マスク生成部
62 マスク配信部
63 配信先データ格納部
71 データ受信部
72 DB
73 集計要求処理部
74 データ格納部
1-3 User device 5 Administrator device 6 Mask distribution server 7 Total server 101 Original matrix acquisition unit 102 Original matrix storage unit 103 Mask reception unit 104 Mask storage unit 105 Mask processing unit 108 Masked matrix storage unit 109 Encryption processing unit 110 Public key storage unit 111 Encrypted data storage unit 112 Transmission unit 51 Total request unit 52 Received data storage unit 53 Decryption processing unit 54 Private key storage unit 55 Decrypted data storage unit 57 Output processing unit 61 Mask generation unit 62 Mask distribution unit 63 Distribution destination data storage unit 71 Data reception unit 72 DB
73 Total Request Processing Unit 74 Data Storage Unit

Claims (4)

複数のユーザの各コンピュータと、当該各コンピュータからのデータを蓄積する第2のコンピュータとにより実行される情報処理方法であって、
前記各コンピュータが、第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納する第1の処理と、
前記各コンピュータが、前記第3のデータ格納部に格納されている前記マスク化マトリクスを、準同型暗号方式における特定の者の公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2のコンピュータに送信する第2の処理と、
前記第2のコンピュータが、前記各コンピュータからの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納する第3の処理と、
前記第2のコンピュータが、前記第4のデータ格納部に格納されている演算結果を、前記特定の者のコンピュータに送信する第4の処理と、
を含み、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを算すると、ゼロ行列となるように生成されている
ことを特徴とする情報処理方法。
An information processing method executed by each computer of a plurality of users and a second computer that accumulates data from each computer ,
Each of the computers adds a mask matrix having an original matrix stored in the first data storage unit and a mask matrix stored in the second data storage unit and having the same shape as the original matrix. A first process of generating and storing in a third data storage unit;
Wherein each computer, the mask-matrix stored in the third data storage unit, and encrypted with the public key of the specific person in the homomorphic encryption method, the mask-matrix encrypted, the first A second process for transmitting to the second computer;
The second computer is encrypted with the homomorphic encryption method so that the sum of the masked matrices encrypted with respect to the masked matrix encrypted from each computer is obtained. A third process for performing a predetermined calculation and storing the calculation result in a fourth data storage unit;
A fourth process in which the second computer transmits a calculation result stored in the fourth data storage unit to the computer of the specific person;
Including
An information processing method wherein a mask matrix, to the said mask matrix said plurality of users used to focus calculated, characterized in that it is generated as a zero matrix.
前記情報処理方法は、さらに、前記特定の者のコンピュータにより実行され、
前記特定ののコンピュータが、前記第2のコンピュータからの前記演算結果を前記特定のの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する第5の処理
をさらに含む請求項記載の情報処理方法。
The information processing method is further executed by a computer of the specific person,
The specific person computers, by decoding the operation result from said second computer with the private key of the specific person, to generate a sum of the mask-matrix, the data storage unit of the fifth the fifth information processing method according to claim 1, wherein the process further comprises the storing.
複数のユーザの各情報処理装置と、当該各情報処理装置からのデータを蓄積する第2の情報処理装置とを含み、
前記各情報処理装置は、第1のデータ格納部に格納されているオリジナルマトリクスと、第2のデータ格納部に格納されており且つ前記オリジナルマトリクスと同一形状であるマスクマトリクスとを加算してマスク化マトリクスを生成し、第3のデータ格納部に格納するマスク処理部と、
前記第3のデータ格納部に格納されている前記マスク化マトリクスを、準同型暗号方式における特定の者の公開鍵で暗号化し、暗号化された前記マスク化マトリクスを、前記第2の情報処理装置に送信する出力部と、
を有し、
前記第2の情報処理装置が、前記各情報処理装置からの暗号化された前記マスク化マトリクスに対して、暗号化された、マスク化マトリクスの総和が得られるように、前記準同型暗号方式で暗号化したまま所定の演算を実施し、演算結果を第4のデータ格納部に格納し、前記第4のデータ格納部に格納されている演算結果を、前記特定の者の情報処理装置に送信し、
前記マスクマトリクスが、前記複数のユーザが用いる前記マスクマトリクスを算すると、ゼロ行列となるように生成されている
ことを特徴とするコンピュータシステム
Each information processing device of a plurality of users, and a second information processing device for storing data from each information processing device,
Each of the information processing devices masks by adding the original matrix stored in the first data storage unit and the mask matrix stored in the second data storage unit and having the same shape as the original matrix. A mask processing unit that generates a quantization matrix and stores it in a third data storage unit;
The third said masking matrix is stored in the data storage unit, and encrypted with the public key of the specific person in the homomorphic encryption method, the mask-matrix encrypted, the second information processing apparatus An output section to send to,
Have
In the homomorphic encryption method, the second information processing apparatus obtains a total sum of the masked matrices encrypted with respect to the encrypted masked matrix from each information processing apparatus. Predetermined calculation is performed with encryption, the calculation result is stored in the fourth data storage unit, and the calculation result stored in the fourth data storage unit is transmitted to the information processing apparatus of the specific person And
Computer system the mask matrix, to the said mask matrix said plurality of users used to focus calculated, characterized in that it is generated as a zero matrix.
前記特定のの情報処理装置
をさらに有し、
前記特定のの情報処理装置が、
前記第2の情報処理装置からの演算結果を前記特定のの秘密鍵で復号化することで、前記マスク化マトリクスの総和を生成し、第5のデータ格納部に格納する
請求項3記載のコンピュータシステム。
The information processing apparatus of the specific person is further included,
The information processing apparatus of the specific person is
The calculation result from the second information processing device is decrypted with the secret key of the specific person , thereby generating the sum of the masked matrix and storing it in the fifth data storage unit
The computer system according to claim 3 .
JP2011162775A 2011-07-26 2011-07-26 Information processing method and apparatus, and computer system Active JP5724720B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011162775A JP5724720B2 (en) 2011-07-26 2011-07-26 Information processing method and apparatus, and computer system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011162775A JP5724720B2 (en) 2011-07-26 2011-07-26 Information processing method and apparatus, and computer system

Publications (2)

Publication Number Publication Date
JP2013026996A JP2013026996A (en) 2013-02-04
JP5724720B2 true JP5724720B2 (en) 2015-05-27

Family

ID=47784822

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011162775A Active JP5724720B2 (en) 2011-07-26 2011-07-26 Information processing method and apparatus, and computer system

Country Status (1)

Country Link
JP (1) JP5724720B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110569666B (en) * 2019-09-03 2023-09-08 深圳前海微众银行股份有限公司 Block chain-based data statistics method and device
CN111382557B (en) * 2020-03-31 2023-09-22 字节跳动有限公司 Batch processing method, device, terminal and storage medium for non-fixed-length input data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3922221B2 (en) * 2003-07-04 2007-05-30 三菱電機株式会社 Multidimensional data aggregation processing apparatus and multidimensional data aggregation processing program
JP4706196B2 (en) * 2004-07-02 2011-06-22 株式会社日立製作所 Information collection method and terminal
JP2008234605A (en) * 2007-03-23 2008-10-02 Nec Corp Data tabulation system, data tabulation method and data tabulation program concerning securing data anonymity when acquiring/circulating data
DE602007011673D1 (en) * 2007-04-25 2011-02-10 Nec Europe Ltd METHOD FOR AGGREGATING DATA IN A NETWORK

Also Published As

Publication number Publication date
JP2013026996A (en) 2013-02-04

Similar Documents

Publication Publication Date Title
CN106789080B (en) Digital signature generation method and device
CN110011781B (en) Homomorphic encryption method and medium for transaction amount encryption and supporting zero knowledge proof
US20110145576A1 (en) Secure method of data transmission and encryption and decryption system allowing such transmission
CN113162752B (en) Data processing method and device based on hybrid homomorphic encryption
US20130028419A1 (en) System and a method for use in a symmetric key cryptographic communications
CN101185122A (en) Homomorphic encryption for secure watermarking
CN107196926A (en) A kind of cloud outsourcing privacy set comparative approach and device
JP5574402B2 (en) Distributed concealed data integration apparatus, distributed concealed data integration method, and distributed concealed data integration program
US20240097894A1 (en) Threshold key exchange
Newman et al. Spectrum: High-bandwidth anonymous broadcast
JP2001211154A (en) Secret key generating method, ciphering method, and cipher communication method
JP5724720B2 (en) Information processing method and apparatus, and computer system
CN115516817A (en) DSA threshold signature with secret sharing
Newman et al. Spectrum: High-Bandwidth Anonymous Broadcast with Malicious Security.
JP4758110B2 (en) Communication system, encryption apparatus, key generation apparatus, key generation method, restoration apparatus, communication method, encryption method, encryption restoration method
WO2019230718A1 (en) Voting system, voting relay server, client terminal, voting method, advertisement distribution system, and program
JP5724719B2 (en) Information processing method and apparatus, and computer system
CN114726549A (en) Data security query method and system based on bidirectional RSA three-time transmission protocol
CN110474967B (en) Block chain experiment system and method
Abdulhamid et al. Development of blowfish encryption scheme for secure data storage in public and commercial cloud computing environment
JP5799876B2 (en) Program, information processing method and information processing apparatus
CN108737098A (en) Key generation method, information encipher-decipher method, device, medium and electronic equipment
CN108718235A (en) A kind of stream encryption and decryption method
JP2006237670A (en) Security system for database and buildup method thereof
JP2005321719A (en) Communication system, decrypting device, restoration device, key generation device, and communication method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140404

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141209

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5724720

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150