JP5458116B2 - Data distribution device, distributed data conversion device, data restoration device - Google Patents

Data distribution device, distributed data conversion device, data restoration device Download PDF

Info

Publication number
JP5458116B2
JP5458116B2 JP2012001078A JP2012001078A JP5458116B2 JP 5458116 B2 JP5458116 B2 JP 5458116B2 JP 2012001078 A JP2012001078 A JP 2012001078A JP 2012001078 A JP2012001078 A JP 2012001078A JP 5458116 B2 JP5458116 B2 JP 5458116B2
Authority
JP
Japan
Prior art keywords
value
data
values
unit
variance
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
JP2012001078A
Other languages
Japanese (ja)
Other versions
JP2013140310A (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 JP2012001078A priority Critical patent/JP5458116B2/en
Publication of JP2013140310A publication Critical patent/JP2013140310A/en
Application granted granted Critical
Publication of JP5458116B2 publication Critical patent/JP5458116B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、秘密分散技術に関する。   The present invention relates to a secret sharing technique.

秘密分散は、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元でき、一定個数未満の分散値からは元のデータを一切復元できなくする技術である。分散値の総数をN、復元に必要な分散値の最小数をK(≦N)としたとき、N, K の値に制限がない方式とある方式とがある。   Secret sharing is a technology that converts data into a plurality of distributed values and restores the original data by using more than a certain number of distributed values, and makes it impossible to restore the original data from less than a certain number of distributed values. . Assuming that the total number of variance values is N and the minimum number of variance values required for restoration is K (≦ N), there are some schemes in which the values of N and K are not limited.

秘密分散の代表的な方式として、Shamir秘密分散方式(例えば、非特許文献1参照)がある。この方式では、pを素数、GF(p)を位数pの有限体として、値a∈GF(p)に対してf(0)=aとなるような、xを変数とするK-1次式f(x)から、aの分散値Si(a)=(i,f(i))(i=1,…,N)を得る。n1,…,nKを互いに異なる1以上N以下の整数として以下の関係が成り立つため、任意の異なるK個の分散値からaを復元できる。

Figure 0005458116
As a typical scheme for secret sharing, there is a Shamir secret sharing scheme (for example, see Non-Patent Document 1). In this method, p is a prime number, GF (p) is a finite field of order p, and x is a variable such that f (0) = a for the value a∈GF (p) A variance value S i (a) = (i, f (i)) (i = 1,..., N) of a is obtained from the following expression f (x). Since n 1 ,..., n K are different integers between 1 and N, the following relationship is established.
Figure 0005458116

また、秘密分散を要素技術とした秘密計算(マルチパーティ計算)方式もいくつか提案されている(例えば、非特許文献2等参照)。このような秘密計算方式では、各主体が保有するデータの分散値を他の主体に送り、当該分散値を他の主体に明かすことなく意中の計算を実行させる。計算を行った各主体からは計算結果の分散値が得られる。このような分散値がK個以上得られれば計算結果を復元でき、得られなければ計算結果を復元できない。非特許文献2では、Shamir秘密分散方式に従って得られる分散値を用いた秘密計算方式が開示されている。   In addition, several secret calculation (multi-party calculation) methods using secret sharing as an elemental technology have been proposed (see, for example, Non-Patent Document 2). In such a secret calculation method, a distributed value of data held by each subject is sent to another subject, and the intended calculation is executed without revealing the distributed value to the other subject. A variance value of the calculation result is obtained from each subject that has performed the calculation. If K or more of such dispersion values are obtained, the calculation result can be restored, and if not obtained, the calculation result cannot be restored. Non-Patent Document 2 discloses a secret calculation method using a shared value obtained according to the Shamir secret sharing method.

A. Shamir, “How to share a secret,” Commu. ACM 22(11), pp. 612-613, 1979.A. Shamir, “How to share a secret,” Commu. ACM 22 (11), pp. 612-613, 1979. M. Ben-Or, S. Goldwasser, and A. Wigderson, “Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract),” STOC 1988, pp. 1-10, 1988.M. Ben-Or, S. Goldwasser, and A. Wigderson, “Completeness theorems for non-cryptographic fault-tolerant distributed computation (extended abstract),” STOC 1988, pp. 1-10, 1988.

Shamir秘密分散方式では、aおよびその各分散値のデータ量を一定とすると、分散値の総データ量がそれぞれaのデータ量のおよそN倍となる。復元に必要な分散値の総データ量はそれぞれaのデータ量のおよそK倍となる。分散値のデータ量の増加は通信時間や保存データの増大につながるため、できるだけ分散値のデータ量を抑えることが望ましい。
本発明はこのような点に鑑みてなされたものであり、秘密分散方式の分散値のデータ量を抑えることを目的とする。
In the Shamir secret sharing scheme, if the data amount of a and its respective distributed values is constant, the total data amount of the distributed values is approximately N times the data amount of a. The total data amount of the variance values required for restoration is approximately K times the data amount of a. Since an increase in the data amount of the variance value leads to an increase in communication time and stored data, it is desirable to suppress the data amount of the variance value as much as possible.
The present invention has been made in view of such a point, and an object thereof is to suppress the data amount of the shared value of the secret sharing scheme.

データ分散時には、K-1個の値v(k) (k=1,...,K-1)を選択し、K-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を得、N個の分散値Tk(α)=v(k) (k=1,...,K-1), Tθ(α)=f(n(θ)) (θ=K,...,N)を得る。ただし、N, Kが2以上の整数、K≦N、Gが或る集合であり、n(0), n(1),...,n(N)が互いに異なる値であり、値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)である。 When distributing data, select K-1 values v (k) (k = 1, ..., K-1) and K-1 values a (k) = P (v (k)) ∈ G (k = 1, ..., K-1), N variance values T k (α) = v (k) (k = 1, ..., K-1), T θ (α ) = f (n (θ)) (θ = K, ..., N) is obtained. Where N and K are integers greater than or equal to 2, K ≦ N, G is a set, n (0), n (1), ..., n (N) are different from each other, and the value n F (n (k)) = a (k) (k = 1, ..., K-) for (1), ..., n (K-1) and the value α∈G that is an element of the set G A K−1 order expression satisfying 1) and f (n (0)) = α is f (x).

データ復元時には、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλ(α)から、K個の互いに異なる値n(λ) (λ∈{1,...,N})に対応するK個の値f(n(λ))を得、K個の値f(n(λ))に対してF(n(λ))=f(n(λ)) (λ∈{1,...,N})を満たすK-1次式F(x)の関数値F(n(0))=αを得る。 At the time of data restoration, from K variance values T λ (α) corresponding to K different λ∈ {1, ..., N}, K different values n (λ) (λ∈ {1,. ., N}) to obtain K values f (n (λ)), and for K values f (n (λ)), F (n (λ)) = f (n (λ) ) Obtain a function value F (n (0)) = α of the K−1 linear expression F (x) that satisfies (λ∈ {1,..., N}).

本発明では、秘密分散方式の分散値のデータ量を抑えることができる。   In the present invention, it is possible to suppress the data amount of the shared value of the secret sharing scheme.

図1は、秘密分散システムの機能構成を例示するブロック図である。FIG. 1 is a block diagram illustrating a functional configuration of a secret sharing system. 図2Aは、データ分散装置の機能構成を例示するブロック図であり、図2Bは、データ記憶装置の機能構成を例示するブロック図である。FIG. 2A is a block diagram illustrating the functional configuration of the data distribution device, and FIG. 2B is a block diagram illustrating the functional configuration of the data storage device. 図3Aは、データ復元装置の機能構成を例示するブロック図であり、図3Bは、分散データ変換装置の機能構成を例示するブロック図である。FIG. 3A is a block diagram illustrating the functional configuration of the data restoration device, and FIG. 3B is a block diagram illustrating the functional configuration of the distributed data conversion device. 図4Aは、データ分散装置の処理を例示するためのフローチャートであり、図4Bは、分散データ変換装置の処理を例示するためのフローチャートであり、図4Cは、データ復元装置の処理を例示するためのフローチャートである。4A is a flowchart for illustrating the processing of the data distribution apparatus, FIG. 4B is a flowchart for illustrating the processing of the distributed data conversion apparatus, and FIG. 4C is for illustrating the processing of the data restoration apparatus. It is a flowchart of. 図5Aは、データ分散装置の処理を例示するためのフローチャートであり、図5Bは、分散データ変換装置の処理を例示するためのフローチャートであり、図5Cは、データ復元装置の処理を例示するためのフローチャートである。FIG. 5A is a flowchart for illustrating the processing of the data distribution apparatus, FIG. 5B is a flowchart for illustrating the processing of the distributed data conversion apparatus, and FIG. 5C is for illustrating the processing of the data restoration apparatus. It is a flowchart of. 図6は、秘密分散システムの機能構成を例示するブロック図である。FIG. 6 is a block diagram illustrating a functional configuration of the secret sharing system. 図7Aは、データ分散装置の機能構成を例示するブロック図であり、図7Bは、データ記憶装置の機能構成を例示するブロック図である。FIG. 7A is a block diagram illustrating the functional configuration of the data distribution device, and FIG. 7B is a block diagram illustrating the functional configuration of the data storage device. 図8は、データ復元装置の機能構成を例示するブロック図である。FIG. 8 is a block diagram illustrating a functional configuration of the data restoration device. 図9A及び9Bは、分散データ変換装置の機能構成を例示するブロック図である。9A and 9B are block diagrams illustrating the functional configuration of the distributed data conversion apparatus. 図10は、分散データ変換装置の機能構成を例示するブロック図である。FIG. 10 is a block diagram illustrating a functional configuration of the distributed data conversion apparatus. 図11は、データ分散装置の処理を例示するためのフローチャートである。FIG. 11 is a flowchart for illustrating processing of the data distribution apparatus. 図12A〜12Cは、分散データ変換装置の処理を例示するためのフローチャートである。12A to 12C are flowcharts for illustrating the processing of the distributed data conversion apparatus. 図13は、データ復元装置の処理を例示するためのフローチャートである。FIG. 13 is a flowchart for illustrating the processing of the data restoration apparatus. 図14は、データ分散装置の処理を例示するためのフローチャートである。FIG. 14 is a flowchart for illustrating processing of the data distribution apparatus. 図15A〜15Cは、分散データ変換装置の処理を例示するためのフローチャートである。15A to 15C are flowcharts for illustrating processing of the distributed data conversion apparatus. 図16は、データ復元装置の処理を例示するためのフローチャートである。FIG. 16 is a flowchart for illustrating the processing of the data restoration device. 図17は、秘密分散システムの機能構成を例示するブロック図である。FIG. 17 is a block diagram illustrating a functional configuration of the secret sharing system. 図18Aは、データ分散装置の機能構成を例示するブロック図であり、図18Bは、データ記憶装置の機能構成を例示するブロック図であり、図18Cは、データ復元装置の機能構成を例示するブロック図である。18A is a block diagram illustrating the functional configuration of the data distribution device, FIG. 18B is a block diagram illustrating the functional configuration of the data storage device, and FIG. 18C is a block illustrating the functional configuration of the data restoration device. FIG. 図19Aは、データ分散装置の処理を例示するためのフローチャートであり、図19Bは、データ復元装置の処理を例示するためのフローチャートである。FIG. 19A is a flowchart for illustrating the processing of the data distribution apparatus, and FIG. 19B is a flowchart for illustrating the processing of the data restoration apparatus. 図20は、分散データ変換装置の機能構成を例示するブロック図である。FIG. 20 is a block diagram illustrating a functional configuration of the distributed data conversion apparatus. 図21Aは、データ分散装置の処理を例示するためのフローチャートであり、図21Bは、分散データ変換装置の処理を例示するためのフローチャートであり、図21Cは、データ復元装置の処理を例示するためのフローチャートである。FIG. 21A is a flowchart for illustrating the processing of the data distribution apparatus, FIG. 21B is a flowchart for illustrating the processing of the distributed data conversion apparatus, and FIG. 21C is for illustrating the processing of the data restoration apparatus. It is a flowchart of. 図22は、データ分散装置の機能構成を例示するブロック図である。FIG. 22 is a block diagram illustrating a functional configuration of the data distribution apparatus. 図23は、データ分散装置の処理を例示するためのフローチャートである。FIG. 23 is a flowchart for illustrating processing of the data distribution apparatus. 図24A及び24Bは、分散データ変換装置の処理を例示するためのフローチャートである。24A and 24B are flowcharts for illustrating the processing of the distributed data conversion apparatus. 図25は、データ分散装置の処理を例示するためのフローチャートである。FIG. 25 is a flowchart for illustrating processing of the data distribution apparatus.

以下、図面を参照して本発明の実施形態を説明する。
〔第1実施形態〕
まず、第1実施形態の概要を説明する。
第1実施形態では、N, Kが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を集合Gの要素に移す写像である。集合Gは演算が定義された集合であり、集合Gは下記の処理が実行可能であれば任意で良く、例えば非特許文献1のように有限体GF(p)である。写像P(x)は、入力された「xに対応する値」に対して集合Gの要素を出力するものである。同一の「xに対応する値」には同一の「P(x)」が対応する。すなわち、写像P(x)は入力が等しければ出力も等しくなる、確定的な写像である。「xに対応する値」と「P(x)」とは一対一で対応してもよいし、しなくてもよい。「xに対応する値」は、値xそのものであってもよいし、xとその他の値との組み合わせ値であってもよい。写像P(x)の例はxをシードとして集合Gの要素を返す擬似乱数生成関数である。また例えば、xを秘密鍵として固定の平文に対して集合Gに属する暗号文を出力する共通鍵暗号関数をP(x)として用いることができる。「写像」は関数であってもよいし、アルゴリズムであってもよい。K=Nであってもよいし、K<Nであってもよい。
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[First Embodiment]
First, the outline of the first embodiment will be described.
In the first embodiment, N and K are integers of 2 or more, K ≦ N, G is a certain set, and P (x) is a mapping that moves a value corresponding to x to an element of the set G is there. The set G is a set in which operations are defined, and the set G may be arbitrary as long as the following processing can be executed. For example, as in Non-Patent Document 1, the set G is a finite field GF (p). The mapping P (x) outputs elements of the set G with respect to the input “value corresponding to x”. The same “P (x)” corresponds to the same “value corresponding to x”. That is, the map P (x) is a deterministic map in which the outputs are equal if the inputs are equal. “Value corresponding to x” and “P (x)” may or may not correspond one-on-one. The “value corresponding to x” may be the value x itself or a combination value of x and another value. An example of the mapping P (x) is a pseudorandom number generation function that returns elements of the set G using x as a seed. Also, for example, a common key encryption function that outputs a ciphertext belonging to the set G for a fixed plaintext with x as a secret key can be used as P (x). The “mapping” may be a function or an algorithm. K = N may be sufficient and K <N may be sufficient.

第1実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とK-1個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、K-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を得、N個の分散値Tk(α)=v(k) (k=1,...,K-1), Tθ(α)=f(n(θ)) (θ=K,...,N)を得る。ただし、n(0), n(1),...,n(N)が互いに異なる値であり、値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)である。データ分散装置で得られたN個の分散値Ti(α) (i=1,...,N)は、例えばN個のデータ記憶部装置のそれぞれに提供され、格納される。
The secret sharing system according to the first embodiment includes a data sharing device, a data restoration device, N data storage devices, and K-1 distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and K−1 values a (k) = P (v ( k)) ∈G (k = 1, ..., K-1), N variance values T k (α) = v (k) (k = 1, ..., K-1), T θ (α) = f (n (θ)) (θ = K,..., N) is obtained. However, n (0), n (1), ..., n (N) are different from each other, and are values n (1), ..., n (K-1) and elements of the set G For a value α∈G, a K-1 order equation satisfying f (n (k)) = a (k) (k = 1, ..., K-1) and f (n (0)) = α is f (x). N distribution values T i (α) (i = 1,..., N) obtained by the data distribution device are provided and stored in each of the N data storage devices, for example.

本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλ(α)から、K個の互いに異なる値n(λ) (λ∈{1,...,N})に対応するK個の値f(n(λ))を得る。例えば、本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)に分散値Tκ(α)=v(κ) (κ∈{1,...,K-1})が含まれる場合にf(n(κ))=P(v(κ))とする。データ復元装置は、K個の値f(n(λ))に対してF(n(λ))=f(n(λ)) (λ∈{1,...,N})を満たすK-1次式F(x)の関数値F(n(0))=αを得る。 The data restoration apparatus according to the present embodiment uses K different values n (λ) (λ∈ {) from variance values T λ (α) corresponding to K different λ∈ {1,..., N}. K values f (n (λ)) corresponding to 1, ..., N}) are obtained. For example, the data restoration apparatus according to the present embodiment has K variance values T λ (α) corresponding to K different λ∈ {1,..., N} and a variance value T κ (α) = v ( If κ) (κ∈ {1,..., K−1}) is included, let f (n (κ)) = P (v (κ)). The data restoration apparatus satisfies K satisfying F (n (λ)) = f (n (λ)) (λ∈ {1,..., N}) for K values f (n (λ)). -The function value F (n (0)) = α of the linear expression F (x) is obtained.

本形態のK-1個の分散データ変換装置のそれぞれは、分散値Tκ(α)=v(κ) (κ∈{1,...,K-1})から変換分散値Sκ(α)=P(v(κ))を得る。このように得られる変換分散値Sk(α) (k=1,...,K-1)及び前述の分散値Tθ(α)=f(n(θ)) (θ=K,...,N)は、秘密計算の入力値として用いられる。秘密計算の具体例は、例えば非特許文献2などに開示されたShamir秘密分散に基づく秘密計算である。秘密計算は単項演算であってもよいし、多項演算であってもよい。 Each of the K-1 distributed data conversion apparatuses according to the present embodiment includes a variance value T κ (α) = v (κ) (κ∈ {1,..., K-1}) to a transformed variance value S κ ( α) = P (v (κ)) is obtained. The transform dispersion value S k (α) (k = 1, ..., K-1) obtained in this way and the dispersion value T θ (α) = f (n (θ)) (θ = K,. .., N) are used as input values for the secret calculation. A specific example of the secret calculation is a secret calculation based on Shamir secret sharing disclosed in Non-Patent Document 2, for example. The secret calculation may be a unary operation or a multinomial operation.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図1に例示するように、第1実施形態の秘密分散システム1は、データ分散装置110、N個のデータ記憶装置120−i(i=1,...,N)、K-1個の分散データ変換装置140−k(k=1,...,K-1)、及びデータ復元装置130を有する。データ分散装置110は、ネットワークや可搬型記録媒体などを経由して、N個のデータ記憶装置120−i(i=1,...,N)に対して情報の提供が可能である。N個のデータ記憶装置120−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、K-1個の分散データ変換装置140−k(k=1,...,K-1)と情報のやり取りが可能である。さらに、N個のデータ記憶装置120−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、データ復元装置130に対して情報の提供が可能である。
<Configuration>
As illustrated in FIG. 1, the secret sharing system 1 according to the first embodiment includes a data sharing device 110, N data storage devices 120-i (i = 1,..., N), and K−1 pieces. The distributed data conversion device 140-k (k = 1,..., K-1) and the data restoration device 130 are included. The data distribution device 110 can provide information to the N data storage devices 120-i (i = 1,..., N) via a network or a portable recording medium. Each of the N data storage devices 120-i (i = 1,..., N) is connected to K−1 distributed data conversion devices 140-k (k) via a network or a portable recording medium. = 1, ..., K-1). Further, each of the N data storage devices 120-i (i = 1,..., N) can provide information to the data restoration device 130 via a network or a portable recording medium. It is.

図2Aに例示するように、本形態のデータ分散装置110は、入力部111、出力部112、メモリ113、制御部114、選択部115、変換部116、及び分散値生成部117を有する。本形態のデータ分散装置110は、制御部114の制御のもとで各処理を実行する。入力部111に入力されたデータや各処理で得られたデータはメモリ113に格納され、メモリ113に格納されたデータは必要に応じて読み出されて他の処理に利用される。   As illustrated in FIG. 2A, the data distribution apparatus 110 according to the present exemplary embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 114, a selection unit 115, a conversion unit 116, and a distributed value generation unit 117. The data distribution apparatus 110 according to this embodiment executes each process under the control of the control unit 114. Data input to the input unit 111 and data obtained in each process are stored in the memory 113, and the data stored in the memory 113 is read as necessary and used for other processes.

図2Bに例示するように、データ記憶装置120−λ(λ∈{1,...,N})は、入力部121−λ、出力部122−λ、メモリ123a−λ、記憶部123b−λ、制御部124−λ、及び秘密計算部127−λを有する。本形態のデータ記憶装置120−λは、制御部124−λの制御のもとで各処理を実行する。入力部121−λに入力されたデータや各処理で得られたデータはメモリ123a−λや記憶部123b−λに格納され、メモリ123a−λや記憶部123b−λに格納されたデータは必要に応じて読み出されて他の処理に利用される。   As illustrated in FIG. 2B, the data storage device 120-λ (λε {1,..., N}) includes an input unit 121-λ, an output unit 122-λ, memories 123a-λ, and a storage unit 123b-. λ, control unit 124-λ, and secret calculation unit 127-λ. The data storage device 120-λ of this embodiment executes each process under the control of the control unit 124-λ. Data input to the input unit 121-λ and data obtained by each process are stored in the memory 123a-λ and the storage unit 123b-λ, and data stored in the memory 123a-λ and the storage unit 123b-λ are necessary. Is read out and used for other processing.

図3Aに例示するように、本形態のデータ復元装置130は、入力部131、出力部132、メモリ133、制御部134、変換部135、及び復元部136を有する。本形態のデータ復元装置130は、制御部134の制御のもとで各処理を実行する。入力部131に入力されたデータや各処理で得られたデータはメモリ133に格納され、メモリ133に格納されたデータは必要に応じて読み出されて他の処理に利用される。   As illustrated in FIG. 3A, the data restoration device 130 according to the present exemplary embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 134, a conversion unit 135, and a restoration unit 136. The data restoration apparatus 130 according to this embodiment executes each process under the control of the control unit 134. Data input to the input unit 131 and data obtained in each process are stored in the memory 133, and the data stored in the memory 133 is read as necessary and used for other processes.

図3Bに例示するように、本形態の分散データ変換装置140−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部144−κ、及び変換分散値生成部146−κを有する。本形態の分散データ変換装置140−κは、制御部144−κの制御のもとで各処理を実行する。入力部141−κに入力されたデータや各処理で得られたデータはメモリ143a−κや記憶部143b−κに格納され、メモリ143a−κや記憶部143b−κに格納されたデータは必要に応じて読み出されて他の処理に利用される。   As illustrated in FIG. 3B, the distributed data conversion apparatus 140-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, storage unit 143b-κ, control unit 144-κ, and transform variance value generation unit 146-κ. The distributed data conversion apparatus 140-κ of this embodiment executes each process under the control of the control unit 144-κ. Data input to the input unit 141-κ and data obtained by each process are stored in the memory 143a-κ and the storage unit 143b-κ, and data stored in the memory 143a-κ and the storage unit 143b-κ are necessary. Is read out and used for other processing.

<データ分散処理>
図4Aに例示するように、データ分散装置110(図2A)の入力部111に秘密分散される値α∈Gが入力される(ステップS111)。値αの例は、動画ファイル、音声ファイル、テキストファイル、表ファイルなどである。値αのデータ量、すなわち集合Gの要素のデータ量は、例えば1メガバイト以上である。
<Data distribution processing>
As illustrated in FIG. 4A, the value αεG that is secretly shared is input to the input unit 111 of the data distribution apparatus 110 (FIG. 2A) (step S111). Examples of the value α are a moving image file, an audio file, a text file, a table file, and the like. The data amount of the value α, that is, the data amount of the elements of the set G is, for example, 1 megabyte or more.

選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。選択部115は、逐一、ランダムにK-1個の値v(k) (k=1,...,K-1)を選択してもよいし、事前に生成されメモリに格納されている複数個の値から所定の規則に従ってK-1個の値v(k) (k=1,...,K-1)を選択してもよい。例えば、選択される値v(k) (k=1,...,K-1)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さいことが望ましい。安全性を考慮すると、値v(k)は、値v(k)から生成される値a(k)やP(x)から値v(k)を特定することが困難となる程度の値(全数探索による攻撃や現在の計算機の性能を考慮すれば、値v(k)は80ビット程度かそれ以上の乱数)とするのが望ましい。   The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112). The selection unit 115 may select K−1 values v (k) (k = 1,..., K−1) randomly at a time, or is generated in advance and stored in the memory. K−1 values v (k) (k = 1,..., K−1) may be selected from a plurality of values according to a predetermined rule. For example, the data amount of each of the selected values v (k) (k = 1,..., K−1) is preferably smaller than the data amount of the elements (one element) of the set G. In consideration of safety, the value v (k) is a value that makes it difficult to specify the value v (k) from the value a (k) or P (x) generated from the value v (k) ( In consideration of attacks by exhaustive search and the performance of current computers, the value v (k) is preferably a random number of about 80 bits or more.

値v(k) (k=1,...,K-1)は変換部116に入力される。変換部116は、入力された値v(k) (k=1,...,K-1)からK-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を計算し、当該K-1個の値a(k)=P(v(k)) (k=1,...,K-1)を出力する(ステップS113)。P(x)が擬似乱数生成関数の場合、値a(k)は擬似乱数となる。   Values v (k) (k = 1,..., K−1) are input to the conversion unit 116. The conversion unit 116 converts K−1 values a (k) = P (v (k)) ∈G (k = k) from the input values v (k) (k = 1,..., K−1). 1, ..., K-1) and outputs the K-1 values a (k) = P (v (k)) (k = 1, ..., K-1) ( Step S113). When P (x) is a pseudorandom number generation function, the value a (k) is a pseudorandom number.

入力部111に入力された値αと変換部116から出力されたK-1個の値a(k)=P(v(k)) (k=1,...,K-1)とは分散値生成部117に入力される。分散値生成部117は、これらを用いてN個の分散値Tk(α)=v(k) (k=1,...,K-1), Tθ(α)=f(n(θ)) (θ=K,...,N)を生成し、N個の分散値Ti(α) (i=1,...,N)を出力する。ただし、f(x)は値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式である。n(0), n(1),...,n(N)は互いに異なる(ステップS114)。分散値生成部117は、例えば、f(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式f(x)の各係数を求め、それらによって特定されるK-1次式f(x)にn(θ) (θ=K,...,N)を代入することでTθ(α)=f(n(θ)) (θ=K,...,N)を生成する。n(0), n(1),...,n(N)は分散値生成部117によって逐一定められてもよいし、予め定められた定数であってもよい。n(0), n(1),...,n(N)の例は互いに異なる整数であり、例えばn(0), n(1),...,n(N)は互いに異なる0以上N以下の整数である。具体例を示すとn(0)=0, n(i)=i (i=1,...,N)である。本形態では、分散値Ti(α)からiの値を特定でき、n(0), n(1),...,n(N)が予め定められた定数であり、iに対応するn(i)が特定できる場合を例示する。 The value α input to the input unit 111 and the K−1 values a (k) = P (v (k)) (k = 1,..., K−1) output from the conversion unit 116 are as follows. The value is input to the variance value generation unit 117. The variance value generation unit 117 uses these to generate N variance values T k (α) = v (k) (k = 1,..., K−1), T θ (α) = f (n ( θ)) (θ = K,..., N) is generated, and N dispersion values T i (α) (i = 1,..., N) are output. Where f (x) is f (n (k)) = a (k) (k) for the values n (1), ..., n (K-1) and the value α∈G that is an element of the set G. = 1,..., K−1) and f (n (0)) = α. n (0), n (1),..., n (N) are different from each other (step S114). The variance value generation unit 117, for example, is K−1 order satisfying f (n (k)) = a (k) (k = 1,..., K−1) and f (n (0)) = α. T θ (α is obtained by calculating each coefficient of the equation f (x) and substituting n (θ) (θ = K, ..., N) into the K-1 order equation f (x) specified by them. ) = f (n (θ)) (θ = K,..., N) is generated. n (0), n (1),..., n (N) may be made constant by the variance value generation unit 117, or may be a predetermined constant. Examples of n (0), n (1), ..., n (N) are different integers, for example n (0), n (1), ..., n (N) are different 0 It is an integer of N or less. As a specific example, n (0) = 0, n (i) = i (i = 1,..., N). In this embodiment, the value of i can be specified from the variance value T i (α), and n (0), n (1),..., N (N) are predetermined constants corresponding to i. The case where n (i) can be specified will be exemplified.

N個の分散値Ti(α) (i=1,...,N)は出力部112に入力され、出力部112はN個の分散値Ti(α) (i=1,...,N)を出力する(ステップS115)。出力されたTi(α) (i=1,...,N)のそれぞれは、データ記憶装置120−i (i=1,...,N)のそれぞれに提供される。例えば、分散値Tλ(α) (λ∈{1,...,N})は、ネットワーク等を経由して、対応するデータ記憶装置120−λ(図2B)に送信される。データ記憶装置120−λに提供された分散値Tλ(α)は入力部121−λに入力され、記憶部123b−λに格納される。 N variance values T i (α) (i = 1,..., N) are input to the output unit 112, and the output unit 112 outputs N variance values T i (α) (i = 1,... ., N) is output (step S115). Each of the output T i (α) (i = 1,..., N) is provided to each of the data storage devices 120-i (i = 1,..., N). For example, the dispersion value T λ (α) (λε {1,..., N}) is transmitted to the corresponding data storage device 120-λ (FIG. 2B) via a network or the like. The variance value T λ (α) provided to the data storage device 120-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図4Bを用い、分散データ変換装置140−κ (κ∈{1,...,K-1})が実行する分散データ変換処理を説明する。
データ記憶装置120−κ (κ∈{1,...,K-1})の記憶部123b−κに格納された分散値Tκ(α)=v(κ)は出力部122−κに送られ、出力部122−κは分散値Tκ(α)=v(κ)を出力する。出力された分散値Tκ(α)=v(κ)は、ネットワーク等を経由して、対応する分散データ変換装置140−κ(図3B)に送信される。分散データ変換装置140−κに提供された分散値Tκ(α)は入力部141−κに入力され、記憶部143b−κに格納される(ステップS141−κ)。
<Distributed data conversion processing>
A distributed data conversion process executed by the distributed data conversion device 140-κ (κε {1,..., K-1}) will be described with reference to FIG. 4B.
The dispersion value T κ (α) = v (κ) stored in the storage unit 123b-κ of the data storage device 120-κ (κ∈ {1,..., K-1}) is output to the output unit 122-κ. The output unit 122-κ outputs the dispersion value T κ (α) = v (κ). The output variance value T κ (α) = v (κ) is transmitted to the corresponding distributed data conversion device 140-κ (FIG. 3B) via a network or the like. The distributed value T κ (α) provided to the distributed data converter 140-κ is input to the input unit 141-κ and stored in the storage unit 143b-κ (step S141-κ).

変換分散値生成部146−κは、記憶部143b−κから読み出した分散値Tκ(α)=v(κ) (κ∈{1,...,K-1})から変換分散値Sκ(α)=P(v(κ))を生成し、当該変換分散値Sκ(α)を出力する(ステップS142−κ)。変換分散値Sκ(α)は出力部142−κに入力され、出力部142−κは変換分散値Sκ(α)を出力する(ステップS143−κ)。出力された変換分散値Sκ(α)は、ネットワーク等を経由して、対応するデータ記憶装置120−κ(図2B)に送信される。変換分散値Sκ(α)は、対応するデータ記憶装置120−κの入力部121−κに入力され、記憶部123b−κに格納される。 The transformed variance value generation unit 146-κ converts the transformed variance value S from the variance value T κ (α) = v (κ) (κ∈ {1,..., K-1}) read from the storage unit 143b-κ. κ (α) = P (v (κ)) is generated, and the transformed variance value S κ (α) is output (step S142-κ). The transformed variance value S κ (α) is input to the output unit 142-κ, and the output unit 142-κ outputs the transformed variance value S κ (α) (step S143-κ). The output transformed variance value S κ (α) is transmitted to the corresponding data storage device 120-κ (FIG. 2B) via a network or the like. The transformed variance value S κ (α) is input to the input unit 121-κ of the corresponding data storage device 120-κ and stored in the storage unit 123b-κ.

<分散値提供・秘密計算>
K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置120−λ(図2B)は、記憶部123b−λに格納された分散値Tλ(α)を出力するか、又は、秘密計算を行ってその結果を表す分散値Eλを出力する。
<Distributed value provision / secret calculation>
The data storage devices 120-λ (FIG. 2B) corresponding to K different λ∈ {1,..., N} output the variance value T λ (α) stored in the storage unit 123b-λ. Alternatively, a secret calculation is performed and a variance value E λ representing the result is output.

分散値Tλ(α)が出力される場合、データ記憶装置120−λの出力部122−λは、記憶部123b−λから読み出された分散値Tλ(α)を出力する。この場合、K個の互いに異なるλ∈{1,...,N}に対応するすべてのデータ記憶装置120−λが分散値Tλ(α)を出力する。出力されたK個の分散値Tλ(α)は、ネットワーク等を経由してデータ復元装置130に送られる。 When the variance value T λ (α) is output, the output unit 122-λ of the data storage device 120-λ outputs the variance value T λ (α) read from the storage unit 123b-λ. In this case, all the data storage devices 120-λ corresponding to K different λ∈ {1,..., N} output the variance value T λ (α). The output K dispersion values T λ (α) are sent to the data restoration device 130 via a network or the like.

分散値Eλが出力される場合、データ記憶装置120−λの秘密計算部127−λが、記憶部123b−λから読み出された分散値Tλ(α)又は変換分散値Sλ(α)を用いて秘密計算(例えば非特許文献2の秘密計算)を実行し、出力部122−λがその演算結果を表す分散値Eλを出力する。秘密計算に分散値Tλ(α)が用いられるのか変換分散値Sλ(α)が用いられるのかは、λ∈{1,...,K-1}であるのかλ∈{K,...,N}であるのかによる。λ∈{1,...,K-1}である場合には変換分散値Sλ(α)を用いて秘密計算が行われ、λ∈{K,...,N}である場合には分散値Tλ(α)を用いて秘密計算が行われる。この場合、K個の互いに異なるλ∈{1,...,N}に対応するすべてのデータ記憶装置120−λが秘密計算を行って分散値Eλを出力する。出力されたK個の分散値Eλは、ネットワーク等を経由してデータ復元装置130に送られる。 When the variance value E λ is output, the secret calculation unit 127-λ of the data storage device 120-λ may use the variance value T λ (α) read from the storage unit 123b-λ or the transformed variance value S λ (α ) Is used to execute a secret calculation (for example, the secret calculation of Non-Patent Document 2), and the output unit 122-λ outputs a variance value E λ representing the calculation result. Whether secret value T λ (α) or transform variance value S λ (α) is used for secret computation is λ∈ {1, ..., K-1} or λ∈ {K,. .., N}. When λ∈ {1, ..., K-1}, a secret calculation is performed using the transformation variance S λ (α), and when λ∈ {K, ..., N} The secret calculation is performed using the variance value T λ (α). In this case, all the data storage devices 120-λ corresponding to K different λε {1,..., N} perform secret calculation and output the variance value E λ . The output K dispersion values E λ are sent to the data restoration device 130 via a network or the like.

<データ復元処理>
図4Cに例示するように、データ復元装置130(図3A)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)又はK個の分散値Eλが入力される(ステップS131)。制御部134は、K個の分散値Tλ(α)が入力されたか、K個の分散値Eλが入力されたかを判定する(ステップS132)。
<Data restoration processing>
As illustrated in FIG. 4C, the input unit 131 of the data restoration device 130 (FIG. 3A) has K variance values T λ (corresponding to K different λ∈ {1,..., N}. α) or K dispersion values E λ are input (step S131). The control unit 134 determines whether K variance values T λ (α) have been input or K variance values E λ have been input (step S132).

ステップS132で、K個の分散値Tλ(α)が入力されたと判定された場合、これらK個の分散値Tλ(α)が変換部135に入力される。変換部135は、これらK個の互いに異なるλ∈{1,...,N}に対応する分散値Tλ(α)から、K個の互いに異なる値n(λ) (λ∈{1,...,N})に対応するK個の値f(n(λ))を生成し、K個の値f(n(λ))を出力する(ステップS133)。例えば、変換部135は、当該K個の分散値Tλ(α)が含む分散値Tκ(α)=v(κ) (κ∈{1,...,K-1})に対してf(n(κ))=P(v(κ))を計算して値f(n(κ))を出力し、当該K個の分散値Tλ(α)が含む分散値Tζ(α) (ζ∈{K,...,N})に対して値f(n(ζ))=Tζ(α)を出力する。 If it is determined in step S132 that K dispersion values T λ (α) have been input, these K dispersion values T λ (α) are input to the conversion unit 135. The conversion unit 135 calculates K different values n (λ) (λ∈ {1, N} from the variance values T λ (α) corresponding to these K different λ∈ {1,..., N}. .., N}) are generated and K values f (n (λ)) are output (step S133). For example, the conversion unit 135 calculates the variance value T κ (α) = v (κ) (κ∈ {1,..., K-1}) included in the K variance values T λ (α). f (n (κ)) = P (v (κ)) is calculated and the value f (n (κ)) is output, and the variance value T ζ (α included in the K variance values T λ (α) ) The value f (n (ζ)) = T ζ (α) is output for (ζ∈ {K,..., N}).

K個の値f(n(λ))は復元部136に入力される。復元部136は、これらK個の値f(n(λ))に対してF(n(λ))=f(n(λ)) (λ∈{1,...,N})を満たすK-1次式F(x)の関数値F(n(0))=αを生成し、それによって得られた値αを出力する(ステップS134)。K個の互いに異なる値n(λ)に対応する値f(n(λ))からはK-1次式F(x)が一義的に定まり、値αも一義的に定まる。K個の値f(n(λ))から関数値F(n(0))=αを得るための計算方法に限定はない。この計算方法の一つにラグランジュ(Lagrange)補間法を用いる方法がある。例えば、n(0)=0であり、n(1),...,n(N)が互いに異なる1以上N以下の整数であり、K個の互いに異なる値n(λ)がn(1),...,n(K)であるとすると、以下のように関数値F(0)=αを計算できる。

Figure 0005458116
値αは出力部132に入力され、そこから出力される(ステップS135)。ただし上記は関数Fの補間であり、集合Gによっては正しくαが復元できない場合があるので、集合Gに応じて適切にαの導出式を用いる必要がある。なおG=GF(p)であればラグランジュ補間法により正しく復元できる。 K values f (n (λ)) are input to the restoration unit 136. The restoration unit 136 satisfies F (n (λ)) = f (n (λ)) (λ∈ {1,..., N}) for these K values f (n (λ)). The function value F (n (0)) = α of the K−1 linear expression F (x) is generated, and the value α obtained thereby is output (step S134). From the value f (n (λ)) corresponding to K different values n (λ), the K−1 linear expression F (x) is uniquely determined, and the value α is also uniquely determined. There is no limitation on the calculation method for obtaining the function value F (n (0)) = α from the K values f (n (λ)). One of the calculation methods is a method using Lagrange interpolation. For example, n (0) = 0, n (1), ..., n (N) are different integers from 1 to N, and K different values n (λ) are n (1 ), ..., n (K), the function value F (0) = α can be calculated as follows.
Figure 0005458116
The value α is input to and output from the output unit 132 (step S135). However, the above is interpolation of the function F, and α may not be correctly restored depending on the set G. Therefore, it is necessary to appropriately use a derivation formula of α according to the set G. If G = GF (p), it can be correctly restored by Lagrange interpolation.

一方、ステップS132で、分散値Eλが入力されたと判定された場合、K個の分散値Eλが復元部136に入力される。復元部136は、所定の復元方法(例えば非特許文献2の復元方法)に従ってK個の分散値Eλから計算結果εを復元し、当該計算結果εを出力する(ステップS136)。計算結果εは出力部132に入力され、そこから出力される(ステップS137)。 On the other hand, when it is determined in step S <b> 132 that the variance value E λ has been input, K variance values E λ are input to the restoration unit 136. The restoration unit 136 restores the calculation result ε from the K variance values E λ according to a predetermined restoration method (for example, the restoration method of Non-Patent Document 2), and outputs the calculation result ε (step S136). The calculation result ε is input to the output unit 132 and is output therefrom (step S137).

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。すなわち、本形態のN個の分散値Ti(α) (i=1,...,N)のうち、K-1個の分散値Tk(α) (k=1,...,K-1)は分散値Tk(α)=v(k) (k=1,...,K-1)である。これに対して、値α∈GをShamir秘密分散方式に従って秘密分散して得られる分散値のデータ量は集合Gの要素(1個の要素)のデータ量以上である。従って、分散値Tk(α)=v(k)のそれぞれのデータ量は、値α∈GをShamir秘密分散方式に従って秘密分散して得られる分散値よりもデータ量が小さい。分散値のデータ量をどの程度削減できるかは、v(k)のデータ量と集合Gの要素のデータ量との違いに依存する。例えば、値v(k) (k=1,...,K-1)の合計データ量が、集合GのK-1個の要素の合計データ量よりも小さいのであれば、本形態の分散値の総データ量は、従来の秘密分散方式の分散値の総データ量よりも小さくなる。値v(k) (k=1,...,K-1)の合計データ量が集合GのK-1個の要素の合計データ量よりも小さくなるのは、例えば、値v(k)の何れかのデータ量が集合Gの要素のデータ量よりも小さい場合や、値v(k)それぞれのデータ量が集合Gの要素のデータ量よりも小さい場合などである。さらに、値v(k)それぞれのデータ量が集合Gの要素のデータ量に対して無視できる程度に小さいのであれば、N個の分散値Ti(α) (i=1,...,N)のうちK-1個の分散値Tk(α)=v(k) (k=1,...,K-1)のデータ量は無視でき、N個の分散値Ti(α) (i=1,...,N)の合計データ量は、集合Gの(N-K+1)個の要素の合計データ量と同程度となる。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. That is, of the N dispersion values T i (α) (i = 1, ..., N) of the present embodiment, K-1 dispersion values T k (α) (k = 1, ..., K−1) is the variance value T k (α) = v (k) (k = 1,..., K−1). On the other hand, the data amount of the distributed value obtained by secretly sharing the value αεG according to the Shamir secret sharing scheme is equal to or larger than the data amount of the elements (one element) of the set G. Therefore, the data amount of each variance value T k (α) = v (k) is smaller than the variance value obtained by secretly sharing the value α∈G according to the Shamir secret sharing scheme. How much the data amount of the variance value can be reduced depends on the difference between the data amount of v (k) and the data amount of elements of the set G. For example, if the total data amount of values v (k) (k = 1, ..., K-1) is smaller than the total data amount of K-1 elements of the set G, the variance of this embodiment The total data amount of the value is smaller than the total data amount of the distributed value of the conventional secret sharing scheme. The total data amount of the value v (k) (k = 1, ..., K-1) is smaller than the total data amount of the K-1 elements of the set G, for example, the value v (k) Or the case where the data amount of each element of the set G is smaller than the data amount of the elements of the set G. Furthermore, if the data amount of each value v (k) is negligibly small relative to the data amount of the elements of the set G, N variance values T i (α) (i = 1, ..., The data amount of K-1 variance values T k (α) = v (k) (k = 1, ..., K-1) out of N) is negligible, and N variance values T i (α ) The total data amount of (i = 1,..., N) is approximately the same as the total data amount of (N−K + 1) elements of the set G.

さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。   Furthermore, the distributed data conversion process in the distributed data conversion device generates a converted distributed value that can be used as an input for the secret calculation without restoring the original value α from the distributed value obtained by the data distribution device. It is also possible to execute a secret calculation.

なお、本形態では、分散値生成部117が、N個の分散値Ti(α) (i=1,...,K), Tθ(α)=f(n(θ)) (θ=K,...,N)を出力することとした。しかしながら、分散値生成部が、[n(k), Tk(α)=v(k)] (k=1,...,K-1),[n(θ), Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、分散データ変換装置が[n(k), Tk(α)]から[n(k), Sk(α)=P(v(k))]を生成して出力し、データ復元装置が[n(k), Tk(α)] (k=1,...,K-1),[n(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[n(λ), Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。 In this embodiment, the variance value generation unit 117 has N variance values T i (α) (i = 1,..., K), T θ (α) = f (n (θ)) (θ = K, ..., N). However, the variance value generation unit is [n (k), T k (α) = v (k)] (k = 1, ..., K-1), [n (θ), T θ (α) = f (n (θ))] (θ = K, ..., N) may be output. In this case, the distributed data conversion device generates and outputs [n (k), S k (α) = P (v (k))] from [n (k), T k (α)], and restores the data. The device is [n (k), T k (α)] (k = 1, ..., K-1), [n (θ), T θ (α)] (θ = K, ..., N ) May be restored from any K [n (λ), T λ (α)] (λ∈ {1,..., N}).

或いは、分散値生成部117が、[k, n(k), Tk(α)=v(k)] (k=1,...,K-1),[θ, n(θ), Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、分散データ変換装置が[k, n(k), Tk(α)]から[k, n(k), Sk(α)=P(v(k))]を生成して出力し、データ復元装置が[k, n(k), Tk(α)] (k=1,...,K-1),[θ, n(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[θ, n(λ), Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。 Alternatively, the variance value generation unit 117 outputs [k, n (k), T k (α) = v (k)] (k = 1,..., K−1), [θ, n (θ), T θ (α) = f (n (θ))] (θ = K,..., N) may be output. In this case, the distributed data converter generates [k, n (k), S k (α) = P (v (k))] from [k, n (k), T k (α)] and outputs it And the data restoration device [k, n (k), T k (α)] (k = 1, ..., K-1), [θ, n (θ), T θ (α)] (θ = K, ..., N) Even if the value α is restored from K [θ, n (λ), T λ (α)] (λ∈ {1, ..., N}) Good.

或いは、分散値生成部117が、[k, Tk(α)=v(k)] (k=1,...,K-1),[θ, Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、分散データ変換装置が[k, Tk(α)]から[k, Sk(α)=P(v(k))]を生成して出力し、データ復元装置が[k, Tk(α)] (k=1,...,K-1),[θ, Tθ(α)] (θ=K,...,N)の何れかK個の[λ Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。その他、分散値生成部117がTi(α)に加え、その他の付加情報を分散値として出力してもよい。 Alternatively, the variance value generation unit 117 outputs [k, T k (α) = v (k)] (k = 1,..., K−1), [θ, T θ (α) = f (n ( θ))] (θ = K,..., N) may be output. In this case, the distributed data conversion device generates and outputs [k, S k (α) = P (v (k))] from [k, T k (α)], and the data restoration device outputs [k, T k (α)] (k = 1, ..., K-1), [θ, T θ (α)] (θ = K, ..., N) of any of the K T λ ( α)] The value α may be restored from (λ∈ {1,..., N}). In addition, the dispersion value generation unit 117 may output other additional information as a dispersion value in addition to T i (α).

i, n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量よりも小さい。好ましくは、i, n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量に対して無視できる程度である(例えば、(i, n(i)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 The data amount of i, n (i) (i = 1,..., N) is smaller than the data amount of the elements of the set G. Preferably, the data amount of i, n (i) (i = 1,..., N) is negligible with respect to the data amount of the elements of the set G (for example, (i, n (i) Respective data amount) / (data amount of elements of set G) ≦ 80/10 6 ).

〔第2実施形態〕
次に、本発明の第2実施形態を説明する。本形態は第1実施形態の変形例であり、同一の値v(k)を複数の秘密分散に流用することで分散値のデータ量をさらに削減する。以下では第1実施形態との相違点を中心に説明する。第1実施形態と共通する処理部やステップには第1実施形態と同じ参照符号を用い、説明を簡略化する。
第2実施形態では、N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を集合Gの要素に移す写像である。本形態の集合G、写像P(x)の具体例は、第1実施形態で説明した集合G、写像P(x)の具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
[Second Embodiment]
Next, a second embodiment of the present invention will be described. This embodiment is a modification of the first embodiment, and further reduces the data amount of the distributed value by diverting the same value v (k) to a plurality of secret sharing. Below, it demonstrates centering on difference with 1st Embodiment. The same reference numerals as those in the first embodiment are used for the processing units and steps common to the first embodiment, and the description will be simplified.
In the second embodiment, N, K, and R are integers of 2 or more, K ≦ N, G is a certain set, and P (x) moves a value corresponding to x to an element of the set G It is a mapping. Specific examples of the set G and mapping P (x) in the present embodiment are the same as the specific examples of the set G and mapping P (x) described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第2実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とK-1個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を得、k(k=1,...,K-1)のそれぞれについてR個のTk1),...,TkR)の少なくとも1個をv(k)とし、Tθr)=fr(nr(θ)) (θ=K,...,N)とし、rのそれぞれについてN個の分散値Tir) (i=1,...,N, r=1,...,R)を得る。ただし、fr(x)は、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(N)が互いに異なる。同一の「rとv(k)との組み合わせ」には同一の「z(r, v(k))」が対応する。z(r, v(k))と「rとv(k)との組み合わせ(r, v(k))」とは一対一で対応してもよいし、しなくてもよい。
The secret sharing system according to the second embodiment includes a data sharing device, a data restoration device, N data storage devices, and K-1 distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and sets values corresponding to r and value v (k) to z ( r, v (k)) and K-1 values for each r a r (k) = P (z (r, v (k))) (r = 1, ..., R, k = 1, ..., K-1) and R T k1 ), ..., T k (α for each k (k = 1, ..., K-1) Let R ( ) be at least one v (k), T θr ) = f r (n r (θ)) (θ = K, ..., N), and N variances for each r Get the values T ir ) (i = 1, ..., N, r = 1, ..., R). Where f r (x) is f r (n r (k)) for the values n r (1), ..., n r (K-1) and the value α r ∈G that is an element of the set G. = a r (k) (k = 1, ..., K-1) and f r (n r (0) ) = a K-1 order equation that satisfies alpha r. The values n r (0), n r (1),..., N r (N) corresponding to the same r are different from each other. The same “z (r, v (k))” corresponds to the same “combination of r and v (k)”. z (r, v (k)) and “combination of r and v (k) (r, v (k))” may or may not correspond one-to-one.

本形態のデータ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なる値nr(λ) (λ∈{1,...,N})に対応する値fr(nr(λ))を得、r (r=1,...,R)のそれぞれについて、当該fr(nr(λ))に対してFr(nr(λ))=fr(nr(λ)) (λ∈{1,...,N})を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る。例えば、本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)にv(κ) (κ∈{1,...,K-1})が含まれる場合にfr(nr(κ))=P(z(r,v(κ))) (r=1,...,R)とする。 The data restoration apparatus according to the present embodiment is configured such that for each of r (r = 1,..., R), K dispersion values T λ corresponding to K different λ∈ {1,. From (α r ), values f r (n r (λ)) corresponding to K different values n r (λ) (λ∈ {1, ..., N}) are obtained, and r (r = 1, ..., R), for each f r (n r (λ)), F r (n r (λ)) = f r (n r (λ)) (λ∈ {1, ..., N}) to obtain a function value F r (n r (0)) = α r of the K−1 linear expression F r (x). For example, the data restoration apparatus according to the present embodiment includes k variance values T λr ) corresponding to K different λ∈ {1,..., N} to v (κ) (κ∈ {1 , ..., K-1}), let f r (n r (κ)) = P (z (r, v (κ))) (r = 1, ..., R) .

分散データ変換装置のそれぞれは、分散値Tκr’)=v(κ) (κ∈{1,...,K-1}, r’∈{1,...,R})から変換分散値Sκr)=P(z(r, v(κ)))を得る。このように得られた変換分散値Sκr)は、秘密計算の入力値として用いられる。秘密計算の具体例は、例えば非特許文献2などに開示されたShamir秘密分散に基づく秘密計算である。秘密計算は単項演算であってもよいし、多項演算であってもよい。 Each of the distributed data converters has a distributed value T κr ′ ) = v (κ) (κ∈ {1, ..., K-1}, r′∈ {1, ..., R}) To obtain a transformed dispersion value S κr ) = P (z (r, v (κ))). The transform variance value S κr ) thus obtained is used as an input value for secret calculation. A specific example of the secret calculation is a secret calculation based on Shamir secret sharing disclosed in Non-Patent Document 2, for example. The secret calculation may be a unary operation or a multinomial operation.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図1に例示するように、第2実施形態の秘密分散システム2は、データ分散装置210、N個のデータ記憶装置220−i(i=1,...,N)、K-1個の分散データ変換装置240−k(k=1,...,K-1)、及びデータ復元装置230を有する。データ分散装置210は、ネットワークや可搬型記録媒体などを経由して、N個のデータ記憶装置220−i(i=1,...,N)に対して情報の提供が可能である。N個のデータ記憶装置220−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、K-1個の分散データ変換装置240−k(k=1,...,K-1)と情報のやり取りが可能である。さらに、N個のデータ記憶装置220−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、データ復元装置230に対して情報の提供が可能である。
<Configuration>
As illustrated in FIG. 1, the secret sharing system 2 of the second embodiment includes a data sharing device 210, N data storage devices 220-i (i = 1,..., N), K−1 pieces. The distributed data converter 240-k (k = 1,..., K-1) and the data restoration device 230 are included. The data distribution device 210 can provide information to the N data storage devices 220-i (i = 1,..., N) via a network or a portable recording medium. Each of the N data storage devices 220-i (i = 1,..., N) is connected to K−1 distributed data conversion devices 240-k (k) via a network or a portable recording medium. = 1, ..., K-1). Further, each of the N data storage devices 220-i (i = 1,..., N) can provide information to the data restoration device 230 via a network or a portable recording medium. It is.

図2Aに例示するように、本形態のデータ分散装置210は、入力部111、分割部211、出力部112、メモリ113、制御部214、選択部115、変換部216、及び分散値生成部217を有する。本形態のデータ分散装置210は、制御部214の制御のもとで各処理を実行する。   As illustrated in FIG. 2A, the data distribution apparatus 210 according to the present exemplary embodiment includes an input unit 111, a division unit 211, an output unit 112, a memory 113, a control unit 214, a selection unit 115, a conversion unit 216, and a distributed value generation unit 217. Have The data distribution apparatus 210 according to this embodiment executes each process under the control of the control unit 214.

図2Bに例示するように、データ記憶装置220−λ(λ∈{1,...,N })は、入力部121−λ、出力部122−λ、メモリ123a−λ、記憶部123b−λ、制御部224−λ、及び秘密計算部227−λを有する。本形態のデータ記憶装置220−λは、制御部224−λの制御のもとで各処理を実行する。   As illustrated in FIG. 2B, the data storage device 220-λ (λε {1,..., N}) includes an input unit 121-λ, an output unit 122-λ, a memory 123a-λ, and a storage unit 123b-. λ, control unit 224-λ, and secret calculation unit 227-λ. The data storage device 220-λ of this embodiment executes each process under the control of the control unit 224-λ.

図3Aに例示するように、本形態のデータ復元装置230は、入力部131、出力部132、メモリ133、制御部234、変換部235、復元部236、及び結合部237を有する。本形態のデータ復元装置230は、制御部234の制御のもとで各処理を実行する。   As illustrated in FIG. 3A, the data restoration device 230 according to this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 234, a conversion unit 235, a restoration unit 236, and a combining unit 237. The data restoration device 230 according to this embodiment executes each process under the control of the control unit 234.

図3Bに例示するように、本形態の分散データ変換装置240−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部244−κ、及び変換分散値生成部246−κを有する。本形態の分散データ変換装置240−κは、制御部244−κの制御のもとで各処理を実行する。   As illustrated in FIG. 3B, the distributed data conversion apparatus 240-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, storage unit 143b-κ, control unit 244-κ, and transform variance value generation unit 246-κ. The distributed data converter 240-κ of this embodiment executes each process under the control of the control unit 244-κ.

<データ分散処理>
図5Aに例示するように、データ分散装置210(図2A)の入力部111に秘密分散される値αが入力される(ステップS111)。値αは分割部211に入力される。分割部211は、値αを集合Gの要素であるR個の値αr ∈G (r=1,...,R)に分割し、R個の値αr (r=1,...,R)を出力する(ステップS211)。例えば、分割部211は、R個の値αr(r=1,...,R)のビット結合値が値αとなるように分割を行う。
<Data distribution processing>
As illustrated in FIG. 5A, a secret value α is input to the input unit 111 of the data distribution device 210 (FIG. 2A) (step S111). The value α is input to the dividing unit 211. Dividing unit 211, R number of values alpha r ∈G value alpha is an element of the set G (r = 1, ..., R) is divided into, R number of values α r (r = 1, .. ., R) is output (step S211). For example, the dividing unit 211 performs division so that the bit combination value of the R values α r (r = 1,..., R) becomes the value α.

選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。   The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112).

値v(k) (k=1,...,K-1)は変換部216に入力される。変換部216は、rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を生成し、当該(K-1)×R個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を出力する(ステップS213)。P(x)が擬似乱数生成関数の場合、値ar(k)は擬似乱数となる。 Values v (k) (k = 1,..., K−1) are input to the conversion unit 216. The converting unit 216 sets z (r, v (k)) as a value corresponding to r and the value v (k), and K−1 values a r (k) = P (z) for each of r. (r, v (k))) (r = 1, ..., R, k = 1, ..., K-1) and generates (K-1) x R values a r ( k) = P (z (r, v (k))) (r = 1,..., R, k = 1,..., K-1) is output (step S213). When P (x) is a pseudorandom number generation function, the value a r (k) is a pseudorandom number.

分割部211から出力されたR個の値αr(r=1,...,R)と変換部216から出力された(K-1)×R個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)とは分散値生成部217に入力される。分散値生成部217は、k(k=1,...,K-1)のそれぞれについてR個のTk1),...,TkR)の少なくとも1個をv(k)とし、Tθr)=fr(nr(θ)) (θ=K,...,N)とし、rのそれぞれについてN個の分散値Tir) (i=1,...,N, r=1,...,R)を生成する。ただし、fr(x)は、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(N)が互いに異なる(ステップS214)。例えば、分散値生成部217は、fr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式fr(x)の各係数を求め、それらによって特定されるK-1次式fr(x)にnr(θ) (θ=K,...,N)を代入することでTθr)=fr(nr(θ)) (θ=K,...,N)を生成する。異なるrに対応するfr(x)が異なってもよいし、同一であってもよい。nr(0), nr(1),...,nr(N)は分散値生成部217によって逐一定められてもよいし、予め定められた定数であってもよい。本形態では、分散値Tir)からi及びrの値を特定でき、nr(0), nr(1),...,nr(N)が予め定められた定数である場合を例示する。異なるrに対応するnr(0)が異なってもよいし、同一であってもよい。異なるrに対応するnr(i)が異なってもよいし、同一であってもよい。nr(0), nr(1),...,nr(N)の例は互いに異なる整数であり、例えば互いに異なる1以上N以下の整数である。具体例を示すとnr(0)=0, nr(i)=i (i=1,...,N)である。また、R個のTk1),...,TkR)のすべてがv(k)であってもよいし、R個のTk1),...,TkR)の何れかのみがv(k)であってもよい。Tk1),...,TkR)のうちv(k)でないものは空値であってもよいし、rやRなどのパラメータであってもよい。Tk1),...,TkR)の一例は、Tk1)=v(k), Tk2)=...=TkR)=φである。ただしφは空値を示す。 R values α r (r = 1,..., R) output from the dividing unit 211 and (K−1) × R values a r (k) = P ( z (r, v (k))) (r = 1,..., R, k = 1,..., K−1) is input to the variance value generation unit 217. The variance value generation unit 217 converts at least one of R T k1 ),..., T kR ) to v (k = 1,..., K−1), v (k), T θr ) = f r (n r (θ)) (θ = K, ..., N), and N dispersion values T ir ) ( i = 1, ..., N, r = 1, ..., R). Where f r (x) is f r (n r (k)) for the values n r (1), ..., n r (K-1) and the value α r ∈G that is an element of the set G. = a r (k) (k = 1, ..., K-1) and f r (n r (0) ) = a K-1 order equation that satisfies alpha r. The values n r (0), n r (1),..., N r (N) corresponding to the same r are different from each other (step S214). For example, the variance value generation unit 217 calculates f r (n r (k)) = a r (k) (k = 1,..., K−1) and f r (n r (0)) = α r obtains the coefficients of a met K-1 linear equation f r (x), are identified by their K-1 linear equation f r (x) in n r (θ) (θ = K, ..., n) Is substituted to generate T θr ) = f r (n r (θ)) (θ = K,..., N). F r (x) corresponding to different r may be different or the same. n r (0), n r (1),..., n r (N) may be made constant by the variance value generation unit 217 or may be a predetermined constant. In this embodiment, the values of i and r can be specified from the variance value T ir ), and n r (0), n r (1), ..., n r (N) are predetermined constants. An example is given. N r (0) corresponding to different r may be different or the same. N r (i) corresponding to different r may be different or the same. Examples of n r (0), n r (1),..., n r (N) are different integers, for example, different integers of 1 to N. As a specific example, n r (0) = 0, n r (i) = i (i = 1,..., N). Also, all of R T k1 ), ..., T kR ) may be v (k), or R T k1 ), ..., Only one of T kR ) may be v (k). Of T k1 ),..., T kR ), those that are not v (k) may be null values or parameters such as r and R. An example of T k1 ), ..., T kR ) is T k1 ) = v (k), T k2 ) = ... = T kR ) = φ. However, φ indicates a null value.

R×N個の分散値Tir) (i=1,...,N, r=1,...,R)は出力部112に入力され、出力部112はN個の分散値Tir) (i=1,...,N, r=1,...,R)を出力する(ステップS215)。出力された分散値Tir) (i=1,...,N, r=1,...,R)のそれぞれは、データ記憶装置220−i(i=1,...,N)のそれぞれに提供される。例えば、分散値Tλr) (λ∈{1,...,N}, r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置220−λ(図2B)に送信される。データ記憶装置220−λに提供された分散値Tλr) (r=1,...,R)は入力部121−λに入力され、記憶部123b−λに格納される。 R × N variance values T ir ) (i = 1, ..., N, r = 1, ..., R) are input to the output unit 112, and the output unit 112 has N variances. The values T ir ) (i = 1,..., N, r = 1,..., R) are output (step S215). Each of the output variance values T ir ) (i = 1,..., N, r = 1,..., R) corresponds to the data storage device 220-i (i = 1,. ), N). For example, the variance value T λr ) (λ∈ {1,..., N}, r = 1,. (FIG. 2B). The dispersion values T λr ) (r = 1,..., R) provided to the data storage device 220-λ are input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図5Bを用い、分散データ変換装置240−κ(κ∈{1,...,K-1})が実行する分散データ変換処理を説明する。
データ記憶装置220−κ(κ∈{1,...,K-1})の記憶部123b−κに格納された分散値Tκr) (r=1,...,R)は出力部122−κに送られ、出力部122−κは分散値Tκr) (r=1,...,R)を出力する。出力された分散値Tκr) (r=1,...,R)は、ネットワーク等を経由して、対応する分散データ変換装置240−κ (κ∈{1,...,K-1})(図3B)に送信される。分散データ変換装置240−κに提供された分散値Tκr) (r=1,...,R)は入力部141−κに入力され、記憶部143b−κに格納される(ステップS241−κ)。
<Distributed data conversion processing>
The distributed data conversion process executed by the distributed data converter 240-κ (κε {1,..., K-1}) will be described with reference to FIG. 5B.
The variance T κr ) (r = 1,..., R) stored in the storage unit 123b-κ of the data storage device 220-κ (κ∈ {1,..., K−1}). Is sent to the output unit 122-κ, and the output unit 122-κ outputs the dispersion value T κr ) (r = 1,..., R). The output distributed value T κr ) (r = 1,..., R) is transmitted via a network or the like to the corresponding distributed data converter 240-κ (κ∈ {1,. K-1}) (FIG. 3B). The distributed values T κr ) (r = 1,..., R) provided to the distributed data converter 240-κ are input to the input unit 141-κ and stored in the storage unit 143b-κ ( Step S241-κ).

変換分散値生成部246−κは、記憶部143b−κから読み出したv(κ)である分散値Tκr’)=v(κ) (κ∈{1,...,K-1}, r’∈{1,...,R})から変換分散値Sκr)=P(z(r, v(κ)))を生成し、当該変換分散値Sκr)を出力する(ステップS242−κ)。出力された変換分散値Sκr) (r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置220−κ(r=1,...,R)(図2B)に送信される。変換分散値Sκr) (r=1,...,R)は、対応するデータ記憶装置220−κの入力部121−κに入力され、記憶部123b−κに格納される。 The transformed variance value generation unit 246-κ is the variance value T κr ′ ) = v (κ) (κ∈ {1,..., K−) that is v (κ) read from the storage unit 143b-κ. 1}, r′∈ {1, ..., R}) to generate a transformed variance value S κr ) = P (z (r, v (κ))), and the transformed variance value S κ ( α r ) is output (step S242-κ). The output transform variance value S κr ) (r = 1, ..., R) is sent to the corresponding data storage device 220-κ (r = 1, ..., R) via a network or the like. ) (FIG. 2B). The transformed variance value S κr ) (r = 1,..., R) is input to the input unit 121-κ of the corresponding data storage device 220-κ and stored in the storage unit 123b-κ.

<分散値提供・秘密計算>
K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置220−λ(図2B)は、記憶部123b−λに格納された分散値Tλr) (r=1,...,R)を出力するか、又は、秘密計算を行ってその結果を表す分散値Eλ,r (r=1,...,R)を出力する。
<Distributed value provision / secret calculation>
The data storage devices 220-λ (FIG. 2B) corresponding to the K different λ∈ {1,..., N} are distributed values T λr ) (r = 1,..., R), or a secret calculation is performed and a variance value E λ, r (r = 1,..., R) representing the result is output.

分散値Tλr) (r=1,...,R)が出力される場合、データ記憶装置220−λの出力部122−λは、記憶部123b−λから読み出された分散値Tλr) (r=1,...,R)を出力する。この場合、K個の互いに異なるλ∈{1,...,N}に対応するすべてのデータ記憶装置220−λが分散値Tλr) (r=1,...,R)を出力する。出力されたK×R個の分散値Tλr) (r=1,...,R)は、ネットワーク等を経由してデータ復元装置230に送られる。 When the dispersion value T λr ) (r = 1,..., R) is output, the output unit 122-λ of the data storage device 220-λ is read from the storage unit 123b-λ. Outputs the value T λr ) (r = 1, ..., R). In this case, all the data storage devices 220-λ corresponding to K different λ∈ {1,..., N} are distributed values T λr ) (r = 1,..., R). Is output. The output K × R variance values T λr ) (r = 1,..., R) are sent to the data restoration device 230 via a network or the like.

分散値Eλ,r (r=1,...,R)が出力される場合、データ記憶装置220−λの秘密計算部227−λが、記憶部123b−λから読み出された分散値Tλr) (r=1,...,R)又は変換分散値Sλr) (r=1,...,R)を用い、r(r=1,...,R)のそれぞれについて秘密計算を実行し、出力部122−λがその演算結果を表す分散値Eλ,rを出力する。秘密計算に分散値Tλr)が用いられるのか変換分散値Sλr)が用いられるのかは、λ∈{1,...,K-1}であるのかλ∈{K,...,N}であるのかによる。λ∈{1,...,K-1}である場合には変換分散値Sλr)を用いて秘密計算が行われ、λ∈{K,...,N}である場合には分散値Tλr)を用いて秘密計算が行われる。この場合、K個の互いに異なるλ∈{1,...,N}に対応するすべてのデータ記憶装置220−λが秘密計算を行って分散値Eλ,rを出力する。出力されたK×R個の分散値Eλ,rは、ネットワーク等を経由してデータ復元装置230に送られる。 When the variance value E λ, r (r = 1,..., R) is output, the secret calculation unit 227-λ of the data storage device 220-λ reads the variance value read from the storage unit 123b-λ. Using T λr ) (r = 1, ..., R) or transformation variance S λr ) (r = 1, ..., R), r (r = 1, ... , R), a secret calculation is performed, and the output unit 122-λ outputs a variance value E λ, r representing the calculation result. Whether the variance T λr ) or the transformation variance S λr ) is used for the secret calculation is λ∈ {1, ..., K-1} or λ∈ {K , ..., N}. When λ∈ {1, ..., K-1}, a secret calculation is performed using the transformation variance S λr ), and when λ∈ {K, ..., N} Is subjected to a secret calculation using the variance value T λr ). In this case, all the data storage devices 220-λ corresponding to K different λ∈ {1,..., N} perform secret calculation and output the distributed value E λ, r . The output K × R variance values E λ, r are sent to the data restoration device 230 via a network or the like.

<データ復元処理>
図5Cに例示するように、データ復元装置230(図3A)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (r=1,...,R)又は分散値Eλ,r (r=1,...,R)が入力される(ステップS231)。制御部234は、分散値Tλ(α)が入力されたか、分散値Eλが入力されたかを判定する(ステップS232)。
<Data restoration processing>
As illustrated in FIG. 5C, the input unit 131 of the data restoration device 230 (FIG. 3A) has a variance value T λr ) corresponding to K different λ∈ {1,..., N}. (r = 1,..., R) or the dispersion value E λ, r (r = 1,..., R) is input (step S231). The control unit 234 determines whether the variance value T λ (α) is input or the variance value E λ is input (step S232).

ステップS232で、分散値Tλr)が入力されたと判定された場合、これらK×R個の分散値Tλr)が変換部235に入力される。変換部235は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なる値nr(λ) (λ∈{1,...,N})に対応する値fr(nr(λ))を生成し、K×R個の値fr(nr(λ)) (λ∈{1,...,N}, r=1,...,R)を出力する(ステップS233)。例えば、変換部235は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)にTκr’)=v(κ) (κ∈{1,...,K-1}, r’∈{1,...,R})が含まれる場合にfr(nr(κ))=P(z(r,v(κ)))を計算して値fr(nr(κ))を出力し、当該K個の分散値Tλr)が含む分散値Tζr) (ζ∈{K,...,N})に対して値fr(nr(ζ))=Tζr)を出力する。 If it is determined in step S 232 that the variance value T λr ) has been input, these K × R variance values T λr ) are input to the conversion unit 235. For each of r (r = 1,..., R), the conversion unit 235 uses K dispersion values T λr corresponding to K different λ∈ {1,..., N}. ) To generate values f r (n r (λ)) corresponding to K different values n r (λ) (λ∈ {1, ..., N}), and K × R values f r (n r (λ)) (λ∈ {1,..., N}, r = 1,..., R) is output (step S233). For example, the converting unit 235 converts T κr ′ ) = v (κ) into K variance values T λr ) corresponding to K different λ∈ {1,..., N}. If (κ∈ {1, ..., K-1}, r'∈ {1, ..., R}) is included, f r (n r (κ)) = P (z (r, v (kappa))) and outputs the calculated and the value f r (n r (κ) ), said K number of variance T λ r) variance T zeta including the (α r) (ζ∈ {K , ..., N}), the value f r (n r (ζ)) = T ζr ) is output.

K×R個の値fr(nr(λ)) (λ∈{1,...,N}, r=1,...,R)は復元部236に入力される。復元部236は、r (r=1,...,R)のそれぞれについて、当該値fr(nr(λ))に対してFr(nr(λ))=fr(nr(λ)) (λ∈{1,...,N})を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを生成し、それによって得られた値αrを出力する(ステップS234)。r (r=1,...,R)のそれぞれについて、K個の互いに異なる値nr(λ)に対応する値fr(nr(λ))からはK-1次式Fr(x)が一義的に定まり、値αrも一義的に定まる。値fr(nr(λ))から関数値F(nr(0))=αrを得るための計算方法に限定はない。例えば、nr(0)=0であり、nr(1),...,nr(N)が互いに異なる1以上N以下の整数であり、K個の互いに異なる値nr(λ)がnr(1),...,nr(K)であるとすると、以下のように関数値F(0)=αrを計算できる(ラグランジュ補間法)。

Figure 0005458116
K × R values f r (n r (λ)) (λ∈ {1,..., N}, r = 1,..., R) are input to the restoration unit 236. For each of r (r = 1,..., R), the restoration unit 236 performs F r (n r (λ)) = f r (n r for the value f r (n r (λ)). (λ)) Generate a function value F r (n r (0)) = α r of the K-1 order expression F r (x) that satisfies (λ∈ {1, ..., N}), and thereby The obtained value α r is output (step S234). For each of r (r = 1, ..., R), from a value f r (n r (λ)) corresponding to K different values n r (λ), a K-1 order expression F r ( x) is uniquely determined, and the value α r is also uniquely determined. There is no limitation on the calculation method for obtaining the function value F (n r (0)) = α r from the value f r (n r (λ)). For example, n r (0) = 0, n r (1), ..., n r (N) are different integers from 1 to N and K different values n r (λ) , N r (1), ..., n r (K), the function value F (0) = α r can be calculated as follows (Lagrange interpolation method).
Figure 0005458116

値αr (r=0,...,R-1)は結合部237に入力される。結合部237は、R個の値αr (r=0,...,R-1)を結合して値α∈Gを生成し、当該値αを出力する(ステップS235)。結合部237は、例えば、αr (r=0,...,R-1)のビット結合値を値αとして出力する。値αは出力部132に入力され、そこから出力される(ステップS135)。 The values α r (r = 0,..., R−1) are input to the coupling unit 237. The combining unit 237 combines the R values α r (r = 0,..., R−1) to generate a value αεG, and outputs the value α (step S235). For example, the combining unit 237 outputs the bit combination value of α r (r = 0,..., R−1) as a value α. The value α is input to and output from the output unit 132 (step S135).

一方、ステップS232で、分散値Eλ, rが入力されたと判定された場合、分散値Eλ,rが復元部236に入力される。復元部236は、所定の復元方法(例えば非特許文献2の復元方法)に従ってK個の分散値Eλ,rから計算結果εr(r=0,...,R-1)を復元し、当該計算結果εr(r=0,...,R-1)を出力する(ステップS236)。計算結果εr(r=0,...,R-1)は結合部237に入力される。結合部237は、R個の値εr(r=0,...,R-1)を結合して値ε∈Gを生成し、当該値εを出力する(ステップS237)。結合部237は、例えば、εr (r=0,...,R-1)のビット結合値を値εとして出力する。値εは出力部132に入力され、そこから出力される(ステップS137)。 On the other hand, in step S232, the dispersion value E lambda, when it is determined that r is input, the dispersion value E lambda, r is inputted to the restoration unit 236. The restoration unit 236 restores the calculation result ε r (r = 0,..., R−1) from the K dispersion values E λ, r according to a predetermined restoration method (for example, the restoration method of Non-Patent Document 2). The calculation result ε r (r = 0,..., R−1) is output (step S236). The calculation result ε r (r = 0,..., R−1) is input to the coupling unit 237. The combining unit 237 combines the R values ε r (r = 0,..., R−1) to generate a value εεG, and outputs the value ε (step S237). For example, the combining unit 237 outputs a bit combination value of ε r (r = 0,..., R−1) as a value ε. The value ε is input to and output from the output unit 132 (step S137).

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。すなわち、本形態の分散値Tir) (i=1,...,N)のうち、分散値Tkr) (k=1,...,K-1)はv(k) (k=1,...,K-1)である。これに対して、値αr∈GをShamir秘密分散方式に従って秘密分散して得られる分散値のデータ量は集合Gの要素(1個の要素)のデータ量以上である。従って、分散値Tk(α)=v(k)のそれぞれのデータ量は、値α∈GをShamir秘密分散方式に従って秘密分散して得られる分散値よりもデータ量が小さい。分散値のデータ量をどの程度削減できるかは、v(k)のデータ量と集合Gの要素のデータ量との違いに依存する。例えば、値v(k) (k=1,...,K-1)の合計データ量が、集合GのK-1個の要素の合計データ量よりも小さいのであれば、本形態の分散値の総データ量は、従来の秘密分散方式の分散値の総データ量よりも小さくなる。値v(k) (k=1,...,K-1)の合計データ量が集合GのK-1個の要素の合計データ量よりも小さくなるのは、例えば、値v(k)の何れかのデータ量が集合Gの要素のデータ量よりも小さい場合や、値v(k)それぞれのデータ量が集合Gの要素のデータ量よりも小さい場合などである。さらに、値v(k)それぞれのデータ量が集合Gの要素のデータ量に対して無視できる程度に小さいのであれば、N個の分散値Tir) (i=1,...,N)のうち分散値Tkr)=v(k) (k=1,...,K-1)のデータ量は無視でき、分散値Tir) (i=1,...,N, r=1,...,R)の合計データ量は、集合GのR×(N-K+1)個の要素の合計データ量と同程度となる。一方で値αr (r=1,...,R)をShamir秘密分散方式に従って秘密分散して得られる分散値の合計データ量は、集合GのR×N個の要素の合計データ量と同程度となる。従って、この場合の本形態の分散値Tir) (i=1,...,N, r=1,...,R)の合計データ量は、Shamir秘密分散方式での分散値の合計データ量の(N-K+1)/N倍となる。N≧Kであるため、この場合の本形態の分散値Tir) (i=1,...,N, r=1,...,R)の合計データ量は、Shamir秘密分散方式での分散値の合計データ量よりも小さい。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. That is, among the variance values T ir ) (i = 1, ..., N) of this embodiment, the variance values T kr ) (k = 1, ..., K-1) are v (k) (k = 1, ..., K-1). On the other hand, the data amount of the distributed value obtained by secret sharing the value α r εG according to the Shamir secret sharing scheme is equal to or larger than the data amount of the elements (one element) of the set G. Therefore, the data amount of each variance value T k (α) = v (k) is smaller than the variance value obtained by secretly sharing the value α∈G according to the Shamir secret sharing scheme. How much the data amount of the variance value can be reduced depends on the difference between the data amount of v (k) and the data amount of elements of the set G. For example, if the total data amount of values v (k) (k = 1, ..., K-1) is smaller than the total data amount of K-1 elements of the set G, the variance of this embodiment The total data amount of the value is smaller than the total data amount of the distributed value of the conventional secret sharing scheme. The total data amount of the value v (k) (k = 1, ..., K-1) is smaller than the total data amount of the K-1 elements of the set G, for example, the value v (k) Or the case where the data amount of each element of the set G is smaller than the data amount of the elements of the set G. Furthermore, if the data amount of each value v (k) is negligibly small with respect to the data amount of the elements of the set G, N distributed values T ir ) (i = 1, ... , N), the data amount of the variance value T kr ) = v (k) (k = 1, ..., K-1) can be ignored, and the variance value T ir ) (i = 1 ,..., N, r = 1,..., R) is approximately the same as the total data amount of R × (N−K + 1) elements of the set G. On the other hand, the total data amount of the distributed value obtained by secret sharing the value α r (r = 1, ..., R) according to the Shamir secret sharing scheme is the total data amount of R × N elements of the set G. The same level. Therefore, in this case, the total data amount of the variance values T ir ) (i = 1, ..., N, r = 1, ..., R) of this embodiment is the variance in the Shamir secret sharing scheme. It is (N-K + 1) / N times the total amount of data. Since N ≧ K, the total data amount of the variance values T ir ) (i = 1, ..., N, r = 1, ..., R) in this case is the Shamir secret It is smaller than the total data amount of the distributed values in the distribution method.

さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αrを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。 Further, the distributed data conversion processing in the distributed data conversion device can be used to obtain a converted distributed value that can be used as an input for the secret calculation without restoring the original value α r from the distributed value obtained by the data distribution device. It can also generate and perform secret computations.

なお、本形態では、分散値生成部217が、分散値Tkr) (k=1,...,K-1, r=1,...,R), Tθr)=fr(nr(θ)) (θ=K,...,N, r=1,...,R)を出力することとした。しかしながら、分散値生成部が、[nr(k), Tkr)] (k=1,...,K-1, r=1,...,R),[nr(θ), Tθr)] (θ=K,...,N, r=1,...,R)を出力してもよい。この場合、分散データ変換装置が[nr(k), Tkr)]から[nr(k), Skr)]を生成して出力し、データ復元装置が[nr(k), Tkr)] (k=1,...,K-1),[nr(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[nr(λ), Tλr)] (λ∈{1,...,N})から値αrを復元してもよい。 In this embodiment, the variance value generation unit 217 uses the variance values T kr ) (k = 1,..., K−1, r = 1,..., R), T θr ) = f r (n r (θ)) (θ = K, ..., N, r = 1, ..., R). However, the variance generator generates [n r (k), T kr )] (k = 1, ..., K-1, r = 1, ..., R), [n r ( θ), T θr )] (θ = K,..., N, r = 1,..., R) may be output. In this case, the distributed data converter generates and outputs [n r (k), S kr )] from [n r (k), T kr )], and the data restoration device [n r (k), T kr )] (k = 1, ..., K-1), [n r (θ), T θ (α)] (θ = K, ..., N) The value α r may be restored from any K [n r (λ), T λr )] (λ∈ {1,..., N}).

或いは、分散値生成部が、 [r, nr(k), Tkr)] (k=1,...,K-1, r=1,...,R),[r, nr(θ), Tθr)] (θ=K,...,N, r=1,...,R)を出力してもよい。この場合、分散データ変換装置が[r, nr(k), Tkr)]から[r, nr(k), Skr)]を生成して出力し、データ復元装置が[r, nr(k), Tkr)] (k=1,...,K-1),[r, nr(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[r, nr(λ), Tλr)] (λ∈{1,...,N})から値αrを復元してもよい。 Alternatively, the variance value generation unit may be [r, n r (k), T kr )] (k = 1, ..., K-1, r = 1, ..., R), [r , n r (θ), T θr )] (θ = K,..., N, r = 1,..., R) may be output. In this case, the distributed data conversion device [r, n r (k) , T k (α r)] from [r, n r (k) , S k (α r)] to generate and output data recovery The device is [r, n r (k), T kr )] (k = 1, ..., K-1), [r, n r (θ), T θ (α)] (θ = Restore the value α r from any K [r, n r (λ), T λr )] (λ∈ {1, ..., N}) May be.

或いは、分散値生成部が、[r, Tkr)] (k=1,...,K-1, r=1,...,R),[r, Tθr)] (θ=K,...,N, r=1,...,R)を出力してもよい。この場合、分散データ変換装置が[r, Tkr)]から[r, Skr)]を生成して出力し、データ復元装置が[r, Tkr)] (k=1,...,K-1),[r, Tθ(α)] (θ=K,...,N)の何れかK個の[r, Tλr)] (λ∈{1,...,N})から値αrを復元してもよい。 Alternatively, the variance value generation unit [r, T kr )] (k = 1, ..., K-1, r = 1, ..., R), [r, T θr )] (θ = K, ..., N, r = 1, ..., R) may be output. In this case, the distributed data conversion device generates an [r, T k (α r )] from [r, S k (α r )] is output, the data restoration apparatus [r, T k (α r )] (k = 1, ..., K-1), [r, T θ (α)] (θ = K, ..., N) K [r, T λr )] The value α r may be restored from (λ∈ {1, ..., N}).

或いは、分散値生成部が、 [r, k, Tkr)] (k=1,...,K-1, r=1,...,R),[r, θ, Tθr)] (θ=K,...,N, r=1,...,R)を出力してもよい。この場合、分散データ変換装置が[r, k, Tkr)]から[r, k, Skr)]を生成して出力し、データ復元装置が[r, k, Tkr)] (k=1,...,K-1),[r, θ, Tθ(α)] (θ=K,...,N)の何れかK個の[r, λ, Tλr)] (λ∈{1,...,N})から値αrを復元してもよい。その他、分散値生成部217がTi(α)に加え、その他の付加情報を分散値として出力してもよい。 Alternatively, the variance value generation unit [r, k, T kr )] (k = 1, ..., K-1, r = 1, ..., R), [r, θ, T θr )] (θ = K,..., N, r = 1,..., R) may be output. In this case, the distributed data conversion apparatus generates and outputs [r, k, S kr )] from [r, k, T kr )], and the data restoration apparatus [r, k, T kr )] (k = 1, ..., K-1), [r, θ, T θ (α)] (θ = K, ..., N) , λ, T λr )] (λ∈ {1,..., N}) may restore the value α r . In addition, the dispersion value generation unit 217 may output other additional information as a dispersion value in addition to T i (α).

i, n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量よりも小さい。好ましくは、i, r, nr(i) (i=1,...,N, r=1,...,R)のデータ量は、集合Gの要素のデータ量に対して無視できる程度である(例えば、(i, r, nr(i)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 The data amount of i, n (i) (i = 1,..., N) is smaller than the data amount of the elements of the set G. Preferably, the data amount of i, r, n r (i) (i = 1, ..., N, r = 1, ..., R) is negligible with respect to the data amount of the elements of the set G (For example, (data amount of (i, r, n r (i)) / (data amount of elements of set G) ≦ 80/10 6 ).

〔第3実施形態〕
次に、本発明の第3実施形態を説明する。本形態は第1実施形態の変形例であり、第1実施形態の分散値が含んでいた要素をさらに秘密分散し、データ量をさらに削減するものである。以下では上述の実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第3実施形態では、N, Kが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を集合Gの要素に移す写像である。本形態の集合G、写像P(x)の具体例は、第1実施形態で説明した集合G、写像P(x)の具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
[Third Embodiment]
Next, a third embodiment of the present invention will be described. This embodiment is a modification of the first embodiment, in which the elements included in the distribution value of the first embodiment are further secretly shared to further reduce the data amount. Below, it demonstrates centering on difference with the above-mentioned embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the third embodiment, N and K are integers of 2 or more, K ≦ N, G is a certain set, and P (x) is a mapping in which a value corresponding to x is transferred to an element of the set G is there. Specific examples of the set G and mapping P (x) in the present embodiment are the same as the specific examples of the set G and mapping P (x) described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第3実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とN個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、K-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を得、値f(n(K))を得る。ただし、f(x)は、値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)である。n(0), n(1),...,n(K)は互いに異なる。データ分散装置は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得、(K, N)閾値秘密分散法Uに従って、値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を得、N個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を得る。どのような方式が(K, N)閾値秘密分散法Vkや(K, N)閾値秘密分散法Uとして用いられてもよい。(K, N)閾値秘密分散法Uには、1個のUi(f(n(K)))のデータ量が集合Gの1個の要素のデータ量よりも小さい方式が用いられることの望ましい。例えば、参考文献1「H.Krawczyk, “Secret sharing made short,” CRYPTO’93, pp.136-146, 1993.」に記載された方式を(K, N)閾値秘密分散法Uとして用いることが望ましい(詳細は後述)。分散値Vk,i(v(k)) (k=1,...,K-1)それぞれのデータ量が集合Gの要素のデータ量よりも小さいことが望ましい。(K, N)閾値秘密分散法V1,...,VKは、互いに同一の方式であってもよいし、そうでなくてもよい。(K, N)閾値秘密分散法Vkの例は、参考文献1に記載された方式や参考文献1に記載された方式である。
The secret sharing system according to the third embodiment includes a data distribution device, a data restoration device, N data storage devices, and N distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and K−1 values a (k) = P (v ( k)) εG (k = 1,..., K−1) and the value f (n (K)). Where f (x) is f (n (k)) = a (k) (value n (1), ..., n (K-1) and value α∈G that is an element of the set G. A K−1 order expression satisfying k = 1,..., K−1) and f (n (0)) = α is f (x). n (0), n (1), ..., n (K) are different from each other. The data distribution apparatus secretly distributes v (k) (k = 1, ..., K-1) according to the (K, N) threshold secret distribution method V k and N distributed values V for each k. k, i (v (k)) (i = 1, ..., N) is obtained, and the value f (n (K)) is secretly distributed according to the (K, N) threshold secret sharing method U. Variance value U i (f (n (K))) (i = 1, ..., N) and N variance values T i (α) = (V 1, i (v (1)) , ..., V K-1, i (v (K-1)), U i (f (n (K)))) (i = 1, ..., N). Any method may be used as the (K, N) threshold secret sharing method V k or the (K, N) threshold secret sharing method U. The (K, N) threshold secret sharing method U uses a method in which the data amount of one U i (f (n (K))) is smaller than the data amount of one element of the set G desirable. For example, the method described in Reference 1 “H. Krawczyk,“ Secret sharing made short, ”CRYPTO'93, pp.136-146, 1993.” is used as the (K, N) threshold secret sharing scheme U. Desirable (details will be described later). It is desirable that the data amount of each of the variance values V k, i (v (k)) (k = 1,..., K−1) is smaller than the data amount of elements of the set G. The (K, N) threshold secret sharing methods V 1 ,..., V K may or may not be the same method. Examples of the (K, N) threshold secret sharing method V k are the method described in Reference 1 and the method described in Reference 1.

本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。例えば、データ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、値f(n(K))及びv(k) (k=1,...,K-1)を復元し、f(n(k))=P(v(k)) (k=1,...,K-1)とし、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。データ復元装置は、F(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを得る。 The data restoration apparatus according to the present embodiment uses K different n (μ) (μ) from K variance values T λ (α) corresponding to K different λ∈ {1,. K values f (n (μ)) (μ = 1, ..., K) corresponding to = 1, ..., K) are obtained. For example, the data restoration apparatus may calculate values f (n (K)) and v (k) from K variance values T λ (α) corresponding to K different λ∈ {1,. ) (k = 1, ..., K-1) is restored and f (n (k)) = P (v (k)) (k = 1, ..., K-1) K values f (n (μ)) (μ = 1,..., K) corresponding to different n (μ) (μ = 1,..., K) are obtained. The data restoration device uses a function value F (n (0) of the K-1 degree expression F (x) that satisfies F (n (μ)) = f (n (μ)) )) = α is obtained.

本形態の1,...,K-1番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、v(κ)から変換分散値P(v(κ)) (κ∈{1,...,K-1})を得る。本形態のK番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)が含むK個のUλ(f(n(K)))から、変換分散値f(n(K))を得る。本形態のK+1,...,N番目の分散データ変換装置は、n(μ) (μ=1,...,K)と異なるn(η)に対応するF(n(η)) (η∈{K+1,...,N})を得る。ただし、F(x)は、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=P(v(k)) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式である。このように得られる変換分散値は、秘密計算の入力値として用いられる。秘密計算の具体例は、例えば非特許文献2などに開示されたShamir秘密分散に基づく秘密計算である。秘密計算は単項演算であってもよいし、多項演算であってもよい。 The first,..., K−1th distributed data conversion apparatus of the present embodiment has K distributed values T λ (α) (corresponding to K different λ∈ {1,. v (κ) (κ∈ {1, ..., K-1}) is restored from V κ, λ (v (κ)) included in λ∈ {1, ..., N}), and v The transformation dispersion value P (v (κ)) (κ∈ {1,..., K−1}) is obtained from (κ). The K-th distributed data conversion apparatus according to the present embodiment includes K U λ (f included in K distributed values T λ (α) corresponding to K different λ∈ {1,. From (n (K))), a transform variance value f (n (K)) is obtained. The K + 1, ..., Nth distributed data converter of this embodiment is F (n (η) corresponding to n (η) different from n (μ) (μ = 1, ..., K). ) (η∈ {K + 1, ..., N}). Where F (x) is obtained from v (k) restored from K V k, λ (v (k)) corresponding to K different λ∈ {1, ..., N}. F (n (k)) = P (v (k)) (k = 1, ..., K-1) and K different λ∈ {1, ..., N} For f (n (μ)) (μ = 1, ..., K) consisting of f (n (K)) restored from K U λ (f (n (K))) It is a K-1 order equation satisfying F (n (μ)) = f (n (μ)) (μ = 1,..., K). The transform variance value obtained in this way is used as an input value for secret calculation. A specific example of the secret calculation is a secret calculation based on Shamir secret sharing disclosed in Non-Patent Document 2, for example. The secret calculation may be a unary operation or a multinomial operation.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図6に例示するように、第3実施形態の秘密分散システム3は、データ分散装置310、N個のデータ記憶装置320−i(i=1,...,N)、N個の分散データ変換装置340−i(i=1,...,N)、及びデータ復元装置330を有する。データ分散装置310は、ネットワークや可搬型記録媒体などを経由して、N個のデータ記憶装置320−i(i=1,...,N)に対して情報の提供が可能である。N個のデータ記憶装置320−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、N個の分散データ変換装置340−i(i=1,...,N)と情報のやり取りが可能である。N個の分散データ変換装置340−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、互いに情報の提供が可能である。さらに、N個のデータ記憶装置320−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、データ復元装置330に対して情報の提供が可能である。
<Configuration>
As illustrated in FIG. 6, the secret sharing system 3 according to the third embodiment includes a data distribution device 310, N data storage devices 320-i (i = 1,..., N), N distributed data. A conversion device 340-i (i = 1,..., N) and a data restoration device 330 are included. The data distribution device 310 can provide information to the N data storage devices 320-i (i = 1,..., N) via a network or a portable recording medium. Each of the N data storage devices 320-i (i = 1,..., N) is connected to the N distributed data conversion devices 340-i (i = 1) via a network or a portable recording medium. , ..., N) can exchange information. Each of the N distributed data conversion devices 340-i (i = 1,..., N) can provide information to each other via a network or a portable recording medium. Further, each of the N data storage devices 320-i (i = 1,..., N) can provide information to the data restoration device 330 via a network or a portable recording medium. It is.

図7Aに例示するように、本形態のデータ分散装置310は、入力部111、出力部112、メモリ113、制御部314、選択部115、変換部116、計算部316、内部分散部318,319、及び分散値生成部317を有する。本形態のデータ分散装置310は、制御部314の制御のもとで各処理を実行する。   As illustrated in FIG. 7A, the data distribution apparatus 310 of this embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 314, a selection unit 115, a conversion unit 116, a calculation unit 316, and internal distribution units 318 and 319. And a variance value generation unit 317. The data distribution apparatus 310 according to this embodiment executes each process under the control of the control unit 314.

図7Bに例示するように、データ記憶装置320−λ(λ∈{1,...,N})は、入力部121−λ、出力部122−λ、メモリ123a−λ、記憶部123b−λ、制御部324−λ、及び秘密計算部327−λを有する。本形態のデータ記憶装置320−λは、制御部324−λの制御のもとで各処理を実行する。   As illustrated in FIG. 7B, the data storage device 320-λ (λε {1,..., N}) includes an input unit 121-λ, an output unit 122-λ, a memory 123a-λ, and a storage unit 123b-. λ, control unit 324-λ, and secret calculation unit 327-λ. The data storage device 320-λ of the present embodiment executes each process under the control of the control unit 324-λ.

図8に例示するように、本形態のデータ復元装置330は、入力部131、出力部132、メモリ133、制御部334、変換部335、及び復元部336を有する。変換部335は、内部復元部335a,335bを有する。本形態のデータ復元装置330は、制御部334の制御のもとで各処理を実行する。   As illustrated in FIG. 8, the data restoration device 330 according to the present exemplary embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 334, a conversion unit 335, and a restoration unit 336. The conversion unit 335 includes internal restoration units 335a and 335b. The data restoration device 330 according to the present embodiment executes each process under the control of the control unit 334.

図9Aに例示するように、本形態の分散データ変換装置340−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部344−κ、内部復元部345−κ、及び変換分散値生成部346−κを有する。図9Bに例示するように、本形態の分散データ変換装置340−Kは、入力部141−K、出力部142−K、メモリ143a−K、記憶部143b−K、制御部344−K、及び変換分散値生成部346−Kを有する。図10に例示するように、本形態の分散データ変換装置340−η(η∈{K+1,...,N})は、入力部141−η、出力部142−η、メモリ143a−η、記憶部143b−η、制御部344−η、及び変換分散値生成部346−ηを有する。
本形態の分散データ変換装置340−λは、制御部340−λの制御のもとで各処理を実行する。入力部340−λに入力されたデータや各処理で得られたデータはメモリ143a−λや記憶部143b−λに格納され、メモリ143a−λや記憶部143b−λに格納されたデータは必要に応じて読み出されて他の処理に利用される。
As illustrated in FIG. 9A, the distributed data conversion apparatus 340-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, storage unit 143b-κ, control unit 344-κ, internal restoration unit 345-κ, and transform variance value generation unit 346-κ. As illustrated in FIG. 9B, the distributed data conversion apparatus 340-K according to the present embodiment includes an input unit 141-K, an output unit 142-K, a memory 143a-K, a storage unit 143b-K, a control unit 344-K, and A conversion variance value generation unit 346-K is included. As illustrated in FIG. 10, the distributed data conversion apparatus 340-η (ηε {K + 1,..., N}) of this embodiment includes an input unit 141-η, an output unit 142-η, and a memory 143a-. η, storage unit 143b-η, control unit 344-η, and conversion variance value generation unit 346-η.
The distributed data conversion apparatus 340-λ according to this embodiment executes each process under the control of the control unit 340-λ. Data input to the input unit 340-λ and data obtained by each process are stored in the memory 143a-λ and the storage unit 143b-λ, and data stored in the memory 143a-λ and the storage unit 143b-λ are necessary. Is read out and used for other processing.

<データ分散処理>
図11Aに例示するように、データ分散装置310(図7A)の入力部111に秘密分散される値α∈Gが入力される(ステップS111)。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。値v(k) (k=1,...,K-1)は変換部116に入力される。変換部116は、入力された値v(k) (k=1,...,K-1)からK-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を計算し、当該K-1個の値a(k)=P(v(k)) (k=1,...,K-1)を出力する(ステップS113)。
<Data distribution processing>
As illustrated in FIG. 11A, a secret value αεG is input to the input unit 111 of the data distribution apparatus 310 (FIG. 7A) (step S111). The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112). Values v (k) (k = 1,..., K−1) are input to the conversion unit 116. The conversion unit 116 converts K−1 values a (k) = P (v (k)) ∈G (k = k) from the input values v (k) (k = 1,..., K−1). 1, ..., K-1) and outputs the K-1 values a (k) = P (v (k)) (k = 1, ..., K-1) ( Step S113).

入力部111に入力された値αと変換部116から出力されたK-1個の値a(k)=P(v(k)) (k=1,...,K-1)とは計算部316に入力される。計算部316は、これらを用いて値f(n(K))を生成し、得られた値f(n(K))を出力する。ただし、f(x)は値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式である。n(0), n(1),...,n(K)が互いに異なる(ステップS314)。例えば、分散値生成部317は、f(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式f(x)の各係数を求め、それらによって特定されるK-1次式f(x)にn(K)を代入することでf(n(K))を生成する。n(0), n(1),...,n(K)は分散値生成部317によって逐一定められてもよいし、予め定められた定数であってもよい。n(0), n(1),...,n(K)の例は互いに異なる整数であり、例えば互いに異なる0以上K以下の整数である。具体例を示すとn(0)=0, n(μ)=μ (μ=1,...,K)である。本形態では、n(0), n(1),...,n(K)が予め定められた定数であり、μに対応するn(μ)が特定できる場合を例示する。   The value α input to the input unit 111 and the K−1 values a (k) = P (v (k)) (k = 1,..., K−1) output from the conversion unit 116 are as follows. Input to the calculation unit 316. The calculation unit 316 uses these to generate a value f (n (K)) and outputs the obtained value f (n (K)). Where f (x) is f (n (k)) = a (k) (k) for the values n (1), ..., n (K-1) and the value α∈G that is an element of the set G. = 1,..., K−1) and f (n (0)) = α. n (0), n (1),..., n (K) are different from each other (step S314). For example, the variance value generation unit 317 performs K−1 order satisfying f (n (k)) = a (k) (k = 1,..., K−1) and f (n (0)) = α. Each coefficient of the expression f (x) is obtained, and f (n (K)) is generated by substituting n (K) into the K-1 degree expression f (x) specified by them. n (0), n (1),..., n (K) may be made constant by the variance value generation unit 317 or may be a predetermined constant. Examples of n (0), n (1),..., n (K) are different integers, for example, different integers of 0 or more and K or less. As a specific example, n (0) = 0, n (μ) = μ (μ = 1,..., K). In this embodiment, n (0), n (1),..., N (K) are predetermined constants, and n (μ) corresponding to μ can be specified.

選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)は内部分散部318に入力され、計算部316から出力された値f(n(K))は内部分散部319に入力される。内部分散部318は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)のそれぞれを秘密分散し、kのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を生成し、分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)を出力する(ステップS315)。内部分散部318は、例えばShamir秘密分散方式(例えば、非特許文献1参照)に従って、分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)を生成する。内部分散部319は、(K, N)閾値秘密分散法Uに従って、値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を生成し、分散値Ui(f(n(K))) (i=1,...,N)を出力する(ステップS316)。内部分散部319は、例えば、参考文献1に記載された方式に従って、分散値Ui(f(n(K))) (i=1,...,N)を生成する。(K, N)閾値秘密分散法Uに従って、τ=f(n(K))∈Gを秘密分散してN個の分散値Ui(τ)を生成する方法を例示する。 The K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the internal distribution unit 318, and the value f (n) output from the calculation unit 316 is output. (K)) is input to the internal distribution unit 319. The internal distribution unit 318 performs secret sharing for each of v (k) (k = 1,..., K−1) according to the (K, N) threshold secret sharing method V k , Generate variance value V k, i (v (k)) (i = 1, ..., N) and distribute value V k, i (v (k)) (i = 1, ..., N, k = 1,..., K-1) are output (step S315). For example, according to the Shamir secret sharing scheme (see, for example, Non-Patent Document 1), the internal distribution unit 318 distributes the distributed values V k, i (v (k)) (i = 1,..., N, k = 1,. .., K-1). The internal distribution unit 319 secretly distributes the value f (n (K)) according to the (K, N) threshold value secret distribution method U and N distributed values U i (f (n (K))) (i = 1,..., N) is generated, and the variance value U i (f (n (K))) (i = 1,..., N) is output (step S316). The internal dispersion unit 319 generates a dispersion value U i (f (n (K))) (i = 1,..., N) according to, for example, the method described in Reference Document 1. A method of generating N distributed values U i (τ) by secretly distributing τ = f (n (K)) ∈G according to the (K, N) threshold secret sharing method U will be exemplified.

[(K, N)閾値秘密分散法Uの例示1]
内部分散部318は、共通鍵暗号方式の共通鍵d(例えば128ビットのデータ)を選択し、共通鍵dを用いて値τを暗号化し、共通鍵暗号方式の暗号文C(d, τ)を生成する。内部分散部318は、暗号文C(d, τ)をC(d, τ)=C(0)|C(1)|...|C(K-1)を満たすC(0),C(1),...,C(K-1)に分割する。ただし、C(0)|C(1)|...|C(K-1)は、C(0),C(1),...,C(K-1)のビット結合を表す。内部分散部318は、C(k)(k=0,...,K-1)をk次の係数としたK次多項式γ(x)=Συ=0 K-1 C(k)・xυを定め、K次多項式γ(x)のN個の関数値γ(i) mod q (i=0,...,N-1)を求める。ここでqは、C(0),C(1),...,C(K-1)よりも大きな素数である。内部分散部318は、Shamir秘密分散方式等の(K, N)閾値秘密分散法に従って共通鍵dを秘密分散してN個の分散値SH(1,d),...,SH(N,d)を生成し、分散値Ui(τ)=(γ(i) mod q, SH(i,d))(i=0,...,N-1)を生成する。
[(K, N)閾値秘密分散法Uの例示2]
内部分散部318は、ξビット(例えば128ビット)のランダムな値d,d(0),...,d(N-2)∈{0,1}ξを選択し、dを共通鍵暗号方式の共通鍵とし、d(N-1)=d-d(0)-...-d(N-2) mod 2ξとする。内部分散部318は、共通鍵dを用いて値τを暗号化し、共通鍵暗号方式の暗号文C(d, τ)を生成する。内部分散部318は、暗号文C(d, τ)をC(d, τ)=C(0)|C(1)|...|C(K-1)を満たすC(0),C(1),...,C(K-1)に分割する。内部分散部318は、C(k)(k=0,...,K-1)をk次の係数としたK次多項式γ(x)=Συ=0 K-1 C(k)・xυを定め、K次多項式γ(x)のN個の関数値γ(i) mod q (i=0,...,N-1)を求める。内部分散部318は、分散値Ui(τ)=(d(i mod N),...,d(i+N-2 (mod N)), γ(i) mod q)(i=0,...,N-1)を生成する([(K, N)閾値秘密分散法Uの例示]終わり)。
[Example 1 of (K, N) threshold secret sharing method U]
The internal distribution unit 318 selects a common key d (for example, 128-bit data) of the common key cryptosystem, encrypts the value τ using the common key d, and uses the common key cryptosystem ciphertext C (d, τ). Is generated. The internal distribution unit 318 converts the ciphertext C (d, τ) to C (0), C satisfying C (d, τ) = C (0) | C (1) | ... | C (K−1). Divide into (1), ..., C (K-1). However, C (0) | C (1) | ... | C (K-1) represents a bit combination of C (0), C (1), ..., C (K-1). The internal dispersion unit 318 includes a K-th order polynomial γ (x) = Σ υ = 0 K−1 C (k) · C where k (k) (k = 0,..., K−1) is a kth order coefficient. x υ is determined, and N function values γ (i) mod q (i = 0,..., N−1) of the K-th order polynomial γ (x) are obtained. Here, q is a prime number larger than C (0), C (1),..., C (K-1). The internal sharing unit 318 secretly distributes the common key d according to the (K, N) threshold secret sharing method such as the Shamir secret sharing method, and distributes N distributed values SH (1, d), ..., SH (N, d) and a variance value U i (τ) = (γ (i) mod q, SH (i, d)) (i = 0,..., N−1) is generated.
[Example 2 of (K, N) threshold secret sharing method U]
The internal distribution unit 318 selects a random value d, d (0),..., D (N−2) ∈ {0, 1} ξ of ξ bits (for example, 128 bits), and d is a common key encryption The common key of the scheme is d (N-1) = dd (0) -...- d (N-2) mod 2 ξ . The internal distribution unit 318 encrypts the value τ using the common key d, and generates a ciphertext C (d, τ) in the common key cryptosystem. The internal distribution unit 318 converts the ciphertext C (d, τ) to C (0), C satisfying C (d, τ) = C (0) | C (1) | ... | C (K−1). Divide into (1), ..., C (K-1). The internal dispersion unit 318 includes a K-th order polynomial γ (x) = Σ υ = 0 K−1 C (k) · C where k (k) (k = 0,..., K−1) is a kth order coefficient. x υ is determined, and N function values γ (i) mod q (i = 0,..., N−1) of the K-th order polynomial γ (x) are obtained. The internal dispersion unit 318 has dispersion values U i (τ) = (d (i mod N),..., D (i + N−2 (mod N)), γ (i) mod q) (i = 0 , ..., N-1) (end of [[K, N) threshold secret sharing method U] end).

分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)、及び分散値Ui(f(n(K))) (i=1,...,N)は、分散値生成部317に入力される。分散値生成部317は、これらを用いてN個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を生成し、分散値Ti(α) (i=1,...,N)を出力する(ステップS317)。 Variance V k, i (v (k)) (i = 1, ..., N, k = 1, ..., K-1) and variance U i (f (n (K))) (i = 1,..., N) is input to the variance value generation unit 317. The variance value generation unit 317 uses these to calculate N variance values T i (α) = (V 1, i (v (1)),..., V K−1, i (v (K−1) )), U i (f (n (K)))) (i = 1, ..., N) and outputs variance T i (α) (i = 1, ..., N) (Step S317).

N個の分散値Ti(α) (i=0,...,N-1)は出力部112に入力され、出力部112はN個の分散値Ti(α) (i=0,...,N-1)を出力する(ステップS315)。出力された分散値Ti(α) (i=0,...,N-1)のそれぞれは、データ記憶装置320−i(i=1,...,N)のそれぞれに提供される。例えば、分散値Tλ(α) (λ∈{1,...,N})は、ネットワーク等を経由して、対応するデータ記憶装置320−λ(図2B)に送信される。データ記憶装置320−λに提供された分散値Tλ(α)は入力部121−λに入力され、記憶部123b−λに格納される。 N variance values T i (α) (i = 0,..., N−1) are input to the output unit 112, and the output unit 112 outputs N variance values T i (α) (i = 0, ..., N-1) are output (step S315). Each of the output variance values T i (α) (i = 0,..., N−1) is provided to each of the data storage devices 320-i (i = 1,..., N). . For example, the dispersion value T λ (α) (λε {1,..., N}) is transmitted to the corresponding data storage device 320-λ (FIG. 2B) via a network or the like. The dispersion value T λ (α) provided to the data storage device 320-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図12A〜12Cを用い、分散データ変換装置340−λ(λ∈{1,...,N})が実行する分散データ変換処理を説明する。
[分散データ変換装置340−κ(κ∈{1,...,K-1})の処理(図12A)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置320−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλ(α)が含むVκ,λ(v(κ))が出力される。K個の互いに異なるλ∈{1,...,N}に対応するK個のVκ,λ(v(κ))は、ネットワーク等を経由して、分散データ変換装置340−κ(κ∈{1,...,K-1})(図9A)の入力部141−κに入力され、記憶部143b−κに格納される(ステップS341−κ)。
<Distributed data conversion processing>
A distributed data conversion process executed by the distributed data conversion apparatus 340-λ (λε {1,..., N}) will be described with reference to FIGS.
[Processing of Distributed Data Conversion Device 340-κ (κε {1,..., K-1}) (FIG. 12A)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 320-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N}. V κ, λ (v (κ)) included in the value T λ (α) is output. K V κ, λ (v (κ)) corresponding to K different λ∈ {1,..., N} are distributed via the network or the like to the distributed data converter 340-κ (κ .Epsilon. {1,..., K-1}) (FIG. 9A) is input to the input unit 141-κ and stored in the storage unit 143b-κ (step S341-κ).

内部復元部345−κは、記憶部143b−κに格納された、K個の互いに異なるλ∈{1,...,N}に対応するK個のVκ,λ(v(κ))からv(κ)を復元し、得られたv(κ)を出力する(ステップS342−κ)。例えば、Vκ,λ(v(κ))がShamir秘密分散方式に従って生成された分散値であるなら、内部復元部345−κは、ラグランジュ補間法等によってK個のVκ,λ(v(κ))に対してVκ,λ(v(κ))=f(v(κ))を満たすK-1次式f(x)を求め、f(0)=v(κ)を生成する。 The internal restoration unit 345-κ stores K V κ, λ (v (κ)) corresponding to K different λ∈ {1,..., N} stored in the storage unit 143b-κ. V (κ) is restored from the above, and the obtained v (κ) is output (step S342-κ). For example, if V κ, λ (v (κ)) is a distributed value generated according to the Shamir secret sharing scheme, the internal restoration unit 345-κ may perform K V κ, λ (v ( K-1) f (x) satisfying V κ, λ (v (κ)) = f (v (κ)) with respect to κ)) is obtained, and f (0) = v (κ) is generated. .

v(κ)は変換分散値生成部346−κに入力される。変換分散値生成部346−κは、v(κ)から変換分散値Sκ(α)=P(v(κ))を計算し、当該変換分散値Sκ(α)=P(v(κ))を出力する(ステップS343−κ)。変換分散値Sκ(α)は出力部142−κに入力され、出力部142−κは変換分散値Sκ(α)を出力する(ステップS344−κ)。変換分散値Sκ(α)は、ネットワーク等を経由して、対応するデータ記憶装置320−κ(図7B)に送信される。変換分散値Sκ(α)は、データ記憶装置320−κの入力部121−κに入力され、記憶部123b−κに格納される。 v (κ) is input to the transformed variance generation unit 346-κ. The variances value generator 346-kappa, v conversion variance from (κ) S κ (α) = calculates the P (v (κ)), said transformation variance S κ (α) = P ( v (κ )) Is output (step S343-κ). The transformed variance value S κ (α) is input to the output unit 142-κ, and the output unit 142-κ outputs the transformed variance value S κ (α) (step S344-κ). The transformed variance value S κ (α) is transmitted to the corresponding data storage device 320-κ (FIG. 7B) via a network or the like. The transformed variance value S κ (α) is input to the input unit 121-κ of the data storage device 320-κ and stored in the storage unit 123b-κ.

[分散データ変換装置340−Kの処理(図12B)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置320−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλ(α)が含むUλ(f(n(K)))が出力される。K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))は、ネットワーク等を経由して、分散データ変換装置340−K(図9B)の入力部141−Kに入力され、記憶部143b−Kに格納される(ステップS341−K)。
[Processing of Distributed Data Conversion Device 340-K (FIG. 12B)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 320-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N}. U λ (f (n (K))) included in the value T λ (α) is output. K U λ (f (n (K))) corresponding to K different λ∈ {1,..., N} are transmitted via a network or the like to the distributed data conversion device 340-K ( The data is input to the input unit 141-K in FIG. 9B and stored in the storage unit 143b-K (step S341-K).

変換分散値生成部346−Kは、記憶部143b−Kに格納された、K個のUλ(f(n(K)))からf(n(K))を復元し、得られたf(n(K))を変換分散値SK(α)=f(n(K))として出力する(ステップS342−K)。以下に、K個のUλ(f(n(K)))からf(n(K))を復元する方法を例示する。 The transformed variance generation unit 346-K restores f (n (K)) from the K U λ (f (n (K))) stored in the storage unit 143b-K, and the obtained f (n (K)) is output as the transformed variance value S K (α) = f (n (K)) (step S342-K). Hereinafter, a method of restoring f (n (K)) from K U λ (f (n (K))) will be exemplified.

[f(n(K))の復元方法の例示1]
前述の[(K, N)閾値秘密分散法Uの例示1]に従ってUλ(f(n(K)))が生成されている場合、変換分散値生成部346−Kは、K個のUλ(f(n(K)))=(γ(λ), SH(λ,d))が含むK個のγ(λ)から、qを法としたK次多項式γ(x)=Συ=0 K-1 C(υ)・xυの係数C(0) mod q,C(1) mod q,...,C(K-1) mod qを求め、暗号文C(d, f(n(K)))=C(0) mod q |C(1) mod q |...|C(K-1) mod qを生成する。なお、係数C(0) mod q,C(1) mod q,...,C(K-1) mod qは(x, γ(x))=(k, γ(k))をK次多項式γ(x)に代入して得られる方程式を解くことで得られる。変換分散値生成部346−Kは、K個のUλ(f(n(K)))=(γ(λ), SH(λ,d))が含むK個のSH(λ,d)から共通鍵dを復元し、共通鍵dを用いて暗号文C(d, f(n(K)))を復号することで値f(n(K))を復元する。
[Example 1 of f (n (K)) restoration method]
When U λ (f (n (K))) is generated in accordance with [Example 1 of (K, N) threshold secret sharing method U], the transform distribution value generation unit 346-K includes K U λ (f (n (K))) = (γ (λ), SH (λ, d)) contains K γ (λ), and K-order polynomial γ (x) = Σ υ modulo q = 0 K-1 C (υ) · x υ coefficient C (0) mod q, C (1) mod q, ..., C (K-1) mod q is obtained and ciphertext C (d, f (n (K))) = C (0) mod q | C (1) mod q | ... | C (K-1) mod q is generated. The coefficients C (0) mod q, C (1) mod q, ..., C (K-1) mod q are (x, γ (x)) = (k, γ (k)) It is obtained by solving the equation obtained by substituting into the polynomial γ (x). The transform variance value generation unit 346-K generates from K SH (λ, d) included in K U λ (f (n (K))) = (γ (λ), SH (λ, d)). The common key d is restored, and the value f (n (K)) is restored by decrypting the ciphertext C (d, f (n (K))) using the common key d.

[f(n(K))の復元方法の例示2]
前述の[(K, N)閾値秘密分散法Uの例示2]に従ってUλ(f(n(K)))が生成されている場合、変換分散値生成部346−Kは、K個の分散値Uλ(f(n(K)))=(d(λ mod N),...,d(λ+N-2 (mod N)), γ(λ))が含むK個のγ(λ)から、qを法としたK次多項式γ(x)の係数C(0) mod q,C(1) mod q,...,C(K-1) mod qを求め、暗号文C(d, f(n(K)))=C(0) mod q |C(1) mod q |...|C(K-1) mod qを生成する。変換分散値生成部346−Kは、K個の分散値Uλ(f(n(K)))=(d(λ mod N),...,d(λ+N-2 (mod N)), γ(λ))が含むd(λ mod N),...,d(λ+N-2 (mod N))から共通鍵d=d(0)+...+d(N-1) mod 2ζを計算し、共通鍵dを用いて暗号文C(d, f(n(K)))を復号することで値f(n(K))を復元する([f(n(K))の復元方法の例示]終わり)。
[Example 2 of f (n (K)) restoration method]
When U λ (f (n (K))) is generated in accordance with [Example 2 of (K, N) threshold secret sharing method U], the transformed distribution value generation unit 346-K performs K distributions. The value U λ (f (n (K))) = (d (λ mod N), ..., d (λ + N-2 (mod N)), γ (λ)) contains K γ ( λ), the coefficients C (0) mod q, C (1) mod q, ..., C (K-1) mod q of the Kth order polynomial γ (x) modulo q are obtained, and the ciphertext C (d, f (n (K))) = C (0) mod q | C (1) mod q | ... | C (K-1) mod q is generated. The transform variance value generation unit 346-K includes K variance values U λ (f (n (K))) = (d (λ mod N),..., D (λ + N−2 (mod N)). ), γ (λ)) contains d (λ mod N), ..., d (λ + N-2 (mod N)), and the common key d = d (0) + ... + d (N- 1) Mod 2 ζ is calculated, and the value f (n (K)) is restored by decrypting the ciphertext C (d, f (n (K))) using the common key d ([f (n Example of restoration method of (K))] End).

変換分散値SK(α)は出力部142−Kに入力され、出力部142−Kは変換分散値SK(α)を出力する(ステップS343−K)。変換分散値SK(α)は、ネットワーク等を経由して、対応するデータ記憶装置320−K(図7B)に送信される。変換分散値SK(α)は、データ記憶装置320−Kの入力部121−Kに入力され、記憶部123b−Kに格納される。 The transformed variance value S K (α) is input to the output unit 142-K, and the output unit 142-K outputs the transformed variance value S K (α) (step S343-K). The transformed variance value S K (α) is transmitted to the corresponding data storage device 320-K (FIG. 7B) via a network or the like. The transformed variance value S K (α) is input to the input unit 121-K of the data storage device 320-K and stored in the storage unit 123b-K.

[分散データ変換装置340−η(η∈{K+1,...,N})の処理(図12C)]
分散データ変換装置340−η (η∈{K+1,...,N})(図10)の変換分散値生成部346−ηは、n(1),...,n(K)と異なるn(η)に対応するF(n(η))を生成し、F(n(η))を変換分散値Sη(α)=F(n(η))として出力する。ただし、F(x)は、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=P(v(k)) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式である。
[Processing of Distributed Data Conversion Device 340-η (η∈ {K + 1,..., N})] (FIG. 12C)]
The transform variance value generation unit 346-η of the distributed data converter 340-η (η∈ {K + 1,..., N}) (FIG. 10) performs n (1),. F (n (η)) corresponding to n (η) different from the above is generated, and F (n (η)) is output as the transformed dispersion value S η (α) = F (n (η)). Where F (x) is obtained from v (k) restored from K V k, λ (v (k)) corresponding to K different λ∈ {1, ..., N}. F (n (k)) = P (v (k)) (k = 1, ..., K-1) and K different λ∈ {1, ..., N} For f (n (μ)) (μ = 1, ..., K) consisting of f (n (K)) restored from K U λ (f (n (K))) It is a K-1 order equation satisfying F (n (μ)) = f (n (μ)) (μ = 1,..., K).

単純な方法は、K個のUλ(f(n(K)))とk (k=1,...,K-1)のそれぞれについてK個のVk,λ(v(k))とが変換分散値生成部346−ηに入力され、変換分散値生成部346−ηが、これらからf(n(μ)) (μ=1,...,K)を復元し、これらを用いて変換分散値Sη(α)=F(n(η))を生成する方法である。或いは、変換分散値生成部346−1〜Kから出力されたS1(α),...,SK(α)が変換分散値生成部346−ηに入力され、変換分散値生成部346−ηが、これらを用いて変換分散値Sη(α)=F(n(η))を生成する方法である。しかしながら、安全性の観点からは、分散データ変換装置340−ηにf(n(μ)) (μ=1,...,K)が知られることなく、分散データ変換装置340−ηが変換分散値Sη(α)=F(n(η))を生成できる方式が望ましい。すなわち、分散データ変換装置340−ηがf(n(η))以外のf(n(μ))(μ≠η)を得てしまうと、K台未満の分散データ変換装置340−ηが所定の処理を行うことによって値αを復元でき、秘密分散の要件を満たさない場合が生じ得るからである。以下では、分散データ変換装置340−ηがf(n(μ)) (μ=1,...,K)を復元することなく、変換分散値Sη(α)=F(n(η))を生成する方法を例示する。 A simple method is to calculate K V k, λ (v (k)) for each of K U λ (f (n (K))) and k (k = 1, ..., K-1). Are input to the conversion variance value generation unit 346-η, and the conversion variance value generation unit 346-η restores f (n (μ)) (μ = 1,..., K) from these, This is a method of generating a transformed dispersion value S η (α) = F (n (η)) by using. Alternatively, S 1 (α),..., S K (α) output from the transform variance value generators 346-1 to 34-1 to K are input to the transform variance value generator 346 -η, and the transform variance value generator 346. −η is a method of generating a transformed dispersion value S η (α) = F (n (η)) using these. However, from the viewpoint of security, f (n (μ)) (μ = 1,..., K) is not known in the distributed data converter 340-η, and the distributed data converter 340-η converts it. A method capable of generating the dispersion value S η (α) = F (n (η)) is desirable. That is, if the distributed data conversion device 340-η obtains f (n (μ)) (μ ≠ η) other than f (n (η)), less than K distributed data conversion devices 340-η are predetermined. This is because the value α can be restored by performing the above process, and the secret sharing requirement may not be satisfied. In the following, the distributed data conversion device 340-η does not restore f (n (μ)) (μ = 1,..., K), and the converted distributed value S η (α) = F (n (η) ) Is exemplified.

分散データ変換装置340−η(η∈{K+1,...,N})(図10)の変換分散値生成部346−ηは、Rndη,1+…+Rndη,K=0となるRndη,1,…,Rndη,Kを所定の範囲からランダムに選び、これらを出力部142−ηに入力する。出力部142−ηはRndη,1,…,Rndη,Kを出力する(ステップS341−η)。出力されたRndη,κ (κ∈{1,...,K-1})は、ネットワーク等を経由して分散データ変換装置340−κ(図9A)に提供され、分散データ変換装置340−κの入力部141−κに入力されて記憶部143b−κに格納される。出力されたRndη,Kは、ネットワーク等を経由して分散データ変換装置340−K(図9B)に提供され、分散データ変換装置340−Kの入力部141−Kに入力されて記憶部143b−Kに格納される。 The transformed dispersion value generation unit 346-η of the distributed data converter 340-η (η∈ {K + 1,..., N}) (FIG. 10) performs the following operation: Rnd η, 1 +... + Rnd η, K = 0 Rnd η, 1 ,..., Rnd η, K that are to be selected are randomly selected from a predetermined range, and these are input to the output unit 142-η. The output unit 142-η outputs Rnd η, 1 ,..., Rnd η, K (step S341-η). The output Rnd η, κ (κε {1,..., K-1}) is provided to the distributed data conversion device 340-κ (FIG. 9A) via the network or the like, and the distributed data conversion device 340 is provided. The signal is input to the input unit 141-κ of −κ and stored in the storage unit 143b-κ. The output Rnd η, K is provided to the distributed data conversion device 340-K (FIG. 9B) via a network or the like, and is input to the input unit 141-K of the distributed data conversion device 340-K to be stored in the storage unit 143b. Stored in -K.

分散データ変換装置340−κ(κ∈{1,...,K-1})の変換分散値生成部346−κは、Qκ,η=f(n(κ))・Lκ(η)+Rndκ(Rndκ=Rnd1,κ+...+RndK,κ, η∈{K+1,...,N})を計算し、得られたQκ,ηを出力する。ただし、f(n(κ))=P(v(κ))であり、Lκ(η)は以下を満たす。

Figure 0005458116
Qκ,ηは出力部142−κから出力され、ネットワーク等を経由して分散データ変換装置340−ηに提供される。 The transform variance value generation unit 346-κ of the distributed data converter 340-κ (κε {1,..., K-1}) performs Q κ, η = f (n (κ)) · L κ (η ) + Rnd κ (Rnd κ = Rnd 1, κ + ... + Rnd K, κ , η∈ {K + 1, ..., N}) and outputs the obtained Q κ, η . However, f (n (κ)) = P (v (κ)), and L κ (η) satisfies the following.
Figure 0005458116
Q κ, η is output from the output unit 142-κ and provided to the distributed data conversion device 340-η via a network or the like.

同様に、分散データ変換装置340−Kの変換分散値生成部346−Kは、QK,η=f(n(K))・LK(η)+RndK(RndK=Rnd1,K+...+RndK,K,η∈{K+1,...,N})を計算し、得られたQK,ηを出力する。ただし、LK(η)は以下を満たす。

Figure 0005458116
QK,ηは出力部142−Kから出力され、ネットワーク等を経由して分散データ変換装置340−ηに提供される。 Similarly, the conversion variance value generation unit 346-K of the distributed data conversion device 340-K includes Q K, η = f (n (K)) · L K (η) + Rnd K (Rnd K = Rnd 1, K + ... + Rnd K, K , η∈ {K + 1, ..., N}) is calculated, and the obtained Q K, η is output. However, L K (η) satisfies the following.
Figure 0005458116
Q K, η is output from the output unit 142-K and provided to the distributed data conversion device 340-η via a network or the like.

Q1,η,...,QK,ηは、分散データ変換装置340−η(η∈{K+1,...,N})(図10)の入力部141−ηに入力され、記憶部143b−ηに格納される(ステップS342−η)。変換分散値生成部346−ηは、以下のように変換分散値Sη(α)=F(n(η))を生成し、生成した変換分散値Sη(α)を出力する(ステップS343−η)。

Figure 0005458116
Q 1, η , ..., Q K, η are input to the input unit 141-η of the distributed data converter 340-η (η∈ {K + 1, ..., N}) (FIG. 10). And stored in the storage unit 143b-η (step S342-η). The conversion variance value generator 346-η generates a conversion variance value S η (α) = F (n (η)) as follows, and outputs the generated conversion variance value S η (α) (step S343). −η).
Figure 0005458116

上記処理において、変換分散値生成部346−1〜Kから変換分散値生成部346−ηに提供されたQ1,η,...,QK,ηは、ランダムな値Rndη,1,…,Rndη,Kによってf(n(κ))・Lκ(n(η)) (κ∈{1,...,K-1})及びf(n(K))・LK(n(η))の情報が秘匿されている。一方で、RndK=Rnd1,K+...+RndK,K,Rndη,1+…+Rndη,K=0であるから、以下が成り立つ。

Figure 0005458116
In the above processing, Q 1, η ,..., Q K, η provided from the conversion variance value generation units 346-1 to 346 -K to the conversion variance value generation unit 346 -η are random values Rnd η, 1 , …, Rnd η, K , f (n (κ)) · L κ (n (η)) (κ∈ {1, ..., K-1}) and f (n (K)) · L K ( n (η)) information is kept secret. On the other hand, since Rnd K = Rnd 1, K + ... + Rnd K, K , Rnd η, 1 +... + Rnd η, K = 0, the following holds.
Figure 0005458116

変換分散値Sη(α)は出力部142−ηに入力され、出力部142−ηは変換分散値Sη(α)を出力する(ステップS344−η)。変換分散値Sη(α)は、ネットワーク等を経由して、対応するデータ記憶装置320−η(η∈{K+1,...,N})(図7B)に送信される。変換分散値Sη(α)は、データ記憶装置320−ηの入力部121−ηに入力され、記憶部123b−ηに格納される。
<分散値提供・秘密計算>
第1実施形態と同様、K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置320−λ(図7B)は、記憶部123b−λに格納された分散値Tλ(α)を出力するか、又は、秘密計算部327−λで秘密計算を行ってその結果を表す分散値Eλを出力する。これらはネットワーク等を経由してデータ復元装置330に送られる。
The transformed variance value S η (α) is input to the output unit 142-η, and the output unit 142-η outputs the transformed variance value S η (α) (step S344-η). The transformed variance value S η (α) is transmitted to the corresponding data storage device 320-η (ηε {K + 1,..., N}) (FIG. 7B) via a network or the like. The transformed variance value S η (α) is input to the input unit 121-η of the data storage device 320-η and stored in the storage unit 123b-η.
<Distributed value provision / secret calculation>
Similar to the first embodiment, the data storage devices 320-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N} are distributed values T stored in the storage unit 123b-λ. λ (α) is output, or secret calculation is performed by the secret calculation unit 327-λ and a variance value E λ representing the result is output. These are sent to the data restoration device 330 via a network or the like.

<データ復元処理>
図13に例示するように、データ復元装置330(図8)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)又はK個の分散値Eλが入力される(ステップS331)。制御部134は、K個の分散値Tλ(α)が入力されたか、K個の分散値Eλが入力されたかを判定する(ステップS332)。
<Data restoration processing>
As illustrated in FIG. 13, the input unit 131 of the data restoration device 330 (FIG. 8) has K variance values T λ (corresponding to K different λ∈ {1,..., N}. α) or K dispersion values E λ are input (step S331). The control unit 134 determines whether K dispersion values T λ (α) are input or K dispersion values E λ are input (step S332).

ステップS332で、K個の分散値Tλ(α)が入力されたと判定された場合、これらK個の分散値Tλ(α)が変換部335に入力される。変換部335は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。まず、変換部335の内部復元部335aが、入力されたK個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、値f(n(K))及びv(k) (k=1,...,K-1)を復元し、値f(n(K))及びv(k) (k=1,...,K-1)を出力する(ステップS333)。この処理の具体例は、ステップS342−κ及びステップS342−Kで説明した通りである。 If it is determined in step S 332 that K dispersion values T λ (α) have been input, these K dispersion values T λ (α) are input to the conversion unit 335. The conversion unit 335 generates K different n (μ) (μ = 1, μ) from K dispersion values T λ (α) corresponding to K different λ∈ {1,. ..., K) corresponding to K values f (n (μ)) (μ = 1, ..., K). First, the internal restoration unit 335a of the conversion unit 335 generates a value f (n) from K variance values T λ (α) corresponding to the input K different λ∈ {1,..., N}. (K)) and v (k) (k = 1, ..., K-1) and restore the values f (n (K)) and v (k) (k = 1, ..., K- 1) is output (step S333). A specific example of this process is as described in step S342-κ and step S342-K.

値f(n(K))及びv(k) (k=1,...,K-1)は座標復元部335bに入力される。座標復元部335bは、v(k) (k=1,...,K-1)からP(v(k)) (k=1,...,K-1)を計算し、それらをf(n(k))=P(v(k)) (k=1,...,K-1)とする。座標復元部335bは、入力された値f(n(K))及び計算によって得られたf(n(k)) (k=1,...,K-1)からなるK個の値f(n(μ)) (μ=1,...,K)を出力する(ステップS334)。   The values f (n (K)) and v (k) (k = 1,..., K−1) are input to the coordinate restoration unit 335b. The coordinate restoration unit 335b calculates P (v (k)) (k = 1, ..., K-1) from v (k) (k = 1, ..., K-1), Let f (n (k)) = P (v (k)) (k = 1, ..., K-1). The coordinate restoration unit 335b includes K values f including the input value f (n (K)) and f (n (k)) (k = 1,..., K−1) obtained by calculation. (n (μ)) (μ = 1,..., K) is output (step S334).

K個の値f(n(μ)) (μ=1,...,K)は復元部336に入力される。復元部336は、これらK個の値f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを生成し、それによって得られた値αを出力する(ステップS335)。この処理の具体例は、ステップS134で説明した通りである。値αは出力部132に入力され、そこから出力される(ステップS135)。   K values f (n (μ)) (μ = 1,..., K) are input to the restoration unit 336. The restoration unit 336 performs F (n (μ)) = f (n (μ)) (μ = 1 for these K values f (n (μ)) (μ = 1,..., K). ,..., K), the function value F (n (0)) = α of the K−1 linear expression F (x) is generated, and the value α obtained thereby is output (step S335). A specific example of this process is as described in step S134. The value α is input to and output from the output unit 132 (step S135).

一方、ステップS332で、分散値Eλが入力されたと判定された場合、復元部336で、第1実施形態で説明したステップS136,S137の処理が実行される。 On the other hand, if it is determined in step S332 that the variance value E λ has been input, the restoration unit 336 performs the processing in steps S136 and S137 described in the first embodiment.

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。例えば、値v(k) (k=1,...,K-1)それぞれのデータ量が集合Gの要素のデータ量に対して十分小さい場合(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)、本形態の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K))))のデータ量はUi(f(n(K)))のデータ量とみなすことができる。分散値Ui(f(n(K)))のデータ量が集合Gの要素のデータ量よりも小さいとすると、本形態の分散値Ti(α)のデータ量は従来のShamir秘密分散の分散値のデータ量よりも小さくなる。例えば、参考文献1の方式で分散値Ui(f(n(K)))が生成される場合、共通鍵dの分散値のデータ量を無視すれば、分散値Ui(f(n(K)))のデータ量は、集合Gの要素のデータ量のおよそ1/K倍とみなすことができる。そのため、分散値の総データ量は元データαのおよそN/K倍、復元に必要な分散値の総データ量は元データαのデータ量とほぼ等しくなり、何れもShamir秘密分散と比べてデータ量をおよそ1/K倍に削減できる。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. For example, when the data amount of each value v (k) (k = 1, ..., K-1) is sufficiently smaller than the data amount of the elements of the set G (for example, (v (m) each data amount ) / (Data amount of elements of set G) ≦ 80/10 6 ), variance value T i (α) = (V 1, i (v (1)), ..., V K-1, The data amount of i (v (K-1)), U i (f (n (K))) can be regarded as the data amount of U i (f (n (K))). If the data amount of the variance value U i (f (n (K))) is smaller than the data amount of the elements of the set G, the data amount of the variance value T i (α) of this embodiment is It becomes smaller than the data amount of the variance value. For example, when the distributed value U i (f (n (K))) is generated by the method of Reference Document 1, if the data amount of the distributed value of the common key d is ignored, the distributed value U i (f (n ( The data amount of K))) can be regarded as approximately 1 / K times the data amount of the elements of the set G. Therefore, the total data amount of the distributed value is approximately N / K times the original data α, the total data amount of the distributed value necessary for restoration is almost equal to the data amount of the original data α, both of which are data compared to Shamir secret sharing The amount can be reduced to about 1 / K times.

さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。   Furthermore, the distributed data conversion process in the distributed data conversion device generates a converted distributed value that can be used as an input for the secret calculation without restoring the original value α from the distributed value obtained by the data distribution device. It is also possible to execute a secret calculation.

なお、本形態では、分散値生成部317が、N個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を出力することとした。しかしながら、分散値生成部が[n(1),...,n(K), Ti(α)] (i=1,...,N)を出力してもよい。分散データ変換装置が[n(i), Si(α)]を生成して出力し、データ復元装置が何れかK個の[n(1),...,n(K), Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。その他、分散値生成部317がTi(α)に加え、その他の付加情報を分散値として出力してもよい。 In this embodiment, the variance value generation unit 317 has N variance values T i (α) = (V 1, i (v (1)),..., V K−1, i (v (K -1)), U i (f (n (K)))) (i = 1, ..., N). However, the variance value generation unit may output [n (1),..., N (K), T i (α)] (i = 1,..., N). The distributed data converter generates and outputs [n (i), S i (α)], and the data restoration device outputs any K [n (1), ..., n (K), T λ (α)] The value α may be restored from (λ∈ {1,..., N}). In addition, the dispersion value generation unit 317 may output other additional information as a dispersion value in addition to T i (α).

n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量よりも小さい。好ましくは、n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量に対して無視できる程度である(例えば、(n(i)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。
〔第4実施形態〕
次に、本発明の第4実施形態を説明する。本形態は第3実施形態の変形例であり、同一の値v(k)を複数の秘密分散に流用することで分散値のデータ量をさらに削減する。以下では上述の実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第4実施形態では、N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を集合Gの要素に移す写像である。本形態の集合G、写像P(x)の具体例は、第1実施形態で説明した集合G、写像P(x)の具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
The data amount of n (i) (i = 1,..., N) is smaller than the data amount of the elements of the set G. Preferably, the data amount of n (i) (i = 1, ..., N) is negligible with respect to the data amount of the elements of the set G (for example, (n (i) each data amount ) / (Data amount of elements of set G) ≦ 80/10 6 ).
[Fourth Embodiment]
Next, a fourth embodiment of the present invention will be described. This embodiment is a modification of the third embodiment, and the data value of the distributed value is further reduced by diverting the same value v (k) to a plurality of secret shares. Below, it demonstrates centering on difference with the above-mentioned embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the fourth embodiment, N, K, and R are integers of 2 or more, K ≦ N, G is a certain set, and P (x) moves a value corresponding to x to an element of the set G It is a mapping. Specific examples of the set G and mapping P (x) in the present embodiment are the same as the specific examples of the set G and mapping P (x) described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第4実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とN個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を得、値fr(nr(K))を得る。ただし、同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なり、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式がfr(x)である。データ分散装置は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得、rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を得、r (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を得る。ただし、V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが分散値Vk,i(v(k))である。どのような方式が(K, N)閾値秘密分散法Urとして用いられてもよい。(K, N)閾値秘密分散法Urには、1個のUr,i(fr(nr(K)))のデータ量が集合Gの1個の要素のデータ量よりも小さい方式が用いられることの望ましい。例えば、参考文献1に記載された方式を(K, N)閾値秘密分散法Urとして用いることが望ましい。(K, N)閾値秘密分散法U1,...,URは、互いに同一の方式であってもよいし、そうでなくてもよい。
The secret sharing system according to the fourth embodiment includes a data sharing device, a data restoration device, N data storage devices, and N distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and sets values corresponding to r and value v (k) to z ( r, v (k)) and K-1 values for each r a r (k) = P (z (r, v (k))) (r = 1, ..., R, k = 1, ..., K-1) and the value f r (n r (K)). However, the values n r (0), n r (1), ..., n r (K) corresponding to the same r are different from each other, and the values n r (1), ..., n r (K- F r (n r (k)) = a r (k) (k = 1, ..., K-1) and f r (n r ) for 1) and the value α r ∈G which is an element of the set G A K−1 order expression satisfying (0)) = α r is f r (x). The data distribution apparatus secretly distributes v (k) (k = 1, ..., K-1) according to the (K, N) threshold secret distribution method V k and N distributed values V for each k. k, i (v (k)) (i = 1, ..., N), and for each r , the value f r (n r (K) according to the (K, N) threshold secret sharing scheme U r ) To obtain N distributed values U r, i (f r (n r (K))) (i = 1, ..., N) and r (r = 1, ..., N variance values T ir ) = (V r, 1, i (v (1)), ..., V r, K-1, i (v (K-1)) for each of R) ), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N). However, at least one of V 1, k, i (v (k)), ..., V R, k, i (v (k)) is the variance value V k, i (v (k)) . Any scheme may be used as the (K, N) threshold secret sharing scheme Ur . In the (K, N) threshold secret sharing scheme U r , the data amount of one U r, i (f r (n r (K))) is smaller than the data amount of one element of the set G Is desirable to be used. For example, the method described in reference 1 (K, N) is desirably used as a threshold secret sharing scheme U r. (K, N) threshold secret sharing scheme U 1, ..., U R may be the same type to each other, or not.

本形態のデータ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得、r (r=1,...,R)のそれぞれについて、Fr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る。例えば、データ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)から、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を復元し、r (r=1,...,R)のそれぞれについて、fr(nr(k))=P(z(r,v(k))) (k=1,...,K-1)とし、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る。 The data restoration apparatus according to the present embodiment is configured such that for each of r (r = 1,..., R), K dispersion values T λ corresponding to K different λ∈ {1,. From (α r ), values f r (n r (μ)) (μ = 1, ..., K corresponding to K different n r (μ) (μ = 1, ..., K) ) And for each of r (r = 1, ..., R), F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) A function value F r (n r (0)) = α r of the K−1 linear expression F r (x) that satisfies is obtained. For example, the data restoration apparatus, for each of r (r = 1,..., R), has a variance value T λr ) corresponding to K different λ∈ {1,. From the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1) and r (r = 1 , ..., R) for each of f r (n r (k)) = P (z (r, v (k))) (k = 1, ..., K-1) Values f r (n r (μ)) (μ = 1,..., K) corresponding to different n r (μ) (μ = 1,..., K).

本形態の1,...,K-1番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値P(z(r, v(κ)) (κ∈{1,...,K-1})を得る。本形態のK番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から、変換分散値fr(nr(K)) (r=1,...,R)を得る。本形態のK+1,...,N番目の分散データ変換装置は、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N})を得る。ただし、Fr(x)は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=P(z(r,v(k))) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式である。このように得られる変換分散値は、秘密計算の入力値として用いられる。秘密計算の具体例は、例えば非特許文献2などに開示されたShamir秘密分散に基づく秘密計算である。秘密計算は単項演算であってもよいし、多項演算であってもよい。 The first,..., K−1th distributed data conversion apparatus of the present embodiment has a distributed value T λr ) (λ∈ corresponding to K different λ∈ {1,..., N}. V (κ) (κ∈ {1, ..., K-1}) is restored from V κ, λ (v (κ)) included in {1, ..., N}), and r (r For each of = 1,..., R), a transformed dispersion value P (z (r, v (κ)) (κ∈ {1,..., K−1}) is obtained from v (κ). The K-th distributed data conversion apparatus according to this embodiment includes U r, λ (f r (n) included in the distributed values T λr ) corresponding to K different λ∈ {1,. r (K))) to obtain the transformed variance value f r (n r (K)) (r = 1, ..., R) .K + 1, ..., Nth variance data of this embodiment The converter is F r (n r (η)) (η∈ {K + 1, ...) corresponding to n r (η) different from n r (μ) (μ = 1, ..., K). , N}), where F r (x) is the variance T λr ) (λ∈ {1,. .., N}) f r (n r (k)) = P (z (r, v (k)) obtained from v (k) restored from V k, λ (v (k)) ) (r = 1, ..., R, k = 1, ..., K-1) and K different λ∈ {1, .. , N}, the transformed variance f r (n r (K)) (r that is restored from U r, λ (f r (n r (K))) included in the variance T λr ) = 1, ..., R), f r (n r (μ)) (μ = 1, ..., K) and F r (n r (μ)) = f r (n r (μ)) is a K-1 order equation that satisfies (μ = 1, ..., K), and the transformation variance obtained in this way is used as the input value for the secret calculation. Is a secret calculation based on Shamir secret sharing disclosed in, for example, Non-Patent Document 2. The secret calculation may be a unary operation or a multinomial operation.

本形態において好ましくは、分散値Ur,i(fr(nr(K)))のデータ量は、集合Gの要素のデータ量よりも小さい。本形態において好ましくは、分散値Vr,k,i(v(k))それぞれのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the data amount of the variance value U r, i (f r (n r (K))) is smaller than the data amount of the elements of the set G. Preferably, in this embodiment, the data amount of each of the variance values V r, k, i (v (k)) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図6に例示するように、第4実施形態の秘密分散システム4は、データ分散装置410、N個のデータ記憶装置420−i(i=1,...,N)、N個の分散データ変換装置440−i(i=1,...,N)、及びデータ復元装置430を有する。データ分散装置410は、ネットワークや可搬型記録媒体などを経由して、N個のデータ記憶装置420−i(i=1,...,N)に対して情報の提供が可能である。N個のデータ記憶装置420−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、N個の分散データ変換装置440−i(i=1,...,N)と情報のやり取りが可能である。N個の分散データ変換装置440−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、互いに情報の提供が可能である。さらに、N個のデータ記憶装置420−i(i=1,...,N)のそれぞれは、ネットワークや可搬型記録媒体などを経由して、データ復元装置430に対して情報の提供が可能である。
<Configuration>
As illustrated in FIG. 6, the secret sharing system 4 according to the fourth embodiment includes a data sharing device 410, N data storage devices 420-i (i = 1,..., N), N shared data. A conversion device 440-i (i = 1,..., N) and a data restoration device 430 are included. The data distribution device 410 can provide information to the N data storage devices 420-i (i = 1,..., N) via a network or a portable recording medium. Each of the N data storage devices 420-i (i = 1,..., N) is connected to the N distributed data conversion devices 440-i (i = 1) via a network or a portable recording medium. , ..., N) can exchange information. Each of the N distributed data converters 440-i (i = 1,..., N) can provide information to each other via a network or a portable recording medium. Further, each of the N data storage devices 420-i (i = 1,..., N) can provide information to the data restoration device 430 via a network or a portable recording medium. It is.

図7Aに例示するように、本形態のデータ分散装置410は、入力部111、出力部112、メモリ113、制御部314、選択部115、分割部211、変換部216、内部分散部318,419、及び分散値生成部417を有する。本形態のデータ分散装置410は、制御部414の制御のもとで各処理を実行する。   As illustrated in FIG. 7A, the data distribution apparatus 410 of this embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 314, a selection unit 115, a division unit 211, a conversion unit 216, and internal distribution units 318 and 419. And a variance value generation unit 417. The data distribution apparatus 410 according to this embodiment executes each process under the control of the control unit 414.

図7Bに例示するように、データ記憶装置420−λ(λ∈{1,...,N})は、入力部121−λ、出力部122−λ、メモリ123a−λ、記憶部123b−λ、制御部324−λ、及び秘密計算部427−λを有する。本形態のデータ記憶装置420−λは、制御部424−λの制御のもとで各処理を実行する。   As illustrated in FIG. 7B, the data storage device 420-λ (λε {1,..., N}) includes an input unit 121-λ, an output unit 122-λ, memories 123a-λ, and a storage unit 123b-. λ, control unit 324-λ, and secret calculation unit 427-λ. The data storage device 420-λ of this embodiment executes each process under the control of the control unit 424-λ.

図8に例示するように、本形態のデータ復元装置430は、入力部131、出力部132、メモリ133、制御部434、変換部435、復元部436、及び結合部237を有する。変換部435は、内部復元部435a,435bを有する。本形態のデータ復元装置430は、制御部434の制御のもとで各処理を実行する。   As illustrated in FIG. 8, the data restoration device 430 of this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 434, a conversion unit 435, a restoration unit 436, and a combining unit 237. The conversion unit 435 includes internal restoration units 435a and 435b. The data restoration device 430 according to this embodiment executes each process under the control of the control unit 434.

図9Aに例示するように、本形態の分散データ変換装置440−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部444−κ、内部復元部445−κ、及び変換分散値生成部446−κを有する。図9Bに例示するように、本形態の分散データ変換装置440−Kは、入力部141−K、出力部142−K、メモリ143a−K、記憶部143b−K、制御部444−K、及び変換分散値生成部446−Kを有する。図10に例示するように、本形態の分散データ変換装置440−η(η∈{K+1,...,N})は、入力部141−η、出力部142−η、メモリ143a−η、記憶部143b−η、制御部444−η、及び変換分散値生成部446−ηを有する。
本形態の分散データ変換装置440−λは、制御部440−λの制御のもとで各処理を実行する。入力部440−λに入力されたデータや各処理で得られたデータはメモリ143a−λや記憶部143b−λに格納され、メモリ143a−λや記憶部143b−λに格納されたデータは必要に応じて読み出されて他の処理に利用される。
As illustrated in FIG. 9A, the distributed data conversion apparatus 440-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, a storage unit 143b-κ, a control unit 444-κ, an internal restoration unit 445-κ, and a transform variance value generation unit 446-κ. As illustrated in FIG. 9B, the distributed data conversion apparatus 440-K according to the present embodiment includes an input unit 141-K, an output unit 142-K, a memory 143a-K, a storage unit 143b-K, a control unit 444-K, and A conversion variance value generation unit 446-K is included. As illustrated in FIG. 10, the distributed data conversion apparatus 440-η (ηε {K + 1,..., N}) of this embodiment includes an input unit 141-η, an output unit 142-η, and a memory 143a-. η, a storage unit 143b-η, a control unit 444-η, and a transform variance value generation unit 446-η.
The distributed data conversion apparatus 440-λ according to this embodiment executes each process under the control of the control unit 440-λ. Data input to the input unit 440-λ and data obtained by each process are stored in the memory 143a-λ and the storage unit 143b-λ, and data stored in the memory 143a-λ and the storage unit 143b-λ are necessary. Is read out and used for other processing.

<データ分散処理>
図14に例示するように、データ分散装置310(図7A)の入力部111に秘密分散される値αが入力される(ステップS111)。値αは分割部211に入力される。分割部211は、値αを集合Gの要素であるR個の値αr ∈G (r=1,...,R)に分割し、R個の値αr (r=1,...,R)を出力する(ステップS211)。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。値v(k) (k=1,...,K-1)は変換部216に入力される。変換部216は、rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を生成し、当該(K-1)×R個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を出力する(ステップS213)。
<Data distribution processing>
As illustrated in FIG. 14, a value α to be secretly shared is input to the input unit 111 of the data distribution device 310 (FIG. 7A) (step S111). The value α is input to the dividing unit 211. Dividing unit 211, R number of values alpha r ∈G value alpha is an element of the set G (r = 1, ..., R) is divided into, R number of values α r (r = 1, .. ., R) is output (step S211). The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112). Values v (k) (k = 1,..., K−1) are input to the conversion unit 216. The converting unit 216 sets z (r, v (k)) as a value corresponding to r and the value v (k), and K−1 values a r (k) = P (z) for each of r. (r, v (k))) (r = 1, ..., R, k = 1, ..., K-1) and generates (K-1) x R values a r ( k) = P (z (r, v (k))) (r = 1,..., R, k = 1,..., K-1) is output (step S213).

分割部211から出力された個の値αr (r=1,...,R)と変換部216から出力された(K-1)×R個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)とは計算部416に入力される。計算部416は、これらを用いて値fr(nr(K)) (r=1,...,R)を生成し、得られた値fr(nr(K)) (r=1,...,R)を出力する。ただし、fr(x)は値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なる(ステップS414)。例えば、分散値生成部417は、fr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式fr(x)の各係数を求め、それらによって特定されるK-1次式fr(x)にnr(K)を代入することでfr(nr(K))を生成する。nr(0), nr(1),...,nr(K)は分散値生成部417によって逐一定められてもよいし、予め定められた定数であってもよい。nr(0), nr(1),...,nr(K)の例は互いに異なる整数であり、例えば互いに異なる0以上K以下の整数である。具体例を示すとnr(0)=0, nr(μ)=μ (μ=1,...,K)である。本形態では、nr(0), nr(1),...,nr(K)が予め定められた定数であり、μに対応するnr(μ)が特定できる場合を例示する。 The values α r (r = 1,..., R) output from the dividing unit 211 and the (K−1) × R values a r (k) = P (z) output from the converting unit 216. (r, v (k))) (r = 1,..., R, k = 1,..., K−1) is input to the calculation unit 416. The calculation unit 416 generates values f r (n r (K)) (r = 1,..., R) using these, and the obtained values f r (n r (K)) (r = 1, ..., R) is output. However, f r (x) is the value n r (1), ..., n r (K-1) and an element of the set G value alpha r ∈G and for f r (n r (k) ) = It is a K−1 order expression satisfying a r (k) (k = 1,..., K−1) and f r (n r (0)) = α r . The values n r (0), n r (1),..., N r (K) corresponding to the same r are different from each other (step S414). For example, the variance value generation unit 417 generates f r (n r (k)) = a r (k) (k = 1,..., K−1) and f r (n r (0)) = α r It obtains the coefficients of a met K-1 linear equation f r (x), which f by substituting n r (K) in K-1 linear equation f r (x) specified by r (n r ( K)) is generated. n r (0), n r (1),..., n r (K) may be fixed by the variance value generation unit 417 or may be a predetermined constant. Examples of n r (0), n r (1),..., n r (K) are different integers, for example, different integers of 0 to K. As a specific example, n r (0) = 0, n r (μ) = μ (μ = 1,..., K). In this embodiment, n r (0), n r (1),..., N r (K) are predetermined constants, and a case where n r (μ) corresponding to μ can be specified is illustrated. .

選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)は内部分散部318に入力され、計算部416から出力された値fr(nr(K)) (r=1,...,R)は内部分散部419に入力される。内部分散部318は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)のそれぞれを秘密分散し、kのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を生成し、分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)を出力する(ステップS315)。内部分散部419は、rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を生成し、分散値Ur,i(fr(nr(K))) (i=1,...,N, r=1,...,R)を出力する(ステップS416)。ステップS416では、例えば、τ=fr(nr(K))とおいて前述の[(K, N)閾値秘密分散法Uの例示1,2]の処理が実行される。 The K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the internal distribution unit 318 and the values f r ( n r (K)) (r = 1,..., R) is input to the internal dispersion unit 419. The internal distribution unit 318 performs secret sharing for each of v (k) (k = 1,..., K−1) according to the (K, N) threshold secret sharing method V k , Generate variance value V k, i (v (k)) (i = 1, ..., N) and distribute value V k, i (v (k)) (i = 1, ..., N, k = 1,..., K-1) are output (step S315). For each r, the internal distribution unit 419 secretly distributes the value f r (n r (K)) according to the (K, N) threshold value secret distribution method U r and N distributed values U r, i (f r (n r (K))) (i = 1, ..., N) and the variance U r, i (f r (n r (K))) (i = 1, ..., N, r = 1,..., R) are output (step S416). In step S416, for example, the above-described [(K, N) threshold secret sharing method U example 1, 2] is executed with τ = f r (n r (K)).

分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)及び分散値Ur,i(fr(nr(K))) (i=1,...,N)は、分散値生成部417に入力される。分散値生成部417は、これらを用いてr (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を生成し、R×N個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を出力する(ステップS417)。ただし、V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが分散値Vk,i(v(k))である。R個のV1,k,i(v(k)),...,VR,k,i(v(k))のすべてがVk,i(v(k))であってもよいし、R個のV1,k,i(v(k)),...,VR,k,i(v(k))の何れかのみがVk,i(v(k))であってもよい。V1,k,i(v(k)),...,VR,k,i(v(k))のうちVk,i(v(k))でないものは空値であってもよいし、rやRなどのパラメータであってもよい。V1,k,i(v(k)),...,VR,k,i(v(k))の一例は、V1,k,i(v(k))=Vk,i(v(k)), V2,k,i(v(k))=...=VR,k,i(v(k)=φである。ただしφは空値を示す。 Variance V k, i (v (k)) (i = 1, ..., N, k = 1, ..., K-1) and variance U r, i (f r (n r (K ))) (i = 1,..., N) are input to the variance value generation unit 417. The variance value generation unit 417 uses these to calculate N variance values T ir ) = (V r, 1, i (v (1)) for each of r (r = 1,. ), ..., V r, K-1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) and R × N variances T ir ) = (V r, 1, i (v (1)), ..., V r, K -1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) Is output (step S417). However, at least one of V 1, k, i (v (k)), ..., V R, k, i (v (k)) is the variance value V k, i (v (k)) . All of R V 1, k, i (v (k)), ..., V R, k, i (v (k)) may be V k, i (v (k)) And only one of R V 1, k, i (v (k)), ..., V R, k, i (v (k)) is V k, i (v (k)) There may be. V 1, k, i (v (k)), ..., V R, k, i (v (k)) that are not V k, i (v (k)) It may be a parameter such as r or R. An example of V 1, k, i (v (k)), ..., V R, k, i (v (k)) is V 1, k, i (v (k)) = V k, i (v (k)), V 2, k, i (v (k)) = ... = V R, k, i (v (k) = φ, where φ represents a null value.

R×N個の分散値Tir) (i=1,...,N, r=1,...,R)は出力部112に入力され、出力部112はN個の分散値Tir) (i=1,...,N, r=1,...,R)を出力する(ステップS418)。出力された分散値Tir) (i=1,...,N, r=1,...,R)のそれぞれは、データ記憶装置420−i(i=1,...,N)のそれぞれに提供される。例えば、分散値Tλr) (λ∈{1,...,N}, r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置420−λ(図7B)に送信される。データ記憶装置420−λに提供された分散値Tλr) (r=1,...,R)は入力部121−λに入力され、記憶部123b−λに格納される。 R × N variance values T ir ) (i = 1, ..., N, r = 1, ..., R) are input to the output unit 112, and the output unit 112 has N variances. The values T ir ) (i = 1,..., N, r = 1,..., R) are output (step S418). Each of the output variance values T ir ) (i = 1,..., N, r = 1,..., R) corresponds to the data storage device 420-i (i = 1,. ), N). For example, the dispersion value T λr ) (λ∈ {1,..., N}, r = 1,..., R) is transmitted via the network or the like to the corresponding data storage device 420-λ. (FIG. 7B). The dispersion value T λr ) (r = 1,..., R) provided to the data storage device 420-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図15A〜15Cを用い、分散データ変換装置440−λ(λ∈{1,...,N})が実行する分散データ変換処理を説明する。
[分散データ変換装置440−κ(κ∈{1,...,K-1})の処理(図15A)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置420−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλr) (r=1,...,R)が含むVr,κ,λ(v(κ)) (r=1,...,R)が出力される。K個の互いに異なるλ∈{1,...,N}に対応するVr,κ,λ(v(κ)) (r=1,...,R)は、ネットワーク等を経由して、分散データ変換装置440−κ(κ∈{1,...,K-1})(図9A)の入力部141−κに入力され、記憶部143b−κに格納される(ステップS441−κ)。
<Distributed data conversion processing>
A distributed data conversion process executed by the distributed data conversion apparatus 440-λ (λε {1,..., N}) will be described with reference to FIGS.
[Processing of Distributed Data Conversion Device 440-κ (κε {1,..., K-1}) (FIG. 15A)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 420-λ (FIG. 7B) corresponding to K different λ∈ {1,. V r, κ, λ (v (κ)) (r = 1,..., R) included in the value T λr ) (r = 1,..., R) is output. V r, κ, λ (v (κ)) (r = 1, ..., R) corresponding to K different λ∈ {1, ..., N} via a network etc. The distributed data converter 440-κ (κε {1,..., K-1}) (FIG. 9A) is input to the input unit 141-κ and stored in the storage unit 143b-κ (step S441-). κ).

内部復元部345−κは、記憶部143b−κに格納された、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N}, r=1,...,R)が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、得られたv(κ)を出力する(ステップS442−κ)。Vκ,λ(v(κ))からv(κ) (κ∈{1,...,K-1})を復元する方法の具体例は第3実施形態で説明した通りである。 The internal restoration unit 345-κ stores the variance values T λr ) (λ∈ {1) corresponding to K different λ∈ {1,..., N} stored in the storage unit 143b-κ. , ..., N}, r = 1, ..., R) contains V κ, λ (v (κ)) and v (κ) (κ∈ {1, ..., K-1} ) And v (κ) obtained are output (step S442-κ). A specific example of a method for restoring v (κ) (κε {1,..., K-1}) from V κ, λ (v (κ)) is as described in the third embodiment.

v(κ)は変換分散値生成部446−κに入力される。変換分散値生成部446−κは、r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値P(z(r, v(κ)) (κ∈{1,...,K-1})を計算し、当該変換分散値Sκr)=P(z(r, v(κ)) (r=1,...,R)を出力する。当該変換分散値Sκr) (r=1,...,R)は出力部142−κに入力され、出力部142−κは変換分散値Sκr) (r=1,...,R)を出力する(ステップS444−κ)。変換分散値Sκr) (r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置420−κ(図7B)に送信される。変換分散値Sκr) (r=1,...,R)は、データ記憶装置420−κの入力部121−κに入力され、記憶部123b−κに格納される。 v (κ) is input to the transformed variance generation unit 446-κ. For each of r (r = 1,..., R), the transform variance value generation unit 446-κ converts the transform variance value P (z (r, v (κ)) (κ∈ {1 , ..., K-1}) and outputs the transformation variance S κr ) = P (z (r, v (κ)) (r = 1, ..., R) The transformed dispersion value S κr ) (r = 1,..., R) is input to the output unit 142-κ, and the output unit 142-κ outputs the transformed dispersion value S κr ) (r = 1, ..., and it outputs the R) (step S444-kappa). conversion variance S κ (α r) (r = 1, ..., R) , via a network or the like, the corresponding data The transformed dispersion value S κr ) (r = 1,..., R) is input to the input unit 121-κ of the data storage device 420-κ. And stored in the storage unit 123b-κ.

[分散データ変換装置340−Kの処理(図15B)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置420−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλr)が含むUr,λ(fr(nr(K))) (r=1,...,R)が出力される。K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K))) (r=1,...,R)は、ネットワーク等を経由して、分散データ変換装置440−K(図9B)の入力部141−Kに入力され、記憶部143b−Kに格納される(ステップS441−K)。
[Processing of Distributed Data Conversion Device 340-K (FIG. 15B)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 420-λ (FIG. 7B) corresponding to K different λ∈ {1,. U r, λ (f r (n r (K))) (r = 1,..., R) included in the value T λr ) is output. U r, λ (f r (n r (K))) (r = 1,...) Included in the variance values T λr ) corresponding to K different λ∈ {1, ..., N}. ., R) are input to the input unit 141-K of the distributed data conversion apparatus 440-K (FIG. 9B) via the network or the like and stored in the storage unit 143b-K (step S441-K). .

変換分散値生成部446−Kは、記憶部143b−Kに格納された、K個の互いに異なるλ∈{1,...,N}に対応するUr,λ(fr(nr(K))) (r=1,...,R)からfr(nr(K)) (r=1,...,R)を復元し、得られたfr(nr(K))を変換分散値SKr)=fr(nr(K)) (r=1,...,R)として出力する(ステップS442−K)。fr(nr(K))を復元する処理の具体例は、前述の[f(n(K))の復元方法の例示1,2]のUλ(f(n(K))),f(n(K))をUλ(fr(nr(K))),fr(nr(K))にそれぞれ置換した処理である。 The transform variance value generation unit 446-K stores U r, λ (f r (n r (n) corresponding to K different λ∈ {1,..., N} stored in the storage unit 143b-K. K))) Restore f r (n r (K)) (r = 1, ..., R) from (r = 1, ..., R) and obtain f r (n r (K )) Is output as the transformation variance S Kr ) = f r (n r (K)) (r = 1,..., R) (step S442-K). A specific example of the process for restoring f r (n r (K)) is U λ (f (n (K))), In this process, f (n (K)) is replaced with U λ (f r (n r (K))) and f r (n r (K)).

変換分散値SKr) (r=1,...,R)は出力部142−Kに入力され、出力部142−Kは変換分散値SKr) (r=1,...,R)を出力する(ステップS443−K)。変換分散値SKr) (r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置420−K(図7B)に送信される。変換分散値SKr) (r=1,...,R)は、データ記憶装置420−Kの入力部121−Kに入力され、記憶部123b−Kに格納される。 The transformed variance value S Kr ) (r = 1,..., R) is input to the output unit 142 -K, and the output unit 142 -K outputs the transformed variance value S Kr ) (r = 1, ..., R) are output (step S443-K). The transformed variance value S Kr ) (r = 1,..., R) is transmitted to the corresponding data storage device 420-K (FIG. 7B) via a network or the like. The transformed variance value S Kr ) (r = 1,..., R) is input to the input unit 121-K of the data storage device 420-K and stored in the storage unit 123b-K.

[分散データ変換装置440−η(η∈{K+1,...,N})の処理(図15C)]
分散データ変換装置440−η (η∈{K+1,...,N})(図10)の変換分散値生成部446−ηは、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N}, r=1,...,R)を生成し、当該Fr(nr(η)) (η∈{K+1,...,N}, r=1,...,R)を変換分散値Sηr)=Fr(nr(η)) (r=1,...,R)として出力する。ただし、Fr(x)は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=P(z(r,v(k))) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式である。
[Processing of Distributed Data Conversion Apparatus 440-η (η∈ {K + 1,..., N}) (FIG. 15C)]
Distributed data converter 440-η (η∈ {K + 1, ..., N}) is converted variance value generator 446-eta (Figure 10), n r (μ) (μ = 1, ... , (F r (n r corresponding to η) (η) K) different from n r) (η∈ {K + 1, ..., n}, r = 1, ..., R) to generate a , F r (n r (η)) (η∈ {K + 1, ..., N}, r = 1, ..., R) is transformed into the transformation variance S ηr ) = F r ( n r (η)) (r = 1, ..., R) However, F r (x) has a variance value T λr ) (λ∈ {1, ..., N}) corresponding to K different λ∈ {1, ..., N}. F r (n r (k)) = P (z (r, v (k))) (r = 1, .. obtained from v (k) restored from V k, λ (v (k)) containing .., R, k = 1, ..., K-1) and U r included in variance values T λr ) corresponding to K different λ∈ {1, ..., N} , λ (f r (n r (K))) and the transformed variance f r (n r (K)) (r = 1, ..., R), f r (n r ( μ)) (μ = 1, ..., K), K satisfying F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) -Linear equation.

第3実施形態で説明したのと同様、Fr(nr(η))の生成方法に限定はない。しかしながら、安全性の観点から、分散データ変換装置440−ηにfr(nr(μ)) (μ=1,...,K, r=1,...,R)が知られることなく、分散データ変換装置440−ηが変換分散値Sηr)=Fr(nr(η))を生成できる方式が望ましい。以下に、分散データ変換装置440−ηがfr(nr(μ)) (μ=1,...,K, r=1,...,R)を復元することなく、変換分散値Sηr)=Fr(nr(η))を生成する方法を例示する。 As described in the third embodiment, the method for generating F r (n r (η)) is not limited. However, from the viewpoint of security, f r (n r (μ)) (μ = 1,..., K, r = 1,..., R) is known to the distributed data converter 440-η. However, it is desirable that the distributed data converter 440-η can generate the converted dispersion value S ηr ) = F r (n r (η)). In the following, the distributed data converter 440-η does not restore f r (n r (μ)) (μ = 1,..., K, r = 1,. A method for generating S ηr ) = F r (n r (η)) will be exemplified.

分散データ変換装置440−η(η∈{K+1,...,N})(図10)の変換分散値生成部446−ηは、Rndr,η,1+…+Rndr,η,K=0となるRndr,η,1,…,Rndr,η,Kを所定の範囲からランダムに選び、これらを出力部142−ηに入力する。出力部142−ηはRndr,η,1,…,Rndr,η,Kを出力する(ステップS441−η)。出力されたRndr,η,κ (κ∈{1,...,K-1}, r=1,...,R)は、ネットワーク等を経由して分散データ変換装置440−κ(図9A)に提供され、分散データ変換装置440−κの入力部141−κに入力されて記憶部143b−κに格納される。出力されたRndr,η,κ (κ∈{1,...,K-1}, r=1,...,R)は、ネットワーク等を経由して分散データ変換装置440−K(図9B)に提供され、分散データ変換装置440−Kの入力部141−Kに入力されて記憶部143b−Kに格納される。 Distributed data converter 440-η (η∈ {K + 1, ..., N}) is converted variance value generator 446-eta (Figure 10), Rnd r, η, 1 + ... + Rnd r, η , Rnd r of the K = 0, η, 1, ..., Rnd r, η, randomly selected K from a predetermined range, and inputs them to the output unit 142-eta. The output unit 142-η outputs Rnd r, η, 1 ,..., Rnd r, η, K (step S441-η). The output Rnd r, η, κ (κ∈ {1,..., K−1}, r = 1,. 9A), input to the input unit 141-κ of the distributed data converter 440-κ, and stored in the storage unit 143b-κ. The output Rnd r, η, κ (κ∈ {1,..., K−1}, r = 1,. 9B), input to the input unit 141-K of the distributed data converter 440-K, and stored in the storage unit 143b-K.

分散データ変換装置440−κ(κ∈{1,...,K-1})の変換分散値生成部446−κは、Qr,κ,η=fr(nr(κ))・Lr,κ(η)+Rndr,κ(Rndr,κ=Rndr,1,κ+...+Rndr,K,κ, η∈{K+1,...,N})を計算し、得られたQr,κ,ηを出力する。ただし、fr(nr(κ))=P(z(r,v(κ)))であり、Lr,κ(η)は以下を満たす。

Figure 0005458116
Qr,κ,ηは出力部142−κから出力され、ネットワーク等を経由して分散データ変換装置440−ηに提供される。 The transformed dispersion value generation unit 446-κ of the distributed data conversion device 440-κ (κε {1,..., K-1}) is Q r, κ, η = f r (n r (κ)) · L r, κ (η) + Rnd r, κ (Rnd r, κ = Rnd r, 1, κ + ... + Rnd r, K, κ , η∈ {K + 1, ..., N}) And outputs the obtained Q r, κ, η . However, f r (n r (κ)) = P (z (r, v (κ))), and L r, κ (η) satisfies the following.
Figure 0005458116
Q r, κ, η is output from the output unit 142-κ and provided to the distributed data conversion device 440-η via a network or the like.

同様に、分散データ変換装置440−Kの変換分散値生成部446−Kは、Qr,K,η=fr,(nr,(K))・Lr,K(η)+Rndr,K(Rndr,K=Rndr,1,K+...+Rndr,K,K,η∈{K+1,...,N})を計算し、得られたQr,K,ηを出力する。ただし、Lr,K(η)は以下を満たす。

Figure 0005458116
Qr,K,ηは出力部142−Kから出力され、ネットワーク等を経由して分散データ変換装置440−ηに提供される。 Similarly, the conversion variance value generation unit 446-K of the distributed data conversion device 440-K includes Q r, K, η = fr, (n r, (K)) · L r, K (η) + Rnd r , K (Rnd r, K = Rnd r, 1, K + ... + Rnd r, K, K , η∈ {K + 1, ..., N}) and Q r, Output K and η . However, L r, K (η) satisfies the following.
Figure 0005458116
Q r, K, η is output from the output unit 142-K and provided to the distributed data conversion device 440-η via a network or the like.

Qr,1,η,...,Qr,K,ηは、分散データ変換装置440−η(η∈{K+1,...,N})(図10)の入力部141−ηに入力され、記憶部143b−ηに格納される(ステップS442−η)。変換分散値生成部446−ηは、以下のように変換分散値Sηr)=Fr(nr(η))を生成し、生成した変換分散値Sηr)を出力する(ステップS443−η)。

Figure 0005458116
Q r, 1, η , ..., Q r, K, η are input units 141-- of the distributed data converter 440-η (ηε {K + 1, ..., N}) (FIG. 10). is input to η and stored in the storage unit 143b-η (step S442-η). The conversion variance value generation unit 446-η generates the conversion variance value S ηr ) = F r (n r (η)) as follows, and outputs the generated conversion variance value S ηr ). (Step S443-η).
Figure 0005458116

変換分散値Sηr)は出力部142−ηに入力され、出力部142−ηは変換分散値Sηr)を出力する(ステップS444−η)。変換分散値Sηr)は、ネットワーク等を経由して、対応するデータ記憶装置420−η(η∈{K+1,...,N})(図7B)に送信される。変換分散値Sηr)は、データ記憶装置420−ηの入力部121−ηに入力され、記憶部123b−ηに格納される。 The transformed variance value S ηr ) is input to the output unit 142-η, and the output unit 142-η outputs the transformed variance value S ηr ) (step S444-η). The transformed variance value S ηr ) is transmitted to the corresponding data storage device 420-η (ηε {K + 1,..., N}) (FIG. 7B) via a network or the like. The transformed variance value S ηr ) is input to the input unit 121-η of the data storage device 420-η and stored in the storage unit 123b-η.

<分散値提供・秘密計算>
第2実施形態と同様、K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置420−λ(図7B)は、記憶部123b−λに格納された分散値Tλr) (r=1,...,R)を出力するか、又は、秘密計算部427−λで秘密計算を行ってその結果を表す分散値Eλ,r(r=1,...,R)を出力する。これらはネットワーク等を経由してデータ復元装置430に送られる。
<データ復元処理>
図16に例示するように、データ復元装置430(図8)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)又は分散値Eλ,rが入力される(ステップS431)。制御部134は、K個の分散値Tλr)が入力されたか、K個の分散値Eλ,rが入力されたかを判定する(ステップS432)。
<Distributed value provision / secret calculation>
Similar to the second embodiment, the data storage devices 420-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N} are distributed values T stored in the storage unit 123b-λ. λr ) (r = 1,..., R) is output, or the secret calculation unit 427-λ performs secret calculation and a variance value E λ, r (r = 1, ..., R) is output. These are sent to the data restoration device 430 via a network or the like.
<Data restoration processing>
As illustrated in FIG. 16, the input unit 131 of the data restoration device 430 (FIG. 8) has a variance value T λr ) corresponding to K different λ∈ {1,. Alternatively, the variance value E λ, r is input (step S431). The controller 134 determines whether K variance values T λr ) or K variance values E λ, r have been input (step S432).

ステップS432で、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (r=1,...,R)が入力されたと判定された場合、これら分散値Tλr) (r=1,...,R)が変換部435に入力される。変換部435は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る。まず、変換部435の内部復元部435aが、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)から、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を復元し、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を出力する。この処理の具体例は、ステップS442−κ及びステップS442−Kで説明した通りである。 When it is determined in step S432 that variance values T λr ) (r = 1,..., R) corresponding to K different λ∈ {1,. These dispersion values T λr ) (r = 1,..., R) are input to the conversion unit 435. For each of r (r = 1,..., R), the transform unit 435 uses K dispersion values T λr corresponding to K different λ∈ {1,..., N}. ) To obtain values f r (n r (μ)) (μ = 1, ..., K) corresponding to K different n r (μ) (μ = 1, ..., K). . First, the internal restoration unit 435a of the conversion unit 435 performs a variance value T corresponding to K different λ∈ {1,..., N} for each of r (r = 1,..., R). Restore the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1) from λr ), Output the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1). A specific example of this process is as described in step S442-κ and step S442-K.

値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)は座標復元部435bに入力される。座標復元部435bは、r (r=1,...,R)のそれぞれについて、v(k) (k=1,...,K-1)からP(z(r,v(k))) (k=1,...,K-1)を計算し、それらをfr(nr(k))=P(z(r,v(k)))とする。座標復元部435bは、入力された値fr(nr(K)) (r=1,...,R)及び計算によって得られたfr(nr(k)) (k=1,...,K-1, r=1,...,R)からなる値fr(nr(μ)) (μ=1,...,K, r=1,...,R)を出力する(ステップS434)。 The values f r (n r (K)) (r = 1,..., R) and v (k) (k = 1,..., K−1) are input to the coordinate restoration unit 435b. The coordinate restoration unit 435b performs v (k) (k = 1, ..., K-1) to P (z (r, v (k)) for each of r (r = 1, ..., R). )) Calculate (k = 1,..., K-1), and let them be f r (n r (k)) = P (z (r, v (k))). The coordinate restoration unit 435b receives the input value f r (n r (K)) (r = 1,..., R) and f r (n r (k)) (k = 1, ..., K-1, r = 1, ..., R) f r (n r (μ)) (μ = 1, ..., K, r = 1, ..., R ) Is output (step S434).

値fr(nr(μ)) (μ=1,...,K, r=1,...,R)は復元部436に入力される。復元部436は、r (r=1,...,R)のそれぞれについて、これらの値fr(nr(μ)) (μ=1,...,K, r=1,...,R)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを生成し、それによって得られた値αrを出力する(ステップS435)。この処理の具体例は、ステップS234で説明した通りである。 The values f r (n r (μ)) (μ = 1,..., K, r = 1,..., R) are input to the restoration unit 436. For each of r (r = 1, ..., R), the restoration unit 436 uses these values f r (n r (μ)) (μ = 1, ..., K, r = 1,... ., F against R) r (n r (μ ) in) = f r (n r ( μ)) (μ = 1, ..., satisfy K) K-1 linear equation F r (x) A function value F r (n r (0)) = α r is generated, and a value α r obtained thereby is output (step S435). A specific example of this process is as described in step S234.

値αr (r=0,...,R-1)は結合部237に入力される。結合部237は、R個の値αr (r=0,...,R-1)を結合して値α∈Gを生成し、当該値αを出力する(ステップS235)。値αは出力部132に入力され、そこから出力される(ステップS135)。 The values α r (r = 0,..., R−1) are input to the coupling unit 237. The combining unit 237 combines the R values α r (r = 0,..., R−1) to generate a value αεG, and outputs the value α (step S235). The value α is input to and output from the output unit 132 (step S135).

一方、ステップS232で、分散値Eλ, rが入力されたと判定された場合、復元部436で、第2実施形態で説明したステップS236,S237,S137の処理が実行される。 On the other hand, when it is determined in step S232 that the variance value E λ, r has been input, the restoration unit 436 performs the processing of steps S236, S237, and S137 described in the second embodiment.

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。さらに同一の値v(k)を複数の値αr (r=0,...,R-1)の秘密分散に流用することで分散値のデータ量をさらに削減できる。さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αrを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. Further, by diverting the same value v (k) to secret sharing of a plurality of values α r (r = 0,..., R−1), the data amount of the distributed value can be further reduced. Further, the distributed data conversion processing in the distributed data conversion device can be used to obtain a converted distributed value that can be used as an input for the secret calculation without restoring the original value α r from the distributed value obtained by the data distribution device. It can also generate and perform secret computations.

なお、本形態では、分散値生成部417が、N個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (i=1,...,N, r=1,...,R)を出力することとした。しかしながら、分散値生成部が[nr(1),...,nr(K), Tir)] (i=1,...,N, r=1,...,R)を出力してもよい。分散データ変換装置が[nr(i), Sir)]を生成して出力し、データ復元装置が何れかK個の[nr(1),...,nr(K), Tλr)] (λ∈{1,...,N})から値αrを復元してもよい。その他、分散値生成部417がTir)に加え、その他の付加情報を分散値として出力してもよい。 In this embodiment, the variance value generation unit 417 has N variance values T ir ) = (V r, 1, i (v (1)),..., V r, K−1. i (v (K-1)), U r, i (f r (n r (K)))) (i = 1, ..., N, r = 1, ..., R) It was decided. However, the variance generator is [n r (1), ..., n r (K), T ir )] (i = 1, ..., N, r = 1, ..., R) may be output. The distributed data converter generates and outputs [n r (i), S ir )], and the data restoration device outputs any K [n r (1), ..., n r (K ), T λr )] (λ∈ {1,..., N}), the value α r may be restored. In addition, the dispersion value generation unit 417 may output other additional information as the dispersion value in addition to T ir ).

〔第5実施形態〕
本形態は第1実施形態の変形例である。以下では第1実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第5実施形態では、N, Kが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を集合Gの要素に移す写像である。本形態の集合G、写像P(x)の具体例は、第1実施形態で説明した集合G、写像P(x)の具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
[Fifth Embodiment]
This embodiment is a modification of the first embodiment. Below, it demonstrates centering on difference with 1st Embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the fifth embodiment, N and K are integers of 2 or more, K ≦ N, G is a certain set, and P (x) is a mapping that moves a value corresponding to x to an element of the set G is there. Specific examples of the set G and mapping P (x) in the present embodiment are the same as the specific examples of the set G and mapping P (x) described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第1実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、N個の分散値Tk(α)=v(k) (k=1,...,K-1), Tθ(α)=f(n(θ)) (θ=K,...,N)を得る。ただし、f(x)は集合Gの要素である値α∈Gついてf(n(k))=v(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式である。n(0), n(1),...,n(N)が互いに異なる。データ分散装置で得られたN個の分散値Ti(α) (i=1,...,N)は、例えばN個のデータ記憶部装置のそれぞれに提供され、格納される。
The secret sharing system according to the first embodiment includes a data sharing device, a data restoration device, and N data storage devices.
The data distribution apparatus of this embodiment selects K-1 values v (k) (k = 1, ..., K-1) and N distribution values T k (α) = v (k) (k = 1, ..., K-1), T θ (α) = f (n (θ)) (θ = K, ..., N) is obtained. Where f (x) is an element of the set G with respect to the value α∈G, f (n (k)) = v (k) (k = 1, ..., K-1) and f (n (0) ) = α. n (0), n (1), ..., n (N) are different from each other. N distribution values T i (α) (i = 1,..., N) obtained by the data distribution device are provided and stored in each of the N data storage devices, for example.

本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλ(α)から得られるK個の値f(n(λ))に対してF(n(λ))=f(n(λ)) (λ∈{1,...,N})を満たすK-1次式F(x)の関数値F(n(0))=αを得る。 The data restoration apparatus according to the present embodiment applies K values f (n (λ)) obtained from variance values T λ (α) corresponding to K different λ∈ {1, ..., N}. F (n (λ)) = f (n (λ)) (λ∈ {1, ..., N}) satisfying the function value F (n (0)) = α is obtained.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図17に例示するように、第5実施形態の秘密分散システム5は、データ分散装置510、N個のデータ記憶装置520−i(i=1,...,N)、及びデータ復元装置530を有する。データ分散装置510は、ネットワークや可搬型記録媒体などを経由して、N個のデータ記憶装置520−i(i=1,...,N)との情報のやり取りが可能である。
<Configuration>
As illustrated in FIG. 17, the secret sharing system 5 according to the fifth embodiment includes a data sharing device 510, N data storage devices 520-i (i = 1,..., N), and a data restoration device 530. Have The data distribution device 510 can exchange information with the N data storage devices 520-i (i = 1,..., N) via a network or a portable recording medium.

図18Aに例示するように、本形態のデータ分散装置510は、入力部111、出力部112、メモリ113、制御部114、選択部115、及び分散値生成部517を有する。本形態のデータ分散装置510は、制御部514の制御のもとで各処理を実行する。   As illustrated in FIG. 18A, the data distribution apparatus 510 of this embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 114, a selection unit 115, and a distributed value generation unit 517. The data distribution apparatus 510 according to this embodiment executes each process under the control of the control unit 514.

図18Bに例示するように、データ記憶装置520−λ(λ∈{1,...,N})は、入力部121−λ、出力部122−λ、メモリ123a−λ、記憶部123b−λ、及び制御部524−λを有する。本形態のデータ記憶装置520−λは、制御部524−λの制御のもとで各処理を実行する。   As illustrated in FIG. 18B, the data storage device 520-λ (λε {1,..., N}) includes an input unit 121-λ, an output unit 122-λ, memories 123a-λ, and a storage unit 123b-. λ and a control unit 524-λ. The data storage device 520-λ of this embodiment executes each process under the control of the control unit 524-λ.

図18Cに例示するように、本形態のデータ復元装置530は、入力部131、出力部132、メモリ133、制御部534、及び復元部536を有する。本形態のデータ復元装置530は、制御部534の制御のもとで各処理を実行する。   As illustrated in FIG. 18C, the data restoration device 530 of this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 534, and a restoration unit 536. The data restoration device 530 of this embodiment executes each process under the control of the control unit 534.

<データ分散処理>
図19Aに例示するように、データ分散装置510(図18A)の入力部111に秘密分散される値α∈Gが入力される(ステップS111)。値αのデータ量、すなわち集合Gの要素のデータ量は、例えば1メガバイト以上である。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。値v(k)は、ある関数値FNC(v(k))から全数探索等の攻撃によってv(k)が特定されない程度のサイズであることが望ましい。例えば、値v(k)は80ビット程度かそれ以上の乱数であることが望ましい。
<Data distribution processing>
As illustrated in FIG. 19A, the value αεG that is secretly shared is input to the input unit 111 of the data distribution device 510 (FIG. 18A) (step S111). The data amount of the value α, that is, the data amount of the elements of the set G is, for example, 1 megabyte or more. The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112). It is desirable that the value v (k) has a size such that v (k) is not specified by an attack such as exhaustive search from a certain function value FNC (v (k)). For example, the value v (k) is preferably a random number of about 80 bits or more.

入力部111に入力された値αと選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)とは分散値生成部517に入力される。分散値生成部517は、これらを用いてN個の分散値Tk(α)=v(k) (k=1,...,K-1), Tθ(α)=f(n(θ)) (θ=K,...,N)を生成し、N個の分散値Ti(α) (i=1,...,N)を出力する。ただし、f(x)は値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=v(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式である。n(0), n(1),...,n(N)は互いに異なる(ステップS514)。n(0), n(1),...,n(N)の例は第1実施形態と同じであり、例えば、n(0)=0, n(i)=i (i=1,...,N))である。 The value α input to the input unit 111 and the K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the variance value generation unit 517. The The variance value generation unit 517 uses these to generate N variance values T k (α) = v (k) (k = 1,..., K−1), T θ (α) = f (n ( θ)) (θ = K,..., N) is generated, and N dispersion values T i (α) (i = 1,..., N) are output. Where f (x) is f (n (k)) = v (k) (k) for the values n (1), ..., n (K-1) and the value α∈G that is an element of the set G. = 1,..., K−1) and f (n (0)) = α. n (0), n (1),..., n (N) are different from each other (step S514). Examples of n (0), n (1),..., n (N) are the same as those in the first embodiment. For example, n (0) = 0, n (i) = i (i = 1, ..., N)).

N個の分散値Ti(α) (i=1,...,N)は出力部112に入力され、出力部112はN個の分散値Ti(α) (i=1,...,N)を出力する(ステップS515)。出力されたTi(α) (i=1,...,N)のそれぞれは、データ記憶装置520−i (i=1,...,N)のそれぞれに提供される。例えば、分散値Tλ(α) (λ∈{1,...,N})は、ネットワーク等を経由して、対応するデータ記憶装置520−λ(図18B)に送信される。データ記憶装置520−λに提供された分散値Tλ(α)は入力部121−λに入力され、記憶部123b−λに格納される。 N variance values T i (α) (i = 1,..., N) are input to the output unit 112, and the output unit 112 outputs N variance values T i (α) (i = 1,... ., N) is output (step S515). Each of the output T i (α) (i = 1,..., N) is provided to each of the data storage devices 520-i (i = 1,..., N). For example, the dispersion value T λ (α) (λε {1,..., N}) is transmitted to the corresponding data storage device 520-λ (FIG. 18B) via a network or the like. The dispersion value T λ (α) provided to the data storage device 520-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<データ復元処理>
図19Bに例示するように、データ復元装置530(図18C)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)が入力される(ステップS531)。これらの分散値Tλ(α)は復元部536に入力され、復元部536は、これらの分散値Tλ(α)から得られるK個の値f(n(λ))に対してF(n(λ))=f(n(λ)) (λ∈{1,...,N})を満たすK-1次式F(x)の関数値F(n(0))=αを生成し、それによって得られた値αを出力する(ステップS532)。なお、前述のように、f(n(k))=Tk(α)=v(k) (k=1,...,K-1)であり、Tθ(α)=f(n(θ)) (θ=K,...,N)である。関数値F(n(0))=αの計算方法の一例は、第1実施形態で説明したラグランジュ補間法を用いる方法である(式(1))。値αは出力部132に入力され、そこから出力される(ステップS533)。
<Data restoration processing>
As illustrated in FIG. 19B, the input unit 131 of the data restoration device 530 (FIG. 18C) has K variance values T λ (corresponding to K different λ∈ {1,..., N}. α) is input (step S531). These variance values T λ (α) are input to the restoration unit 536, and the restoration unit 536 applies F (n (λ)) to K values f (n (λ)) obtained from these variance values T λ (α). The function value F (n (0)) = α of the K-1 degree expression F (x) that satisfies n (λ)) = f (n (λ)) (λ∈ {1, ..., N}) And the value α obtained thereby is output (step S532). As described above, f (n (k)) = T k (α) = v (k) (k = 1, ..., K-1) and T θ (α) = f (n (θ)) (θ = K, ..., N). An example of a method for calculating the function value F (n (0)) = α is a method using the Lagrange interpolation method described in the first embodiment (formula (1)). The value α is input to and output from the output unit 132 (step S533).

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。すなわち、本形態のN個の分散値Ti(α) (i=1,...,N)のうち、K-1個の分散値Tk(α) (k=1,...,K-1)は分散値Tk(α)=v(k) (k=1,...,K-1)である。これに対して、値α∈GをShamir秘密分散方式に従って秘密分散して得られる分散値のデータ量は集合Gの要素(1個の要素)のデータ量以上である。従って、分散値Tk(α)=v(k)のそれぞれのデータ量は、値α∈GをShamir秘密分散方式に従って秘密分散して得られる分散値よりもデータ量が小さい。分散値のデータ量をどの程度削減できるかは、v(k)のデータ量と集合Gの要素のデータ量との違いに依存する。例えば、値v(k) (k=1,...,K-1)の合計データ量が、集合GのK-1個の要素の合計データ量よりも小さいのであれば、本形態の分散値の総データ量は、従来の秘密分散方式の分散値の総データ量よりも小さくなる。値v(k) (k=1,...,K-1)の合計データ量が集合GのK-1個の要素の合計データ量よりも小さくなるのは、例えば、値v(k)の何れかのデータ量が集合Gの要素のデータ量よりも小さい場合や、値v(k)それぞれのデータ量が集合Gの要素のデータ量よりも小さい場合などである。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. That is, of the N dispersion values T i (α) (i = 1, ..., N) of the present embodiment, K-1 dispersion values T k (α) (k = 1, ..., K−1) is the variance value T k (α) = v (k) (k = 1,..., K−1). On the other hand, the data amount of the distributed value obtained by secretly sharing the value αεG according to the Shamir secret sharing scheme is equal to or larger than the data amount of the elements (one element) of the set G. Therefore, the data amount of each variance value T k (α) = v (k) is smaller than the variance value obtained by secretly sharing the value α∈G according to the Shamir secret sharing scheme. How much the data amount of the variance value can be reduced depends on the difference between the data amount of v (k) and the data amount of elements of the set G. For example, if the total data amount of values v (k) (k = 1, ..., K-1) is smaller than the total data amount of K-1 elements of the set G, the variance of this embodiment The total data amount of the value is smaller than the total data amount of the distributed value of the conventional secret sharing scheme. The total data amount of the value v (k) (k = 1, ..., K-1) is smaller than the total data amount of the K-1 elements of the set G, for example, the value v (k) Or the case where the data amount of each element of the set G is smaller than the data amount of the elements of the set G.

値v(k)それぞれのデータ量が集合Gの要素のデータ量に対して無視できる程度に小さいのであれば、N個の分散値Ti(α) (i=1,...,N)のうちK-1個の分散値Tk(α)=v(k) (k=1,...,K-1)のデータ量は無視でき、N個の分散値Ti(α) (i=1,...,N)の合計データ量は、集合Gの(N-K+1)個の要素の合計データ量と同程度となる。したがって、本形態の分散値の合計データ量は、Shamir秘密分散方式における分散値の合計データ量の(N-K+1)/N倍程度となる。N≧Kであるため、本形態の分散値の合計データ量はShamir秘密分散方式における分散値の合計データ量よりも小さい。このデータ量の削減効果は、データ分散装置からデータ記憶装置に送信するデータ量、およびデータ記憶装置の記憶データ量に直接影響する。この場合にデータ復元装置の受信データ量について考えると、本形態ではデータ復元装置がT1(α),…,TK-1(α)を受信する場合の受信データ量が最小となる。もう一つの受信データをTK(α)とすると、データ復元装置の受信データ量は集合Gの1個の要素のデータ量と同程度とみなせる。一方で、Shamir秘密分散方式ではデータ復元装置がK個の異なるf(i)を受信する。従って、本形態のデータ復元装置の受信データ量は、Shamir秘密分散方式における受信データ量のおよそ1/K倍とみなすことができ、データ量は削減されていることが分かる。 If the amount of data for each value v (k) is negligibly small relative to the amount of data in the elements of set G, N variance values T i (α) (i = 1, ..., N) Among them, the data amount of K-1 variance values T k (α) = v (k) (k = 1, ..., K-1) can be ignored, and N variance values T i (α) ( The total data amount of i = 1,..., N) is approximately the same as the total data amount of (N−K + 1) elements of the set G. Therefore, the total data amount of the distributed values in this embodiment is about (N−K + 1) / N times the total data amount of the distributed values in the Shamir secret sharing scheme. Since N ≧ K, the total data amount of the distributed values in this embodiment is smaller than the total data amount of the distributed values in the Shamir secret sharing scheme. This data amount reduction effect directly affects the amount of data transmitted from the data distribution device to the data storage device and the amount of data stored in the data storage device. In this case, considering the received data amount of the data restoring device, in this embodiment, the received data amount when the data restoring device receives T 1 (α),..., T K-1 (α) is minimized. If another received data is T K (α), the received data amount of the data restoration device can be regarded as being the same as the data amount of one element of the set G. On the other hand, in the Shamir secret sharing scheme, the data restoration device receives K different f (i). Therefore, the received data amount of the data restoration device of this embodiment can be regarded as approximately 1 / K times the received data amount in the Shamir secret sharing scheme, and it can be seen that the data amount is reduced.

その他、本形態の分散値Ti(α) (i=1,...,N)は、Shamir秘密分散に基づく秘密計算(例えば、非特許文献2参照)の入力値とし、当該秘密計算を実行することもできる。 In addition, the variance value T i (α) (i = 1,..., N) of the present embodiment is used as an input value of a secret calculation based on Shamir secret sharing (for example, see Non-Patent Document 2). It can also be executed.

なお、本形態では、分散値生成部517が、N個の分散値Ti(α) (i=1,...,K), Tθ(α)=f(n(θ)) (θ=K,...,N)を出力することとした。しかしながら、分散値生成部が、[n(k), Tk(α)=v(k)] (k=1,...,K-1),[n(θ), Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、データ復元装置が[n(k), Tk(α)] (k=1,...,K-1),[n(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[n(λ), Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。 In this embodiment, the variance value generation unit 517 has N variance values T i (α) (i = 1,..., K), T θ (α) = f (n (θ)) (θ = K, ..., N). However, the variance value generation unit is [n (k), T k (α) = v (k)] (k = 1, ..., K-1), [n (θ), T θ (α) = f (n (θ))] (θ = K, ..., N) may be output. In this case, the data restoration device is [n (k), T k (α)] (k = 1, ..., K-1), [n (θ), T θ (α)] (θ = K, .., N) may be restored from any K [n (λ), T λ (α)] (λ∈ {1,..., N}).

或いは、分散値生成部が、[k, n(k), Tk(α)=v(k)] (k=1,...,K-1),[θ, n(θ), Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、データ復元装置が[k, n(k), Tk(α)] (k=1,...,K-1),[θ, n(θ), Tθ(α)] (θ=K,...,N)の何れかK個の[θ, n(λ), Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。 Alternatively, the variance value generation unit may calculate [k, n (k), T k (α) = v (k)] (k = 1, ..., K-1), [θ, n (θ), T θ (α) = f (n (θ))] (θ = K,..., N) may be output. In this case, the data restoration device is [k, n (k), T k (α)] (k = 1, ..., K-1), [θ, n (θ), T θ (α)] ( Reconstruct the value α from any K [θ, n (λ), T λ (α)] (λ∈ {1, ..., N}) of θ = K, ..., N) Also good.

或いは、分散値生成部が、[k, Tk(α)=v(k)] (k=1,...,K-1),[θ, Tθ(α)=f(n(θ))] (θ=K,...,N)を出力してもよい。この場合、データ復元装置が[k, Tk(α)] (k=1,...,K-1),[θ, Tθ(α)] (θ=K,...,N)の何れかK個の[λ Tλ(α)] (λ∈{1,...,N})から値αを復元してもよい。その他、分散値生成部117がTi(α)に加え、その他の付加情報を分散値として出力してもよい。 Alternatively, the variance value generation unit [k, T k (α) = v (k)] (k = 1, ..., K-1), [θ, T θ (α) = f (n (θ ))] (θ = K, ..., N) may be output. In this case, the data restoration device is [k, T k (α)] (k = 1, ..., K-1), [θ, T θ (α)] (θ = K, ..., N) The value α may be restored from any K [λ T λ (α)] (λ∈ {1,..., N}). In addition, the dispersion value generation unit 117 may output other additional information as a dispersion value in addition to T i (α).

i, n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量よりも小さい。好ましくは、i, n(i) (i=1,...,N)のデータ量は、集合Gの要素のデータ量に対して無視できる程度である(例えば、(i, n(i)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 The data amount of i, n (i) (i = 1,..., N) is smaller than the data amount of the elements of the set G. Preferably, the data amount of i, n (i) (i = 1,..., N) is negligible with respect to the data amount of the elements of the set G (for example, (i, n (i) Respective data amount) / (data amount of elements of set G) ≦ 80/10 6 ).

〔第6実施形態〕
次に、本発明の第6実施形態を説明する。本形態は第2,5実施形態の変形例であり、同一の値v(k)を複数の秘密分散に流用することで分散値のデータ量をさらに削減する。以下では上述の実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第6実施形態では、N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合である。本形態の集合Gの具体例は、第1実施形態で説明した集合Gの具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
[Sixth Embodiment]
Next, a sixth embodiment of the present invention will be described. This embodiment is a modification of the second and fifth embodiments, and the data value of the distributed value is further reduced by diverting the same value v (k) to a plurality of secret shares. Below, it demonstrates centering on difference with the above-mentioned embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the sixth embodiment, N, K, and R are integers of 2 or more, K ≦ N, and G is a certain set. A specific example of the set G of the present embodiment is the same as the specific example of the set G described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第6実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とK-1個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=z(r, v(k)) (r=1,...,R, k=1,...,K-1)を得、k(k=1,...,K-1)のそれぞれについてR個のTk1),...,TkR)の少なくとも1個をv(k)とし、Tθr)=fr(nr(θ)) (θ=K,...,N)とし、rのそれぞれについてN個の分散値Tir) (i=1,...,N, r=1,...,R)を得る。ただし、fr(x)は、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(N)が互いに異なる。
The secret sharing system according to the sixth embodiment includes a data sharing device, a data restoration device, N data storage devices, and K-1 distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and sets values corresponding to r and value v (k) to z ( r, v (k)), and K-1 values for each r a r (k) = z (r, v (k)) (r = 1, ..., R, k = 1 , ..., K-1), and for each of k (k = 1, ..., K-1), R T k1 ), ..., T kR ) At least one is v (k), T θr ) = f r (n r (θ)) (θ = K,..., N), and N variance values T i for each of r Get (α r ) (i = 1, ..., N, r = 1, ..., R). Where f r (x) is f r (n r (k)) for the values n r (1), ..., n r (K-1) and the value α r ∈G that is an element of the set G. = a r (k) (k = 1, ..., K-1) and f r (n r (0) ) = a K-1 order equation that satisfies alpha r. The values n r (0), n r (1),..., N r (N) corresponding to the same r are different from each other.

本形態のデータ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なる値nr(λ) (λ∈{1,...,N})に対応する値fr(nr(λ))を得、r (r=1,...,R)のそれぞれについて、当該値fr(nr(λ))に対してFr(nr(λ))=fr(nr(λ)) (λ∈{1,...,N})を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る。例えば、本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)にv(κ) (κ∈{1,...,K-1})が含まれる場合にfr(nr(κ))=z(r,v(κ)) (r=1,...,R)とする。 The data restoration apparatus according to the present embodiment is configured such that for each of r (r = 1,..., R), K dispersion values T λ corresponding to K different λ∈ {1,. From (α r ), values f r (n r (λ)) corresponding to K different values n r (λ) (λ∈ {1, ..., N}) are obtained, and r (r = 1, ..., R) for each value f r (n r (λ)), F r (n r (λ)) = f r (n r (λ)) (λ∈ {1 ,..., N}), a function value F r (n r (0)) = α r of the K−1 linear expression F r (x) is obtained. For example, the data restoration apparatus according to the present embodiment includes k variance values T λr ) corresponding to K different λ∈ {1,..., N} to v (κ) (κ∈ {1 , ..., K-1}), let f r (n r (κ)) = z (r, v (κ)) (r = 1, ..., R).

分散データ変換装置のそれぞれは、分散値Tκr’)=v(κ) (κ∈{1,...,K-1}, r’∈{1,...,R})から変換分散値Sκr)=z(r, v(κ))を得る。このように得られた変換分散値Sκr)は、秘密計算の入力値として用いられる。 Each of the distributed data converters has a distributed value T κr ′ ) = v (κ) (κ∈ {1, ..., K-1}, r′∈ {1, ..., R}) To obtain a transformed variance value S κr ) = z (r, v (κ)). The transform variance value S κr ) thus obtained is used as an input value for secret calculation.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図1に例示するように、第6実施形態の秘密分散システム6は、第2実施形態の秘密分散システム2が有するデータ分散装置210、K-1個の分散データ変換装置240−k(k=1,...,K-1)及びデータ復元装置230が、データ分散装置610、K-1個の分散データ変換装置640−k(k=1,...,K-1)及びデータ復元装置630にそれぞれ置換されたものである。
<Configuration>
As illustrated in FIG. 1, the secret sharing system 6 of the sixth embodiment includes a data distribution device 210 and K−1 distributed data conversion devices 240-k (k = k =) included in the secret distribution system 2 of the second embodiment. 1,..., K-1) and the data restoration device 230 include a data distribution device 610, K-1 distributed data conversion devices 640-k (k = 1,..., K-1) and data restoration. Each is replaced with a device 630.

図18Aに例示するように、本形態のデータ分散装置610は、入力部111、分割部211、出力部112、メモリ113、制御部614、選択部115、及び分散値生成部617を有する。本形態のデータ分散装置610は、本形態のデータ分散装置610は、制御部614の制御のもとで各処理を実行する。   As illustrated in FIG. 18A, the data distribution apparatus 610 according to the present exemplary embodiment includes an input unit 111, a division unit 211, an output unit 112, a memory 113, a control unit 614, a selection unit 115, and a distributed value generation unit 617. The data distribution apparatus 610 according to the present embodiment executes each process under the control of the control unit 614.

図18Aに例示するように、本形態のデータ復元装置630は、入力部131、出力部132、メモリ133、制御部634、復元部636、及び結合部637を有する。本形態のデータ復元装置630は、制御部634の制御のもとで各処理を実行する。   As illustrated in FIG. 18A, the data restoration device 630 of this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 634, a restoration unit 636, and a combining unit 637. The data restoration device 630 according to the present embodiment executes each process under the control of the control unit 634.

図20に例示するように、本形態の分散データ変換装置640−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部244−κ、及び変換分散値生成部646−κを有する。本形態の分散データ変換装置640−κは、制御部644−κの制御のもとで各処理を実行する。   As illustrated in FIG. 20, the distributed data conversion apparatus 640-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, storage unit 143b-κ, control unit 244-κ, and transform variance value generation unit 646-κ. The distributed data conversion apparatus 640-κ according to this embodiment executes each process under the control of the control unit 644-κ.

<データ分散処理>
図21Aに例示するように、データ分散装置610(図18A)の入力部111に秘密分散される値αが入力される(ステップS111)。値αは分割部211に入力される。分割部211は、値αを集合Gの要素であるR個の値αr ∈G (r=1,...,R)に分割し、R個の値αr (r=1,...,R)を出力する(ステップS211)。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。
<Data distribution processing>
As illustrated in FIG. 21A, a secret value α is input to the input unit 111 of the data distribution device 610 (FIG. 18A) (step S111). The value α is input to the dividing unit 211. Dividing unit 211, R number of values alpha r ∈G value alpha is an element of the set G (r = 1, ..., R) is divided into, R number of values α r (r = 1, .. ., R) is output (step S211). The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112).

分割部211から出力されたR個の値αr(r=1,...,R)と選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)とは分散値生成部617に入力される。分散値生成部617は、k(k=1,...,K-1)のそれぞれについてR個のTk1),...,TkR)の少なくとも1個をv(k)とし、Tθr)=fr(nr(θ)) (θ=K,...,N)とし、rのそれぞれについてN個の分散値Tir) (i=1,...,N, r=1,...,R)を生成する。ただし、fr(x)は、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=z(r, v(k)) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(N)が互いに異なる(ステップS614)。 R values α r (r = 1,..., R) output from the dividing unit 211 and K−1 values v (k) (k = 1,...) Output from the selection unit 115. , K−1) is input to the variance value generation unit 617. The variance value generation unit 617 uses at least one of R T k1 ),..., T kR ) for each of k (k = 1,..., K−1) as v. (k), T θr ) = f r (n r (θ)) (θ = K, ..., N), and N dispersion values T ir ) ( i = 1, ..., N, r = 1, ..., R). Where f r (x) is f r (n r (k)) for the values n r (1), ..., n r (K-1) and the value α r ∈G that is an element of the set G. = z (r, v (k )) (k = 1, ..., K-1) and f r (n r (0) ) = a K-1 order equation that satisfies alpha r. The values n r (0), n r (1),..., N r (N) corresponding to the same r are different from each other (step S614).

R×N個の分散値Tir) (i=1,...,N, r=1,...,R)は出力部112に入力され、出力部112はN個の分散値Tir) (i=1,...,N, r=1,...,R)を出力する(ステップS615)。出力された分散値Tir) (i=1,...,N, r=1,...,R)のそれぞれは、データ記憶装置220−i(i=1,...,N)のそれぞれに提供される。データ記憶装置220−λに提供された分散値Tλr) (r=1,...,R)は入力部121−λに入力され、記憶部123b−λに格納される。 R × N variance values T ir ) (i = 1, ..., N, r = 1, ..., R) are input to the output unit 112, and the output unit 112 has N variances. The values T ir ) (i = 1,..., N, r = 1,..., R) are output (step S615). Each of the output variance values T ir ) (i = 1,..., N, r = 1,..., R) corresponds to the data storage device 220-i (i = 1,. ), N). The dispersion values T λr ) (r = 1,..., R) provided to the data storage device 220-λ are input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図21Bを用い、分散データ変換装置640−κ(κ∈{1,...,K-1})が実行する分散データ変換処理を説明する。
データ記憶装置640−κ(κ∈{1,...,K-1})の記憶部123b−κに格納された分散値Tκr) (r=1,...,R)は出力部122−κに送られ、出力部122−κは分散値Tκr) (r=1,...,R)を出力する。出力された分散値Tκr) (r=1,...,R)は、ネットワーク等を経由して、対応する分散データ変換装置640−κ (κ∈{1,...,K-1})(図20)に送信される。分散データ変換装置640−κに提供された分散値Tκr) (r=1,...,R)は入力部141−κに入力され、記憶部143b−κに格納される(ステップS641−κ)。
<Distributed data conversion processing>
A distributed data conversion process executed by the distributed data conversion device 640-κ (κε {1,..., K-1}) will be described with reference to FIG.
Variance value T κr ) (r = 1,..., R) stored in the storage unit 123b-κ of the data storage device 640-κ (κε {1,..., K−1}). Is sent to the output unit 122-κ, and the output unit 122-κ outputs the dispersion value T κr ) (r = 1,..., R). The output distributed value T κr ) (r = 1,..., R) is transmitted to the corresponding distributed data conversion device 640-κ (κ∈ {1,. K-1}) (FIG. 20). The distributed values T κr ) (r = 1,..., R) provided to the distributed data converter 640-κ are input to the input unit 141-κ and stored in the storage unit 143b-κ ( Step S641-κ).

変換分散値生成部646−κは、記憶部143b−κから読み出したv(κ)である分散値Tκr’)=v(κ) (κ∈{1,...,K-1}, r’∈{1,...,R})から変換分散値Sκr)=z(r, v(κ))を生成し、当該変換分散値Sκr)を出力する(ステップS642−κ)。出力された変換分散値Sκr) (r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置220−κ(r=1,...,R)(図2B)に送信される。変換分散値Sκr) (r=1,...,R)は、対応するデータ記憶装置220−κの入力部121−κに入力され、記憶部123b−κに格納される。 The transformed variance value generation unit 646-κ is a variance value T κr ′ ) = v (κ) (κ∈ {1,..., K−) that is v (κ) read from the storage unit 143b-κ. 1}, r′∈ {1, ..., R}) to generate a transformed variance value S κr ) = z (r, v (κ)), and the transformed variance value S κr ) Is output (step S642-κ). The output transform variance value S κr ) (r = 1, ..., R) is sent to the corresponding data storage device 220-κ (r = 1, ..., R) via a network or the like. ) (FIG. 2B). The transformed variance value S κr ) (r = 1,..., R) is input to the input unit 121-κ of the corresponding data storage device 220-κ and stored in the storage unit 123b-κ.

<データ復元処理>
図21Cに例示するように、データ復元装置630(図18A)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (r=1,...,R)又は分散値Eλ,r (r=1,...,R)が入力される(ステップS631)。制御部634は、分散値Tλ(α)が入力されたか、分散値Eλが入力されたかを判定する(ステップS632)。
<Data restoration processing>
As illustrated in FIG. 21C, the input unit 131 of the data restoration device 630 (FIG. 18A) has a variance value T λr ) corresponding to K different λ∈ {1,..., N}. (r = 1,..., R) or variance Eλ , r (r = 1,..., R) is input (step S631). The control unit 634 determines whether the variance value T λ (α) is input or the variance value E λ is input (step S632).

ステップS632で、分散値Tλr)が入力されたと判定された場合、これらK×R個の分散値Tλr)が復元部636に入力される。復元部636は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なる値nr(λ) (λ∈{1,...,N})に対応するK個の値fr(nr(λ))を得る。この際、復元部636は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)にv(κ) (κ∈{1,...,K-1})が含まれる場合にfr(nr(κ))=z(r,v(κ)) (r=1,...,R)とする(ステップS633)。復元部636は、K個の値fr(nr(λ))に対してFr(nr(λ))=fr(nr(λ)) (λ∈{1,...,N})を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを生成し、値αr(r=1,...,R)を出力する(ステップS634)。関数値Fr(nr(0))=αrの生成には、例えば、ラグランジュ補間法等を用いる(式(2))。値αr (r=0,...,R-1)は結合部237に入力される。結合部237は、R個の値αr(r=0,...,R-1)を結合して値α∈Gを生成し、当該値αを出力する(ステップS235)。値αは出力部132に入力され、そこから出力される(ステップS135)。一方、ステップS632で、分散値Eλ, rが入力されたと判定された場合、第2実施形態で説明したステップS236、S237、S137の処理が実行される。 If it is determined in step S 632 that the variance value T λr ) has been input, these K × R variance values T λr ) are input to the restoration unit 636. For each of r (r = 1,..., R), the restoration unit 636 uses K dispersion values T λr corresponding to K different λ∈ {1,..., N}. ), K values f r (n r (λ)) corresponding to K different values n r (λ) (λ∈ {1,..., N}) are obtained. At this time, the restoration unit 636 applies v (κ) (κ∈ {1,...) To K dispersion values T λr ) corresponding to K different λ∈ {1,. .., K-1}) is included, it is assumed that f r (n r (κ)) = z (r, v (κ)) (r = 1,..., R) (step S633). The restoration unit 636 performs F r (n r (λ)) = f r (n r (λ)) (λ∈ {1,..., For K values f r (n r (λ)). N}) to generate a function value F r (n r (0)) = α r of the K-1 linear expression F r (x), and output the value α r (r = 1, ..., R) (Step S634). In order to generate the function value F r (n r (0)) = α r , for example, a Lagrange interpolation method or the like is used (formula (2)). The values α r (r = 0,..., R−1) are input to the coupling unit 237. The combining unit 237 combines the R values α r (r = 0,..., R−1) to generate a value αεG, and outputs the value α (step S235). The value α is input to and output from the output unit 132 (step S135). On the other hand, if it is determined in step S632 that the variance E λ, r has been input, the processes of steps S236, S237, and S137 described in the second embodiment are executed.

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αrを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。第2実施形態と同様、分散値生成部がTi(α)に加え、nr(i),i,rその他の付加情報を分散値として出力してもよい。
〔第7実施形態〕
次に、本発明の第7実施形態を説明する。本形態は第3,5実施形態の変形例であり、第5実施形態の分散値が含んでいた要素をさらに秘密分散し、データ量をさらに削減するものである。以下では上述の実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第7実施形態では、N, Kが2以上の整数であり、K≦Nであり、Gが或る集合である。本形態の集合Gの具体例は、第1実施形態で説明した具体例と同じである。K=Nであってもよいし、K<Nであってもよい。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. The distributed data conversion process in the distributed data conversion device generates a converted distributed value that can be used as an input for the secret calculation without restoring the original value α r from the distributed value obtained by the data distribution device. Secret calculations can also be performed. Similarly to the second embodiment, the variance value generation unit may output n r (i), i, r, and other additional information as variance values in addition to T i (α).
[Seventh Embodiment]
Next, a seventh embodiment of the present invention will be described. The present embodiment is a modification of the third and fifth embodiments, and further secretly distributes the elements included in the distribution values of the fifth embodiment to further reduce the data amount. Below, it demonstrates centering on difference with the above-mentioned embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the seventh embodiment, N and K are integers of 2 or more, K ≦ N, and G is a certain set. A specific example of the set G of the present embodiment is the same as the specific example described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第7実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とN個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、値f(n(K))を得る。ただし、f(x)は、値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=v(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)である。n(0), n(1),...,n(K)は互いに異なる。データ分散装置は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得、(K, N)閾値秘密分散法Uに従って、値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を得、N個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を得る。(K, N)閾値秘密分散法Vkや(K, N)閾値秘密分散法Uの具体例は、第3実施形態で説明した通りである。
The secret sharing system according to the seventh embodiment includes a data distribution device, a data restoration device, N data storage devices, and N distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1) and obtains a value f (n (K)). Where f (x) is f (n (k)) = v (k) (value n (1), ..., n (K-1) and value α∈G which is an element of the set G. A K−1 order expression satisfying k = 1,..., K−1) and f (n (0)) = α is f (x). n (0), n (1), ..., n (K) are different from each other. The data distribution apparatus secretly distributes v (k) (k = 1, ..., K-1) according to the (K, N) threshold secret distribution method V k and N distributed values V for each k. k, i (v (k)) (i = 1, ..., N) is obtained, and the value f (n (K)) is secretly distributed according to the (K, N) threshold secret sharing method U. Variance value U i (f (n (K))) (i = 1, ..., N) and N variance values T i (α) = (V 1, i (v (1)) , ..., V K-1, i (v (K-1)), U i (f (n (K)))) (i = 1, ..., N). Specific examples of the (K, N) threshold secret sharing method V k and the (K, N) threshold secret sharing method U are as described in the third embodiment.

本形態のデータ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。例えば、データ復元装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、値f(n(K))及びv(k) (k=1,...,K-1)を復元し、f(n(k))=v(k) (k=1,...,K-1)とし、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。データ復元装置は、F(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを得る。 The data restoration apparatus according to the present embodiment uses K different n (μ) (μ) from K variance values T λ (α) corresponding to K different λ∈ {1,. K values f (n (μ)) (μ = 1, ..., K) corresponding to = 1, ..., K) are obtained. For example, the data restoration apparatus may calculate values f (n (K)) and v (k) from K variance values T λ (α) corresponding to K different λ∈ {1, ..., N}. ) (k = 1, ..., K-1) is restored and f (n (k)) = v (k) (k = 1, ..., K-1) K values f (n (μ)) (μ = 1,..., K) corresponding to n (μ) (μ = 1,..., K) are obtained. The data restoration device uses a function value F (n (0) of the K-1 degree expression F (x) that satisfies F (n (μ)) = f (n (μ)) )) = α is obtained.

本形態の1,...,K-1番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、v(κ)から変換分散値P(v(κ)) (κ∈{1,...,K-1})を得る。本形態のK番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)が含むK個のUλ(f(n(K)))から、変換分散値f(n(K))を得る。本形態のK+1,...,N番目の分散データ変換装置は、n(μ) (μ=1,...,K)と異なるn(η)に対応するF(n(η)) (η∈{K+1,...,N})を得る。ただし、F(x)は、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=v(k) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式である。このように得られる変換分散値は、秘密計算の入力値として用いられる。 The first,..., K−1th distributed data conversion apparatus of the present embodiment has K distributed values T λ (α) (corresponding to K different λ∈ {1,. v (κ) (κ∈ {1, ..., K-1}) is restored from V κ, λ (v (κ)) included in λ∈ {1, ..., N}), and v The transformation dispersion value P (v (κ)) (κ∈ {1,..., K−1}) is obtained from (κ). The K-th distributed data conversion apparatus according to the present embodiment includes K U λ (f included in K distributed values T λ (α) corresponding to K different λ∈ {1,. From (n (K))), a transform variance value f (n (K)) is obtained. The K + 1, ..., Nth distributed data converter of this embodiment is F (n (η) corresponding to n (η) different from n (μ) (μ = 1, ..., K). ) (η∈ {K + 1, ..., N}). Where F (x) is obtained from v (k) restored from K V k, λ (v (k)) corresponding to K different λ∈ {1, ..., N}. F (n (k)) = v (k) (k = 1, ..., K-1) and K corresponding to K different λ∈ {1, ..., N} U ( λ (f (n (K))) and f (n (K)) restored from f (n (μ)) (μ = 1, ..., K) and F (n (μ)) = f (n (μ)) (K−1 order equation satisfying (μ = 1,..., K)). The transform variance value obtained in this way is used as an input value for secret calculation.

本形態において好ましくは、値v(k) (k=1,...,K-1)の合計データ量は、集合GのK-1個の要素の合計データ量よりも小さい。本形態において好ましくは、値v(k)の何れかのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the total data amount of values v (k) (k = 1,..., K−1) is smaller than the total data amount of K−1 elements of the set G. Preferably, in this embodiment, the data amount of any value v (k) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図6に例示するように、第7実施形態の秘密分散システム7は、第3実施形態の秘密分散システム3のデータ分散装置310、N個の分散データ変換装置340−i(i=1,...,N)及びデータ復元装置330が、データ分散装置710、N個の分散データ変換装置740−i(i=1,...,N)及びデータ復元装置730にそれぞれ置換されたものである。
<Configuration>
As illustrated in FIG. 6, the secret sharing system 7 of the seventh embodiment includes a data distribution device 310 of the secret sharing system 3 of the third embodiment and N distributed data conversion devices 340-i (i = 1,. .., N) and the data restoration device 330 are replaced with a data distribution device 710, N distributed data conversion devices 740-i (i = 1,..., N) and a data restoration device 730, respectively. is there.

図22に例示するように、本形態のデータ分散装置710は、入力部111、出力部112、メモリ113、制御部714、選択部115、内部分散部318,719、及び分散値生成部717を有する。本形態のデータ分散装置710は、制御部714の制御のもとで各処理を実行する。   As illustrated in FIG. 22, the data distribution apparatus 710 of this embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 714, a selection unit 115, internal distribution units 318 and 719, and a distributed value generation unit 717. Have. The data distribution apparatus 710 of this embodiment executes each process under the control of the control unit 714.

図8に例示するように、本形態のデータ復元装置730は、入力部131、出力部132、メモリ133、制御部734、変換部735、及び復元部736を有する。変換部735は、内部復元部735a,735bを有する。本形態のデータ復元装置730は、制御部734の制御のもとで各処理を実行する。   As illustrated in FIG. 8, the data restoration device 730 of this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 734, a conversion unit 735, and a restoration unit 736. The conversion unit 735 includes internal restoration units 735a and 735b. The data restoration device 730 of this embodiment executes each process under the control of the control unit 734.

図9Aに例示するように、本形態の分散データ変換装置740−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部344−κ、内部復元部745−κ、及び変換分散値生成部746−κを有する。図9Bに例示するように、本形態の分散データ変換装置740−Kは、入力部141−K、出力部142−K、メモリ143a−K、記憶部143b−K、制御部744−K、及び変換分散値生成部746−Kを有する。図10に例示するように、本形態の分散データ変換装置740−η(η∈{K+1,...,N})は、入力部141−η、出力部142−η、メモリ143a−η、記憶部143b−η、制御部744−η、及び変換分散値生成部746−ηを有する。本形態の分散データ変換装置340−λは、制御部340−λの制御のもとで各処理を実行する。   As illustrated in FIG. 9A, the distributed data conversion apparatus 740-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, storage unit 143b-κ, control unit 344-κ, internal restoration unit 745-κ, and transform variance value generation unit 746-κ. As illustrated in FIG. 9B, the distributed data conversion apparatus 740-K according to the present embodiment includes an input unit 141-K, an output unit 142-K, a memory 143a-K, a storage unit 143b-K, a control unit 744-K, and A conversion variance value generation unit 746-K is included. As illustrated in FIG. 10, the distributed data conversion apparatus 740-η (ηε {K + 1,..., N}) according to this embodiment includes an input unit 141-η, an output unit 142-η, and a memory 143a-. η, a storage unit 143b-η, a control unit 744-η, and a conversion variance value generation unit 746-η. The distributed data conversion apparatus 340-λ according to this embodiment executes each process under the control of the control unit 340-λ.

<データ分散処理>
図23に例示するように、データ分散装置710(図22)の入力部111に秘密分散される値α∈Gが入力される(ステップS111)。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。
<Data distribution processing>
As illustrated in FIG. 23, a secret value αεG is input to the input unit 111 of the data distribution device 710 (FIG. 22) (step S111). The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112).

入力部111に入力された値αと選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)とは計算部716に入力される。計算部716は、これらを用いて値f(n(K))を生成し、得られた値f(n(K))を出力する。ただし、f(x)は値n(1),...,n(K-1)と集合Gの要素である値α∈Gとについてf(n(k))=v(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式である。n(0), n(1),...,n(K)が互いに異なる(ステップS714)。   The value α input to the input unit 111 and the K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the calculation unit 716. The calculation unit 716 generates a value f (n (K)) using these, and outputs the obtained value f (n (K)). Where f (x) is f (n (k)) = v (k) (k) for the values n (1), ..., n (K-1) and the value α∈G that is an element of the set G. = 1,..., K−1) and f (n (0)) = α. n (0), n (1),..., n (K) are different from each other (step S714).

選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)は内部分散部318に入力され、計算部716から出力された値f(n(K))は内部分散部719に入力される。内部分散部318は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)のそれぞれを秘密分散し、kのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を生成し、分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)を出力する(ステップS715)。内部分散部719は、(K, N)閾値秘密分散法Uに従って、値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を生成し、分散値Ui(f(n(K))) (i=1,...,N)を出力する(ステップS716)。内部分散部319は、例えば、参考文献1に記載された方式に従って、分散値Ui(f(n(K))) (i=1,...,N)を生成する([(K, N)閾値秘密分散法Uの例示1,2]参照)。 The K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the internal distribution unit 318 and the value f (n) output from the calculation unit 716. (K)) is input to the internal distribution unit 719. The internal distribution unit 318 performs secret sharing for each of v (k) (k = 1,..., K−1) according to the (K, N) threshold secret sharing method V k , Generate variance value V k, i (v (k)) (i = 1, ..., N) and distribute value V k, i (v (k)) (i = 1, ..., N, k = 1,..., K-1) are output (step S715). The internal distribution unit 719 secretly distributes the value f (n (K)) according to the (K, N) threshold value secret distribution method U, and N distributed values U i (f (n (K))) (i = 1,..., N) is generated, and the variance value U i (f (n (K))) (i = 1,..., N) is output (step S716). The internal dispersion unit 319 generates dispersion values U i (f (n (K))) (i = 1,..., N) according to the method described in Reference Document 1, for example ([(K, N) See examples 1 and 2 of threshold secret sharing method U).

分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)、及び分散値Ui(f(n(K))) (i=1,...,N)は、分散値生成部717に入力される。分散値生成部717は、これらを用いてN個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を生成し、分散値Ti(α) (i=1,...,N)を出力する(ステップS717)。 Variance V k, i (v (k)) (i = 1, ..., N, k = 1, ..., K-1) and variance U i (f (n (K))) (i = 1,..., N) is input to the variance value generation unit 717. The variance value generation unit 717 uses these to generate N variance values T i (α) = (V 1, i (v (1)), ..., V K−1, i (v (K−1) )), U i (f (n (K)))) (i = 1, ..., N) and outputs variance T i (α) (i = 1, ..., N) (Step S717).

N個の分散値Ti(α) (i=0,...,N-1)は出力部112に入力され、出力部112はN個の分散値Ti(α) (i=0,...,N-1)を出力する(ステップS718)。出力された分散値Ti(α) (i=0,...,N-1)のそれぞれは、データ記憶装置320−i(i=1,...,N)のそれぞれに提供される。データ記憶装置320−λに提供された分散値Tλ(α)は入力部121−λに入力され、記憶部123b−λに格納される。 N variance values T i (α) (i = 0,..., N−1) are input to the output unit 112, and the output unit 112 outputs N variance values T i (α) (i = 0, ..., N-1) are output (step S718). Each of the output variance values T i (α) (i = 0,..., N−1) is provided to each of the data storage devices 320-i (i = 1,..., N). . The dispersion value T λ (α) provided to the data storage device 320-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図24A,12B,12Cを用い、分散データ変換装置740−λ(λ∈{1,...,N})が実行する分散データ変換処理を説明する。
[分散データ変換装置340−κ(κ∈{1,...,K-1})の処理(図24A)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置320−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλ(α)が含むVκ,λ(v(κ))が出力される。K個の互いに異なるλ∈{1,...,N}に対応するK個のVκ,λ(v(κ))は、ネットワーク等を経由して、分散データ変換装置340−κ(κ∈{1,...,K-1})(図9A)の入力部141−κに入力され、記憶部143b−κに格納される(ステップS741−κ)。
<Distributed data conversion processing>
A distributed data conversion process executed by the distributed data conversion device 740-λ (λε {1,..., N}) will be described with reference to FIGS. 24A, 12B, and 12C.
[Processing of Distributed Data Conversion Device 340-κ (κε {1,..., K-1}) (FIG. 24A)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 320-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N}. V κ, λ (v (κ)) included in the value T λ (α) is output. K V κ, λ (v (κ)) corresponding to K different λ∈ {1,..., N} are distributed via the network or the like to the distributed data converter 340-κ (κ .Epsilon. {1,..., K-1}) (FIG. 9A) is input to the input unit 141-κ and stored in the storage unit 143b-κ (step S741-κ).

内部復元部745−κは、記憶部143b−κに格納された、K個の互いに異なるλ∈{1,...,N}に対応するK個のVκ,λ(v(κ))からv(κ)を復元し、得られたv(κ)を出力する(ステップS742−κ)。v(κ)は変換分散値生成部746−κに入力される。変換分散値生成部746−κは、変換分散値Sκ(α)=v(κ)として出力する(ステップS743−κ)。変換分散値Sκ(α)は出力部142−κに入力され、出力部142−κは変換分散値Sκ(α)を出力する(ステップS744−κ)。変換分散値Sκ(α)は、ネットワーク等を経由して、対応するデータ記憶装置320−κ(図7B)に送信される。変換分散値Sκ(α)は、データ記憶装置320−κの入力部121−κに入力され、記憶部123b−κに格納される。 The internal restoration unit 745-κ stores K V κ, λ (v (κ)) corresponding to K different λ∈ {1,..., N} stored in the storage unit 143b-κ. V (κ) is restored from the above and v (κ) obtained is output (step S742-κ). v (κ) is input to the transformed variance generation unit 746-κ. The transformed variance value generation unit 746-κ outputs the transformed variance value S κ (α) = v (κ) (step S743-κ). The transformed variance value S κ (α) is input to the output unit 142-κ, and the output unit 142-κ outputs the transformed variance value S κ (α) (step S744-κ). The transformed variance value S κ (α) is transmitted to the corresponding data storage device 320-κ (FIG. 7B) via a network or the like. The transformed variance value S κ (α) is input to the input unit 121-κ of the data storage device 320-κ and stored in the storage unit 123b-κ.

[分散データ変換装置740−Kの処理(図12B)]
図12Bに示すように、分散データ変換装置740−Kは、変換分散値生成部346−Kを変換分散値生成部746−KとしたステップS341−K,S342−K,S343−Kの処理を実行する。
[Processing of Distributed Data Conversion Device 740-K (FIG. 12B)]
As illustrated in FIG. 12B, the distributed data conversion apparatus 740-K performs the processes of steps S341-K, S342-K, and S343-K in which the converted dispersion value generation unit 346-K is converted into the conversion dispersion value generation unit 746-K. Run.

[分散データ変換装置340−η(η∈{K+1,...,N})の処理(図12C)]
分散データ変換装置340−η (η∈{K+1,...,N})(図10)の変換分散値生成部746−ηは、n(1),...,n(K)と異なるn(η)に対応するF(n(η))を生成し、F(n(η))を変換分散値Sη(α)=F(n(η))として出力する。ただし、F(x)は、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=v(k) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式である。例えば、前述のステップS341−η〜S344−ηでの「f(n(κ))=P(v(κ))」を「f(n(κ))=v(κ)」に置換した処理(ステップS741−η〜S744−η)によって分散値Sη(α)=F(n(η))が生成される。
[Processing of Distributed Data Conversion Device 340-η (η∈ {K + 1,..., N})] (FIG. 12C)]
The transform variance value generation unit 746-η of the distributed data converter 340-η (η∈ {K + 1,..., N}) (FIG. 10) has n (1),. F (n (η)) corresponding to n (η) different from the above is generated, and F (n (η)) is output as the transformed dispersion value S η (α) = F (n (η)). Where F (x) is obtained from v (k) restored from K V k, λ (v (k)) corresponding to K different λ∈ {1, ..., N}. F (n (k)) = v (k) (k = 1, ..., K-1) and K corresponding to K different λ∈ {1, ..., N} U ( λ (f (n (K))) and f (n (K)) restored from f (n (μ)) (μ = 1, ..., K) and F (n (μ)) = f (n (μ)) (K−1 order equation satisfying (μ = 1,..., K)). For example, the processing in which “f (n (κ)) = P (v (κ))” in steps S341-η to S344-η described above is replaced with “f (n (κ)) = v (κ)”. The dispersion value S η (α) = F (n (η)) is generated by (Steps S741-η to S744-η).

<分散値提供・秘密計算>
K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置320−λ(図7B)は、記憶部123b−λに格納された分散値Tλ(α)を出力するか、又は、秘密計算部327−λで秘密計算を行ってその結果を表す分散値Eλを出力する。これらはネットワーク等を経由してデータ復元装置730に送られる。
<Distributed value provision / secret calculation>
The data storage devices 320-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N} output the variance value T λ (α) stored in the storage unit 123b-λ. Alternatively, the secret calculation unit 327-λ performs secret calculation and outputs a variance value E λ representing the result. These are sent to the data restoration device 730 via a network or the like.

<データ復元処理>
図13に例示するように、データ復元装置730(図8)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)又はK個の分散値Eλが入力される(ステップS731)。制御部134は、K個の分散値Tλ(α)が入力されたか、K個の分散値Eλが入力されたかを判定する(ステップS732)。
<Data restoration processing>
As illustrated in FIG. 13, the input unit 131 of the data restoration device 730 (FIG. 8) has K variance values T λ (corresponding to K different λ∈ {1,..., N}. α) or K dispersion values E λ are input (step S731). The control unit 134 determines whether K variance values T λ (α) have been input or K variance values E λ have been input (step S732).

ステップS732で、K個の分散値Tλ(α)が入力されたと判定された場合、これらK個の分散値Tλ(α)が変換部735に入力される。変換部735は、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る。まず、変換部735の内部復元部735aが、入力されたK個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、値f(n(K))及びv(k) (k=1,...,K-1)を復元し、値f(n(K))及びv(k) (k=1,...,K-1)を出力する(ステップS733)。 If it is determined in step S732 that K dispersion values T λ (α) have been input, these K dispersion values T λ (α) are input to the conversion unit 735. The converting unit 735 calculates K different n (μ) (μ = 1, μ) from K variance values T λ (α) corresponding to K different λ∈ {1,..., N}. ..., K) corresponding to K values f (n (μ)) (μ = 1, ..., K). First, the internal restoration unit 735a of the conversion unit 735 calculates the value f (n) from the K variance values T λ (α) corresponding to the input K different λ∈ {1,. (K)) and v (k) (k = 1, ..., K-1) and restore the values f (n (K)) and v (k) (k = 1, ..., K- 1) is output (step S733).

値f(n(K))及びv(k) (k=1,...,K-1)は座標復元部735bに入力される。座標復元部735bはf(n(k))=v(k) (k=1,...,K-1)とし、これらと値f(n(K))とからなるK個の値f(n(μ)) (μ=1,...,K)を出力する(ステップS734)。   The values f (n (K)) and v (k) (k = 1,..., K−1) are input to the coordinate restoration unit 735b. The coordinate restoration unit 735b sets f (n (k)) = v (k) (k = 1,..., K−1), and K values f including these values f (n (K)). (n (μ)) (μ = 1,..., K) is output (step S734).

K個の値f(n(μ)) (μ=1,...,K)は復元部736に入力される。復元部736は、これらK個の値f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを生成し、それによって得られた値αを出力する(ステップS735)。値αは出力部132に入力され、そこから出力される(ステップS135)。   K values f (n (μ)) (μ = 1,..., K) are input to the restoration unit 736. The restoration unit 736 performs F (n (μ)) = f (n (μ)) (μ = 1 for these K values f (n (μ)) (μ = 1,..., K). ,..., K), the function value F (n (0)) = α of the K−1 linear expression F (x) is generated, and the value α obtained thereby is output (step S735). The value α is input to and output from the output unit 132 (step S135).

一方、ステップS732で、分散値Eλが入力されたと判定された場合、復元部736で、第1実施形態で説明したステップS136,S137の処理が実行される。 On the other hand, when it is determined in step S732 that the variance value E λ has been input, the restoration unit 736 performs the processing of steps S136 and S137 described in the first embodiment.

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。第3実施形態と同様、本形態でも分散値生成部がTi(α)に加え、n(i),iその他の付加情報を分散値として出力してもよい。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. Furthermore, the distributed data conversion process in the distributed data conversion device generates a converted distributed value that can be used as an input for the secret calculation without restoring the original value α from the distributed value obtained by the data distribution device. It is also possible to execute a secret calculation. Similarly to the third embodiment, in this embodiment, the variance value generation unit may output n (i), i and other additional information as variance values in addition to T i (α).

〔第8実施形態〕
次に、本発明の第8実施形態を説明する。本形態は第4,7実施形態の変形例であり、同一の値v(k)を複数の秘密分散に流用することで分散値のデータ量をさらに削減する。以下では上述の実施形態との相違点を中心に説明する。上述の実施形態と共通する処理部やステップには上述の実施形態と同じ参照符号を用い、説明を簡略化する。
第7実施形態では、N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合である。本形態の集合Gの具体例は、第1実施形態で説明した集合Gと同じである。K=Nであってもよいし、K<Nであってもよい。
[Eighth Embodiment]
Next, an eighth embodiment of the present invention will be described. This embodiment is a modification of the fourth and seventh embodiments, and the data value of the distributed value is further reduced by diverting the same value v (k) to a plurality of secret shares. Below, it demonstrates centering on difference with the above-mentioned embodiment. The same reference numerals as those in the above-described embodiment are used for processing units and steps that are the same as those in the above-described embodiment, and the description will be simplified.
In the seventh embodiment, N, K, and R are integers of 2 or more, K ≦ N, and G is a certain set. A specific example of the set G of the present embodiment is the same as the set G described in the first embodiment. K = N may be sufficient and K <N may be sufficient.

第8実施形態の秘密分散システムは、データ分散装置とデータ復元装置とN個のデータ記憶装置とN個の分散データ変換装置とを有する。
本形態のデータ分散装置は、K-1個の値v(k) (k=1,...,K-1)を選択し、rと値v(k)とに対応する値をz(r, v(k))とし、値fr(nr(K))を得る。ただし、同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なり、値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=z(r, v(k)) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式がfr(x)である。データ分散装置は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得、rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を得、r (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を得る。ただし、V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが分散値Vk,i(v(k))である。(K, N)閾値秘密分散法Urの例は、第4実施形態で説明した通りである。
The secret sharing system of the eighth embodiment has a data sharing device, a data restoration device, N data storage devices, and N distributed data conversion devices.
The data distribution apparatus of this embodiment selects K−1 values v (k) (k = 1,..., K−1), and sets values corresponding to r and value v (k) to z ( r, v (k)) and the value f r (n r (K)) is obtained. However, the values n r (0), n r (1), ..., n r (K) corresponding to the same r are different from each other, and the values n r (1), ..., n r (K- F r (n r (k)) = z (r, v (k)) (k = 1, ..., K-1) and f with respect to 1) and the value α r ∈G which is an element of the set G A K−1 order expression satisfying r (n r (0)) = α r is f r (x). The data distribution apparatus secretly distributes v (k) (k = 1, ..., K-1) according to the (K, N) threshold secret distribution method V k and N distributed values V for each k. k, i (v (k)) (i = 1, ..., N), and for each of r , the value f r (n r (K) according to the (K, N) threshold secret sharing scheme U r ) To obtain N distributed values U r, i (f r (n r (K))) (i = 1, ..., N) and r (r = 1, ..., N variance values T ir ) = (V r, 1, i (v (1)), ..., V r, K-1, i (v (K-1)) for each of R) ), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N). However, at least one of V 1, k, i (v (k)), ..., V R, k, i (v (k)) is the variance value V k, i (v (k)) . An example of the (K, N) threshold secret sharing method Ur is as described in the fourth embodiment.

本形態のデータ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得、r (r=1,...,R)のそれぞれについて、Fr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る。例えば、データ復元装置は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)から、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を復元し、r (r=1,...,R)のそれぞれについて、fr(nr(k))=z(r,v(k)) (k=1,...,K-1)とし、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る。 The data restoration apparatus according to the present embodiment is configured such that for each of r (r = 1,..., R), K dispersion values T λ corresponding to K different λ∈ {1,. From (α r ), values f r (n r (μ)) (μ = 1, ..., K corresponding to K different n r (μ) (μ = 1, ..., K) ) And for each of r (r = 1, ..., R), F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) A function value F r (n r (0)) = α r of the K−1 linear expression F r (x) that satisfies is obtained. For example, the data restoration apparatus, for each of r (r = 1,..., R), has a variance value T λr ) corresponding to K different λ∈ {1,. From the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1) and r (r = 1 , ..., R) for each of f r (n r (k)) = z (r, v (k)) (k = 1, ..., K-1), and K different from each other n r (μ) (μ = 1, ..., K) values corresponding to f r (n r (μ) ) (μ = 1, ..., K) obtained.

本形態の1,...,K-1番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値z(r, v(κ) (κ∈{1,...,K-1})を得る。本形態のK番目の分散データ変換装置は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から、変換分散値fr(nr(K)) (r=1,...,R)を得る。本形態のK+1,...,N番目の分散データ変換装置は、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N})を得る。ただし、Fr(x)は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=z(r,v(k)) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式である。このように得られる変換分散値は、秘密計算の入力値として用いられる。 The first,..., K−1th distributed data conversion apparatus of the present embodiment has a distributed value T λr ) (λ∈ corresponding to K different λ∈ {1,..., N}. V (κ) (κ∈ {1, ..., K-1}) is restored from V κ, λ (v (κ)) included in {1, ..., N}), and r (r = 1, ..., R), the transformation variance z (r, v (κ) (κ∈ {1, ..., K-1}) is obtained from v (κ). The K-th distributed data converter has U r, λ (f r (n r (K (K)) included in the distributed values T λr ) corresponding to K different λ∈ {1, ..., N}. ))) To obtain the transformed variance value f r (n r (K)) (r = 1,..., R) The K + 1,. F r (n r (η)) (η∈ {K + 1, ..., N} corresponding to n r (η) different from n r (μ) (μ = 1, ..., K) Where F r (x) is the variance T λr ) (λ∈ {1, ..., N) corresponding to K different λ∈ {1, ..., N}. N}) included in V k, λ (v (k)), f r (n r (k)) = z (r, v (k)) (r = 1, ..., R, k = 1, ..., K-1) and K different λ∈ {1, ..., N} Corresponding variance T λ r) comprises U r, λ (f r ( n r (K))) variances values are restored from f r (n r (K) ) (r = 1, .. Fr (n r (μ)) = f r (n r (μ)) for f r (n r (μ)) (μ = 1, ..., K) K−1 linear expression satisfying (μ = 1,..., K) The transform dispersion value obtained in this way is used as an input value for secret calculation.

本形態において好ましくは、分散値Ur,i(fr(nr(K)))のデータ量は、集合Gの要素のデータ量よりも小さい。本形態において好ましくは、分散値Vr,k,i(v(k))それぞれのデータ量は、集合Gの要素のデータ量よりも小さい。本形態においてより好ましくは、値v(k)それぞれのデータ量は、集合Gの要素(1個の要素)のデータ量よりも小さい。さらにより好ましくは、値v(m)それぞれのデータ量は集合Gの要素のデータ量に対して無視できる程度の大きさである(例えば、(v(m)それぞれのデータ量)/(集合Gの要素のデータ量)≦80/106)。 Preferably, in this embodiment, the data amount of the variance value U r, i (f r (n r (K))) is smaller than the data amount of the elements of the set G. Preferably, in this embodiment, the data amount of each of the variance values V r, k, i (v (k)) is smaller than the data amount of the elements of the set G. More preferably in this embodiment, the data amount of each value v (k) is smaller than the data amount of the elements (one element) of the set G. Even more preferably, the data amount of each value v (m) is negligible with respect to the data amount of the elements of the set G (for example, (data amount of each of v (m)) / (set G The amount of data in the element) ≤ 80/10 6 ).

<構成>
図6に例示するように、第8実施形態の秘密分散システム8は、第4実施形態の秘密分散システム4のデータ分散装置410、N個の分散データ変換装置440−i(i=1,...,N)及びデータ復元装置430が、データ分散装置810、N個の分散データ変換装置840−i(i=1,...,N)及びデータ復元装置830にそれぞれ置換されたものである。
<Configuration>
As illustrated in FIG. 6, the secret sharing system 8 of the eighth embodiment includes a data distribution device 410 and N distributed data conversion devices 440-i (i = 1,...) Of the secret distribution system 4 of the fourth embodiment. .., N) and the data restoration device 430 are replaced with a data distribution device 810, N distributed data conversion devices 840-i (i = 1,..., N) and a data restoration device 830, respectively. is there.

図22に例示するように、本形態のデータ分散装置710は、入力部111、出力部112、メモリ113、制御部314、選択部115、分割部211、計算部716、内部分散部318,719、及び分散値生成部717を有する。本形態のデータ分散装置710は、制御部714の制御のもとで各処理を実行する。   As illustrated in FIG. 22, the data distribution apparatus 710 of this embodiment includes an input unit 111, an output unit 112, a memory 113, a control unit 314, a selection unit 115, a division unit 211, a calculation unit 716, and internal distribution units 318 and 719. And a variance value generation unit 717. The data distribution apparatus 710 of this embodiment executes each process under the control of the control unit 714.

図8に例示するように、本形態のデータ復元装置830は、入力部131、出力部132、メモリ133、制御部834、変換部835、復元部836、及び結合部237を有する。変換部835は、内部復元部835a,835bを有する。本形態のデータ復元装置830は、制御部834の制御のもとで各処理を実行する。   As illustrated in FIG. 8, the data restoration device 830 of this embodiment includes an input unit 131, an output unit 132, a memory 133, a control unit 834, a conversion unit 835, a restoration unit 836, and a combining unit 237. The conversion unit 835 includes internal restoration units 835a and 835b. The data restoration apparatus 830 of this embodiment executes each process under the control of the control unit 834.

図9Aに例示するように、本形態の分散データ変換装置840−κ (κ∈{1,...,K-1})は、入力部141−κ、出力部142−κ、メモリ143a−κ、記憶部143b−κ、制御部844−κ、内部復元部845−κ、及び変換分散値生成部846−κを有する。図9Bに例示するように、本形態の分散データ変換装置840−Kは、入力部141−K、出力部142−K、メモリ143a−K、記憶部143b−K、制御部844−K、及び変換分散値生成部446−Kを有する。図10に例示するように、本形態の分散データ変換装置840−η(η∈{K+1,...,N})は、入力部141−η、出力部142−η、メモリ143a−η、記憶部143b−η、制御部844−η、及び変換分散値生成部846−ηを有する。本形態の分散データ変換装置440−λは、制御部440−λの制御のもとで各処理を実行する。   As illustrated in FIG. 9A, the distributed data conversion apparatus 840-κ (κε {1,..., K-1}) of this embodiment includes an input unit 141-κ, an output unit 142-κ, and a memory 143a-. κ, a storage unit 143b-κ, a control unit 844-κ, an internal restoration unit 845-κ, and a transform variance value generation unit 847-κ. As illustrated in FIG. 9B, the distributed data conversion apparatus 840-K according to the present embodiment includes an input unit 141-K, an output unit 142-K, a memory 143a-K, a storage unit 143b-K, a control unit 844-K, and A conversion variance value generation unit 446-K is included. As illustrated in FIG. 10, the distributed data conversion apparatus 840-η (ηε {K + 1,..., N}) of this embodiment includes an input unit 141-η, an output unit 142-η, and a memory 143a-. η, a storage unit 143b-η, a control unit 844-η, and a transform variance value generation unit 847-η. The distributed data conversion apparatus 440-λ according to this embodiment executes each process under the control of the control unit 440-λ.

<データ分散処理>
図25に例示するように、データ分散装置810(図22)の入力部111に秘密分散される値αが入力される(ステップS111)。値αは分割部211に入力される。分割部211は、値αを集合Gの要素であるR個の値αr ∈G (r=1,...,R)に分割し、R個の値αr (r=1,...,R)を出力する(ステップS211)。選択部115は、K-1個の値v(k) (k=1,...,K-1)を選択し、値v(k) (k=1,...,K-1)を出力する(ステップS112)。
<Data distribution processing>
As illustrated in FIG. 25, a secret value α is input to the input unit 111 of the data distribution device 810 (FIG. 22) (step S111). The value α is input to the dividing unit 211. Dividing unit 211, R number of values alpha r ∈G value alpha is an element of the set G (r = 1, ..., R) is divided into, R number of values α r (r = 1, .. ., R) is output (step S211). The selection unit 115 selects K-1 values v (k) (k = 1, ..., K-1) and selects values v (k) (k = 1, ..., K-1). Is output (step S112).

分割部211から出力された個の値αr (r=1,...,R)と選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)とは計算部816に入力される。計算部816は、これらを用いて値fr(nr(K)) (r=1,...,R)を生成し、得られた値fr(nr(K)) (r=1,...,R)を出力する。ただし、fr(x)は値nr(1),...,nr(K-1)と集合Gの要素である値αr∈Gとについてfr(nr(k))=z(r, v(k))及びfr(nr(0))=αrを満たすK-1次式である。同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なる(ステップS814)。 The values α r (r = 1,..., R) output from the dividing unit 211 and the K−1 values v (k) (k = 1,. K-1) is input to the calculation unit 816. The calculation unit 816 generates values f r (n r (K)) (r = 1,..., R) using these, and the obtained values f r (n r (K)) (r = 1, ..., R) is output. However, f r (x) is the value n r (1), ..., n r (K-1) and an element of the set G value alpha r ∈G and for f r (n r (k) ) = It is a K−1 order equation satisfying z (r, v (k)) and f r (n r (0)) = α r . The values n r (0), n r (1),..., N r (K) corresponding to the same r are different from each other (step S814).

選択部115から出力されたK-1個の値v(k) (k=1,...,K-1)は内部分散部318に入力され、計算部816から出力された値fr(nr(K)) (r=1,...,R)は内部分散部819に入力される。内部分散部318は、(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)のそれぞれを秘密分散し、kのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を生成し、分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)を出力する(ステップS815)。内部分散部819は、rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を生成し、分散値Ur,i(fr(nr(K))) (i=1,...,N, r=1,...,R)を出力する(ステップS816)。 The K−1 values v (k) (k = 1,..., K−1) output from the selection unit 115 are input to the internal distribution unit 318 and the values f r ( n r (K)) (r = 1,..., R) is input to the internal dispersion unit 819. The internal distribution unit 318 performs secret sharing for each of v (k) (k = 1,..., K−1) according to the (K, N) threshold secret sharing method V k , Generate variance value V k, i (v (k)) (i = 1, ..., N) and distribute value V k, i (v (k)) (i = 1, ..., N, k = 1,..., K-1) are output (step S815). The internal distribution unit 819 secretly distributes the value f r (n r (K)) for each of r according to the (K, N) threshold value secret distribution method U r , and N distributed values U r, i (f r (n r (K))) (i = 1, ..., N) and the variance U r, i (f r (n r (K))) (i = 1, ..., N, r = 1,..., R) are output (step S816).

分散値Vk,i(v(k)) (i=1,...,N, k=1,...,K-1)及び分散値Ur,i(fr(nr(K))) (i=1,...,N)は、分散値生成部817に入力される。分散値生成部817は、これらを用いてr (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を生成し、R×N個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を出力する(ステップS817)。ただし、V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが分散値Vk,i(v(k))である。 Variance V k, i (v (k)) (i = 1, ..., N, k = 1, ..., K-1) and variance U r, i (f r (n r (K ))) (i = 1,..., N) are input to the variance value generation unit 817. The variance value generation unit 817 uses these to calculate N variance values T ir ) = (V r, 1, i (v (1)) for each of r (r = 1,..., R). ), ..., V r, K-1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) and R × N variances T ir ) = (V r, 1, i (v (1)), ..., V r, K -1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) Is output (step S817). However, at least one of V 1, k, i (v (k)), ..., V R, k, i (v (k)) is the variance value V k, i (v (k)) .

R×N個の分散値Tir) (i=1,...,N, r=1,...,R)は出力部112に入力され、出力部112はN個の分散値Tir) (i=1,...,N, r=1,...,R)を出力する(ステップS818)。出力された分散値Tir) (i=1,...,N, r=1,...,R)のそれぞれは、データ記憶装置420−i(i=1,...,N)のそれぞれに提供される。データ記憶装置420−λに提供された分散値Tλr) (r=1,...,R)は入力部121−λに入力され、記憶部123b−λに格納される。 R × N variance values T ir ) (i = 1, ..., N, r = 1, ..., R) are input to the output unit 112, and the output unit 112 has N variances. The values T ir ) (i = 1,..., N, r = 1,..., R) are output (step S818). Each of the output variance values T ir ) (i = 1,..., N, r = 1,..., R) corresponds to the data storage device 420-i (i = 1,. ), N). The dispersion value T λr ) (r = 1,..., R) provided to the data storage device 420-λ is input to the input unit 121-λ and stored in the storage unit 123b-λ.

<分散データ変換処理>
図24B,図15B,15Cを用い、分散データ変換装置840−λ(λ∈{1,...,N})が実行する分散データ変換処理を説明する。
[分散データ変換装置840−κ(κ∈{1,...,K-1})の処理(図24B)]
K個の互いに異なるλ∈{1,...,N}に対応するK個のデータ記憶装置420−λ(図7B)の出力部122−λから、記憶部123b−λに格納された分散値Tλr) (r=1,...,R)が含むVr,κ,λ(v(κ)) (r=1,...,R)が出力される。K個の互いに異なるλ∈{1,...,N}に対応するVr,κ,λ(v(κ)) (r=1,...,R)は、ネットワーク等を経由して、分散データ変換装置840−κ(κ∈{1,...,K-1})(図9A)の入力部141−κに入力され、記憶部143b−κに格納される(ステップS841−κ)。
<Distributed data conversion processing>
The distributed data conversion process executed by the distributed data conversion device 840-λ (λε {1,..., N}) will be described with reference to FIGS. 24B, 15B, and 15C.
[Processing of Distributed Data Conversion Device 840-κ (κε {1,..., K-1}) (FIG. 24B)]
The distribution stored in the storage unit 123b-λ from the output unit 122-λ of the K data storage devices 420-λ (FIG. 7B) corresponding to K different λ∈ {1,. V r, κ, λ (v (κ)) (r = 1,..., R) included in the value T λr ) (r = 1,..., R) is output. V r, κ, λ (v (κ)) (r = 1, ..., R) corresponding to K different λ∈ {1, ..., N} via a network etc. The distributed data converter 840-κ (κε {1,..., K-1}) (FIG. 9A) is input to the input unit 141-κ and stored in the storage unit 143b-κ (step S841-). κ).

内部復元部845−κは、記憶部143b−κに格納された、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N}, r=1,...,R)が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元し、得られたv(κ)を出力する(ステップS442−κ)。 The internal restoration unit 845-κ stores the variance T λr ) (λ∈ {1) corresponding to K different λ∈ {1,..., N} stored in the storage unit 143b-κ. , ..., N}, r = 1, ..., R) contains V κ, λ (v (κ)) and v (κ) (κ∈ {1, ..., K-1} ) And v (κ) obtained are output (step S442-κ).

v(κ)は変換分散値生成部846−κに入力される。変換分散値生成部846−κは、r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値z(r, v(κ) (κ∈{1,...,K-1})を計算し、当該変換分散値Sκr)=z(r, v(κ)) (r=1,...,R)を出力する。当該変換分散値Sκr) (r=1,...,R)は出力部142−κに入力され、出力部142−κは変換分散値Sκr) (r=1,...,R)を出力する(ステップS844−κ)。変換分散値Sκr) (r=1,...,R)は、ネットワーク等を経由して、対応するデータ記憶装置420−κ(図7B)に送信される。変換分散値Sκr) (r=1,...,R)は、データ記憶装置420−κの入力部121−κに入力され、記憶部123b−κに格納される。 v (κ) is input to the transformed variance generation unit 846-κ. For each of r (r = 1,..., R), the transformed variance value generator 846-κ converts the transformed variance value z (r, v (κ) (κ∈ {1,. ., K-1}) and outputs the transformation variance S κr ) = z (r, v (κ)) (r = 1, ..., R). S κr ) (r = 1,..., R) is input to the output unit 142 -κ, and the output unit 142 -κ outputs the transformed dispersion value S κr ) (r = 1,. , R) (step S844-κ) The transformed dispersion value S κr ) (r = 1,..., R) is sent via the network or the like to the corresponding data storage device 420-κ. The transformed dispersion value S κr ) (r = 1,..., R) is input to the input unit 121-κ of the data storage device 420-κ and stored in the storage unit 123b. -Stored in κ.

[分散データ変換装置840−Kの処理(図15B)]
図15Bに示すように、分散データ変換装置840−Kは、変換分散値生成部446−Kを変換分散値生成部846−KとしたステップS441−K,S442−K,S443−Kの処理を実行する。
[Processing of Distributed Data Conversion Apparatus 840-K (FIG. 15B)]
As illustrated in FIG. 15B, the distributed data conversion apparatus 840-K performs the processes of steps S441-K, S442-K, and S443-K, in which the converted variance value generation unit 446-K is converted into the conversion variance value generation unit 844-K. Run.

[分散データ変換装置840−η(η∈{K+1,...,N})の処理(図15C)]
分散データ変換装置840−η (η∈{K+1,...,N})(図10)の変換分散値生成部846−ηは、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N}, r=1,...,R)を生成し、当該Fr(nr(η)) (η∈{K+1,...,N}, r=1,...,R)を変換分散値Sηr)=Fr(nr(η)) (r=1,...,R)として出力する。ただし、Fr(x)は、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=z(r,v(k)) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式である。例えば、前述のステップS441−η〜S444−ηでの「fr(nr(κ))=P(z(r,v(κ)))」を「fr(nr(κ))=z(r,v(κ))」に置換した処理(ステップS841−η〜S844−η)によって分散値Sηr)=Fr(nr(η))が生成される
[Processing of Distributed Data Conversion Apparatus 840-η (η∈ {K + 1,..., N}) (FIG. 15C)]
The transform variance value generation unit 847-η of the distributed data converter 840-η (η∈ {K + 1,..., N}) (FIG. 10) has n r (μ) (μ = 1,. , (F r (n r corresponding to η) (η) K) different from n r) (η∈ {K + 1, ..., n}, r = 1, ..., R) to generate a , F r (n r (η)) (η∈ {K + 1, ..., N}, r = 1, ..., R) is transformed into the transformation variance S ηr ) = F r ( n r (η)) (r = 1, ..., R) However, F r (x) has a variance value T λr ) (λ∈ {1, ..., N}) corresponding to K different λ∈ {1, ..., N}. F r (n r (k)) = z (r, v (k)) (r = 1, ..., obtained from v (k) restored from V k, λ (v (k)) R, k = 1, ..., K-1) and U r, λ (included by variance values T λr ) corresponding to K different λ∈ {1, ..., N}. f r (n r (K) )) variances values are restored from f r (n r (K) ) (r = 1, ..., consisting of a R), f r (n r (μ)) K-1 order satisfying F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) for (μ = 1, ..., K) It is a formula. For example, “f r (n r (κ)) = P (z (r, v (κ)))” in steps S441-η to S444-η described above is changed to “f r (n r (κ)) = The dispersion value S ηr ) = F r (n r (η)) is generated by the processing (steps S841-η to S844-η) replaced with “z (r, v (κ))”.

<分散値提供・秘密計算>
K個の互いに異なるλ∈{1,...,N}に対応するデータ記憶装置420−λ(図7B)は、記憶部123b−λに格納された分散値Tλr) (r=1,...,R)を出力するか、又は、秘密計算部427−λで秘密計算を行ってその結果を表す分散値Eλ,r(r=1,...,R)を出力する。これらはネットワーク等を経由してデータ復元装置830に送られる。
<データ復元処理>
図16に例示するように、データ復元装置830(図8)の入力部131には、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)又は分散値Eλ,rが入力される(ステップS831)。制御部134は、K個の分散値Tλr)が入力されたか、K個の分散値Eλ,rが入力されたかを判定する(ステップS832)。
<Distributed value provision / secret calculation>
The data storage devices 420-λ (FIG. 7B) corresponding to K different λ∈ {1,..., N} are distributed values T λr ) (r = 1,..., R), or the secret calculation unit 427-λ performs the secret calculation and the variance value E λ, r (r = 1,. Output. These are sent to the data restoration device 830 via a network or the like.
<Data restoration processing>
As illustrated in FIG. 16, the input unit 131 of the data restoration device 830 (FIG. 8) has variance values T λr ) corresponding to K different λ∈ {1,..., N}. Alternatively, the variance value E λ, r is input (step S831). The control unit 134 determines whether K variance values T λr ) or K variance values E λ, r have been input (step S832).

ステップS832で、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr) (r=1,...,R)が入力されたと判定された場合、これら分散値Tλr) (r=1,...,R)が変換部835に入力される。変換部835は、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る。まず、変換部835の内部復元部835aが、r (r=1,...,R)のそれぞれについて、K個の互いに異なるλ∈{1,...,N}に対応する分散値Tλr)から、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を復元し、値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)を出力する。 When it is determined in step S832 that variance values T λr ) (r = 1,..., R) corresponding to K different λ∈ {1,. These dispersion values T λr ) (r = 1,..., R) are input to the conversion unit 835. For each of r (r = 1,..., R), the conversion unit 835 has K variance values T λr corresponding to K different λ∈ {1,..., N}. ) To obtain values f r (n r (μ)) (μ = 1, ..., K) corresponding to K different n r (μ) (μ = 1, ..., K). . First, the internal restoration unit 835a of the conversion unit 835 has a variance value T corresponding to K different λ∈ {1,..., N} for each of r (r = 1,..., R). Restore the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1) from λr ), Output the values f r (n r (K)) (r = 1, ..., R) and v (k) (k = 1, ..., K-1).

値fr(nr(K)) (r=1,...,R)及びv(k) (k=1,...,K-1)は座標復元部835bに入力される。座標復元部835bは、r (r=1,...,R)のそれぞれについてfr(nr(k))=z(r,v(k))とする。座標復元部835bは、それらと入力された値fr(nr(K)) (r=1,...,R)からなる値fr(nr(μ)) (μ=1,...,K, r=1,...,R)を出力する(ステップS834)。 The values f r (n r (K)) (r = 1,..., R) and v (k) (k = 1,..., K−1) are input to the coordinate restoration unit 835b. The coordinate restoration unit 835b sets f r (n r (k)) = z (r, v (k)) for each of r (r = 1,..., R). The coordinate restoration unit 835b has values f r (n r (μ)) (μ = 1,...) Composed of the values f r (n r (K)) (r = 1,..., R) inputted thereto. ., K, r = 1,..., R) are output (step S834).

値fr(nr(μ)) (μ=1,...,K, r=1,...,R)は復元部836に入力される。復元部836は、r (r=1,...,R)のそれぞれについて、これらの値fr(nr(μ)) (μ=1,...,K, r=1,...,R)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを生成し、それによって得られた値αrを出力する(ステップS835)。値αr (r=0,...,R-1)は結合部237に入力される。結合部237は、R個の値αr(r=0,...,R-1)を結合して値α∈Gを生成し、当該値αを出力する(ステップS235)。値αは出力部132に入力され、そこから出力される(ステップS135)。 The values f r (n r (μ)) (μ = 1,..., K, r = 1,..., R) are input to the restoration unit 836. For each of r (r = 1, ..., R), the restoration unit 836 uses these values f r (n r (μ)) (μ = 1, ..., K, r = 1,... ., F against R) r (n r (μ ) in) = f r (n r ( μ)) (μ = 1, ..., satisfy K) K-1 linear equation F r (x) The function value F r (n r (0)) = α r is generated, and the value α r obtained thereby is output (step S835). The values α r (r = 0,..., R−1) are input to the coupling unit 237. The combining unit 237 combines the R values α r (r = 0,..., R−1) to generate a value αεG, and outputs the value α (step S235). The value α is input to and output from the output unit 132 (step S135).

一方、ステップS832で、分散値Eλ, rが入力されたと判定された場合、復元部836で、第2実施形態で説明したステップS236,S237,S137の処理が実行される。 On the other hand, if it is determined in step S832 that the variance value E λ, r has been input, the restoration unit 836 performs the processing of steps S236, S237, and S137 described in the second embodiment.

<本形態の特徴>
本形態では従来の秘密分散方式に比べ、分散値のデータ量を大幅に削減することができる。さらに同一の値v(k)を複数の値αr (r=0,...,R-1)の秘密分散に流用することで分散値のデータ量をさらに削減できる。さらに、分散データ変換装置での分散データ変換処理により、データ分散装置で得られた分散値からもとの値αrを復元することなく、秘密計算の入力とすることが可能な変換分散値を生成し、秘密計算を実行することもできる。第4実施形態と同様、本形態でも分散値生成部がTir)に加え、n(i),i,rその他の付加情報を分散値として出力してもよい。
<Features of this embodiment>
In this embodiment, compared to the conventional secret sharing scheme, the data amount of the distributed value can be greatly reduced. Further, by diverting the same value v (k) to secret sharing of a plurality of values α r (r = 0,..., R−1), the data amount of the distributed value can be further reduced. Further, the distributed data conversion processing in the distributed data conversion device can be used to obtain a converted distributed value that can be used as an input for the secret calculation without restoring the original value α r from the distributed value obtained by the data distribution device. It can also generate and perform secret computations. Similarly to the fourth embodiment, in this embodiment, the variance value generation unit may output n (i), i, r, and other additional information as variance values in addition to T ir ).

〔その他の変形例等〕
本発明は上述の実施の形態に限定されるものではない。例えば、第2,4,6,8実施形態では、値αを分割してR個の値αr(r=0,...,R-1)が生成されたが、値αがR個の値αrからなるデータであってもよい。例えば、値αが表データであり、αrが当該表データを構成する要素であってもよい。その他、R個の値αrが値αから分割されたものではなく、互いに独立したデータであってもよい。
[Other variations, etc.]
The present invention is not limited to the above-described embodiment. For example, in the second, fourth, sixth, and eighth embodiments, the value α is divided to generate R values α r (r = 0,..., R−1). May be data consisting of the value α r of . For example, the value α may be table data, and α r may be an element constituting the table data. In addition, the R values α r may not be divided from the value α, but may be independent data.

上述したように、データ分散装置が上述の実施形態の分散値に加え、さらに別の付加情報を出力してもよい。また、付加情報としてrが送信されるのではなく、送信されるビットストリーム中の分散値の位置並びに順序、又は、記憶領域中に格納された分散値のアドレスなどの情報にrを関連付け、これらの情報から分散値に対応するrが特定されてもよい。   As described above, the data distribution apparatus may output additional additional information in addition to the distribution value of the above-described embodiment. In addition, r is not transmitted as additional information, but r is associated with information such as the position and order of distributed values in the transmitted bit stream, or the address of the distributed value stored in the storage area. The r corresponding to the variance value may be specified from the information.

上述の実施形態で説明した装置の少なくとも一部の処理部が同一の装置に含まれていてもよい。例えば、データ分散装置とデータ復元装置とが同一のコンピュータを用いて構成されてもよい。また、上述の実施形態で説明した装置に含まれる一部の処理部が別の装置に含まれていてもよい。例えば、データ記憶装置の外部の秘密計算装置に秘密計算部が設けられ、秘密計算装置がデータ記憶装置から提供された変換分散値を用いて秘密計算を行ってもよい。また、装置Aから装置Bへ情報を提供するとは、装置Aから装置Bへ情報を送信することであってもよいし、装置Aから出力された情報を可搬型記録媒体に格納し、装置Bが当該可搬型記録媒体から当該情報を読み出すことであってもよい。上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。   At least a part of the processing units of the devices described in the above embodiments may be included in the same device. For example, the data distribution device and the data restoration device may be configured using the same computer. Further, some processing units included in the apparatus described in the above-described embodiment may be included in another apparatus. For example, a secret calculation unit may be provided in a secret calculation device outside the data storage device, and the secret calculation device may perform a secret calculation using a transformation distribution value provided from the data storage device. Providing information from device A to device B may be transmitting information from device A to device B, storing information output from device A in a portable recording medium, and device B Alternatively, the information may be read from the portable recording medium. The various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. Needless to say, other modifications are possible without departing from the spirit of the present invention.

上述の各装置は、例えば、CPU(central processing unit),RAM(random-access memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。これらの装置がコンピュータによって実現される場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。   Each of the above-described devices is a special device configured by loading a special program into a known or dedicated computer having a CPU (central processing unit), a RAM (random-access memory), and the like. When these devices are realized by a computer, processing contents of functions that each device should have are described by a program. By executing this program on a computer, the above processing functions are realized on the computer. The program describing the processing contents can be recorded on a computer-readable recording medium. An example of a computer-readable recording medium is a non-transitory recording medium. Examples of such a recording medium are a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, and the like.

プログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。   The program is distributed, for example, 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, this computer reads the program stored in its own recording device and executes the 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 addition, at least a part of the processing functions of the above-described devices may be configured by hardware.

1〜8 秘密分散システム
110〜810 データ分散装置
120〜820 データ記憶装置
130〜830 データ復元装置
140〜840 分散データ変換装置
1-8 Secret sharing system 110-810 Data distribution device 120-820 Data storage device 130-830 Data restoration device 140-840 Distributed data conversion device

Claims (25)

N, Kが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を前記集合Gの要素に移す写像であり
K-1個の値v(k) (k=1,...,K-1)を選択する選択部と、
K-1個の値a(k)=P(v(k))∈G (k=1,...,K-1)を得る第1変換部と、
n(0), n(1),...,n(K)が互いに異なる値であり、値n(1),...,n(K-1)と前記集合Gの要素である秘密分散対象の値α∈Gとについてf(n(k))=a(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)であり、値f(n(K))を得る計算部と、
(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得る第1内部分散部と、
(K, N)閾値秘密分散法Uに従って、前記値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を得る第2内部分散部と、
N個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を得る分散値生成部と、
を有し、
前記分散値T i (α)のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
N and K are integers of 2 or more, K ≦ N, G is a set, and P (x) is a mapping that transfers a value corresponding to x to an element of the set G
A selector for selecting K-1 values v (k) (k = 1, ..., K-1);
A first transformation unit for obtaining K-1 values a (k) = P (v (k)) ∈G (k = 1,..., K-1);
n (0), n (1), ..., n (K) are different from each other, and the values n (1), ..., n (K-1) and secrets that are elements of the set G K-1 order satisfying f (n (k)) = a (k) (k = 1, ..., K-1) and f (n (0)) = α for the value α∈G to be distributed A calculation unit having an expression f (x) and obtaining a value f (n (K));
According to the (K, N) threshold secret sharing method V k , v (k) (k = 1, ..., K-1) is secretly distributed and N distributed values V k, i (v (k)) a first internal dispersion that obtains (i = 1, ..., N);
According to the (K, N) threshold secret sharing method U, the value f (n (K)) is secret-shared to obtain N distributed values U i (f (n (K))) (i = 1, ... , N), a second internal dispersion part,
N variances T i (α) = (V 1, i (v (1)), ..., V K-1, i (v (K-1)), U i (f (n (K )))) Variance generator to obtain (i = 1, ..., N),
I have a,
The data distribution apparatus , wherein the data amount of the variance value T i (α) is smaller than the data amount of the elements of the set G.
請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る第2変換部と、
F(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを得る復元部と、
を有するデータ復元装置。
From K dispersion values T λ (α) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus according to claim 1, K different n (μ ) a second conversion unit for obtaining K values f (n (μ)) (μ = 1, ..., K) corresponding to (μ = 1, ..., K);
F (n (μ)) = f (n (μ)) (μ = 1, ..., K) satisfying the function value F (n (0)) = α A recovery unit to obtain,
A data restoration apparatus having
請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλ(α) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元する第2内部復元部と、
v(κ)から変換分散値P(v(κ)) (κ∈{1,...,K-1})を得る第1変換分散値生成部と、
を有する分散データ変換装置。
The K distribution values T λ (α) (λ∈ {1,... Corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus of claim 1. , N}) includes a second internal restoration unit that restores v (κ) (κ∈ {1, ..., K-1}) from V κ, λ (v (κ)).
a first transform variance value generation unit that obtains a transform variance value P (v (κ)) (κ∈ {1,..., K-1}) from v (κ);
A distributed data conversion apparatus.
請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλ(α)が含むK個のUλ(f(n(K)))から、変換分散値f(n(K))を得る第2変換分散値生成部を有する分散データ変換装置をさらに有する、分散データ変換装置。 The K U λ (f included in the K dispersion values T λ (α) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus according to claim 1. A distributed data conversion apparatus further comprising a distributed data conversion apparatus having a second conversion distribution value generation unit that obtains a conversion distribution value f (n (K)) from (n (K))). 請求項1のデータ分散装置で得られた、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=P(v(k)) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式がF(x)であり、n(μ) (μ=1,...,K)と異なるn(η)に対応するF(n(η)) (η∈{K+1,...,N})を得る第3変換分散値生成部を有する分散データ変換装置。 V () restored from K V k, λ (v (k)) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus of claim 1. f (n (k)) = P (v (k)) (k = 1, ..., K-1) obtained from k) and K different λ∈ {1, ..., N }, F (n (μ)) (μ = 1, ..., K consisting of f (n (K)) restored from K U λ (f (n (K))) corresponding to ) For F (n (μ)) = f (n (μ)) (μ = 1, ..., K) is F (x) and n (μ) ( μ = 1, ..., K) and a third transformation variance generator for obtaining F (n (η)) (η∈ {K + 1, ..., N}) corresponding to n (η) different from A distributed data conversion apparatus. N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合であり、P(x)がxに対応する値を前記集合Gの要素に移す写像であり
K-1個の値v(k) (k=1,...,K-1)を選択する選択部と、
rと値v(k)とに対応する値をz(r, v(k))とし、rのそれぞれに対してK-1個の値ar(k)=P(z(r, v(k))) (r=1,...,R, k=1,...,K-1)を得る第1変換部と、
同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なり、値nr(1),...,nr(K-1)と前記集合Gの要素である秘密分散対象の値αr∈Gとについてfr(nr(k))=ar(k) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式がfr(x)であり、値fr(nr(K))を得る計算部と、
(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得る第1内部分散部と、
rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、前記値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を得る第2内部分散部と、
V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが前記分散値Vk,i(v(k))であり、r (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を得る分散値生成部と、
を有し、
前記分散値T i r )のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
N, K, and R are integers greater than or equal to 2, K ≦ N, G is a set, and P (x) is a mapping that moves a value corresponding to x to an element of the set G
A selector for selecting K-1 values v (k) (k = 1, ..., K-1);
Let z (r, v (k)) be the value corresponding to r and the value v (k), and K-1 values a r (k) = P (z (r, v ( k))) a first conversion unit for obtaining (r = 1, ..., R, k = 1, ..., K-1);
The values n r (0), n r (1), ..., n r (K) corresponding to the same r are different from each other, and the values n r (1), ..., n r (K-1) F r (n r (k)) = a r (k) (k = 1, ..., K-1) and f r for the secret sharing target value α r ∈G which is an element of the set G A calculation unit that obtains a value f r (n r (K)), where K−1 linear expression satisfying (n r (0)) = α r is f r (x),
According to the (K, N) threshold secret sharing method V k , v (k) (k = 1, ..., K-1) is secretly distributed and N distributed values V k, i (v (k)) a first internal dispersion that obtains (i = 1, ..., N);
For each of r, according to the (K, N) threshold secret sharing scheme U r , the value f r (n r (K)) is secretly distributed to obtain N distributed values U r, i (f r (n r ( K))) A second internal dispersion unit that obtains (i = 1, ..., N);
V 1, k, i (v (k)), ..., V R, k, i (v (k)) is at least the variance value V k, i (v (k)), For each of r (r = 1, ..., R), N variance values T ir ) = (V r, 1, i (v (1)), ..., V r, K- 1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) A dispersion value generator to obtain,
I have a,
The data distribution apparatus , wherein the data amount of the variance value T i r ) is smaller than the data amount of the elements of the set G.
r (r=1,...,R)のそれぞれについて、請求項のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る第2変換部と、
r (r=1,...,R)のそれぞれについて、Fr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る復元部と、
を有するデータ復元装置。
For each of r (r = 1, ..., R), K said corresponding to K different λ∈ {1, ..., N} obtained by the data distribution apparatus of claim 6. From the variance T λr ), values f r (n r (μ)) (μ = 1,...) Corresponding to K different n r (μ) (μ = 1, ..., K). ., K), a second conversion unit
For each r (r = 1, ..., R), K- satisfies F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) A restoration unit for obtaining a function value F r (n r (0)) = α r of the linear expression F r (x);
A data restoration apparatus having
請求項6のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元する第2内部復元部と、
r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値P(z(r, v(κ)) (κ∈{1,...,K-1})を得る第1変換分散値生成部と、
を有する分散データ変換装置。
The distributed values T λr ) (λε {1, ..., N) corresponding to K different λε {1, ..., N} obtained by the data distribution apparatus according to claim 6. }) Included in V κ, λ (v (κ)), v (κ) (κ∈ {1, ..., K-1}) is restored,
For each of r (r = 1, ..., R), v (κ) to transform variance P (z (r, v (κ)) (κ∈ {1, ..., K-1}) A first transform variance value generation unit for obtaining
A distributed data conversion apparatus.
請求項6のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr)が含むUr,λ(fr(nr(K)))から、変換分散値fr(nr(K)) (r=1,...,R)を得る第2変換分散値生成部を有する分散データ変換装置。 U r, λ (f r (n) included in the distributed values T λr ) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus of claim 6. r (K))), a distributed data conversion device having a second conversion distribution value generation unit for obtaining a conversion distribution value f r (n r (K)) (r = 1,..., R). 請求項6のデータ分散装置で得られた、K個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=P(z(r,v(k))) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式がFr(x)であり、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N})を得る第3変換分散値生成部を有する分散データ変換装置。 The distribution value T λr ) (λ∈ {1,..., Corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus according to claim 6. N}) included in V k, λ (v (k)) and f r (n r (k)) = P (z (r, v (k))) (r = 1, ..., R, k = 1, ..., K-1) and the variance T λr corresponding to K different λ∈ {1, ..., N} ) Included in U r, λ (f r (n r (K))), and f is composed of f r (n r (K)) (r = 1, ..., R), f r (n r (μ)) (μ = 1, ..., K) vs F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K-1 linear equation that satisfies K) is F r (x), n r (μ) (μ = 1, ..., corresponding to K) different from n r (η) F r ( n r ( η)) A distributed data conversion apparatus having a third conversion distribution value generation unit for obtaining (η∈ {K + 1,..., N}). N, Kが2以上の整数であり、K≦Nであり、Gが或る集合であり、
K-1個の値v(k) (k=1,...,K-1)を選択する選択部と、
n(0), n(1),...,n(K)が互いに異なる値であり、値n(1),...,n(K-1)と前記集合Gの要素である秘密分散対象の値αとについてf(n(k))=v(k) (k=1,...,K-1)及びf(n(0))=αを満たすK-1次式がf(x)であり、値f(n(K))を得る計算部と、
(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得る第1内部分散部と、
(K, N)閾値秘密分散法Uに従って、前記値f(n(K))を秘密分散してN個の分散値Ui(f(n(K))) (i=1,...,N)を得る第2内部分散部と、
N個の分散値Ti(α)=(V1,i(v(1)),...,VK-1,i(v(K-1)), Ui(f(n(K)))) (i=1,...,N)を得る分散値生成部と、
を有し、
前記分散値T i (α)のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
N and K are integers greater than or equal to 2, K ≦ N, G is a set,
A selector for selecting K-1 values v (k) (k = 1, ..., K-1);
n (0), n (1), ..., n (K) are different from each other, and the values n (1), ..., n (K-1) and secrets that are elements of the set G For the value α to be distributed , a K-1 order equation satisfying f (n (k)) = v (k) (k = 1, ..., K-1) and f (n (0)) = α is obtained. a calculation unit that obtains a value f (n (K)) that is f (x);
According to the (K, N) threshold secret sharing method V k , v (k) (k = 1, ..., K-1) is secretly distributed and N distributed values V k, i (v (k)) a first internal dispersion that obtains (i = 1, ..., N);
According to the (K, N) threshold secret sharing method U, the value f (n (K)) is secret-shared to obtain N distributed values U i (f (n (K))) (i = 1, ... , N), a second internal dispersion part,
N variances T i (α) = (V 1, i (v (1)), ..., V K-1, i (v (K-1)), U i (f (n (K )))) Variance generator to obtain (i = 1, ..., N),
Have
The data distribution apparatus , wherein the data amount of the variance value T i (α) is smaller than the data amount of the elements of the set G.
請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλ(α)から、K個の互いに異なるn(μ) (μ=1,...,K)に対応するK個の値f(n(μ)) (μ=1,...,K)を得る変換部と、
F(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式F(x)の関数値F(n(0))=αを得る復元部と、
を有するデータ復元装置。
Claim 1 1 data distribution device the K different λ∈ obtained in {1, ..., N} from the dispersion values of K corresponding to T λ (α), different the K mutually n a conversion unit for obtaining K values f (n (μ)) (μ = 1, ..., K) corresponding to (μ) (μ = 1, ..., K);
F (n (μ)) = f (n (μ)) (μ = 1, ..., K) satisfying the function value F (n (0)) = α A recovery unit to obtain,
A data restoration apparatus having
請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλ(α) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、変換分散値f(n(κ))=v(κ) (κ∈{1,...,K-1})を生成する第1変換分散値生成部を有する分散データ変換装置。 Claim 1 1 data distribution device the K different Ramuda∈ obtained in {1, ..., N} the dispersion values of K corresponding to T λ (α) (λ∈ { 1, .. ., N}) includes V κ, λ (v (κ)), and transform variance f (n (κ)) = v (κ) (κ∈ {1, ..., K-1}) A distributed data conversion apparatus having a first conversion distribution value generation unit for generating. 請求項1のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλ(α)が含むK個のUλ(f(n(K)))から、変換分散値f(n(K))を得る第2変換分散値生成部を有する分散データ変換装置。 Claim 1 1 data distribution device the K different λ∈ obtained in {1, ..., N} the dispersion values of K corresponding to T lambda (alpha) of K U lambda containing the ( A distributed data conversion apparatus having a second conversion distribution value generation unit that obtains a conversion distribution value f (n (K)) from f (n (K))). 請求項1のデータ分散装置で得られた、K個の互いに異なるλ∈{1,...,N}に対応するK個のVk,λ(v(k))から復元されるv(k)から得られるf(n(k))=v(k) (k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応するK個のUλ(f(n(K)))から復元されるf(n(K))とからなる、f(n(μ)) (μ=1,...,K)に対してF(n(μ))=f(n(μ)) (μ=1,...,K)を満たすK-1次式がF(x)であり、n(μ) (μ=1,...,K)と異なるn(η)に対応するF(n(η)) (η∈{K+1,...,N})を得る第3変換分散値生成部を有する分散データ変換装置。 Obtained in data distribution apparatus according to claim 1 1, different Ramuda∈ K-number of mutually {1, ..., N} K pieces of V k corresponding to and restored from λ (v (k)) v f (n (k)) = v (k) (k = 1, ..., K-1) obtained from (k) and K different λ∈ {1, ..., N} F (n (μ)) (μ = 1, ..., K) consisting of f (n (K)) restored from the corresponding K U λ (f (n (K))) On the other hand, the K-1 order equation satisfying F (n (μ)) = f (n (μ)) (μ = 1, ..., K) is F (x), and n (μ) (μ = 1, ..., K) having a third transform variance value generation unit for obtaining F (n (η)) (η∈ {K + 1, ..., N}) corresponding to n (η) different from Distributed data converter. N, K, Rが2以上の整数であり、K≦Nであり、Gが或る集合であり、
K-1個の値v(k) (k=1,...,K-1)を選択する選択部と、
同一のrに対応する値nr(0), nr(1),...,nr(K)が互いに異なり、rと値v(k)とに対応する値がz(r, v(k))であり、値nr(1),...,nr(K-1)と前記集合Gの要素である秘密分散対象の値αr∈Gとについてfr(nr(k))=z(r, v(k)) (k=1,...,K-1)及びfr(nr(0))=αrを満たすK-1次式がfr(x)であり、値fr(nr(K))を得る計算部と、
(K, N)閾値秘密分散法Vkに従って、v(k) (k=1,...,K-1)を秘密分散してkのそれぞれについてN個の分散値Vk,i(v(k)) (i=1,...,N)を得る第1内部分散部と、
rのそれぞれについて、(K, N)閾値秘密分散法Urに従って、前記値fr(nr(K))を秘密分散してN個の分散値Ur,i(fr(nr(K))) (i=1,...,N)を得る第2内部分散部と、
V1,k,i(v(k)),...,VR,k,i(v(k))の少なくとも何れかが前記分散値Vk,i(v(k))であり、r (r=1,...,R)のそれぞれについてN個の分散値Tir)=(Vr,1,i(v(1)),...,Vr,K-1,i(v(K-1)), Ur,i(fr(nr(K)))) (r=1,...,R, i=1,...,N)を得る分散値生成部と、
を有し、
前記分散値T i r )のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
N, K, R are integers greater than or equal to 2, K ≦ N, G is a set,
A selector for selecting K-1 values v (k) (k = 1, ..., K-1);
The values n r (0), n r (1), ..., n r (K) corresponding to the same r are different from each other, and the values corresponding to r and the value v (k) are z (r, v (k)), and the value n r (1), ..., n r (K-1) and the secret sharing target value α r ∈G that is an element of the set G are f r (n r ( k)) = z (r, v (k)) (k = 1, ..., K-1) and f r (n r (0) ) = α satisfy r K-1 linear equation is f r ( x) and a calculation unit for obtaining the value f r (n r (K)),
According to the (K, N) threshold secret sharing method V k , v (k) (k = 1, ..., K-1) is secretly distributed and N distributed values V k, i (v (k)) a first internal dispersion that obtains (i = 1, ..., N);
For each of r, according to the (K, N) threshold secret sharing scheme U r , the value f r (n r (K)) is secretly distributed to obtain N distributed values U r, i (f r (n r ( K))) A second internal dispersion unit that obtains (i = 1, ..., N);
V 1, k, i (v (k)), ..., V R, k, i (v (k)) is at least the variance value V k, i (v (k)), For each of r (r = 1, ..., R), N variance values T ir ) = (V r, 1, i (v (1)), ..., V r, K- 1, i (v (K-1)), U r, i (f r (n r (K)))) (r = 1, ..., R, i = 1, ..., N) A dispersion value generator to obtain,
Have
The data distribution apparatus , wherein the data amount of the variance value T i r ) is smaller than the data amount of the elements of the set G.
r (r=1,...,R)のそれぞれについて、請求項16のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応するK個の前記分散値Tλr)から、K個の互いに異なるnr(μ) (μ=1,...,K)に対応する値fr(nr(μ)) (μ=1,...,K)を得る変換部と、
r (r=1,...,R)のそれぞれについて、Fr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式Fr(x)の関数値Fr(nr(0))=αrを得る復元部と、
を有するデータ復元装置。
For each of r (r = 1, ..., R), K said corresponding to K different λ∈ {1, ..., N} obtained by the data distribution apparatus of claim 16. From the variance T λr ), values f r (n r (μ)) (μ = 1,...) Corresponding to K different n r (μ) (μ = 1, ..., K). .., K), and
For each r (r = 1, ..., R), K- satisfies F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) A restoration unit for obtaining a function value F r (n r (0)) = α r of the linear expression F r (x);
A data restoration apparatus having
請求項16のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr) (λ∈{1,...,N})が含むVκ,λ(v(κ))から、v(κ) (κ∈{1,...,K-1})を復元する第2内部復元部と、
r (r=1,...,R)のそれぞれについて、v(κ)から変換分散値z(r, v(κ)) (κ∈{1,...,K-1})を得る第1変換分散値生成部と、
を有する分散データ変換装置。
17. The distributed values T λr ) (λ∈ {1,..., N) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus of claim 16. }) Included in V κ, λ (v (κ)), v (κ) (κ∈ {1, ..., K-1}) is restored,
For each of r (r = 1, ..., R), get the transform variance z (r, v (κ)) (κ∈ {1, ..., K-1}) from v (κ) A first transformed variance generation unit;
A distributed data conversion apparatus.
請求項16のデータ分散装置で得られたK個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr)が含むUr,λ(fr(nr(K)))から、変換分散値fr(nr(K)) (r=1,...,R)を得る第2変換分散値生成部を有する分散データ変換装置。 The distribution value T λr ) corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus of claim 16 includes U r, λ (f r (n r (K))), a distributed data conversion device having a second conversion distribution value generation unit for obtaining a conversion distribution value f r (n r (K)) (r = 1,..., R). 請求項16のデータ分散装置で得られた、K個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr) (λ∈{1,...,N})が含むVk,λ(v(k))から復元されるv(k)から得られるfr(nr(k))=z(r,v(k)) (r=1,...,R, k=1,...,K-1)と、K個の互いに異なるλ∈{1,...,N}に対応する前記分散値Tλr)が含むUr,λ(fr(nr(K)))から復元される変換分散値fr(nr(K)) (r=1,...,R)とからなる、fr(nr(μ)) (μ=1,...,K)に対してFr(nr(μ))=fr(nr(μ)) (μ=1,...,K)を満たすK-1次式がFr(x)であり、nr(μ) (μ=1,...,K)と異なるnr(η)に対応するFr(nr(η)) (η∈{K+1,...,N})を得る第3変換分散値生成部を有する分散データ変換装置。 17. The distribution values T λr ) (λ∈ {1,..., Corresponding to K different λ∈ {1,..., N} obtained by the data distribution apparatus according to claim 16 . N}) included in V k, λ (v (k)), f r (n r (k)) = z (r, v (k)) (r = 1, ..., R, k = 1, ..., K-1) and the dispersion values T λr ) corresponding to K different λ∈ {1, ..., N} U r, λ (f r ( n r (K))) variances values are restored from f r (n r (K) ) (r = 1, ..., R) consisting of a, f r (n r (μ)) (μ = 1, ..., K) and F r (n r (μ)) = f r (n r (μ)) (μ = 1, ..., K) K-1 linear equation satisfied by a F r (x), n r (μ) (μ = 1, ..., K) corresponding to different n r (η) F r ( n r (η)) A distributed data conversion apparatus including a third conversion distribution value generation unit that obtains (η∈ {K + 1,..., N}). 請求項1又は11のデータ分散装置であって、
前記分散値Ui(f(n(K)))のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
The data distribution apparatus according to claim 1 or 11 ,
The data distribution apparatus, wherein the data amount of the variance value U i (f (n (K))) is smaller than the data amount of the elements of the set G.
請求項1又は11のデータ分散装置であって、
前記分散値Vk,i(v(k)) (k=1,...,K-1)それぞれのデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
The data distribution apparatus according to claim 1 or 11 ,
A data distribution apparatus in which the data amount of each of the variance values V k, i (v (k)) (k = 1,..., K−1) is smaller than the data amount of the elements of the set G.
請求項6又は16のデータ分散装置であって、
前記分散値Ur,i(fr(nr(K)))のデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
The data distribution apparatus according to claim 6 or 16 , wherein
The data distribution apparatus, wherein the data amount of the variance value U r, i (f r (n r (K))) is smaller than the data amount of the elements of the set G.
請求項6又は16のデータ分散装置であって、
前記分散値Vr,k,i(v(k))それぞれのデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
The data distribution apparatus according to claim 6 or 16 , wherein
The data distribution device, wherein the data amount of each of the variance values V r, k, i (v (k)) is smaller than the data amount of the elements of the set G.
請求項1,6,11,16の何れかのデータ分散装置であって、
前記値v(k)の何れかのデータ量は、前記集合Gの要素のデータ量よりも小さい、データ分散装置。
The data distribution device according to any one of claims 1, 6, 11, and 16 , comprising:
The data distribution device, wherein the data amount of any one of the values v (k) is smaller than the data amount of the elements of the set G.
JP2012001078A 2012-01-06 2012-01-06 Data distribution device, distributed data conversion device, data restoration device Active JP5458116B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012001078A JP5458116B2 (en) 2012-01-06 2012-01-06 Data distribution device, distributed data conversion device, data restoration device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012001078A JP5458116B2 (en) 2012-01-06 2012-01-06 Data distribution device, distributed data conversion device, data restoration device

Publications (2)

Publication Number Publication Date
JP2013140310A JP2013140310A (en) 2013-07-18
JP5458116B2 true JP5458116B2 (en) 2014-04-02

Family

ID=49037775

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012001078A Active JP5458116B2 (en) 2012-01-06 2012-01-06 Data distribution device, distributed data conversion device, data restoration device

Country Status (1)

Country Link
JP (1) JP5458116B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6059160B2 (en) * 2014-01-16 2017-01-11 日本電信電話株式会社 Share conversion system, share conversion method, program
JP6059159B2 (en) * 2014-01-16 2017-01-11 日本電信電話株式会社 Share conversion system, share conversion method, program
JP6059161B2 (en) * 2014-01-16 2017-01-11 日本電信電話株式会社 Share conversion system, share conversion method, program
JP7027060B2 (en) * 2017-08-03 2022-03-01 株式会社日立製作所 Secret sharing system and its method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4292835B2 (en) * 2003-03-13 2009-07-08 沖電気工業株式会社 Secret reconstruction method, distributed secret reconstruction device, and secret reconstruction system
JP2007124610A (en) * 2005-09-20 2007-05-17 Nippon Telegr & Teleph Corp <Ntt> Confidential information distribution apparatus, confidential information restoration apparatus, method and program

Also Published As

Publication number Publication date
JP2013140310A (en) 2013-07-18

Similar Documents

Publication Publication Date Title
JP5885840B2 (en) Secret sharing system, data sharing device, distributed data conversion device, secret sharing method, and program
JP6009698B2 (en) Secret calculation method, secret calculation system, random replacement device, and program
US9438423B2 (en) Encryption device, encryption method, and information processing device
JP5826934B2 (en) Secret sharing system, data sharing device, distributed data conversion device, secret sharing method, and program
JP4786531B2 (en) Encryption system, encryption device, decryption device, program, and integrated circuit
EP2423904B1 (en) Secret sharing system, sharing apparatus, share management apparatus, acquisition apparatus, processing methods therefore, secret sharing method, program, and recording medium
JP6349841B2 (en) Ciphertext processing apparatus, ciphertext processing method, ciphertext processing program, and information processing apparatus
KR101608515B1 (en) Computation Method of encrypted data using Homomorphic Encryption and Public Key Encryption and Server using the same
JP5458116B2 (en) Data distribution device, distributed data conversion device, data restoration device
JP5944841B2 (en) Secret sharing system, data sharing device, distributed data holding device, secret sharing method, and program
JP5860557B1 (en) Secret disclosure method, secret disclosure system, secret disclosure device, and program
JP5732429B2 (en) Secret sharing system, data sharing device, data restoration device, secret sharing method, and program
JP2018093363A (en) Verification system, verification method, and verification program
Mansouri et al. Learning from failures: Secure and fault-tolerant aggregation for federated learning
JP5596616B2 (en) Information providing system, mediating apparatus, mediating method, information providing method, and program
US10116439B2 (en) Encrypted data computation system, device, and program
US11888977B2 (en) Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium
WO2020070973A1 (en) Decryption device, cryptosystem, decryption method, and decryption program
JP5683503B2 (en) Data distribution device, distributed data conversion device, and data restoration device
JP6059159B2 (en) Share conversion system, share conversion method, program
JP2019215391A (en) Decryption device, encryption device and encryption system
CN116601691A (en) Hidden information processing system and hidden information processing method
JP2019040047A (en) Computation system, computation method and computation program
JP2013105065A (en) Security system, encryption device, decryption device, re-encryption device, obfuscation device, method thereof, and program
Bezzateev et al. Continuous Authentication in a UAVs Swarm

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131015

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140110

R150 Certificate of patent or registration of utility model

Ref document number: 5458116

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350