JP5492241B2 - Secret calculation system, aggregation device, and aggregation result decoding program - Google Patents
Secret calculation system, aggregation device, and aggregation result decoding program Download PDFInfo
- Publication number
- JP5492241B2 JP5492241B2 JP2012073950A JP2012073950A JP5492241B2 JP 5492241 B2 JP5492241 B2 JP 5492241B2 JP 2012073950 A JP2012073950 A JP 2012073950A JP 2012073950 A JP2012073950 A JP 2012073950A JP 5492241 B2 JP5492241 B2 JP 5492241B2
- Authority
- JP
- Japan
- Prior art keywords
- result
- decoding
- aggregation
- secret
- data
- 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
Links
Images
Description
本発明の実施形態は、秘匿計算システム、集計装置及び集計結果復号プログラムに関する。 Embodiments described herein relate generally to a secret calculation system, a counting device, and a counting result decoding program.
近年、巨大なリソースやプラットフォーム、アプリケーションなどをサービスとして提供するビジネス形態が出現してきている。ここでいうリソースとは、CPU能力やメモリ、ハードディスクなどの計算機資源を指す。 In recent years, business forms that provide huge resources, platforms, applications, and the like as services have emerged. The resource here refers to a computer resource such as CPU capacity, memory, and hard disk.
この種のビジネス形態では、通常、複数のユーザ企業が同一のサービスを共有する。そこで、各ユーザ企業が有する情報を統合し、統計やデータマイニングを施す方法が注目されてきている。ここでデータマイニングとは、種々の統計的な解析手法を用い、大量の情報から有用な情報や、情報間の関連性を見つけ出す手法を指す。 In this type of business, usually a plurality of user companies share the same service. Therefore, a method of integrating information held by each user company and performing statistics and data mining has been attracting attention. Here, data mining refers to a method of finding useful information from a large amount of information and a relationship between information using various statistical analysis methods.
一方、異なるユーザ企業間でサービスを共有することに伴い、自社の情報が他社に漏洩する可能性が指摘されている。例えば、統計やデータマイニングを施す際に、自社の情報をそのまま開示すると、自社の情報が他社に漏洩してしまう。また、統計やデータマイニングを施すサービス提供企業にも自社の情報が開示されるため、サービス提供企業側の過失で自社の情報が漏洩する可能性もある。 On the other hand, it has been pointed out that the company's information may be leaked to other companies as services are shared between different user companies. For example, if the company's information is disclosed as it is when performing statistics and data mining, the company's information will be leaked to other companies. In addition, since the company's information is also disclosed to the service provider that performs statistics and data mining, the company's information may be leaked due to the negligence of the service provider.
また、自社の情報に統計やデータマイニングを施した結果が企業活動を行う上での戦略的価値を持つ場合もあり、これらの情報の漏洩にも注意を払う必要がある。 In addition, the result of applying statistics and data mining to the company's information may have strategic value in conducting corporate activities, and it is necessary to pay attention to the leakage of this information.
そこで、自社の情報を秘匿しつつ、統計やデータマイニングを施した結果を得るための技術が提案されている。これらの提案では、秘匿したい数値を暗号化し、暗号化した状態で演算を実行する方法が述べられている。このように、秘匿した状態で演算することを秘匿計算と呼ぶ。 Therefore, techniques for obtaining the results of statistics and data mining while concealing the company's information have been proposed. In these proposals, a method is described in which a numerical value to be concealed is encrypted and an operation is executed in the encrypted state. Such calculation in a concealed state is referred to as concealment calculation.
第1の提案方法は、データ集計処理において、各データに乱数を作用させて撹乱し、各々の撹乱データを集計すると撹乱が消去されて、所望の集計結果が得られる方式である。 The first proposed method is a method in which random numbers are applied to each data to cause disturbance in the data totaling process, and when each disturbance data is totaled, the disturbance is eliminated and a desired total result is obtained.
第2の提案方法は、2次元の表データの集計処理において、各表内の各データに乱数を作用させて撹乱し、各々の撹乱データを集計すると撹乱が消去されて、所望の集計結果が得られる方式である。 The second proposed method is a two-dimensional tabular data tabulation process, in which each data in each table is disturbed by applying a random number, and when each disturbance data is tabulated, the disturbance is erased and a desired tabulation result is obtained. This is the method obtained.
第3の提案方法は、完全準同型暗号と呼ばれる方式である。暗号化前のデータ同士に任意の演算を行う場合、暗号化前のデータを暗号化して得られた暗号化データ同士にその演算に対応する演算を行い、演算結果を復号すると所望の結果(暗号化前のデータ同士の演算結果)となっている方式である。 The third proposed method is a method called perfect homomorphic encryption. When performing arbitrary computations between the data before encryption, the computation corresponding to the computation is performed between the encrypted data obtained by encrypting the data before encryption, and the desired result (encryption) is decrypted. This is a method that is a calculation result of data before conversion).
しかしながら、以上のような提案方法では、以下のような不都合がある。 However, the above proposed method has the following disadvantages.
第1の提案方法は、集計すると撹乱の効果が消去されるため、集計結果が集計装置に秘匿されていない。従って、集計結果も秘匿したい場合には利用できないという不都合がある。 In the first proposed method, the total effect is not concealed by the totaling device because the effect of disturbance is eliminated when the totaling is performed. Therefore, there is an inconvenience that the total result cannot be used when it is desired to keep it secret.
第2の提案方法は、第1の提案方法の不都合と同じ不都合に加え、データを撹乱するための乱数の生成、配布に信頼できる第三者が必要である。この信頼できる第三者はデータの撹乱を消去するための情報を保持しているため、自社の情報や集計結果が第三者に知られてしまうという不都合がある。 In the second proposed method, in addition to the same inconvenience as the first proposed method, a reliable third party is required for generation and distribution of random numbers for disturbing the data. Since this reliable third party holds information for erasing data disturbance, there is a disadvantage that the company's information and the total result are known to the third party.
第3の提案方法は、完全準同型暗号の処理速度が従来の暗号技術と比較して桁違いに遅く、とても実用に耐えないという不都合がある。 The third proposed method has a disadvantage that the processing speed of the completely homomorphic encryption is much slower than that of the conventional encryption technology, and it cannot be put into practical use.
本発明が解決しようとする課題は、完全準同型暗号及び信頼できる第三者を利用せずに、集計対象データ及びその集計結果を秘匿した状態で集計装置に集計処理を実行させることが可能な秘匿計算システム、集計装置及び集計結果復号プログラムを提供することである。 The problem to be solved by the present invention is to allow the aggregation device to execute the aggregation process in a state in which the aggregation target data and the aggregation result are concealed without using completely homomorphic encryption and a reliable third party. It is to provide a secret calculation system, a counting device, and a counting result decoding program.
実施形態の秘匿計算システムは、集計装置と、1個以上の集計結果復号装置とを備えている。 The secret calculation system of the embodiment includes a counting device and one or more counting result decoding devices.
前記集計装置は、秘匿データ受信手段、秘匿データ記憶手段、集計手段、秘匿集計結果送信手段及び集計方法名送信手段を備えている。 The aggregation device includes secret data reception means, secret data storage means, aggregation means, secret aggregation result transmission means, and aggregation method name transmission means.
前記秘匿データ受信手段は、前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する。 The secret data receiving means receives a plurality of secret data obtained by individually encrypting a plurality of data to be aggregated based on random numbers generated individually by the aggregation result decrypting devices.
前記秘匿データ記憶手段は、前記受信された各秘匿データを記憶する。 The secret data storage means stores the received secret data.
前記集計手段は、前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する。 The counting means generates a secret count result by counting each secret data in the secret data storage means.
前記秘匿集計結果送信手段は、前記秘匿集計結果を前記各集計結果復号装置に送信する。 The secret tabulation result transmission means transmits the secret tabulation result to each tabulation result decoding device.
前記集計方法名送信手段は、前記集計処理に用いた集計方法を示す集計方法名を前記各集計結果復号装置に送信する。 The counting method name transmitting means transmits a counting method name indicating the counting method used in the counting process to each counting result decoding device.
前記各集計結果復号装置は、乱数生成手段、暗号化手段、秘匿データ送信手段、復号方法記憶手段、秘匿集計結果受信手段、集計方法名受信手段、復号方法選択手段及び集計結果復号手段を備えている。 Each of the tabulation result decryption devices includes a random number generation unit, an encryption unit, a secret data transmission unit, a decryption method storage unit, a secret tabulation result reception unit, a tabulation method name reception unit, a decryption method selection unit, and a tabulation result decryption unit. Yes.
前記乱数生成手段は、乱数を生成する。 The random number generation means generates a random number.
前記暗号化手段は、前記生成された乱数を用いて前記集計対象データを暗号化することにより、前記秘匿データを得る。 The encryption unit obtains the secret data by encrypting the aggregation target data using the generated random number.
前記秘匿データ送信手段は、前記得られた秘匿データを前記集計装置に送信する。 The secret data transmission means transmits the obtained secret data to the counting device.
前記復号方法記憶手段は、予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶している。 The decoding method storage means stores in advance a plurality of aggregation method names individually indicating a plurality of aggregation methods and a plurality of decoding methods individually corresponding to the aggregation methods indicated by the respective aggregation method names. Yes.
前記秘匿集計結果受信手段は、前記送信された秘匿集計結果を受信する。 The secret count result receiving means receives the transmitted secret count result.
前記集計方法名受信手段は、前記送信された集計方法名を受信する。 The counting method name receiving unit receives the transmitted counting method name.
前記復号方法選択手段は、前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する。 The decoding method selection means selects a decoding method from the decoding method storage means based on the received counting method name.
前記集計結果復号手段は、前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る。 The tabulation result decoding means executes the selected decoding method and decodes the received secret tabulation result to obtain the tabulation result of the tabulation target data.
以下、一実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。 Hereinafter, an embodiment will be described with reference to the drawings. Each of the following devices can be implemented with either a hardware configuration or a combination configuration of hardware resources and software. As the software of the combined configuration, a program that is installed in advance on a computer of a corresponding device from a network or a storage medium and that realizes the function of the corresponding device is used.
<一実施形態>
図1は一実施形態に係る秘匿計算システムの構成を示す模式図である。この秘匿計算システムは、集計装置100と3個の集計結果復号装置120,130,140とがネットワーク110を介して接続されている。なお、集計結果復号装置120,130,140は、3個に限らず、1個以上の任意の個数が使用可能となっている。
<One Embodiment>
FIG. 1 is a schematic diagram showing a configuration of a secret calculation system according to an embodiment. In this secret calculation system, a
ここで集計装置200は、図2に示すように、データ受信部201、集計部202、記憶部203、集計方法記憶部204、集計方法送信部205及び集計結果送信部206を備えている。
Here, the aggregation device 200 includes a
ここで、データ受信部201は、各集計結果復号装置120,130,140により個別に生成された乱数(r1, r2, r3)に基づいて複数個の集計対象データ(p1, p2, p3)が個別に暗号化されてなる複数個の秘匿データ(c1, c2, c3)を受信する秘匿データ受信機能をもっている。
Here, the
集計部202は、記憶部203内の各秘匿データ(c1, c2, c3)を集計処理(例、総和計算)して秘匿集計結果(d)を作成する集計機能をもっている。
The
記憶部203は、各部201,202,205,206から読出/書込可能なメモリであり、例えば、データ受信部201により受信された各秘匿データ(c1, c2, c3)を記憶する。
The
集計方法記憶部204は、各部201,202,205,206から読出/書込可能なメモリであり、例えば、集計部202による集計処理に用いた方法を示す集計方法名を記憶する。ここで、集計方法名としては、例えば、「総和計算」、「積の計算」、「内積計算」、「逆元計算」及び「大小比較」、等といったマルチパーティ計算で実行可能な集計方法名が使用可能となっている。
The tabulation
集計方法送信部205は、集計方法記憶部204から集計方法名を読み出す機能と、集計部202による集計処理に用いた方法を示す集計方法名を各集計結果復号装置120,130,140に送信する集計方法名送信機能をもっている。なお、集計方法送信部205は、集計方法記憶部204から集計方法名を読み出す機能を省略し、集計部202から集計処理に用いた方法を示す集計方法名を受けると、この集計方法名を各集計結果復号装置120,130,140に送信する構成としてもよい。
Aggregation
集計結果送信部206は、集計部202により作成された秘匿集計結果(d)を各集計結果復号装置120,130,140に送信する秘匿集計結果送信機能をもっている。
The tabulation
続いて、3個の集計結果復号装置120,130,140の構成を説明する。各集計結果復号装置120,130,140は、例えば、集計結果復号装置の機能を実現させるためのプログラム(集計結果復号プログラム)が予め収集装置100等からユーザのコンピュータに送信され、このユーザのコンピュータにインストールされて実現される。従って、各集計結果復号装置120,130,140が互いに同一構成となるため、ここでは、集計結果復号装置120を代表例に挙げて説明する。
Next, the configuration of the three total
集計結果復号装置120は、集計方法受信部301、集計結果受信部302、復号用パラメータ受信部303、復号用パラメータ計算部304、記憶部305、復号方法記憶部306、復号部307、復号用パラメータ送信部308、乱数生成部309、暗号化部310及び秘匿データ送信部311を備えている。
The aggregation
集計方法受信部301は、集計装置100から送信された集計方法名を受信する集計方法名受信機能をもっている。
The counting
集計結果受信部302は、集計装置100から送信された秘匿集計結果(d)を受信する秘匿集計結果受信機能をもっている。
The counting
復号用パラメータ受信部303は、他の集計結果復号装置130,140により個別に作成されたn−1個の分散値(r21, r31)を当該他の集計結果復号装置130,140から個別に受信する分散値受信機能と、他の集計結果復号装置130,140により個別に作成されたn−1個の分散情報(R2, R3)を当該他の集計結果復号装置130,140から個別に受信する分散情報受信機能とをもっている。
The decoding
復号用パラメータ計算部304は、集計方法受信部301により受信した集計方法名に基づいて、復号方法記憶部306から復号方法を選択する復号方法選択機能と、
1個以上の集計結果復号装置の個数をn個としたとき、(n,n)しきい値法により、乱数(r1)を秘密分散してn個の分散値(r11, r12, r13)を作成する分散値作成機能と、記憶部305に保持した1個の分散値(r11)と、復号用パラメータ受信部303により受信したn−1個の分散値(r21, r31)とを用い、選択した復号方法に応じた集計方法に基づいて1個の分散情報(R1)を作成する分散情報作成機能と、当該作成した1個の分散情報(R1)と、復号用パラメータ受信部303により受信したn−1個の分散情報(R2, R3)とを用い、(n,n)しきい値法による復元処理を実行して、秘匿集計結果のうちの乱数の集計結果に相当する乱数集計データ(例えば、r1 + r2 + r3)を復元する乱数集計データ復元機能とをもっている。
The decoding
When the number of one or more aggregation result decrypting devices is n, the random number (r1) is secretly distributed by the (n, n) threshold method, and n distributed values (r11, r12, r13) are obtained. Select using the variance value creation function to be created, one variance value (r11) held in the
記憶部305は、各部302〜304,307〜311から読出/書込可能なメモリであり、例えば、各部302〜304,307〜311に対する入出力データや処理途中のデータ等が適宜、記憶される。
The
復号方法記憶部306は、復号用パラメータ計算部304及び復号部307から読出可能なメモリであり、例えば、予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶する。ここで、集計方法名としては、例えば、「総和計算」、「積の計算」、「内積計算」、「逆元計算」及び「大小比較」、等といったマルチパーティ計算で実行可能な集計方法名が使用可能となっている。
The decoding
復号部307は、復号用パラメータ計算部304により選択した復号方法を実行して、集計結果受信部302により受信した秘匿集計結果(d)を復号することにより、集計対象データの集計結果(例えば、p1 + p2 + p3)を得る集計結果復号機能をもっている。ここで、復号部307の集計結果復号機能は、復号用パラメータ計算部304により作成した乱数集計データ(例えば、r1 + r2 + r3)と、集計結果受信部302により受信した秘匿集計結果(d)とを用い、復号用パラメータ計算部304により選択した復号方法に応じた集計方法に基づいて、集計対象データの集計結果(例えば、p1 + p2 + p3)を(例えば、d - (r1 + r2 + r3)により)算出する集計結果算出機能を含んでいる(カッコ内の例示については、集計対象データの集計結果はp1 + p2 + p3であるが、それを求める演算式がd - (r1 + r2 + r3)となっている、という意味である)。また、復号とは、秘匿化の状態を解除することを意味する。
The
復号用パラメータ送信部308は、復号用パラメータ計算部304により作成した分散値(r11, r12, r13)のうち、1個の分散値(r11)を保持し、残りのn−1個の分散値(r12, r13)を他の集計結果復号装置130,140に送信する分散値送信機能と、復号用パラメータ計算部304により作成した分散情報(R1)を他の集計結果復号装置130,140に送信する分散情報送信機能とをもっている。
The decoding
乱数生成部309は、乱数(r1)を生成する乱数生成機能をもっている。なお、生成された乱数(r1)は、記憶部305に書込まれてもよく、暗号化部310に送出されてもよい。
The random
暗号化部310は、乱数生成部309により生成された乱数(r1)を用いて集計対象データ(p1)を暗号化することにより、秘匿データ(c1)を得る暗号化機能をもっている。用いる乱数(r1)は、記憶部305から読み出してもよく、乱数生成部309から受け取ってもよい。得られた秘匿データ(c1)は、記憶部305に書込まれてもよく、秘匿データ送信部311に送出されてもよい。
The
秘匿データ送信部311は、暗号化部310により得られた秘匿データ(c1)を集計装置100に送信する秘匿データ送信機能をもっている。送信する秘匿データ(c1)は、記憶部305から読み出してもよく、暗号化部310から受け取ってもよい。
The secret
次に、以上のように構成された秘匿計算システムの動作を図4及び図5を用いて説明する。 Next, the operation of the secret calculation system configured as described above will be described with reference to FIGS.
図4は集計処理が総和計算の場合の秘匿化方法を示した模式図である。 FIG. 4 is a schematic diagram showing a concealment method in the case where the aggregation process is a sum calculation.
集計結果復号装置120では、乱数生成部309で乱数r1を生成し、記憶部305に格納する(S1)。また秘匿したいデータp1に対してc1 = p1 + r1を計算し(S2)、秘匿データc1を集計装置100の記憶部203に格納する(S3)。秘匿データc1はp1に乱数が加算されているため、p1を秘匿化したデータとなっている。
In the total
集計結果復号装置130は、同様に、乱数r2を生成し、集計結果復号装置130の記憶部305に格納する(S4)。また秘匿したい集計対象データp2に対してc2 = p2 + r2を計算し(S5)、秘匿データc2を集計装置100の記憶部203に格納する(S6)。
Similarly, the counting
集計結果復号装置140は、同様に、乱数r3を生成し、集計結果復号装置140の記憶部305に格納する(S7)。また秘匿したい集計対象データp3に対してc3 = p3 + r3を計算し(S8)、秘匿データc3を集計装置100の記憶部203に格納する(S9)。
Similarly, the counting
集計装置100は、各集計結果復号装置120,130,140から秘匿データc1, c2, c3をデータ受信部201を介して受信し、記憶部203に格納する(S3,S6,S9)。集計装置100は、記憶部203に格納されているc1, c2, c3に対して集計部202で集計処理を実行する(S10)。
The
ここで、集計処理はデータの総和計算であり、集計方法記憶部204から総和計算を行う機能を図示しないメモリにロードして行う。行われる計算はd = c1 + c2 + c3である。秘匿集計結果dは記憶部203に格納される。
Here, the aggregation process is a total calculation of data, and is performed by loading a function for performing the total calculation from the aggregation
集計装置100は、記憶部203に格納された秘匿集計結果dを集計結果送信部206から集計結果復号装置120,130,140に送信するとともに、集計処理における集計方法(ここでは、総和計算)を示す集計方法名を集計方法送信部205から集計結果復号装置120,130,140に送信する(S11,S12,S13)。
The
なお、秘匿集計結果dは、次式に示すように、本来の集計結果p1 + p2 + p3に乱数r1 + r2 + r3を加えた形となっている。
すなわち、秘匿集計結果dは乱数で撹乱されているため、本来の集計結果(p1 + p2 + p3)を秘匿したものになっている。したがって、本来の集計結果は集計装置100に対して秘匿されている。
That is, since the secret count result d is disturbed by a random number, the original count result (p1 + p2 + p3) is concealed. Therefore, the original counting result is kept secret from the
各集計結果復号装置120,130,140は、集計結果100から送信された秘匿集計結果dを、集計結果受信部302で受信し、記憶部305に格納する。また集計結果100から送信された集計方法を示す集計方法名を、集計方法受信部301で受信し、復号用パラメータ計算部304に通知する。
Each aggregation
各集計結果復号装置120,130,140は集計方法名が総和計算を示すことから、復号方法記憶部306から集計方法名が総和計算の場合の復号機能を図示しないメモリにロードして、集計結果dの復号を開始する。なお、復号方法記憶部306は、集計方法名と、集計方法名が示す集計方法に応じた復号機能(復号方法)とを関連付けて記憶している。ここで、復号機能及び復号方法は、復号プログラムと読み替えてもよい。
Each aggregation
図5は集計方法が総和計算の場合の復号方法のうち、復号用パラメータ計算方法を示した模式図である。 FIG. 5 is a schematic diagram showing a decryption parameter calculation method among decryption methods when the summation method is sum calculation.
集計結果復号装置120は、記憶部305に格納している乱数r1、集計結果復号装置130が記憶部305に格納している乱数r2、集計結果復号装置140が記憶部305に格納している乱数r3から、それらの和r1 + r2 + r3を求める。
The totalization
ただし乱数r1の情報は集計結果復号装置120以外にはまったく漏れず、乱数r2の情報は集計結果復号装置130以外にはまったく漏れず、乱数r3の情報は集計結果復号装置140以外にはまったく漏れないように各集計結果復号装置120,130,140により管理されている。
However, the information on the random number r1 is not leaked at all except for the tabulation
これは例えば乱数r1が漏洩し、集計装置100に伝わると、集計装置100は記憶部203に格納した秘匿データc1と合わせてc1 - r1を計算することで、集計結果復号装置が秘匿したかった元の集計対象データp1を復元することができるためである。
For example, when the random number r1 is leaked and transmitted to the
復号用パラメータ計算のために、シャミア(Shamir)の(3, 3)しきい値法を利用する。 For calculation of decoding parameters, Shamir's (3, 3) threshold method is used.
集計結果復号装置120は記憶部305に格納している乱数r1から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r11, r12, r13を生成する(S14)。ここで分散値r11, r12, r13の生成は以下のように行う。まず2つの乱数a11、a12を生成し、2次多項式f1(x) = r1 + a11x + a12x^2を構成する。次にr11 = f1(1)、r12 = f1(2)、r13 = f1(3)を計算し、r11, r12, r13を求める。
The totalization
集計結果復号装置120は、1個の分散値r11を記憶部305に格納する(S15)。残り2個の分散値r12,r13は復号用パラメータ送信部308から、それぞれ集計結果復号装置130,140に送信される。集計結果復号装置130は復号用パラメータ受信部303で他の分散値r12を受信し、記憶部305に格納する(S16)。集計結果復号装置140は復号用パラメータ受信部303で更に他の分散値r13を受信し、記憶部305に格納する(S17)。
The aggregation
集計結果復号装置130は、記憶部305に格納している乱数r2から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r21, r22, r23を生成する(S18)。生成の仕方は、集計結果復号装置120での生成方法と同様である。すなわち、まず2つの乱数a21、a22を生成し、2次多項式f2(x) = r2 + a21x + a22x^2を構成し、次にr21 = f2(1)、r22 = f2(2)、r23 = f2(3)を計算する。集計結果復号装置130は、1個の分散値r22を記憶部305に格納する(S19)。残り2個の分散値r21,r23は復号用パラメータ送信部308から、それぞれ集計結果復号装置120,140に送信される。
The totalization
集計結果復号装置120は復号用パラメータ受信部303で他の分散値r21を受信し、記憶部305に格納する(S20)。集計結果復号装置140は復号用パラメータ受信部303で更に他の分散値r23を受信し、記憶部305に格納する(S21)。
The total
集計結果復号装置140は、記憶部305に格納している乱数r3から、復号用パラメータ計算部304において、(3,3)しきい値法の分散処理により3個の分散値r31, r32, r33を生成する(S22)。生成の仕方は、集計結果復号装置120での生成方法と同様である。すなわち、まず2つの乱数a31、a32を生成し、2次多項式f3(x) = r3 + a31x + a32x^2を構成し、次にr31 = f3(1)、r32 = f3(2)、r33 = f3(3)を計算する。集計結果復号装置140は、1個の分散値r33を記憶部305に格納する(S23)。残り2個の分散値r31、r32は復号用パラメータ送信部308から、それぞれ集計結果復号装置120,130に送信する。集計結果復号装置120は復号用パラメータ受信部303で他の分散値r31を受信し、記憶部305に格納する(S24)。集計結果復号装置130は復号用パラメータ受信部303で更に他の分散値r32を受信し、記憶部305に格納する(S25)。
The total
集計結果復号装置120は、記憶部305から分散値r11、r21、r31を読み出し、復号用パラメータ計算部304で分散情報R1 = r11 + r21 + r31を計算する(S26)。集計結果復号装置120は、分散情報R1を記憶部305に格納する(S27)。また、分散情報R1を復号用パラメータ送信部308から、集計結果復号装置130,140に送信する。集計結果復号装置130は復号用パラメータ受信部303で分散情報R1を受信し、記憶部305に格納する(S28)。集計結果復号装置140は復号用パラメータ受信部303で分散情報R1を受信し、記憶部305に格納する(S29)。
The aggregation
集計結果復号装置130は、記憶部305から分散値r12、r22、r32を読み出し、復号用パラメータ計算部304で分散情報R2 = r12 + r22 + r32を計算する(S30)。集計結果復号装置130は、分散情報R2を記憶部305に格納する(S31)。また、分散情報R2を復号用パラメータ送信部308から、集計結果復号装置120,140に送信する。集計結果復号装置120は復号用パラメータ受信部303で分散情報R2を受信し、記憶部305に格納する(S32)。集計結果復号装置140は復号用パラメータ受信部303で分散情報R2を受信し、記憶部305に格納する(S33)。
The totalization
集計結果復号装置140は、記憶部305から分散値r13、r23、r33を読み出し、復号用パラメータ計算部304で分散情報R3 = r13 + r23 + r33を計算する(S34)。集計結果復号装置140は、分散情報R3を記憶部305に格納する(S35)。また、分散情報R3を復号用パラメータ送信部308から、集計結果復号装置120,130に送信する。集計結果復号装置120は復号用パラメータ受信部303で分散情報R3を受信し、記憶部305に格納する(S36)。集計結果復号装置130は復号用パラメータ受信部303で分散情報R3を受信し、記憶部305に格納する(S37)。
The aggregation
集計結果復号装置120は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理により、乱数集計データ(r1 + r2 + r3)を復元する(S38)。ここで(3,3)しきい値法による復元処理はラグランジュの補間公式より、3×R1 - 3×R2 + R3を計算することである。
The total
集計結果復号装置130は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理、すなわち3×R1 - 3×R2 + R3を計算することにより、乱数集計データ(r1 + r2 + r3)を復元する(S39)。
The total
集計結果復号装置140は、記憶部305から分散情報R1、R2、R3を読み出し、復号用パラメータ計算部304で、(3,3)しきい値法における分散情報R1、R2、R3の復元処理、すなわち3×R1 - 3×R2 + R3を計算することにより、乱数集計データ(r1 + r2 + r3)を復元する(S40)。
The total
ここで、3×R1 - 3×R2 + R3 = r1 + r2 + r3であることは、以下のように確かめることができる。生成の仕方から、各々の分散値r11, r12, r13, r21, r22, r23, r31, r32, r33は以下の値となる。 Here, it can be confirmed that 3 × R1−3 × R2 + R3 = r1 + r2 + r3 as follows. From the generation method, the respective dispersion values r11, r12, r13, r21, r22, r23, r31, r32, r33 have the following values.
r11 = f1(1) = r1 + a11 + a12
r12 = f1(2) = r1 + 2×a11 + 4×a12
r13 = f1(3) = r1 + 3×a11 + 9×a12
r21 = f2(1) = r2 + a21 + a22
r22 = f2(2) = r2 + 2×a21 + 4×a22
r23 = f2(3) = r2 + 3×a21 + 9×a22
r31 = f3(1) = r3 + a31 + a32
r32 = f3(2) = r3 + 2×a31 + 4×a32
r33 = f3(3) = r3 + 3×a31 + 9×a32
したがって、分散情報R1, R2, R3の値は以下のようになる。
r12 = f1 (2) = r1 + 2 × a11 + 4 × a12
r13 = f1 (3) = r1 + 3 × a11 + 9 × a12
r21 = f2 (1) = r2 + a21 + a22
r22 = f2 (2) = r2 + 2 × a21 + 4 × a22
r23 = f2 (3) = r2 + 3 × a21 + 9 × a22
r31 = f3 (1) = r3 + a31 + a32
r32 = f3 (2) = r3 + 2 × a31 + 4 × a32
r33 = f3 (3) = r3 + 3 × a31 + 9 × a32
Therefore, the values of the shared information R1, R2, R3 are as follows.
各集計結果復号装置120,130,140は、それぞれ復号パラメータ計算により求めた乱数集計データ(r1 + r2 + r3)と、記憶部305に格納されている集計結果dから、復号部307でd - (r1 + r2 + r3)を計算することで、次式に示すように、集計対象データ(p1, p2, p3)の所望の集計結果である総和p1 + p2 + p3を得ることができる。
Each of the totalization
d - (r1 + r2 + r3)
= (c1 + c2 + c3) - (r1 + r2 + r3)
= ((p1 + r1) + (p2 + r2) + (p3 + r3)) - (r1 + r2 + r3)
= p1 + p2 + p3
上述したように本実施形態によれば、完全準同型暗号及び信頼できる第三者を利用せずに、集計対象データ及びその集計結果を秘匿した状態で集計装置に集計処理(例、データの総和計算)を実行させることができる。また、集計対象データの集計結果は、各集計結果復号装置120,130,140で参照することができる。
d-(r1 + r2 + r3)
= (c1 + c2 + c3)-(r1 + r2 + r3)
= ((p1 + r1) + (p2 + r2) + (p3 + r3))-(r1 + r2 + r3)
= p1 + p2 + p3
As described above, according to the present embodiment, the totaling process (eg, summation of data) is performed in the totaling device in a state where the target data and the totaling result thereof are concealed without using completely homomorphic encryption and a reliable third party. Calculation) can be executed. The aggregation result of the aggregation target data can be referred to by each aggregation
なお、本実施形態は、秘匿集計結果dをd = c1 + c2 + c3 = (p1 + p2 + p3) + (r1 + r2 + r3)とし、乱数集計データ(r1 + r2 + r3)を集計結果復号装置120,130,140が協力して求めた総和計算の例について説明したが、総和計算に限らず、例えば、積の計算を実行してもよい。積の計算の場合は、秘匿データc1をc1 = p1・r1等として積でマスクし、集計結果dをd = c1・c2・c3 = (p1・p2・p3)・(r1・r2・r3)とし、乱数集計データ(r1・r2・r3)を集計結果復号装置120,130,140が協力して求めればよい。また、本実施形態は、総和計算や積の計算に限らず、他の種類の計算も同様にして乱数r1, r2, r3についての計算で実現することができる。
In this embodiment, the secret count result d is d = c1 + c2 + c3 = (p1 + p2 + p3) + (r1 + r2 + r3), and the random number count data (r1 + r2 + r3) is the count result Although an example of the sum calculation obtained by the
補足すると、本実施形態は、図6に枠組みを示すように、目的の演算に応じたマルチパーティ計算(MPC)を用いて所望の計算を実行することができる。ここで、マルチパーティ計算のアルゴリズムについては、参考文献(例えば、SecureSCM, “WP9 Cryptographic Aspects, D9.2 Security Analysis”, July 2009, http://pi1.informatik.uni-mannheim.de/filepool/publications/octavian_securescm/SecureSCM-D.9.2.pdf )に記載されている。例えば、総和計算方法は、参考文献2.4.2節の“Addition of secrets”に記載されている。積の計算方法は、参考文献2.4.2節の“Multiplication of secrets”に記載されている。その他、内積計算は、参考文献2.4.2節の“Inner Product of secrets”に記載されている。逆元計算は、参考文献(p. 32)の“Protocol 3.12”に記載されている。大小比較は、参考文献5.2節に記載されている。また、他の種類の計算でも、マルチパーティ計算のアルゴリズムによって同様に実行可能である。 Supplementally, the present embodiment can execute a desired calculation using a multi-party calculation (MPC) corresponding to a target calculation, as shown in the framework of FIG. Here, for the algorithm of multi-party calculation, refer to the reference (for example, SecureSCM, “WP9 Cryptographic Aspects, D9.2 Security Analysis”, July 2009, http://pi1.informatik.uni-mannheim.de/filepool/publications /octavian_securescm/SecureSCM-D.9.2.pdf). For example, the sum calculation method is described in “Addition of secrets” in section 2.4.2. The product calculation method is described in “Multiplication of secrets” in section 2.4.2. The inner product calculation is described in “Inner Product of secrets” in section 2.4.2. The inverse element calculation is described in “Protocol 3.12” of the reference (p. 32). The size comparison is described in section 5.2. Also, other types of calculations can be similarly performed by a multi-party calculation algorithm.
また、本実施形態は、3個の集計結果復号装置を用いる場合について説明したが、3個に限らず、4個以上の集計結果復号装置を用いる場合にも同様に実施可能である。 Moreover, although this embodiment demonstrated the case where three totalization result decoding apparatuses were used, it can implement similarly not only when using three but when four or more totalization result decoding apparatuses are used.
具体的には、4個以上の集計結果復号装置を用いる場合には、秘密分散の一般的な復元方法(ラグランジュの補間公式)を適用すれば、実行可能である。例えば、n個の集計結果復号装置(による総和)の場合、以下の[1]〜[3]に示すように実行可能である。 More specifically, when four or more tabulation result decrypting apparatuses are used, it can be executed by applying a general secret sharing restoration method (Lagrange interpolation formula). For example, in the case of n totaling result decoding devices (the sum total), it can be executed as shown in the following [1] to [3].
[1] 各々の集計結果復号装置iは、自己が生成した乱数ri を (n, n) しきい値法で分散し、分散値rij=fi(j)を他の n - 1 個の集計結果復号装置jに送付する。
すなわち、(R1, … , Rn) は多項式 F(x) により、r1 + r2 + … + rn を (n, n) しきい値法で秘密分散した分散情報になっている。 That is, (R1,..., Rn) is distributed information obtained by secretly distributing r1 + r2 + ... + rn with the (n, n) threshold method by the polynomial F (x).
[3] n 個の集計結果復号装置が協力して、F(x) に関するラグランジュの補間公式を適用し、r1 + r2 + … + rn を復元する。 [3] The n aggregation result decoding devices cooperate to apply Lagrange's interpolation formula for F (x) to restore r1 + r2 + ... + rn.
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。 Note that the methods described in the above embodiments are, as programs that can be executed by a computer, magnetic disks (floppy (registered trademark) disks, hard disks, etc.), optical disks (CD-ROMs, DVDs, etc.), magneto-optical disks. (MO), stored in a storage medium such as a semiconductor memory, and distributed.
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。 In addition, as long as the storage medium can store a program and can be read by a computer, the storage format may be any form.
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。 In addition, an OS (operating system) running on a computer based on an instruction of a program installed in the computer from a storage medium, MW (middleware) such as database management software, network software, and the like realize the above-described embodiment. A part of each process may be executed.
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。 Furthermore, the storage medium in each embodiment is not limited to a medium independent of a computer, but also includes a storage medium in which a program transmitted via a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。 Further, the number of storage media is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage media in the present invention, and the media configuration may be any configuration.
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。 Note that the computer in each embodiment executes each process in each of the above embodiments based on a program stored in a storage medium. Any configuration of the system or the like may be used.
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。 In addition, the computer in each embodiment is not limited to a personal computer, and includes an arithmetic processing device, a microcomputer, and the like included in an information processing device, and is a generic term for devices and devices that can realize the functions of the present invention by a program. Yes.
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 In addition, although some embodiment of this invention was described, these embodiment is shown as an example and is not intending limiting the range of invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
100…集計装置、110…ネットワーク、120,130,140…集計結果復号装置、201…データ受信部、202…集計部、203,305…記憶部、204…集計方法記憶部、205…集計方法送信部、206…集計結果送信部、301…集計方法受信部、302…集計結果受信部、303…復号用パラメータ受信部、304…復号用パラメータ計算部、306…復号方法記憶部、307…復号部、308…復号用パラメータ送信部、309…乱数生成部、310…暗号化部、311…秘匿データ送信部。
DESCRIPTION OF
Claims (4)
前記集計装置は、
前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する秘匿データ受信手段と、
前記受信された各秘匿データを記憶する秘匿データ記憶手段と、
前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する集計手段と、
前記秘匿集計結果を前記各集計結果復号装置に送信する秘匿集計結果送信手段と、
前記集計処理に用いた集計方法を示す集計方法名を前記各集計結果復号装置に送信する集計方法名送信手段と
を備え、
前記各集計結果復号装置は、
前記乱数を生成する乱数生成手段と、
前記生成された乱数を用いて前記集計対象データを暗号化することにより、前記秘匿データを得る暗号化手段と、
前記得られた秘匿データを前記集計装置に送信する秘匿データ送信手段と、
予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて記憶した復号方法記憶手段と、
前記送信された秘匿集計結果を受信する秘匿集計結果受信手段と、
前記送信された集計方法名を受信する集計方法名受信手段と、
前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する復号方法選択手段と、
前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る集計結果復号手段と
を備えたことを特徴とする秘匿計算システム。 A secure calculation system including a counting device and one or more counting result decoding devices,
The counting device is
Secret data receiving means for receiving a plurality of secret data obtained by individually encrypting a plurality of data to be counted based on random numbers individually generated by each of the tabulation result decrypting devices,
Confidential data storage means for storing each received confidential data;
Aggregating means that aggregates each secret data in the secret data storage means to create a secret aggregation result;
A secret tabulation result transmitting means for transmitting the secret tabulation result to each of the tabulation result decoding devices;
A totaling method name transmitting means for transmitting a totaling method name indicating the totaling method used for the totaling process to each totaling result decoding device;
Each of the counting result decoding devices
Random number generating means for generating the random number;
An encryption unit for obtaining the secret data by encrypting the data to be aggregated using the generated random number;
Secret data transmission means for transmitting the obtained secret data to the counting device;
A decoding method storage means for storing a plurality of aggregation method names individually indicating a plurality of aggregation methods in advance and a plurality of decoding methods individually corresponding to the aggregation methods indicated by the respective aggregation method names;
A secret count result receiving means for receiving the transmitted secret count result;
A counting method name receiving means for receiving the transmitted counting method name;
Decoding method selection means for selecting a decoding method from the decoding method storage means based on the received counting method name;
A secure calculation system comprising: a summary result decoding unit that executes the selected decryption method and decrypts the received secret summary result to obtain a summary result of the summary target data.
前記各集計結果復号装置により個別に生成された乱数に基づいて複数個の集計対象データが個別に暗号化されてなる複数個の秘匿データを受信する秘匿データ受信手段と、
前記受信された各秘匿データを記憶する秘匿データ記憶手段と、
前記秘匿データ記憶手段内の各秘匿データを集計処理して秘匿集計結果を作成する集計手段と、
前記秘匿集計結果を前記各集計結果復号装置に送信する秘匿集計結果送信手段と、
前記集計処理の方法を示す集計方法名を前記各集計結果復号装置に送信する集計方法名送信手段と
を備え、
前記各集計結果復号装置は、
前記乱数を生成し、当該乱数を用いて前記集計対象データを暗号化して前記秘匿データを得ると、当該得られた秘匿データを前記集計装置に送信し、前記集計装置から送信された秘匿集計結果及び集計方法名を受信し、前記受信した集計方法名に基づいて復号方法を選択し、前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得ることを特徴とする集計装置。 A tally device capable of communicating with one or more tally result decoding devices,
Secret data receiving means for receiving a plurality of secret data obtained by individually encrypting a plurality of data to be counted based on random numbers individually generated by each of the tabulation result decrypting devices,
Confidential data storage means for storing each received confidential data;
Aggregating means that aggregates each secret data in the secret data storage means to create a secret aggregation result;
A secret tabulation result transmitting means for transmitting the secret tabulation result to each of the tabulation result decoding devices;
A totaling method name transmitting means for transmitting a totaling method name indicating the totalization processing method to each of the totaling result decoding devices;
Each of the counting result decoding devices
Generate the random number, encrypt the aggregation target data using the random number to obtain the confidential data, transmit the obtained confidential data to the aggregation device, and the confidential aggregation result transmitted from the aggregation device And receiving the aggregation method name, selecting a decoding method based on the received aggregation method name, executing the selected decoding method, and decoding the received confidential aggregation result, A tally device characterized by obtaining tally results.
前記集計結果復号装置を、
予め複数の集計方法を個別に示す複数の集計方法名と、当該各集計方法名が示す集計方法に個別に応じた複数の復号方法とを個別に関連付けて前記復号方法記憶手段に書き込む書込手段、
前記送信された秘匿集計結果を受信する秘匿集計結果受信手段、
前記送信された集計方法名を受信する集計方法名受信手段、
前記受信した集計方法名に基づいて、前記復号方法記憶手段から復号方法を選択する復号方法選択手段、
前記選択した復号方法を実行して、前記受信した秘匿集計結果を復号することにより、前記集計対象データの集計結果を得る集計結果復号手段、
として機能させるための集計結果復号プログラム。 Receiving a plurality of secret data obtained by individually encrypting a plurality of aggregation target data based on random numbers individually generated by one or more aggregation result decrypting devices from each of the aggregation result decrypting devices, and A secret totaling result indicating the result of totalizing each secret data and a totaling method name indicating the totaling method used for the totaling process are communicable to the totaling apparatus that transmits to each of the totaling result decoding apparatuses, and includes a decoding method storage unit. A totalization result decoding program used individually for each totalization result decoding device,
The totalization result decoding device,
Write means for previously writing a plurality of aggregation method names individually indicating a plurality of aggregation methods and a plurality of decoding methods individually corresponding to the aggregation methods indicated by the respective aggregation method names to the decoding method storage means ,
A secret count result receiving means for receiving the transmitted secret count result;
A counting method name receiving means for receiving the transmitted counting method name;
Decoding method selection means for selecting a decoding method from the decoding method storage means based on the received counting method name;
A totalization result decoding unit that executes the selected decoding method and decodes the received confidential totaling result to obtain a totaling result of the totaling target data;
Total result decoding program to function as
前記集計結果復号装置を、更に
前記1個以上の集計結果復号装置の個数をn個としたとき、(n,n)しきい値法により、前記乱数を秘密分散してn個の分散値を作成する分散値作成手段、
前記作成した分散値のうち、1個の分散値を保持し、残りのn−1個の分散値を他の集計結果復号装置に送信する分散値送信手段、
前記他の集計結果復号装置により個別に作成されたn−1個の分散値を当該他の集計結果復号装置から個別に受信する分散値受信手段、
前記保持した1個の分散値と、前記受信したn−1個の分散値とを用い、前記選択した復号方法に応じた集計方法に基づいて1個の分散情報を作成する分散情報作成手段、
前記作成した分散情報を他の集計結果復号装置に送信する分散情報送信手段、
前記他の集計結果復号装置により個別に作成されたn−1個の分散情報を当該他の集計結果復号装置から個別に受信する分散情報受信手段、
前記作成した1個の分散情報と、前記受信したn−1個の分散情報とを用い、前記(n,n)しきい値法による復元処理を実行して、前記秘匿集計結果のうちの乱数の集計結果に相当する乱数集計データを復元する乱数集計データ復元手段
として機能させ、
前記集計結果復号手段は、
前記作成した乱数集計データと、前記受信した秘匿集計結果とを用い、前記選択した復号方法に応じた集計方法に基づいて、前記集計対象データの集計結果を算出する集計結果算出手段と
を含んでいる集計結果復号プログラム。 In the aggregation result decoding program according to claim 3,
When the aggregation result decrypting apparatus further includes n one or more aggregation result decrypting apparatuses, the random number is secretly distributed by the (n, n) threshold method to obtain n distributed values. Variance value creation means to create ,
A distributed value transmitting means for holding one distributed value among the created distributed values and transmitting the remaining n-1 distributed values to another aggregation result decoding device ;
Distributed value receiving means for individually receiving n-1 variance values created individually by the other aggregation result decoding device from the other aggregation result decoding device ;
A shared information creating unit that creates one shared information based on a totaling method according to the selected decoding method, using the held one shared value and the received n-1 distributed values ;
Shared information transmitting means for transmitting the created shared information to another totalization result decoding device ;
Shared information receiving means for individually receiving n-1 pieces of shared information created individually by the other total result decoding apparatus from the other total result decoding apparatus ;
Using the generated one piece of shared information and the received n-1 pieces of shared information, a restoration process is performed by the (n, n) threshold method, and a random number in the secret count result Random data aggregation means for recovering random data aggregate data corresponding to total results
Function as
The counting result decoding means includes:
A totaling result calculating means for calculating the totaling result of the totaling target data based on the totaling method according to the selected decryption method using the created random number totaling data and the received confidential totaling result; The total result decoding program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073950A JP5492241B2 (en) | 2012-03-28 | 2012-03-28 | Secret calculation system, aggregation device, and aggregation result decoding program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012073950A JP5492241B2 (en) | 2012-03-28 | 2012-03-28 | Secret calculation system, aggregation device, and aggregation result decoding program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013205592A JP2013205592A (en) | 2013-10-07 |
JP5492241B2 true JP5492241B2 (en) | 2014-05-14 |
Family
ID=49524745
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012073950A Active JP5492241B2 (en) | 2012-03-28 | 2012-03-28 | Secret calculation system, aggregation device, and aggregation result decoding program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5492241B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3528233B1 (en) * | 2013-10-10 | 2021-03-10 | Nippon Telegraph and Telephone Corporation | Secret bit decomposition device, secret bit decomposition method, and program therefor |
JP6006842B1 (en) * | 2015-07-22 | 2016-10-12 | 日本電信電話株式会社 | Secret computing device, method and program |
EP3379768B1 (en) | 2016-01-18 | 2019-11-06 | Mitsubishi Electric Corporation | Encryption device, encrypted text conversion device, encryption program, encrypted text conversion program, encryption method, and encrypted text conversion method |
JP6916596B2 (en) * | 2016-05-10 | 2021-08-11 | Kddi株式会社 | Arithmetic system, arithmetic method and arithmetic program |
KR101792520B1 (en) | 2016-12-30 | 2017-11-03 | 한라대학교 산학협력단 | Differential privacy method using secret sharing scheme |
JP6888377B2 (en) | 2017-04-05 | 2021-06-16 | 富士電機株式会社 | Information processing equipment, information processing systems and programs |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4849541B2 (en) * | 2006-10-24 | 2012-01-11 | 日本電信電話株式会社 | Cross tabulation processing method, cross tabulation device, and program for concealing individual information |
JP5337076B2 (en) * | 2010-02-24 | 2013-11-06 | 日本電信電話株式会社 | Secret calculation system, secret calculation method, unauthorized use prevention method |
-
2012
- 2012-03-28 JP JP2012073950A patent/JP5492241B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2013205592A (en) | 2013-10-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chinnasamy et al. | Efficient data security using hybrid cryptography on cloud computing | |
Hota et al. | Capability-based cryptographic data access control in cloud computing | |
JP5492241B2 (en) | Secret calculation system, aggregation device, and aggregation result decoding program | |
JP6363032B2 (en) | Key change direction control system and key change direction control method | |
KR101615137B1 (en) | Data access method based on attributed | |
Zhang et al. | Feacs: A flexible and efficient access control scheme for cloud computing | |
JPWO2018016330A1 (en) | Communication terminal, server device, program | |
JP2020088421A (en) | Communication device, communication method, and communication program | |
JP2019168590A (en) | Information processing method and information processing system | |
Hammami et al. | Using homomorphic encryption to compute privacy preserving data mining in a cloud computing environment | |
Cai et al. | BCSolid: a blockchain-based decentralized data storage and authentication scheme for solid | |
Qinlong et al. | Improving security and efciency for encrypted data sharing in online social networks | |
Bakro et al. | Performance analysis of cloud computing encryption algorithms | |
KR101553986B1 (en) | System and method of distrubuted data storage, restoration | |
Lou et al. | Blockchain-based privacy-preserving data-sharing framework using proxy re-encryption scheme and interplanetary file system | |
Jin et al. | Blockchain-based secure and privacy-preserving clinical data sharing and integration | |
US11018857B2 (en) | Encryption scheme using multiple parties | |
JP6840685B2 (en) | Data sharing method, data sharing system, communication terminal, data sharing server, program | |
Thilagavathy et al. | Cloud computing: A survey on security issues and DNA, ID-base cryptography | |
KR101812311B1 (en) | User terminal and data sharing method of user terminal based on attributed re-encryption | |
Chavan et al. | Secure CRM cloud service using RC5 algorithm | |
Si et al. | A cross-chain access control mechanism based on blockchain and the threshold Paillier cryptosystem | |
Stephen Dass et al. | Comparative analysis of a systematic coherent encryption scheme for large-scale data management using cryptographic encryption technique | |
CN111480313A (en) | Communication terminal, server device, and program | |
Dabhade et al. | Data security in cloud using aggregate key and Diffie-Hellman algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131126 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131205 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131212 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131219 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20131226 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20140109 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140114 |
|
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: 20140204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140228 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5492241 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |