JP5860378B2 - Secret calculation system, aggregate function device, secret calculation method, and program - Google Patents

Secret calculation system, aggregate function device, secret calculation method, and program Download PDF

Info

Publication number
JP5860378B2
JP5860378B2 JP2012228906A JP2012228906A JP5860378B2 JP 5860378 B2 JP5860378 B2 JP 5860378B2 JP 2012228906 A JP2012228906 A JP 2012228906A JP 2012228906 A JP2012228906 A JP 2012228906A JP 5860378 B2 JP5860378 B2 JP 5860378B2
Authority
JP
Japan
Prior art keywords
secret
value
quantile
key
calculation
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
JP2012228906A
Other languages
Japanese (ja)
Other versions
JP2014081475A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012228906A priority Critical patent/JP5860378B2/en
Publication of JP2014081475A publication Critical patent/JP2014081475A/en
Application granted granted Critical
Publication of JP5860378B2 publication Critical patent/JP5860378B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、暗号応用技術に関するものであり、特に入力データを明かすことなくグループ毎の分位数の計算を行う秘密計算技術に関する。   The present invention relates to a cryptographic application technique, and more particularly to a secret calculation technique for calculating a quantile for each group without revealing input data.

近年、個人に関する様々な情報を容易に取得できる環境が整い、データ分析技術の進歩と相まって、個人に関する情報の活用への期待が高まっている。その一方で、個人情報保護やプライバシの観点から個人に関する情報は極めて慎重な取扱いが必要とされ、データの保護と活用をどう両立させるかが問題となっている。この問題の解決のため、データを秘匿したまま明かすことなく計算する様々な方法が提案されている。   In recent years, an environment in which various information related to individuals can be easily acquired has been established, and in conjunction with the advancement of data analysis technology, expectations for the utilization of information related to individuals are increasing. On the other hand, personal information is required to be handled very carefully from the viewpoint of personal information protection and privacy, and how to protect and utilize data is a problem. In order to solve this problem, various methods for performing calculation without revealing data while keeping it secret have been proposed.

暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1参照)。非特許文献1に記載された方法では、3台の秘密計算装置に数値の断片を分散させるという暗号化を行い、数値を復元すること無く、加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3台の秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。   As a method for obtaining a specific calculation result without restoring the encrypted numerical value, there is a method called secret calculation (see Non-Patent Document 1, for example). In the method described in Non-Patent Document 1, encryption is performed such that numerical fragments are distributed to three secret computing devices, and addition / subtraction, constant sum, multiplication, constant multiplication, logical operation (without performing restoration) The result of negation, logical product, logical sum, exclusive logical sum) and data format conversion (integer, binary number) can be held in a distributed state, that is, encrypted, in three secret calculation devices.

秘密計算上でグループごとの統計値の計算を実現した方法として、例えば非特許文献2に記載された方法がある。非特許文献2の方法では、まず入力のグループを表す属性値でソートを行ってグループ分けをし、続いて各レコードを一つ前に参照したレコードと同一のグループであるかどうかを確認しながらグループごとの統計値を計算することにより、秘密計算上でのグループごとの統計値の計算を実現している。   As a method for realizing the calculation of the statistical value for each group in the secret calculation, for example, there is a method described in Non-Patent Document 2. In the method of Non-Patent Document 2, first, the attribute values representing the input groups are sorted to perform grouping, and then each record is checked to see if it is the same group as the record that was previously referenced. By calculating the statistical value for each group, the statistical value for each group on the secret calculation is realized.

千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の再考”, CSS 2010.Koji Senda, Hiroki Hamada, Igarashi Univ., Katsumi Takahashi, “Reconsideration of Lightweight Verifiable 3-Party Secret Function Calculation”, CSS 2010. 五十嵐大, 千田浩司, 濱田浩気, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理”, SCIS 2011.Igarashi Univ., Koji Senda, Hiroki Hirota, Katsumi Takahashi, “Efficient Lightweight Verifiable 3-Party Secret Function Computation and Secure Database Processing Using It”, SCIS 2011.

しかしながら、従来の秘密計算技術では計算可能な統計値が二項演算の反復で書けることが必要であり、中央値や四分位数を含む分位数の計算には適用することができないという課題があった。   However, it is necessary for traditional secret calculation techniques to be able to write statistical values that can be calculated by repeating binary operations, and cannot be applied to the calculation of quantiles including median and quartiles. was there.

この発明の目的は、入力データを明かすことなくグループごとの分位数の計算を行うことができる秘密計算技術を提供することである。   An object of the present invention is to provide a secret calculation technique capable of calculating a quantile for each group without revealing input data.

上記の課題を解決するために、この発明の秘密計算システムは、少なくとも1台の集約関数装置を含み、a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、秘匿化方式Sによりキーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、グループ毎のa/(a+b)分位数を求める。 In order to solve the above-described problem, the secret calculation system of the present invention includes at least one aggregate function device, and a, b, and N are positive integers, and addition, subtraction, multiplication and equal signs in secret calculation A secret key [k] = ([k 1 ],..., [K N ] obtained by concealing a key k = (k 1 ,..., K N ) representing a group by a concealment method S capable of determination, comparison and stable sorting ]) And a concealment value [v] = ([v 1 ], ..., [v N ]) in which the value v = (v 1 , ..., v N ) corresponding to the key k is concealed by the concealment method S The a / (a + b) quantile for each group is obtained using secret information including.

集約関数装置は、整列部と第1階段計算部と第2階段計算部と分位数判定部とを備える。整列部は、秘匿情報を、秘匿化方式Sにより秘匿値[v]を用いて値vの昇順に安定ソートをし、さらに秘匿化方式Sにより秘匿キー[k]を用いてキーkの昇順に安定ソートをし、整列済み秘匿情報を生成する。第1階段計算部は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する。第2階段計算部は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する。分位数判定部は、索引[c]と索引[d]とに基づいて、値v1,…,vNそれぞれがグループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める。 The aggregate function device includes an alignment unit, a first staircase calculation unit, a second staircase calculation unit, and a quantile number determination unit. The sorting unit stably sorts the secret information using the concealment method S in the ascending order of the value v using the concealment value [v], and further uses the secret key [k] in the ascending order of the key k according to the concealment method S. Perform stable sorting and generate sorted confidential information. The first staircase calculation unit uses the secret key [k], and the index [c] = ([c 1 ],..., [C N ]) indicating the ascending order of the value v for each group in the sorted secret information. Is added. The second staircase calculation unit uses the secret key [k], and the index [d] = ([d 1 ],..., [D N ]) indicating the descending order of the value v for each group in the sorted secret information. Is added. The quantile determining unit determines whether each of the values v 1 ,..., V N is an a / (a + b) quantile for each group based on the index [c] and the index [d]. A quantile judgment value [f] = ([f 1 ],..., [F N ]) is obtained.

この発明の秘密計算技術によれば、入力データを明かすことなくグループごとの分位数の計算を行うことができる。   According to the secret calculation technique of the present invention, the quantile for each group can be calculated without revealing the input data.

秘密計算システムの機能構成を例示する図である。It is a figure which illustrates the function structure of a secret calculation system. 集約関数装置の機能構成を例示する図である。It is a figure which illustrates the function structure of an aggregate function apparatus. 秘密計算方法の処理フローを例示する図である。It is a figure which illustrates the processing flow of a secret calculation method.

実施形態の説明に先立ち、この明細書における表記方法および用語の定義について説明する。   Prior to the description of the embodiments, a description method and term definitions in this specification will be described.

<表記方法>
この発明で扱う値はすべて有限環ZN上の値とする。ベクトルaの第i要素をaiで参照する。a∈ZNを暗号化や秘密分散などの手段で秘匿化した値をaの秘匿文と呼び、[a]と表記する。また、aを秘匿文[a]の平文と呼ぶ。ベクトルvの各要素を秘匿化したベクトルを[v]と表記する。
<Notation>
All values handled in the present invention are values on the finite ring Z N. The i-th element of vector a is referred to by a i . A value obtained by concealing a∈Z N by means of encryption, secret sharing, etc. is referred to as a secret sentence of a and is denoted as [a]. Also, a is referred to as the plaintext of the secret text [a]. A vector in which each element of the vector v is concealed is denoted as [v].

Figure 0005860378
Figure 0005860378

は、天井関数であり、・以上の最小の整数を意味している。 Is the ceiling function, meaning the smallest integer above.

Figure 0005860378
Figure 0005860378

は床関数であり、・以下の最大の整数を意味する。 Is the floor function, meaning the largest integer below.

Figure 0005860378
Figure 0005860378

は値aと値bの論理積を表す。 Represents the logical product of the value a and the value b.

Figure 0005860378
Figure 0005860378

は値aと値bの論理和を表す。 Represents the logical sum of the value a and the value b.

Figure 0005860378
Figure 0005860378

は値aの否定を表す。 Represents negation of the value a.

<秘匿化方式>
この発明では公知の秘匿化方式を用いる。秘匿化方式には、例えば暗号化や秘密分散などの手法が含まれる。この発明で用いる秘匿化方式は、秘密計算上で加算、減算、乗算、等号判定、比較、安定ソートの各演算が可能である必要があるが、これらの演算が可能であればどのような秘匿化方式であってもよい。
<Concealment method>
In the present invention, a known concealment method is used. The concealment method includes techniques such as encryption and secret sharing. The concealment method used in the present invention needs to be able to perform addition, subtraction, multiplication, equal sign determination, comparison, and stable sort operations on the secret calculation. A concealment method may be used.

この発明において秘密計算上の加算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x+yの秘匿文[x+y]を計算する演算である。秘密計算上の減算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x-yの秘匿文[x-y]を計算する演算である。秘密計算上の乗算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x*yの秘匿文[x*y]を計算する演算である。秘密計算上の等号判定とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x=yの場合には1の秘匿文[1]を、x≠yの場合には0の秘匿文[0]を計算する演算である。秘密計算上の比較とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x<yの場合には1の秘匿文[1]を、その他の場合には0の秘匿文[0]を計算する演算である。秘密計算上の安定ソートとは、ソート対象とするベクトルvの秘匿文[v]とソートを行う際に基準とするキーのベクトルkの秘匿文[k]を入力とし、キーの値の順に従って整列し、整列の前後で各要素の対応が誰にもわからないように計算される演算である。ただし、整列に際して安定が保たれる、すなわち指定した列の値が同じ場合には元の順序が保たれるものとする。 In the present invention, the addition in the secret calculation is an operation for calculating the secret sentence [x + y] of x + y by inputting the secret sentence [x], [y] of two values x, y∈Z N. is there. The subtraction in the secret calculation is an operation for calculating the secret text [xy] of xy using the secret text [x], [y] of two values x, y∈Z N as input. The multiplication in the secret calculation is an operation for calculating the secret text [x * y] of x * y using the secret text [x], [y] of two values x, y∈Z N as input. Equal sign determination in secret calculation means that secret values [x], [y] of two values x, y∈Z N are input, and if x = y, one secret statement [1] is set to x In the case of ≠ y, it is an operation for calculating a secret sentence [0] of 0. Comparison in secret calculation means that secret values [x], [y] of two values x, y∈Z N are input, and if x <y, one secret statement [1] is used. Is an operation that calculates a secret sentence [0] of 0. Stable sort in secret calculation is the input of the secret text [v] of the vector v to be sorted and the secret text [k] of the key vector k used as the reference when sorting, according to the order of the key values The calculation is performed so that no one knows the correspondence of each element before and after the alignment. However, it is assumed that stability is maintained at the time of alignment, that is, the original order is maintained when the values of the designated columns are the same.

この発明で適用可能な秘匿化方式について、具体的に例示する。例えば、秘匿化と復号と加算と減算と乗算は上述の非特許文献2に記載された方法を用いることができる。等号判定と比較は、例えば「Takashi Nishide, Kazuo Ohta, “Multiparty computation for interval, equality, and comparison without bit-decomposition protocol”, PKC, pp. 343-360, 2007.(参考文献1)」に記載された方法を用いることができる。安定ソートは、例えば「濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “秘匿関数計算上の線形時間ソート”, SCIS 2011.(参考文献2)」に記載された方法を用いることができる。したがって、非特許文献2と参考文献1と参考文献2に記載された方法を組み合わせることで、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式を実現することができる。   A concealment method applicable in the present invention will be specifically exemplified. For example, the method described in Non-Patent Document 2 described above can be used for concealment, decryption, addition, subtraction, and multiplication. For example, “Takashi Nishide, Kazuo Ohta,“ Multiparty computation for interval, equality, and comparison without bit-decomposition protocol ”, PKC, pp. 343-360, 2007. (Reference 1)”. Method can be used. For the stable sorting, for example, the method described in “Hiro Iwata, Igarashi Univ., Koji Senda, Katsumi Takahashi,“ Linear Time Sorting on Secret Function Calculation ”, SCIS 2011. (reference document 2)” can be used. Therefore, by combining the methods described in Non-Patent Document 2, Reference Document 1, and Reference Document 2, a concealment method capable of performing addition, subtraction, multiplication, equality judgment, comparison, and stable sorting in secret calculation is realized. can do.

この発明では秘密計算を実行する装置の台数は制限されないが、適用する秘匿化方式によって最低限必要な装置の台数が決定される。例えば、「Craig Gentry, “Fully homomorphic encryption using ideal lattices”, STOC 2009, pp. 169-178.(参考文献3)」などに記載されている完全準同型暗号を用いれば、1台の装置上で復号することなく加算と乗算を行うことが可能である。加算と乗算ができるとき、復号することなく等号判定と比較を行う方法が、「Ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas Toft, “Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation”, TCC 2006, pp. 285-304.(参考文献4)」などに記載されている。比較ができるとき、復号することなくソートを行う方法が、「Kenneth E. Batcher, “Sorting Networks and Their Applications”, AFIPS Spring Joint Computing Conference 1968, pp. 307-314.(参考文献5)」などに記載されている。また、ソートが可能であれば安定ソートとすることが可能であることは一般的に知られている(例えば、「Wikipedia, “Sorting algorithm”, [online], [平成24年10月3日検索], インターネット<URL:http://en.wikipedia.org/wiki/Sorting_algorithm#Stability>(参考文献6)」参照)。したがって、1台の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献3と参考文献4と参考文献5の方法を組み合わせればよい。   In the present invention, the number of devices that execute the secret calculation is not limited, but the minimum number of devices is determined by the concealment method to be applied. For example, using the fully homomorphic encryption described in “Craig Gentry,“ Fully homomorphic encryption using ideal lattices ”, STOC 2009, pp. 169-178. It is possible to perform addition and multiplication without decoding. When addition and multiplication can be performed, the method of performing equality judgment and comparison without decoding is described in `` Ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas Toft, “Unconditionally Secure Constant-Rounds Multi-party Computation for Equality , Comparison, Bits and Exponentiation ", TCC 2006, pp. 285-304. (Reference 4)". When comparison is possible, sorting without decryption is described in “Kenneth E. Batcher,“ Sorting Networks and Their Applications ”, AFIPS Spring Joint Computing Conference 1968, pp. 307-314. Have been described. In addition, it is generally known that stable sorting is possible if sorting is possible (for example, “Wikipedia,“ Sorting algorithm ”, [online], [October 3, 2012 search ], Internet <URL: http: //en.wikipedia.org/wiki/Sorting_algorithm#Stability> (reference 6) "). Therefore, in order to realize the secret calculation of addition, subtraction, multiplication, equality determination, comparison, and stable sort on one apparatus, the methods of Reference 3, Reference 4, and Reference 5 may be combined. .

また、2台の装置で復号することなく任意の関数を計算する方法が「Andrew Chi-Chih Yao, “How to Generate and Exchange Secrets (Extended Abstract)”, FOCS 1986, pp. 162-167.(参考文献7)」などに記載されており、その入力を秘密分散による分散値とすることで、2台の装置上で復号することなく加算と乗算を行うことが可能である。したがって、2台の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献7と参考文献4と参考文献5の方法を組み合わせればよい。   Also, a method to calculate an arbitrary function without decryption by two devices is “Andrew Chi-Chih Yao,“ How to Generate and Exchange Secrets (Extended Abstract) ”, FOCS 1986, pp. 162-167. Document 7) ”and the like. By making the input a shared value by secret sharing, it is possible to perform addition and multiplication without decoding on two devices. Therefore, in order to realize the secret calculation of addition, subtraction, multiplication, equality determination, comparison, and stable sort on two devices, the methods of Reference 7, Reference 4, and Reference 5 may be combined. .

また、3台以上の装置上で復号することなく加算と乗算を行う方法は「Ronald Cramer, Ivan Damgard, Ueli M. Maurer, “General Secure Multi-party Computation from any Linear Secret-Sharing Scheme”, EUROCRYPT 2000, pp.316-334.(参考文献8)」などに記載されている線形秘密分散を用いれば可能である。したがって、3台以上の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献8と参考文献4と参考文献5の方法を組み合わせればよい。   Also, the method of adding and multiplying on three or more devices without decoding is described in “Ronald Cramer, Ivan Damgard, Ueli M. Maurer,“ General Secure Multi-party Computation from any Linear Secret-Sharing Scheme ”, EUROCRYPT 2000. , pp.316-334. (reference document 8) ”and the like. Therefore, in order to realize the secret calculation of addition, subtraction, multiplication, equality judgment, comparison, and stable sort on three or more devices, the methods of Reference 8, Reference 4, and Reference 5 can be combined. Good.

なお、この発明では秘密計算上の論理積(∧)と論理和(∨)と否定(¬)の各論理演算も利用するが、これらの論理演算は一般的に加算と減算と乗算を組み合わせることで実現できる。例えば、値aと値bの論理積は、a∧b:=a*bにより実現できる。値aと値bの論理和は、a∨b:=a+b-a*bにより実現できる。値aの否定は、¬a:=1-aにより実現できる。また、この発明では秘密計算上の等号否定(≠)も利用するが、この演算は一般的に等号判定と否定を組み合わせることで実現できる。例えば、値aと値bの等号否定は、a≠b:=¬(a=b)により実現できる。   Although the present invention also uses logical operations (秘密), logical sums (∨), and negation (¬) for secret computation, these logical operations generally combine addition, subtraction, and multiplication. Can be realized. For example, the logical product of the value a and the value b can be realized by a∧b: = a * b. The logical sum of the value a and the value b can be realized by a∨b: = a + b−a * b. The negation of the value a can be realized by ¬a: = 1-a. Further, in the present invention, equal sign negation (≠) in secret calculation is also used, but this calculation can be generally realized by combining equal sign determination and negation. For example, the equality negation of the value a and the value b can be realized by a ≠ b: = ¬ (a = b).

<中央値、分位数>
中央値とは、ある集合の真ん中の点の値である。集合の大きさnが奇数の場合には、中央値は(n+1)/2番目の要素の値である。nが偶数の場合には、n/2番目とn/2+1番目の中間に真ん中の点があるため複数の定義が存在するが、この発明ではnの偶奇に関わらず、
<Median, quantile>
The median is the value of the middle point of a set. When the set size n is an odd number, the median is the value of the (n + 1) / 2th element. When n is an even number, there is a middle point between n / 2 and n / 2 + 1, so there are multiple definitions.

Figure 0005860378
Figure 0005860378

番目を小さい方の中央値と呼び、 Is called the smaller median,

Figure 0005860378
Figure 0005860378

番目を大きい方の中央値と呼び、単に中央値と書いた場合には小さい方の中央値を表していることとする。 The th is called the larger median, and simply writing the median represents the smaller median.

ある集合をp:1-p(0<p≦1)に内分する点の値をp分位数と呼ぶ。中央値と同様に分位数にも複数の定義が存在するが、この発明では、   The value of a point that internally divides a set into p: 1-p (0 <p ≦ 1) is called the p quantile. Like the median, there are multiple definitions of quantiles, but in this invention,

Figure 0005860378
Figure 0005860378

番目の点の値をp分位数と呼ぶこととする。 The value of the th point is called the p quantile.

<発明のポイント>
上述の通り、従来の秘密計算技術では、二項演算の反復で書ける統計値に関してのみグループごとの統計値を秘匿したまま計算することができた。一方で中央値や四分位数などの分位数計算を二項演算の反復で記述することは自明ではなく、従来技術では分位数計算を秘密計算で求めることはできなかった。
<Points of invention>
As described above, according to the conventional secret calculation technique, only the statistical values that can be written by repetition of the binomial calculation can be calculated while keeping the statistical values for each group secret. On the other hand, it is not self-evident to describe quantile calculations such as median and quartiles by repetition of binary operations, and the prior art cannot obtain quantile calculations by secret calculation.

この発明では、最初にグループ内で昇順、降順に番号付けを行い、この番号をそれぞれb倍、a倍した値の大小関係が逆転する箇所がグループ内で上からa:bに内分する箇所になるという性質を用いる。大小関係が逆転する箇所は各レコードとその前後の大小関係を見れば検出可能であるため、効率よく任意の分位数を見つけ出すことができる。   In this invention, numbers are assigned in ascending order and descending order in the group first, and the place where the magnitude relationship of the value obtained by multiplying the number by b and a is reversed is divided into a: b from the top in the group. Use the property of becoming. Since the place where the magnitude relationship is reversed can be detected by looking at each record and the magnitude relationship before and after the record, an arbitrary quantile can be found efficiently.

[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[Embodiment]
Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.

<構成>
図1を参照して、この実施形態の秘密計算システム1の構成例を説明する。秘密計算システム1は、少なくとも1台の集約関数装置2を含む。集約関数装置2の台数は、適用する秘匿化方式によって異なり、1台であっても複数台であってもよい。集約関数装置2の台数と適用可能な秘匿化方式についての詳細は上述の説明を参照されたい。以降の説明ではM台の集約関数装置21,…,2Mを含む構成を例として説明している。M台の集約関数装置21,…,2Mはネットワーク9に接続される。ネットワーク9は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。なお、各装置は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、集約関数装置21,…,2Mへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
<Configuration>
With reference to FIG. 1, the structural example of the secret calculation system 1 of this embodiment is demonstrated. The secret calculation system 1 includes at least one aggregate function device 2. The number of aggregate function devices 2 varies depending on the concealment method to be applied, and may be one or plural. Refer to the above description for details of the number of aggregate function devices 2 and applicable concealment methods. In the following description, a configuration including M aggregate function devices 2 1 ,..., 2 M is described as an example. M aggregate function devices 2 1 ,..., 2 M are connected to a network 9. The network 9 only needs to be configured so that the connected devices can communicate with each other. For example, the network 9 can be configured by the Internet, a LAN (Local Area Network), a WAN (Wide Area Network), or the like. Each device does not necessarily need to be able to communicate online via a network. For example, the information input to the aggregate function devices 2 1 ,..., 2 M may be stored in a portable recording medium such as a magnetic tape or a USB memory, and input from the portable recording medium offline.

図2を参照して、秘密計算システム1に含まれる集約関数装置2の構成例を説明する。集約関数装置2は、制御部101、メモリ102、入力部11、整列部12、第1階段計算部13、第2階段計算部14、分位数判定部15、出力部16を備える。集約関数装置2は、さらに秘匿情報記憶部19を備えてもよい。集約関数装置2は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。集約関数装置2は制御部101の制御のもとで各処理を実行する。集約関数装置2に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。秘匿情報記憶部19は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。   A configuration example of the aggregate function device 2 included in the secret calculation system 1 will be described with reference to FIG. The aggregate function device 2 includes a control unit 101, a memory 102, an input unit 11, an alignment unit 12, a first staircase calculation unit 13, a second staircase calculation unit 14, a quantile number determination unit 15, and an output unit 16. The aggregate function device 2 may further include a secret information storage unit 19. The aggregate function device 2 is a special device configured by reading a special program into a known or dedicated computer having, for example, a CPU (Central Processing Unit), a RAM (Random Access Memory), and the like. The aggregate function device 2 executes each process under the control of the control unit 101. Data input to the aggregate function device 2 and data obtained in each process are stored in the memory 102, and the data stored in the memory 102 is read out as necessary and used for other processes. The secret information storage unit 19 includes, for example, a main storage device such as a RAM (Random Access Memory), an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, middleware such as a relational database and a key value store, Etc. can be configured.

<処理>
図3を参照して、この実施形態の秘密計算システム1の動作例について手続きの順に従って詳細に説明する。
<Processing>
With reference to FIG. 3, the operation example of the secret calculation system 1 of this embodiment will be described in detail in the order of procedures.

集約関数装置2m(1≦m≦M)の備える入力部11へ秘匿キー[k]=([k1],…,[kN])と秘匿値[v]=([v1],…,[vN])とを含む秘匿情報が入力される(ステップS11)。秘匿キー[k]は、グループを表すキーk=(k1,…,kN)を所定の秘匿化方式Sにより秘匿化したベクトルである。秘匿値[v]は、キーk=(k1,…,kN)に対応する値v=(v1,…,vN)を所定の秘匿化方式Sにより秘匿化したベクトルである。所定の秘匿化方式Sは、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートの各演算が可能な秘匿化方式である。秘匿化方式Sについての詳細は上述の説明を参照されたい。 To the aggregation function device 2 m (1 ≦ m ≦ M ) input unit 11 provided in the confidential key [k] = ([k 1 ], ..., [k N]) and confidentiality values [v] = ([v 1 ], ..., [v N ]) are input (step S11). The secret key [k] is a vector in which a key k = (k 1 ,..., K N ) representing a group is concealed by a predetermined concealment method S. Confidential value [v] is key k = (k 1, ..., k N) value v = (v 1, ..., v N) corresponding to the a vector concealed by a predetermined concealment scheme S. The predetermined concealment method S is a concealment method that can perform operations of addition, subtraction, multiplication, equality determination, comparison, and stable sorting in secret calculation. Refer to the above description for details on the concealment method S.

入力部11へ入力された秘匿情報は整列部12へ入力される。もしくは、集約関数装置2mが秘匿情報記憶部19を備えるように構成し、入力部11に入力された秘匿情報を秘匿情報記憶部19へ記憶するようにしても構わない。この場合には、任意の契機により整列部12が秘匿情報記憶部19から秘匿情報を読み込むように構成すればよい。 The confidential information input to the input unit 11 is input to the alignment unit 12. Alternatively, the aggregate function device 2 m may be configured to include the confidential information storage unit 19, and the confidential information input to the input unit 11 may be stored in the confidential information storage unit 19. In this case, the arrangement unit 12 may be configured to read the confidential information from the confidential information storage unit 19 at an arbitrary opportunity.

整列部12は、秘匿情報を、秘匿化方式Sにより秘匿値[v]を用いて値vの昇順に安定ソートする。続いて、秘匿化方式Sにより秘匿キー[k]を用いてキーkの昇順に安定ソートする(ステップS12)。これにより秘匿情報は、キーkの値(すなわち、グループ)は同じレコードが連続し、値vは同じグループの中で昇順に整列した状態になる。このように整列された秘匿情報を、以降の説明では整列済み秘匿情報と呼ぶ。   The sorting unit 12 stably sorts the secret information using the secret value [v] in ascending order of the value v by the concealment method S. Subsequently, the secret sort method S is used to perform stable sorting using the secret key [k] in ascending order of the key k (step S12). As a result, the secret information is in a state in which the same record continues for the value of the key k (ie, group), and the value v is arranged in ascending order within the same group. The secret information arranged in this way is referred to as arranged secret information in the following description.

整列済み秘匿情報は第1階段計算部13に入力される。第1階段計算部13は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの昇順の順番を示すベクトルである索引[c]=([c1],…,[cN])を付加する(ステップS13)。整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードのとき、ci=j-1で表すことができる。索引[c]の付加はどのような方法で行なってもよいが、以下に示す「階段+の計算」アルゴリズムを用いれば、計算量を少なくすることができ効率的に処理を行うことができる。 The sorted secret information is input to the first staircase calculation unit 13. The first staircase calculation unit 13 uses the secret key [k] to create an index [c] = ([c 1 ],..., [Vector] indicating the ascending order of the value v for each group in the sorted secret information. c N ]) is added (step S13). When the i-th record of the sorted confidential information is the j-th record in the same group, it can be expressed as c i = j−1. The index [c] may be added by any method. However, if the “step + calculation” algorithm shown below is used, the amount of calculation can be reduced and processing can be performed efficiently.

Figure 0005860378
Figure 0005860378

整列済み秘匿情報は第2階段計算部14に入力される。第2階段計算部14は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの降順の順番を示すベクトルである索引[d]=([d1],…,[dN])を付加する(ステップS14)。整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードのとき、di=j-1で表すことができる。索引[d]の付加はどのような方法で行なってもよいが、以下に示す「階段−の計算」アルゴリズムを用いれば、計算量を少なくすることができ効率的に処理を行うことができる。 The sorted secret information is input to the second staircase calculation unit 14. The second staircase calculation unit 14 uses the secret key [k] to create an index [d] = ([d 1 ],..., [Vector] indicating the descending order of the value v for each group in the sorted secret information. d N ]) is added (step S14). When the i-th record of the sorted confidential information is the j-th record in the same group, d i = j−1 can be expressed. The index [d] may be added by any method. However, if the “step calculation” algorithm shown below is used, the amount of calculation can be reduced and processing can be performed efficiently.

Figure 0005860378
Figure 0005860378

この実施形態では、第1階段計算部13と第2階段計算部14が順に処理を行うものとして説明したが、第1階段計算部13の処理と第2階段計算部14の処理はいずれを先に行なってもよい。すなわち第2階段計算部14により索引[d]を付加した後に第1階段計算部13により索引[c]を付加してもよい。また、第1階段計算部13の処理と第2階段計算部14の処理を同時に並列に行なっても構わない。   In this embodiment, the first staircase calculation unit 13 and the second staircase calculation unit 14 have been described as performing processing in order. However, the first staircase calculation unit 13 and the second staircase calculation unit 14 do any processing first. You may do it. That is, the index [d] may be added by the first staircase calculator 13 after the index [d] is added by the second staircase calculator 14. Moreover, you may perform the process of the 1st staircase calculation part 13 and the process of the 2nd staircase calculation part 14 simultaneously in parallel.

索引[c]と索引[d]が付加された整列済み秘匿情報は分位数判定部15へ入力される。分位数判定部15は、索引[c]と索引[d]とに基づいて分位数判定値[f]=([f1],…,[fN])を求める(ステップS15)。分位数判定値[f]=([f1],…,[fN])は、値v1,…,vNそれぞれが属するグループ毎のa/(a+b)分位数であるか否かを示す真偽値のベクトルf=(f1,…,fN)を秘匿化方式Sにより秘匿化したベクトルである。分位数の判定には、整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードであるとき、b*cjとa*djの大小関係が逆転するjがそのグループを上からa:bに内分する位置を表す、という性質を利用する。すなわち、p:1-pに内分する点であるp分位数を求める場合には、(1-p)*cjとp*djの大小関係が逆転するjを求め、jに対応するiについてfi=1とする。その他の場合にはfn=0(n≠i)とする。 The sorted confidential information to which the index [c] and the index [d] are added is input to the quantile number determination unit 15. The quantile determination unit 15 obtains quantile determination values [f] = ([f 1 ],..., [F N ]) based on the index [c] and the index [d] (step S15). The quantile judgment value [f] = ([f 1 ], ..., [f N ]) is the a / (a + b) quantile for each group to which the values v 1 , ..., v N belong. This is a vector obtained by concealing a vector f = (f 1 ,..., F N ) of truth value indicating whether or not by the concealment method S. To determine the quantile, when the i-th record of the sorted confidential information is the j-th record in the same group, j, whose magnitude relationship between b * c j and a * d j is reversed, Utilizes the property of representing the position internally divided into a: b from the top. That is, when calculating the p quantile, which is the point that internally divides into p: 1-p, find j where the magnitude relationship between (1-p) * c j and p * d j is reversed, and correspond to j Let f i = 1 for i . In other cases, f n = 0 (n ≠ i).

より一般化してa/(a+b)分位数を求める場合を具体的に説明する。上述の通り、a/(a+b)分位数の定義は複数存在する。例えば、次式で表されるi番目の要素の値をa/(a+b)分位数とする定義がある。ただし、ngはグループの要素数である。この定義を以下の説明では第一の定義とする。 A more general case where the a / (a + b) quantile is obtained will be specifically described. As described above, there are a plurality of definitions of the a / (a + b) quantile. For example, there is a definition that the value of the i-th element expressed by the following equation is the a / (a + b) quantile. Where n g is the number of elements in the group. This definition is the first definition in the following description.

Figure 0005860378
Figure 0005860378

第一の定義でa/(a+b)分位数を求める場合には、次式を満たすiを求めればよい。fi=1とし、fn=0(n≠i)とする。 When the a / (a + b) quantile is obtained in the first definition, i satisfying the following equation may be obtained. Let f i = 1 and f n = 0 (n ≠ i).

Figure 0005860378
Figure 0005860378

また、次式で表されるi番目の要素の値をa/(a+b)分位数とする定義がある。ただし、ngはグループの要素数である。この定義を以下の説明では第二の定義とする。 In addition, there is a definition that the value of the i-th element expressed by the following equation is the a / (a + b) quantile. Where n g is the number of elements in the group. This definition is the second definition in the following description.

Figure 0005860378
Figure 0005860378

第二の定義でa/(a+b)分位数を求める場合には、次式を満たすiを求めればよい。fi=1とし、fn=0(n≠i)とする。 When the a / (a + b) quantile is obtained in the second definition, i satisfying the following equation may be obtained. Let f i = 1 and f n = 0 (n ≠ i).

Figure 0005860378
Figure 0005860378

小さい方の中央値を求める場合には、第一の定義でa/(a+b)分位数を求めた式においてa=1,b=1とすればよい。もしくは、次式を満たすiを求めてもよい。後者であれば比較の処理を等号判定に置き換えることができるため、より効率良く計算することができる。   In order to obtain the smaller median, a = 1, b = 1 may be used in the equation for obtaining the a / (a + b) quantile in the first definition. Alternatively, i satisfying the following expression may be obtained. In the latter case, since the comparison process can be replaced with an equal sign determination, the calculation can be performed more efficiently.

Figure 0005860378
Figure 0005860378

大きい方の中央値を求める場合には、第二の定義でa/(a+b)分位数を求めた式においてa=1,b=1とすればよい。もしくは、次式を満たすiを求めてもよい。後者であれば比較の処理を等号判定に置き換えることができるため、より効率良く計算することができる。   In the case of obtaining the larger median value, a = 1 and b = 1 may be used in the equation for obtaining the a / (a + b) quantile in the second definition. Alternatively, i satisfying the following expression may be obtained. In the latter case, since the comparison process can be replaced with an equal sign determination, the calculation can be performed more efficiently.

Figure 0005860378
Figure 0005860378

分位数判定部15が生成する分位数判定値[f]=([f1],…,[fN])は、出力部16を介して出力される(ステップS16)。 The quantile determination value [f] = ([f 1 ],..., [F N ]) generated by the quantile determination unit 15 is output via the output unit 16 (step S16).

<効果>
上記のように、この発明の秘密計算技術は、入力を復号すること無く加算と減算と乗算と等号判定と比較と安定ソートの各演算を行うことができる秘匿化方式Sを用いており、これらの演算を組み合わせることで秘密計算上の分位数計算を実現する。
<Effect>
As described above, the secret calculation technique of the present invention uses the concealment method S that can perform each operation of addition, subtraction, multiplication, equality determination, comparison, and stable sorting without decoding the input, By combining these operations, quantile calculation for secret calculation is realized.

したがってこの発明の秘密計算技術によれば、入力された秘匿文を復号することなくグループ毎の分位数計算を行うことができる。   Therefore, according to the secret calculation technique of the present invention, the quantile calculation for each group can be performed without decrypting the input secret text.

[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.

また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。   When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.

1 秘密計算システム
2 集約関数装置
9 ネットワーク
11 入力部
12 整列部
13 第1階段計算部
14 第2階段計算部
15 分位数判定部
16 出力部
19 秘匿情報記憶部
101 制御部
102 メモリ
DESCRIPTION OF SYMBOLS 1 Secret calculation system 2 Aggregation function apparatus 9 Network 11 Input part 12 Arrangement part 13 1st staircase calculation part 14 2nd staircase calculation part 15 Quantile number determination part 16 Output part 19 Confidential information storage part 101 Control part 102 Memory

Claims (7)

少なくとも1台の集約関数装置を含み、a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める秘密計算システムであって、
前記集約関数装置は、
前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列部と、
前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算部と、
前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算部と、
前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定部と、
を備えることを特徴とする秘密計算システム。
A group is represented by a concealment method S that includes at least one aggregate function device, a, b, and N are positive integers, and can perform addition, subtraction, multiplication, equality judgment, comparison, and stable sorting in secret calculation. A secret key [k] = ([k 1 ],..., [K N ]) in which the key k = (k 1 ,..., K N ) is concealed, and a value corresponding to the key k by the concealment method S Using secret information including a secret value [v] = ([v 1 ],..., [v N ]) in which v = (v 1 ,..., v N ) is concealed, a / ( a + b) a secret computation system for obtaining quantiles,
The aggregate function device is:
The secret information is stably sorted in the ascending order of the value v using the secret value [v] by the concealment method S, and further the key k using the secret key [k] by the concealment method S. An sorting unit that performs stable sorting in ascending order of and generates sorted confidential information;
Using the secret key [k], an index [c] = ([c 1 ],..., [C N ]) indicating the ascending order of the value v for each group is added to the sorted secret information A first staircase calculation unit;
Index [d] = ([d 1 ],..., [D N ]) indicating the descending order of the value v for each group is added to the sorted secret information using the secret key [k]. A second staircase calculation unit;
Based on the index [c] and the index [d], quantiles indicating whether each of the values v 1 ,..., V N is an a / (a + b) quantile for each group. A quantile determination unit for obtaining a number determination value [f] = ([f 1 ],..., [F N ]);
A secret calculation system comprising:
請求項1に記載の秘密計算システムであって、
前記分位数判定部は、
i=1,…,Nについて、a*(di+1+1)とb*ci+1の大小関係とb*ciとa*(di+1)の大小関係とに基づいて、前記値viがグループ毎のa/(a+b)分位数であるか否かを判定し、前記分位数判定値[f]=([f1],…,[fN])を求める
ことを特徴とする秘密計算システム。
The secret calculation system according to claim 1,
The quantile determining unit is
Based on the magnitude relationship between a * (d i + 1 +1) and b * c i + 1 and the magnitude relationship between b * c i and a * (d i +1) for i = 1, ..., N , Whether the value v i is an a / (a + b) quantile for each group, and the quantile judgment value [f] = ([f 1 ],..., [F N ] ) Is a secret calculation system.
請求項2に記載の秘密計算システムであって、
前記分位数判定部は、
i=1,…,Nについて、次式を満たすか否かを判定し、次式を満たすiについて、前記分位数判定値[fi]をa/(a+b)分位数であるものとして設定する
Figure 0005860378

ことを特徴とする秘密計算システム。
The secret calculation system according to claim 2,
The quantile determining unit is
For i = 1,..., N, it is determined whether or not the following expression is satisfied. For i satisfying the following expression, the quantile determination value [f i ] is an a / (a + b) quantile. Set as stuff
Figure 0005860378

A secret computation system characterized by that.
請求項2に記載の秘密計算システムであって、
前記分位数判定部は、
i=1,…,Nについて、次式を満たすか否かを判定し、次式を満たすiについて、前記分位数判定値[fi]をa/(a+b)分位数であるものとして設定する
Figure 0005860378

ことを特徴とする秘密計算システム。
The secret calculation system according to claim 2,
The quantile determining unit is
For i = 1,..., N, it is determined whether or not the following expression is satisfied. For i satisfying the following expression, the quantile determination value [f i ] is an a / (a + b) quantile. Set as stuff
Figure 0005860378

A secret computation system characterized by that.
a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める集約関数装置であって、
前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列部と、
前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算部と、
前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算部と、
前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定部と、
を備えることを特徴とする集約関数装置。
A key k = (k 1 ,..., k representing a group by a concealment scheme S capable of addition, subtraction, multiplication, equality determination, comparison, and stable sorting in a secret calculation, where a, b, N are positive integers. N ) and a secret key [k] = ([k 1 ],..., [K N ]) and a value v = (v 1 ,..., V N corresponding to the key k by the concealment method S. ) To conceal the a / (a + b) quantile for each group using concealment information including concealment values [v] = ([v 1 ],..., [V N ]) A functional device,
The secret information is stably sorted in the ascending order of the value v using the secret value [v] by the concealment method S, and further the key k using the secret key [k] by the concealment method S. An sorting unit that performs stable sorting in ascending order of and generates sorted confidential information;
Using the secret key [k], an index [c] = ([c 1 ],..., [C N ]) indicating the ascending order of the value v for each group is added to the sorted secret information A first staircase calculation unit;
Index [d] = ([d 1 ],..., [D N ]) indicating the descending order of the value v for each group is added to the sorted secret information using the secret key [k]. A second staircase calculation unit;
Based on the index [c] and the index [d], quantiles indicating whether each of the values v 1 ,..., V N is an a / (a + b) quantile for each group. A quantile determination unit for obtaining a number determination value [f] = ([f 1 ],..., [F N ]);
An aggregate function device comprising:
a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める秘密計算方法であって、
集約関数装置が、前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列ステップと、
前記集約関数装置が、前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算ステップと、
前記集約関数装置が、前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算ステップと、
前記集約関数装置が、前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定ステップと、
を含むことを特徴とする秘密計算方法。
A key k = (k 1 ,..., k representing a group by a concealment scheme S capable of addition, subtraction, multiplication, equality determination, comparison, and stable sorting in a secret calculation, where a, b, N are positive integers. N ) and a secret key [k] = ([k 1 ],..., [K N ]) and a value v = (v 1 ,..., V N corresponding to the key k by the concealment method S. ) Is a secret for obtaining the a / (a + b) quantile for each group using secret information including a secret value [v] = ([v 1 ],..., [V N ]). A calculation method,
The aggregation function device stably sorts the concealment information using the concealment method S in the ascending order of the value v using the concealment value [v], and further uses the concealment method S to obtain the concealment key [k]. A sorting step for performing stable sorting in ascending order of the keys k to generate sorted secret information;
The aggregate function device uses the secret key [k] to indicate an index [c] = ([c 1 ],..., [C] indicating the ascending order of the value v for each group in the sorted secret information. N ]) to add a first staircase calculation step;
The aggregate function device uses the secret key [k] to add an index [d] = ([d 1 ],..., [D] indicating the descending order of the value v for each group in the sorted secret information. N ]) to add a second staircase calculation step;
Based on the index [c] and the index [d], the aggregate function device determines whether each of the values v 1 ,..., V N is an a / (a + b) quantile for each group. Quantile number determination step for obtaining quantile determination value [f] = ([f 1 ],..., [F N ]) indicating whether or not,
A secret calculation method comprising:
請求項5に記載の集約関数装置としてコンピュータを機能させるためのプログラム。   A program for causing a computer to function as the aggregate function device according to claim 5.
JP2012228906A 2012-10-16 2012-10-16 Secret calculation system, aggregate function device, secret calculation method, and program Active JP5860378B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012228906A JP5860378B2 (en) 2012-10-16 2012-10-16 Secret calculation system, aggregate function device, secret calculation method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012228906A JP5860378B2 (en) 2012-10-16 2012-10-16 Secret calculation system, aggregate function device, secret calculation method, and program

Publications (2)

Publication Number Publication Date
JP2014081475A JP2014081475A (en) 2014-05-08
JP5860378B2 true JP5860378B2 (en) 2016-02-16

Family

ID=50785716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012228906A Active JP5860378B2 (en) 2012-10-16 2012-10-16 Secret calculation system, aggregate function device, secret calculation method, and program

Country Status (1)

Country Link
JP (1) JP5860378B2 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10469257B2 (en) * 2015-01-15 2019-11-05 Nippon Telegraph And Telephone Corporation Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
JP6973629B2 (en) * 2018-04-20 2021-12-01 日本電信電話株式会社 Secret aggregation ordering system, secret computing device, secret aggregation ordering method, and program
AU2019259261B2 (en) * 2018-04-25 2021-07-08 Nippon Telegraph And Telephone Corporation Secure aggregate maximum system, secure aggregate minimum system, secure computation apparatus, secure aggregate maximum method, secure aggregate minimum method, and program
WO2019208486A1 (en) * 2018-04-26 2019-10-31 日本電信電話株式会社 Secure aggregate median value system, secure computation device, secure aggregate median value method, and program
JP6989006B2 (en) * 2018-05-25 2022-01-05 日本電信電話株式会社 Secret aggregate function calculation system, secret calculator, secret aggregate function calculation method, and program
JP7205623B2 (en) * 2019-06-07 2023-01-17 日本電信電話株式会社 Secret conjugate gradient method calculation system, secret calculation device, conjugate gradient method calculation device, secret conjugate gradient method calculation method, conjugate gradient method calculation method, and program
EP4358070A1 (en) * 2021-06-14 2024-04-24 Nippon Telegraph And Telephone Corporation Cumulative calculation device, cumulative calculation method, and program

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4979068B2 (en) * 2007-01-22 2012-07-18 日本電信電話株式会社 Secret function calculation method and apparatus, and program
JP5486520B2 (en) * 2011-01-21 2014-05-07 日本電信電話株式会社 Secure set function system, secret set function device, secure set function processing method, secure set function program

Also Published As

Publication number Publication date
JP2014081475A (en) 2014-05-08

Similar Documents

Publication Publication Date Title
JP5860378B2 (en) Secret calculation system, aggregate function device, secret calculation method, and program
Alabdulatif et al. Towards secure big data analytic for cloud-enabled applications with fully homomorphic encryption
CN105900164B (en) Secret calculation method, secure computing system, sorting plant and recording medium
EP3316235A1 (en) Secret calculation device, secret calculation method, and program
Zhao et al. Privacy-preserving tensor-based multiple clusterings on cloud for industrial IoT
Liu et al. Revfrf: Enabling cross-domain random forest training with revocable federated learning
Hamza et al. Towards secure big data analysis via fully homomorphic encryption algorithms
JP5872085B1 (en) Distributed value conversion system, distributed value conversion apparatus, distributed value conversion method, and program
Goldstein et al. Preventing DNN model IP theft via hardware obfuscation
JP6583970B2 (en) Secret random number synthesis device, secret random number synthesis method, and program
JPWO2019225401A1 (en) Secret aggregate function calculation system, secret calculation device, secret aggregate function calculation method, and program
JP6605746B2 (en) Secret coupling system, secret coupling apparatus, secret coupling method, program
CN109328377A (en) Secure computing system, secret computing device, secret calculation method and program
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
WO2023096571A2 (en) Data processing for release while protecting individual privacy
Ibarrondo et al. Banners: Binarized neural networks with replicated secret sharing
JP5972181B2 (en) Tamper detection device, tamper detection method, and program
JP6367959B2 (en) Partial character string position detection apparatus, partial character string position detection method, and program
CN109416894A (en) Secure computing system, secret computing device, secret calculation method and program
JP6337133B2 (en) Non-decreasing sequence determination device, non-decreasing sequence determination method, and program
Liu et al. Secure and fast decision tree evaluation on outsourced cloud data
Lapworth Parallel encryption of input and output data for HPC applications
CN105917400A (en) Element replication device, element replication method, and program
Xavier et al. Hybrid Elliptic Curve Cryptographic Approach for Data Privacy and Authentication in Secured Map Reduce Layer (SMR) for Optimized CPU Utilization
US10469257B2 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

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: 20151215

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151218

R150 Certificate of patent or registration of utility model

Ref document number: 5860378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150