JP5732429B2 - Secret sharing system, data sharing device, data restoration device, secret sharing method, and program - Google Patents

Secret sharing system, data sharing device, data restoration device, secret sharing method, and program Download PDF

Info

Publication number
JP5732429B2
JP5732429B2 JP2012114066A JP2012114066A JP5732429B2 JP 5732429 B2 JP5732429 B2 JP 5732429B2 JP 2012114066 A JP2012114066 A JP 2012114066A JP 2012114066 A JP2012114066 A JP 2012114066A JP 5732429 B2 JP5732429 B2 JP 5732429B2
Authority
JP
Japan
Prior art keywords
values
value
ciphertext
variance
divided
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
JP2012114066A
Other languages
Japanese (ja)
Other versions
JP2013243441A (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 JP2012114066A priority Critical patent/JP5732429B2/en
Publication of JP2013243441A publication Critical patent/JP2013243441A/en
Application granted granted Critical
Publication of JP5732429B2 publication Critical patent/JP5732429B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

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

秘密分散は、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元でき、一定個数未満の分散値からは元のデータを一切復元できなくする技術である。分散値の総数をN、復元に必要な分散値の最小数をM(≦N)としたとき、N,Mの値に制限がない方式と制限がある方式とがある。   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 necessary for restoration is M (≦ N), there are a method in which the values of N and M are not restricted and a method in which there is a restriction.

秘密分散の代表的な方式として、Shamir秘密分散方式(例えば、非特許文献1参照)がある。この方式の一例では、Aを非負整数、pをN以上かつAよりも大きな素数とし、Aの分散値をSi(A)=f(i) mod p(i=1,…,N)とする。ただし、fはf(0)=Aとなるような1変数M-1次式とする。すると、n1,…,nMを互いに異なる1以上N以下の整数として、以下の関係式により、(ni,Si(A))(i=1,…,N)からAを復元できる。 As a typical scheme for secret sharing, there is a Shamir secret sharing scheme (for example, see Non-Patent Document 1). In an example of this method, A is a non-negative integer, p is a prime number greater than or equal to N and greater than A, and the variance value of A is S i (A) = f (i) mod p (i = 1,..., N) To do. Here, f is a one-variable M−1 linear expression such that f (0) = A. Then, n 1, ..., a n M as a different one or more N an integer, the following relationship can be restored to A from (n i, S i (A )) (i = 1, ..., N) .

Figure 0005732429
Figure 0005732429

上記の例では、分散値Si(A)は0以上p未満の整数となるが、分散値のデータ長をより小さくできる方式も提案されている(例えば、非特許文献2参照)。非特許文献2に記載の秘密分散方式では、共通鍵暗号を用いた以下の方法が提案されている。 In the above example, the variance value S i (A) is an integer of 0 or more and less than p, but a method that can further reduce the data length of the variance value has been proposed (see Non-Patent Document 2, for example). In the secret sharing scheme described in Non-Patent Document 2, the following method using common key cryptography has been proposed.

<データ分散処理>
1.秘密鍵SKを生成する。
2.秘密鍵SKを用いて平文Aを暗号化し、暗号文Cを生成する。
3.情報伝播アルゴリズム(Information Dispersal Algorithm、IDA)を用いて、暗号文CをN個の分散値T1(C),…,TN(C)に分散する。
4.任意の秘密分散方式により、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する。
5.平文Aの分散値Ui(A)=(Ti(C),Si(SK))(i=1,…,N)を生成する。
<Data distribution processing>
1. A secret key SK is generated.
2. The plaintext A is encrypted using the secret key SK to generate the ciphertext C.
3. The ciphertext C is distributed to N distributed values T 1 (C),..., T N (C) using an information dispersal algorithm (IDA).
4). The secret key SK is distributed to N distributed values S 1 (SK),..., S N (SK) by an arbitrary secret sharing scheme.
5. A distributed value U i (A) = (T i (C), S i (SK)) (i = 1,..., N) of plaintext A is generated.

<データ復元処理>
1.N個の分散値Ui(A)から任意のM個を選択する。
2.情報伝播アルゴリズムを用いて、M個の分散値Ti(C)から暗号文Cを復元する。
3.任意の秘密分散方式により、M個の分散値Si(SK)から秘密鍵SKを復元する。
4.秘密鍵SKを用いて暗号文Cを復号し、平文Aを得る。
<Data restoration processing>
1. Arbitrary M values are selected from N variance values U i (A).
2. Using the information propagation algorithm, the ciphertext C is restored from the M distributed values T i (C).
3. The secret key SK is restored from the M distributed values S i (SK) by an arbitrary secret sharing scheme.
4). The ciphertext C is decrypted using the secret key SK to obtain plaintext A.

情報伝播アルゴリズムは、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元できるようにする技術である。一定個数未満の分散値から元のデータを復元できてもよい点が、秘密分散方式とは相違する。   The information propagation algorithm is a technique for converting data into a plurality of distributed values and restoring the original data by using a certain number of distributed values or more. This is different from the secret sharing scheme in that the original data may be restored from a smaller number of distributed values.

より具体的に情報伝播アルゴリズムの一例を説明する。情報伝播アルゴリズムのデータ分散処理は、暗号文CをM個の分割値C0,…,CM-1に分割し、Ti(C)=g(i) mod q(i=1,…,N)とする。ただし、C0,…,CM-1を非負整数とし、qをN以上かつC0,…,CM-1よりも大きな素数とし、g(x)(x=1,…,N)を以下の1変数M-1次式より得られる値とする。 An example of the information propagation algorithm will be described more specifically. The data distribution processing of the information propagation algorithm divides the ciphertext C into M divided values C 0 ,..., C M−1 , and T i (C) = g (i) mod q (i = 1,. N). Where C 0 , ..., C M-1 is a non - negative integer, q is a prime number greater than N and greater than C 0 , ..., C M-1 , and g (x) (x = 1, ..., N) is The value is obtained from the following one-variable M-1 linear expression.

Figure 0005732429
Figure 0005732429

一般にqはpよりも小さな値とすることができる。また、秘密鍵SKは例えば128ビットの小さな固定データ長とすることができる。そのため、秘密鍵SKの分散値Si(SK)は暗号文Cの分散値Ti(C)と比較して十分に小さなデータ長となるため無視することができる。したがって、非特許文献2に記載の秘密分散方式による分散値Ui(A)は、非特許文献1に記載の秘密分散方式による分散値Si(A)よりも小さなデータ長になることが期待できる。 In general, q can be smaller than p. Also, the secret key SK can be a fixed data length as small as 128 bits, for example. For this reason, the distributed value S i (SK) of the secret key SK has a sufficiently small data length compared to the distributed value T i (C) of the ciphertext C and can be ignored. Therefore, the distributed value U i (A) according to the secret sharing scheme described in Non-Patent Document 2 is expected to have a smaller data length than the distributed value S i (A) according to the secret sharing scheme described in Non-Patent Document 1. it can.

情報伝播アルゴリズムのデータ復元処理は、M個の分散値Ti(C)を用いてC0,…,CM-1を変数とする以下の連立方程式を解くことで、分割値C0,…,CM-1を復元する。 Data restoration processing of the information propagation algorithm is performed by solving the following simultaneous equations using C 0 ,..., C M-1 as variables using M variance values T i (C), thereby dividing the values C 0 ,. , Restore C M-1 .

Figure 0005732429
Figure 0005732429

そして、復元した分割値C0,…,CM-1を結合して暗号文Cを復元する。 The restored divided values C 0 ,..., C M-1 are combined to restore the ciphertext C.

マルチパーティ計算に拡張した秘密分散方式が非特許文献3に開示されている。マルチパーティ計算とは、各主体が保有するデータの分散値を他の主体に送り、その分散値を他の主体に明かすことなく意中の計算を実行させることができる秘密分散方式である。   A non-patent document 3 discloses a secret sharing scheme extended to multi-party computation. Multi-party calculation is a secret sharing scheme that allows a distributed value of data held by each subject to be sent to another subject and the intended calculation to be executed without revealing the distributed value to the other subject.

A.Shamir, “How to share a secret.”, Commun. ACM 22(11), pp.612-613, 1979.A. Shamir, “How to share a secret.”, Commun. ACM 22 (11), pp.612-613, 1979. H.Krawczyk, “Secret sharing made short.”, CRYPTO 1993, pp.136-146, 1993.H.Krawczyk, “Secret sharing made short.”, CRYPTO 1993, pp.136-146, 1993. 千田浩司,五十嵐大,濱田浩気,菊池亮,冨士仁,高橋克巳, ”マルチパーティ計算に適用可能な計算量的ショート秘密分散”, SCIS 2012.Koji Senda, Dai Igarashi, Hiroki Hirota, Ryo Kikuchi, Hitoshi Fuji, Katsumi Takahashi, “Computational short secret sharing applicable to multi-party computation”, SCIS 2012.

秘密分散されたデータから画面表示やプログラム実行などを即座に行いたい場合、秘密分散技術におけるデータ復元処理に要する時間をできるだけ短くすることが求められる。非特許文献2や非特許文献3に記載の秘密分散方式は、暗号文Cを復元するための分割値C0,…,CM-1を求めるために、分割値C0,…,CM-1のすべてを変数とする連立方程式を解く必要がある。特に、暗号文Cのデータ長が大きくなるほど計算量は増大し、結果としてデータ復元処理に要する時間も長大化することになる。 When it is desired to immediately display a screen or execute a program from secret-distributed data, it is necessary to shorten the time required for data restoration processing in the secret-sharing technique as much as possible. The secret sharing schemes described in Non-Patent Document 2 and Non-Patent Document 3 use divided values C 0 ,..., C M in order to obtain divided values C 0 ,. It is necessary to solve simultaneous equations with all of -1 . In particular, the amount of calculation increases as the data length of the ciphertext C increases, and as a result, the time required for the data restoration processing also increases.

この発明はこのような点に鑑みてなされたものであり、秘密分散のデータ復元処理の計算量を抑えることを目的とする。   The present invention has been made in view of such a point, and an object thereof is to reduce the amount of calculation of secret sharing data restoration processing.

上記の課題を解決するために、この発明の秘密分散システムは、データ分散装置とデータ復元装置を含む。この発明では、M,Nは2以上の整数であり、M’は0以上の整数であり、M’≦M≦Nであるとする。   In order to solve the above problems, a secret sharing system of the present invention includes a data sharing device and a data restoration device. In the present invention, M and N are integers of 2 or more, M ′ is an integer of 0 or more, and M ′ ≦ M ≦ N.

データ分散装置は、暗号化部と暗号文分割部と暗号文分散部と鍵分散部と分散値生成部とを備える。暗号化部は、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する。暗号文分割部は、暗号文CをM個の分割値C0,…,CM-1に分割する。暗号文分散部は、分割値C0,…,CM-1を係数とするN-M個の互いに線形独立な多項式をそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する。鍵分散部は、所定の秘密分散方式に従って、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する。分散値生成部は、分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、分散値Ti(C)(i=1,…,N)と分散値Si(SK)(i=1,…,N)を組にして分散値U1(A),…,UN(A)を生成する。 The data distribution apparatus includes an encryption unit, a ciphertext division unit, a ciphertext distribution unit, a key distribution unit, and a distributed value generation unit. The encryption unit encrypts the plaintext A using the secret key SK and generates a ciphertext C. The ciphertext dividing unit divides the ciphertext C into M divided values C 0 ,..., C M−1 . Ciphertext dispersion unit, division value C 0, ..., the NM number of linearly independent polynomials each other by the factor C M-1 by calculating respectively, NM pieces of dispersion value D 1, ..., generate D NM To do. The key distribution unit distributes the secret key SK into N distributed values S 1 (SK),..., S N (SK) according to a predetermined secret sharing scheme. Variance generator, the dispersion value D 1, ..., D NM variance value T 1 (C), ..., and T NM (C), divided value C 0, ..., C M- 1 dispersion value T N- M + 1 (C), ..., T N (C), and dispersion value T i (C) (i = 1, ..., N) and dispersion value S i (SK) (i = 1, ..., N) The variance U 1 (A),..., U N (A) is generated as a set.

データ復元装置は、分割暗号文抽出部と分割暗号文補間部と暗号文結合部と鍵復元部と復号部とを備える。分割暗号文抽出部は、分散値T1(C),…,TN-M(C)のうち分散値U1(A),…,UN(A)から任意に選択されたM個の分散値U'1(A),…,U'M(A)に含まれるM'個の分散値T'1(C),…,T'M'(C)を分散値D'1,…,D'M'として抽出し、分散値TN-M+1(C),…,TN(C)のうち分散値U'1(A),…,U'M(A)に含まれるM-M'個の分散値T'M'+1(C),…,T'M(C)を分割値C'0,…,C'M-M'-1として抽出する。分割暗号文補間部は、分割値C0,…,CM-1のいずれかが分割値C'0,…,C'M-M'-1に含まれない場合には、分散値D'1,…,D'M'と分割値C'0,…,C'M-M'-1を用いて、分割値C0,…,CM-1を補間する。暗号文結合部は、分割値C0,…,CM-1を結合して暗号文Cを得る。鍵復元部は、所定の秘密分散方式に従って、分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、秘密鍵SKを復元する。復号部は、秘密鍵SKを用いて暗号文Cを復号し、平文Aを得る。 The data restoration device includes a divided ciphertext extraction unit, a divided ciphertext interpolation unit, a ciphertext combination unit, a key restoration unit, and a decryption unit. The divided ciphertext extraction unit includes M distributed values arbitrarily selected from the distributed values U 1 (A),..., U N (A) among the distributed values T 1 (C) ,. U ' 1 (A), ..., U' M (A) includes M 'variance values T' 1 (C), ..., T 'M' (C) as variance values D ' 1 , ..., D Extracted as 'M' and included in the variance values U ' 1 (A), ..., U' M (A) among the variance values T N-M + 1 (C), ..., T N (C) M ′ variance values T ′ M ′ + 1 (C),..., T ′ M (C) are extracted as divided values C ′ 0 ,. The divided ciphertext interpolating unit, when any of the divided values C 0 ,..., C M-1 is not included in the divided values C ′ 0 ,. 1, ..., D 'M' and the divided value C '0, ..., C' using the M-M'-1, divided value C 0, ..., interpolates the C M-1. Ciphertext combining unit is divided value C 0, ..., obtaining a ciphertext C by combining the C M-1. Key recovery unit in accordance with a predetermined secret sharing scheme, the dispersion value U '1 (A), ... , U' M variance value included in the (A) S '1 (SK ), ..., S' from M (SK) Restore the secret key SK. The decryption unit decrypts the ciphertext C using the secret key SK and obtains plaintext A.

この発明の秘密分散技術によれば、所定の分散値がすべて選択された場合には、選択された分散値に含まれる分割値の結合のみで暗号文Cを復元することができる。すなわち、情報伝播アルゴリズムのデータ復元処理を省略することができるため、秘密分散方式のデータ復元処理の計算量を抑えることができる。   According to the secret sharing technique of the present invention, when all the predetermined shared values are selected, the ciphertext C can be restored only by combining the divided values included in the selected distributed value. That is, since the data restoration process of the information propagation algorithm can be omitted, the calculation amount of the data restoration process of the secret sharing scheme can be suppressed.

従来の秘密分散方式のデータ分散処理を説明する模式図。The schematic diagram explaining the data distribution process of the conventional secret sharing system. 従来の秘密分散方式のデータ復元処理を説明する模式図。The schematic diagram explaining the data restoration process of the conventional secret sharing system. 第1実施形態に係る秘密分散システムの構成例を示すブロック図。The block diagram which shows the structural example of the secret sharing system which concerns on 1st Embodiment. 第1実施形態に係るデータ分散装置の構成例を示すブロック図。The block diagram which shows the structural example of the data distribution apparatus which concerns on 1st Embodiment. 第1実施形態に係るデータ復元装置の構成例を示すブロック図。1 is a block diagram illustrating a configuration example of a data restoration device according to a first embodiment. データ記憶装置の構成例を示すブロック図。The block diagram which shows the structural example of a data storage device. 第1実施形態に係るデータ分散装置の動作例を示すフローチャート。The flowchart which shows the operation example of the data distribution apparatus which concerns on 1st Embodiment. 第1実施形態に係るデータ復元装置の動作例を示すフローチャート。6 is a flowchart showing an operation example of the data restoration apparatus according to the first embodiment. 第1実施形態に係るデータ分散処理を説明する模式図。The schematic diagram explaining the data distribution process which concerns on 1st Embodiment. 第1実施形態に係るデータ復元処理を説明する模式図。The schematic diagram explaining the data restoration process which concerns on 1st Embodiment. 第2実施形態に係る秘密分散システムの構成例を示すブロック図。The block diagram which shows the structural example of the secret sharing system which concerns on 2nd Embodiment. 第2実施形態に係るデータ分散装置の構成例を示すブロック図。The block diagram which shows the structural example of the data distribution apparatus which concerns on 2nd Embodiment. 第2実施形態に係るデータ復元装置の構成例を示すブロック図。The block diagram which shows the structural example of the data restoration apparatus which concerns on 2nd Embodiment. 第2実施形態に係るデータ分散処理を説明する模式図。The schematic diagram explaining the data distribution process which concerns on 2nd Embodiment. 第2実施形態に係るデータ復元処理を説明する模式図。The schematic diagram explaining the data restoration process which concerns on 2nd Embodiment. 第3実施形態に係る秘密分散システムの構成例を示すブロック図。The block diagram which shows the structural example of the secret sharing system which concerns on 3rd Embodiment. 第3実施形態に係るデータ分散装置の構成例を示すブロック図。The block diagram which shows the structural example of the data distribution apparatus which concerns on 3rd Embodiment. 第3実施形態に係るデータ復元装置の構成例を示すブロック図。The block diagram which shows the structural example of the data restoration apparatus which concerns on 3rd Embodiment. 第3実施形態に係るデータ分散処理を説明する模式図。The schematic diagram explaining the data distribution process which concerns on 3rd Embodiment. 第3実施形態に係るデータ復元処理を説明する模式図。The schematic diagram explaining the data restoration process which concerns on 3rd Embodiment.

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

[従来の秘密分散方式]
実施形態の説明に先立って、従来の秘密分散方式の課題について詳細に説明する。
[Conventional secret sharing method]
Prior to the description of the embodiments, problems of the conventional secret sharing scheme will be described in detail.

<データ分散処理>
図1を参照して従来の秘密分散方式によるデータ分散処理の原理を説明する。
<Data distribution processing>
With reference to FIG. 1, the principle of data distribution processing by a conventional secret sharing scheme will be described.

まず、秘密鍵SKを用いて平文Aを暗号化し、暗号文Cを生成する。ここで用いる暗号化方式は任意の共通鍵暗号方式を用いることができる。共通鍵暗号方式とは情報の送信者と受信者が同一の鍵を共有する暗号方式である。代表的な共通鍵暗号方式としては、例えばDES(Data Encryption Standard)、AES(Advanced Encryption Standard)などがある。   First, plaintext A is encrypted using the secret key SK to generate ciphertext C. The encryption method used here can be any common key encryption method. The common key encryption method is an encryption method in which a sender and a receiver of information share the same key. Typical common key cryptosystems include, for example, DES (Data Encryption Standard) and AES (Advanced Encryption Standard).

次に、暗号文CをM個の分割値C0,…,CM-1に分割する。分割の方法はすべての分割値C0,…,CM-1を所定の順番で結合する操作のみにより暗号文Cを復元できる方法であればどのような方法でもよい。例えば、暗号文Cのデータ長がsであるとして、暗号文Cの先頭からs/Mビットずつに分割することができる。もしくは、tを任意の自然数として、暗号文Cの先頭からs/tMビットずつに分割し、任意に選択したt個を組として分割値C0,…,CM-1としてもよい。 Next, the ciphertext C is divided into M divided values C 0 ,..., C M−1 . Any method may be used as long as the ciphertext C can be restored only by an operation of combining all the divided values C 0 ,..., C M-1 in a predetermined order. For example, assuming that the data length of the ciphertext C is s, the ciphertext C can be divided into s / M bits from the beginning. Alternatively, t may be an arbitrary natural number, and may be divided into s / tM bits from the beginning of the ciphertext C, and arbitrarily selected t may be divided into C 0 ,..., C M−1 .

そして、M個の分割値C0,…,CM-1を、情報伝播アルゴリズムを用いて、N個の分散値T1(C),…,TN(C)に分散する。情報伝播アルゴリズムについての詳細は、例えば「M.O.Rabin, “Efficient dispersal of information for security, load balancing, and fault tolerance.”, J. ACM 36(2), pp.335-348, 1989.(参考文献1)」を参照されたい。 Then, M divided values C 0 ,..., C M−1 are distributed to N distributed values T 1 (C),..., T N (C) using an information propagation algorithm. For details on the information propagation algorithm, see, for example, “MORabin,“ Efficient dispersal of information for security, load balancing, and fault tolerance. ”, J. ACM 36 (2), pp.335-348, 1989. (Reference 1) Please refer to.

一方で、秘密鍵SKを、情報伝播アルゴリズムに従って分散し、分散値S1(SK),…,SN(SK)を生成する。情報伝播アルゴリズムについての詳細は、上述および参考文献1を参照されたい。情報伝播アルゴリズムは秘密分散方式を包含する概念であるので、ここでは既知の秘密分散方式を用いてもよい。例えば、Shamir秘密分散方式などが適用できる。Shamir秘密分散方式についての詳細は、上述および非特許文献1を参照されたい。 On the other hand, the secret key SK is distributed according to the information propagation algorithm to generate distributed values S 1 (SK),..., S N (SK). See above and reference 1 for details on the information propagation algorithm. Since the information propagation algorithm is a concept including a secret sharing scheme, a known secret sharing scheme may be used here. For example, the Shamir secret sharing method can be applied. For details on the Shamir secret sharing scheme, see the above-mentioned and Non-Patent Document 1.

最後に、i=1,…,Nについて、分散値Ti(C)と分散値Si(SK)を組として分散値Ui(A)=(Ti(C),Si(SK))を生成し、N個の分散値U1(A),…,UN(A)とする。 Finally, for i = 1,..., N, the variance value T i (C) and the variance value S i (SK) are taken as a pair, and the variance value U i (A) = (T i (C), S i (SK) ) And N variance values U 1 (A),..., U N (A).

<データ復元処理>
図2を参照して従来の秘密分散方式によるデータ復元処理の原理を説明する。
<Data restoration processing>
The principle of data restoration processing by the conventional secret sharing scheme will be described with reference to FIG.

まず、N個の分散値U1(A),…,UN(A)から任意のM個を選択する。選択したM個の分散値を分散値U’1(A),…,U’M(A)とする。次に、M個の分散値U’1(A),…,U’M(A)に含まれる分散値T’1(C),…,T’M(C)から、情報伝播アルゴリズムを用いて、分割値C0,…,CM-1を復元する。ここで用いる情報伝播アルゴリズムは、データ分散処理において、M個の分割値C0,…,CM-1をN個の分散値T1(C),…,TN(C)に分割した際に用いた情報伝播アルゴリズムである。そして、復元された分割値C0,…,CM-1を所定の順番で結合することで暗号文Cを復元する。結合の方法はデータ分散処理において暗号文CをM個の分割値C0,…,CM-1に分割した方法に対応して決定される。 First, arbitrary M values are selected from N variance values U 1 (A),..., U N (A). The selected M variance values are taken as variance values U ′ 1 (A),..., U ′ M (A). Next, an information propagation algorithm is used from the variance values T ′ 1 (C),..., T ′ M (C) included in the M variance values U ′ 1 (A),. Then, the division values C 0 ,..., C M−1 are restored. Information propagation algorithm used here, in the data distribution processing, M pieces of divided values C 0, ..., C M- 1 of N variance T 1 (C), ..., when divided into T N (C) This is the information propagation algorithm used for. Then, the ciphertext C is restored by combining the restored divided values C 0 ,..., C M-1 in a predetermined order. Binding method M pieces of divided values C 0 ciphertext C in the data distribution processing, ... it is determined in accordance with the method divided into C M-1.

一方で、M個の分散値U’1(A),…,U’M(A)に含まれる分散値S’1(SK),…,S’M(SK)から、情報伝播アルゴリズムに従って秘密鍵SKを復元する。ここで用いる情報伝播アルゴリズムは、データ分散処理において、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散した際に用いた情報伝播アルゴリズムである。 On the other hand, M pieces of variance U '1 (A), ... , U' secret M variance value included in the (A) S '1 (SK ), ..., S' from M (SK), according to the information propagation algorithm Restore the key SK. The information propagation algorithm used here is the information propagation algorithm used when the secret key SK is distributed to N distributed values S 1 (SK),..., S N (SK) in the data distribution process.

最後に、復元した秘密鍵SKを用いて復元した暗号文Cを復号することで平文Aを得る。復号の方法は、データ分散処理において、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成した際に用いた暗号方式を用いる。   Finally, plaintext A is obtained by decrypting the restored ciphertext C using the restored secret key SK. The decryption method uses the encryption method used when the plaintext A is encrypted by using the secret key SK and the ciphertext C is generated in the data distribution process.

このように、従来の秘密分散方式では、暗号文Cを復元するための分割値C0,…,CM-1を求めるために、分割値C0,…,CM-1のすべてを変数とする連立方程式を解く必要があった。暗号文Cのデータ長が大きくなるほど分割数や分割値C0,…,CM-1のデータ長が大きくなるため、計算量が増大する。結果としてデータ復元処理に要する時間も長大化する。この発明は、秘密分散方式のデータ復元処理の計算量を抑えることでデータ復元処理に要する時間を低減することを目的とする。 Thus, in the conventional secret distribution method, division value C 0 for restoring the ciphertext C, ..., in order to obtain the C M-1, divided value C 0, ..., C M-1 of all variables It was necessary to solve the simultaneous equations. Dividing number and dividing value as the data length of the ciphertext C is increased C 0, ..., since the data length of the C M-1 is increased, the amount of calculation increases. As a result, the time required for the data restoration process also increases. An object of the present invention is to reduce the time required for data restoration processing by suppressing the calculation amount of data restoration processing of the secret sharing scheme.

[第1実施形態]
この発明の第1実施形態に係る秘密分散システム1は、非特許文献2に記載の秘密分散方式に対してこの発明を適用した場合の構成例である。
[First Embodiment]
The secret sharing system 1 according to the first embodiment of the present invention is a configuration example when the present invention is applied to the secret sharing scheme described in Non-Patent Document 2.

<構成>
図3を参照して、秘密分散システム1の構成例を詳細に説明する。秘密分散システム1は、データ分散装置10とデータ復元装置20と少なくともN台のデータ記憶装置301〜30Nとネットワーク90を含む。データ分散装置10とデータ復元装置20とデータ記憶装置301〜30Nは、ネットワーク90に接続される。ネットワーク90は、データ分散装置10とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置20とデータ記憶装置301〜30Nそれぞれとが相互に通信可能なように構成されていればよく、例えばインターネットやLAN、WANなどで構成することができる。また、データ分散装置10とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置20とデータ記憶装置301〜30Nそれぞれとは必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、データ分散装置10が出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ記憶装置301〜30Nへオフラインで入力するように構成してもよい。同様に、データ記憶装置301〜30Nが出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ復元装置20へオフラインで入力するように構成してもよい。
<Configuration>
A configuration example of the secret sharing system 1 will be described in detail with reference to FIG. The secret sharing system 1 includes a data sharing device 10, a data restoration device 20, at least N data storage devices 30 1 to 30 N, and a network 90. The data distribution device 10, the data restoration device 20, and the data storage devices 30 1 to 30 N are connected to the network 90. The network 90 may be configured so that the data distribution device 10 and the data storage devices 30 1 to 30 N can communicate with each other, and the data restoration device 20 and the data storage devices 30 1 to 30 N can communicate with each other. For example, it can be configured by the Internet, LAN, WAN, or the like. The data distribution device 10 and the data storage devices 30 1 to 30 N , and the data restoration device 20 and the data storage devices 30 1 to 30 N do not necessarily need to be able to communicate online via a network. For example, the information output from the data distribution device 10 may be stored in a portable medium such as a USB memory, and input from the portable medium to the data storage devices 30 1 to 30 N offline. Similarly, the information output from the data storage devices 30 1 to 30 N may be stored in a portable medium such as a USB memory and input to the data restoration device 20 from the portable medium offline.

図4を参照して、秘密分散システム1に含まれるデータ分散装置10の構成例を詳細に説明する。データ分散装置10は、暗号化部110と暗号文分割部120と暗号文分散部130と鍵分散部140と分散値生成部150と分散値配布部160とを備える。   A configuration example of the data distribution apparatus 10 included in the secret sharing system 1 will be described in detail with reference to FIG. The data distribution apparatus 10 includes an encryption unit 110, a ciphertext division unit 120, a ciphertext distribution unit 130, a key distribution unit 140, a distributed value generation unit 150, and a distributed value distribution unit 160.

図5を参照して、秘密分散システム1に含まれるデータ復元装置20の構成例を詳細に説明する。データ復元装置20は、分散値選択部210と分割暗号文抽出部220と分割暗号文補間部230と暗号文結合部240と鍵復元部250と復号部260とを備える。   With reference to FIG. 5, a configuration example of the data restoration device 20 included in the secret sharing system 1 will be described in detail. The data restoration apparatus 20 includes a distributed value selection unit 210, a divided ciphertext extraction unit 220, a divided ciphertext interpolation unit 230, a ciphertext combination unit 240, a key restoration unit 250, and a decryption unit 260.

図6を参照して、秘密分散システム1に含まれるデータ記憶装置30の構成例を詳細に説明する。データ記憶装置30は、分散値記憶部310を備える。分散値記憶部310は、例えば、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)などの半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。   A configuration example of the data storage device 30 included in the secret sharing system 1 will be described in detail with reference to FIG. The data storage device 30 includes a distributed value storage unit 310. The distributed value storage unit 310 can be configured by, for example, an auxiliary storage device configured by a semiconductor memory element such as a hard disk, an optical disk, or a flash memory, or middleware such as a relational database or a key value store.

<データ分散処理>
図7を参照して、データ分散装置10の動作例を、実際に行われる手続きの順に従って詳細に説明する。
<Data distribution processing>
With reference to FIG. 7, the operation example of the data distribution apparatus 10 is demonstrated in detail according to the order of the procedure actually performed.

データ分散装置10の備える暗号化部110は、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する(S110)。ここで用いる暗号化方式は従来の秘密分散方式と同様に、既知のいかなる共通鍵暗号方式も用いることができる。   The encryption unit 110 included in the data distribution apparatus 10 encrypts the plaintext A using the secret key SK and generates a ciphertext C (S110). As the encryption method used here, any known common key encryption method can be used as in the conventional secret sharing method.

データ分散装置10の備える暗号文分割部120は、暗号文CをM個の分割値C0,…,CM-1に分割する(S120)。ここで用いる分割方法は従来の秘密分散方式と同様に、すべての分割値C0,…,CM-1を所定の順番で結合する操作のみにより暗号文Cを復元できる方法であればどのような方法でもよい。 The ciphertext dividing unit 120 included in the data distribution apparatus 10 divides the ciphertext C into M divided values C 0 ,..., C M−1 (S120). As with the conventional secret sharing scheme, the splitting method used here is any method that can restore the ciphertext C only by the operation of combining all split values C 0 ,..., C M-1 in a predetermined order. It may be a simple method.

データ分散装置10の備える暗号文分散部130は、分割値C0,…,CM-1を係数とするN-M個の互いに線形独立な多項式をそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する(S130)。より具体的には、以下の式で表される多項式g(x)を、x=1,…,N-Mについてそれぞれ計算することで、分散値D1,…,DN-Mを生成する。 Ciphertext distribution unit 130 included in the data distribution apparatus 10, divided value C 0, ..., the NM number of linearly independent polynomials each other by the factor C M-1 by calculating respectively, NM pieces of variance D 1 ,..., D NM is generated (S130). More specifically, dispersion values D 1 ,..., D NM are generated by calculating a polynomial g (x) represented by the following expression for x = 1 ,.

Figure 0005732429
Figure 0005732429

ただし、qは分割値C0,…,CM-1のいずれより大きいN以上の素数である。 However, q is a prime number greater than or equal to N which is larger than any of the divided values C 0 ,..., C M−1 .

データ分散装置10の備える鍵分散部140は、任意の秘密分散方式に従って、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する(S140)。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、既知のいかなる秘密分散方式も用いることができる。例えば、非特許文献1〜3に記載の秘密分散方式を用いることができる。 The key distribution unit 140 included in the data distribution apparatus 10 distributes the secret key SK into N distribution values S 1 (SK),..., S N (SK) according to an arbitrary secret distribution method (S140). As the secret sharing scheme used here, any known secret sharing scheme can be used similarly to the conventional secret sharing scheme. For example, the secret sharing schemes described in Non-Patent Documents 1 to 3 can be used.

データ分散装置10の備える分散値生成部150は、分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とする。そして、i=1,…,Nについて、分散値Ti(C)と分散値Si(SK)を組にして分散値Ui(A)=(Ti(C),Si(SK))を生成し、N個の分散値U1(A),…,UN(A)とする(S150)。 The variance value generation unit 150 included in the data distribution apparatus 10 sets the variance values D 1 ,..., D NM as the variance values T 1 (C),..., T NM (C), and the divided values C 0 ,. Let 1 be the variance value T N-M + 1 (C),..., T N (C). Then, for i = 1,..., N, the variance value T i (C) and variance value S i (SK) are paired, and the variance value U i (A) = (T i (C), S i (SK) ) And N variance values U 1 (A),..., U N (A) are generated (S150).

データ分散装置10の備える分散値配布部160は、分散値U1(A),…,UN(A)をデータ記憶装置301,…,30Nに配布する(S160)。データ記憶装置30iは受信した分散値Ui(A)を分散値記憶部310へ記憶する。 Variance distribution unit 160 included in the data distribution apparatus 10, the dispersion value U 1 (A), ..., U N (A) a data storage device 30 1, ..., distributed to 30 N (S160). The data storage device 30 i stores the received variance value U i (A) in the variance value storage unit 310.

<データ復元処理>
図8を参照して、データ復元装置20の動作例を、実際に行われる手続きの順に従って詳細に説明する。
<Data restoration processing>
With reference to FIG. 8, an operation example of the data restoration apparatus 20 will be described in detail according to the order of procedures actually performed.

データ復元装置20の備える分散値選択部210は、N台のデータ記憶装置301,…,30Nから任意にM台を選択する。選択されたデータ記憶装置30i(i=1,…,M)は、分散値記憶部310に記憶する分散値Ui(A)をデータ復元装置20へ送信する。データ復元装置20はデータ記憶装置30iから受信した分散値Ui(A)をM個の分散値U'1(A),…,U'M(A)として取得する(S210)。 The distributed value selection unit 210 included in the data restoration device 20 arbitrarily selects M from the N data storage devices 30 1 ,..., 30 N. The selected data storage device 30 i (i = 1,..., M) transmits the variance value U i (A) stored in the variance value storage unit 310 to the data restoration device 20. The data restoration device 20 acquires the variance value U i (A) received from the data storage device 30 i as M variance values U ′ 1 (A),..., U ′ M (A) (S210).

データ復元装置20の備える分割暗号文抽出部220は、分散値T1(C),…,TN-M(C)のうち分散値U'1(A),…,U'M(A)に含まれるM'個の分散値T'1(C),…,T'M'(C)を、分散値D'1,…,D'M'として抽出する。また、分散値TN-M+1(C),…,TN(C)のうち分散値U'1(A),…,U'M(A)に含まれるM-M'個の分散値T'M'+1(C),…,T'M(C)を、分割値C'0,…,C'M-M'-1として抽出する(S220)。 The divided ciphertext extraction unit 220 included in the data restoration device 20 is included in the distributed values U ′ 1 (A),..., U ′ M (A) among the distributed values T 1 (C) ,. the M 'number of variance T' 1 (C), ... , T 'M' to (C), the dispersion value D '1, ..., D' is extracted as M '. Further, the dispersion value T N-M + 1 (C ), ..., T N variance U of (C) '1 (A) , ..., U' M-M included in the M (A) 'number of dispersion The values T ′ M ′ + 1 (C),..., T ′ M (C) are extracted as the divided values C ′ 0 ,.

データ復元装置20の備える分割暗号文補間部230は、分割値C0,…,CM-1のいずれかが分割値C'0,…,C'M-M'-1に含まれない場合には、分散値D'1,…,D'M'と分割値C'0,…,C'M-M'-1を用いて、分割値C0,…,CM-1を補間する(S231、S232)。分割値C0,…,CM-1のすべてが分割値C'0,…,C'M-M'-1に含まれている場合には、S232の処理を省略し、S240の処理へ進む(S231)。より具体的には、上記の多項式g(x)を、分割値C'0,…,C'M-M'-1に含まれるM-M'個の分割値Ci(1≦i≦M-1)を定数とし、分割値C'0,…,C'M-M'-1に含まれないM'個の分割値Cj(1≦j≦M-1)を変数として、分散値D'1,…,D'M'を求めたxをそれぞれ代入したM'個の方程式を、連立方程式として解くことで、分割値C0,…,CM-1を補間する。例えば、M個の分散値Ui(A)(i=1,…,M',N-M+M'+1,…,N)が選択された場合には、C0,…,CM-M'-1を定数とし、CM-M',…,CM-1を変数として、以下の連立方程式を解くことで、分割値CM-M',…,CM-1を求める。 When the divided ciphertext interpolation unit 230 included in the data restoration device 20 does not include any of the divided values C 0 ,..., C M−1 in the divided values C ′ 0 ,. , the dispersion value D '1, ..., D' M ' and the divided value C' 0, ..., with C 'M-M'-1, divided value C 0, ..., interpolates the C M-1 (S231, S232). When all of the divided values C 0 ,..., C M-1 are included in the divided values C ′ 0 ,..., C ′ M-M′−1 , the process of S232 is omitted and the process proceeds to S240. Proceed (S231). More specifically, the above polynomial g (x) is converted into M−M ′ divided values C i (1 ≦ i ≦ M) included in the divided values C ′ 0 ,..., C ′ M−M′−1. -1) is a constant, and M 'divided values C j (1 ≤ j ≤ M-1) not included in the divided values C' 0 , ..., C 'M-M'-1 are used as variables and the variance value D '1, ..., D' the number of equations 'M by substituting each x which was determined' to M, by solving the simultaneous equations, dividing values C 0, ..., interpolates the C M-1. For example, if M variance values U i (A) (i = 1,..., M ′, N−M + M ′ + 1,..., N) are selected, C 0 ,. the -M'-1 and the constant, C M-M ', ..., a C M-1 as a variable, by solving the following simultaneous equations, dividing value C M-M', ..., determine the C M-1.

Figure 0005732429
Figure 0005732429

データ復元装置20の備える暗号文結合部240は、分割値C0,…,CM-1を結合して暗号文Cを得る(S240)。ここで用いる結合方法は従来の秘密分散方式と同様に、データ分散処理において暗号文CをM個の分割値C0,…,CM-1に分割した際に用いた分割方法に対応して決定される。 The ciphertext combining unit 240 included in the data restoration apparatus 20 combines the divided values C 0 ,..., C M-1 to obtain the ciphertext C (S240). The combination method used here corresponds to the division method used when the ciphertext C is divided into M divided values C 0 ,..., C M-1 in the data distribution processing, as in the conventional secret sharing scheme. It is determined.

データ復元装置20の備える鍵復元部250は、秘密分散方式に従って、分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、秘密鍵SKを復元する(S250)。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、データ分散処理において秘密鍵SKを分散値S1(SK),…,SN(SK)に分散した際に用いた秘密分散方式である。 Key recovery unit 250 included in the data restoration unit 20, according to a secret sharing scheme, the dispersion value U '1 (A), ... , U' variance value included in M (A) S '1 ( SK), ..., S' The secret key SK is restored from M (SK) (S250). The secret sharing scheme used here is the secret sharing scheme used when the secret key SK is distributed to the distributed values S 1 (SK), ..., S N (SK) in the data distribution processing, as in the conventional secret sharing scheme. is there.

データ復元装置20の備える復号部260は、秘密鍵SKを用いて暗号文Cを復号し、平文Aを得る(S260)。復号の方法は従来の秘密分散方式と同様に、データ分散処理において秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成した際に用いた暗号方式を用いる。   The decryption unit 260 included in the data restoration device 20 decrypts the ciphertext C using the secret key SK to obtain plaintext A (S260). Similar to the conventional secret sharing scheme, the decryption method uses the encryption scheme used when ciphertext C is generated by encrypting plaintext A using the secret key SK in data distribution processing.

<第1実施形態の特徴>
図9を参照して、第1実施形態に係る秘密分散システム1によるデータ分散処理の原理を説明する。従来の秘密分散方式との相違点は、M個の分割値C0,…,CM-1からN個の分散値T1(C),…,TN(C)を生成する処理である。まず、M個の分割値C0,…,CM-1を、情報伝播アルゴリズムを用いて、N-M個の分散値D1,…,DN-Mに分散する。情報伝播アルゴリズムについての詳細は、上述および参考文献1を参照されたい。次に、分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とする。また、分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とする。
<Features of First Embodiment>
With reference to FIG. 9, the principle of data distribution processing by the secret sharing system 1 according to the first embodiment will be described. The difference from the conventional secret sharing scheme is the process of generating N distributed values T 1 (C),..., T N (C) from M divided values C 0 ,. . First, M divided values C 0 ,..., C M-1 are distributed to NM distributed values D 1 ,..., D NM using an information propagation algorithm. See above and reference 1 for details on the information propagation algorithm. Next, the dispersion values D 1 ,..., D NM are set as dispersion values T 1 (C) ,. Further, the divided value C 0, ..., C variance value M-1 T N-M + 1 (C), ..., and T N (C).

図10を参照して、第1実施形態に係る秘密分散システム1によるデータ復元処理の原理を説明する。従来の秘密分散方式との相違点は、M個の分散値T’1(C),…,T’M(C)からM個の分割値C0,…,CM-1を復元する処理である。分散値T’1(C),…,T’M(C)のうち分散値T1(C),…,TN-M(C)に対応する値がM'個の分散値T'1(C),…,T'M'(C)であるとして、分散値T'1(C),…,T'M'(C)を、分散値D'1,…,D'M'として抽出する。また、分散値T’1(C),…,T’M(C)のうち分散値TN-M+1(C),…,TN(C)に対応する値がM-M'個の分散値T'M'+1(C),…,T'M(C)であるとして、分散値T'M'+1(C),…,T'M(C)を、分割値C'0,…,C'M-M'-1として抽出する。 With reference to FIG. 10, the principle of the data restoration process by the secret sharing system 1 according to the first embodiment will be described. The difference from the conventional secret distribution method, M pieces of variance T '1 (C), ... , T' M (C) from the M division value C 0, ..., the processing for restoring the C M-1 It is. Of the variance values T ′ 1 (C),..., T ′ M (C), the value corresponding to the variance values T 1 (C),…, T NM (C) is M ′ variance values T ′ 1 (C ), ..., T 'M' (C), and the variance values T ' 1 (C), ..., T' M ' (C) are extracted as variance values D' 1 , ..., D 'M' . . Moreover, variance T '1 (C), ... , T' M (C) dispersion value T N-M + 1 (C ) of, ..., T N (C) values corresponding to the M-M 'number the variance T 'M' + 1 (C ), ..., ' as a M (C), variance T' T M '+ 1 ( C), ..., T' M a (C), divided value C Extract as' 0 , ..., C'M-M'-1 .

分割値C0,…,CM-1のすべてが分割値C'0,…,C'M-M'-1に含まれている場合には、分割値C0,…,CM-1を結合して暗号文Cを得る。分割値C0,…,CM-1のいずれかが分割値C'0,…,C'M-M'-1に含まれない場合には、分散値D'1,…,D'M'と分割値C'0,…,C'M-M'-1を用いて、分割値C0,…,CM-1を補間した上で、分割値C0,…,CM-1を結合して暗号文Cを得る。 Division value C 0, ..., C M- 1 of all split values C '0, ..., C' when included in the M-M'-1 is divided value C 0, ..., C M- 1 To obtain ciphertext C. If any of the divided values C 0 ,..., C M-1 is not included in the divided values C ′ 0 ,..., C ′ M-M′−1 , the distributed values D ′ 1 ,. 'a division value C' 0, ..., with C 'M-M'-1, divided value C 0, ..., on which interpolates the C M-1, divided value C 0, ..., C M- 1 To obtain ciphertext C.

このように、第1実施形態に係る秘密分散システム1では、N個の分散値U1(A),…,UN(A)の一部に暗号文Cを分割した値である分割値C0,…,CM-1を保持している。したがって、任意に選択したM個の分散値U’1(A),…,U’M(A)に分割値C0,…,CM-1がすべて含まれている場合には、分割値C0,…,CM-1を復元する処理を行う必要がない。そのため、データ復元処理における計算量を低減することができる。 As described above, in the secret sharing system 1 according to the first embodiment, the divided value C, which is a value obtained by dividing the ciphertext C into a part of the N distributed values U 1 (A),..., U N (A). 0 , ..., C M-1 is held. Accordingly, M number of variance values U arbitrarily selected '1 (A), ..., U' M (A) to the division value C 0, ..., when the C M-1 is included all split values C 0, ..., there is no need to perform processing for restoring the C M-1. Therefore, the amount of calculation in the data restoration process can be reduced.

また、分割値C0,…,CM-1から暗号文Cの一部のデータが得られても、秘密鍵SKを用いて暗号化されており、平文Aの一部が得られるわけではない。したがって、平文Aの秘匿性は損なわれない。 Further, even if partial data of the ciphertext C is obtained from the divided values C 0 ,..., C M−1 , it is encrypted using the secret key SK and a part of the plaintext A is not obtained. Absent. Therefore, the confidentiality of plaintext A is not impaired.

さらに、N-M個の分散値D1,…,DN-Mは、分割値C0,…,CM-1を用いて情報伝播アルゴリズムを用いて生成されるため、選択されたM個の分散値U’1(A),…,U’M(A)に分割値C0,…,CM-1のいずれかが含まれていない場合であっても、分散値D'1,…,D'M'と分割値C'0,…,C'M-M'-1を用いて、分割値C0,…,CM-1を補間することが可能となっている。したがって、N個の分散値U1(A),…,UN(A)から任意に選択したM個の分散値U’1(A),…,U’M(A)を用いて平文Aを復元することができる。 Furthermore, since the NM distributed values D 1 ,..., D NM are generated using the information propagation algorithm using the divided values C 0 ,..., C M−1 , the selected M distributed values U ' 1 (A), ..., U' M (A) does not contain any of the divided values C 0 , ..., C M-1 , even if the variance values D ' 1 , ..., D' M 'and the divided value C' 0, ..., with C 'M-M'-1, divided value C 0, ..., it is possible to interpolate C M-1. Accordingly, N number of variance values U 1 (A), ..., U N (A) M number of variance values U arbitrarily selected from '1 (A), ..., U' plaintext using M (A) A Can be restored.

[第2実施形態]
この発明の第2実施形態に係る秘密分散システム2は、非特許文献3に記載の秘密分散方式に対してこの発明を適用した場合の構成例である。
[Second Embodiment]
The secret sharing system 2 according to the second embodiment of the present invention is a configuration example when the present invention is applied to the secret sharing scheme described in Non-Patent Document 3.

<構成>
図11を参照して、秘密分散システム2の構成例を詳細に説明する。秘密分散システム2は、データ分散装置11とデータ復元装置21と少なくともN台のデータ記憶装置30とネットワーク90を含む。データ分散装置11とデータ復元装置21とデータ記憶装置301〜30Nは、ネットワーク90に接続される。ネットワーク90は、データ分散装置11とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置21とデータ記憶装置301〜30Nそれぞれとが相互に通信可能なように構成されていればよく、例えばインターネットやLAN、WANなどで構成することができる。また、データ分散装置11とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置21とデータ記憶装置301〜30Nそれぞれとは必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、データ分散装置11が出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ記憶装置301〜30Nへオフラインで入力するように構成してもよい。同様に、データ記憶装置301〜30Nが出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ復元装置21へオフラインで入力するように構成してもよい。
<Configuration>
A configuration example of the secret sharing system 2 will be described in detail with reference to FIG. The secret sharing system 2 includes a data sharing device 11, a data restoration device 21, at least N data storage devices 30, and a network 90. The data distribution device 11, the data restoration device 21, and the data storage devices 30 1 to 30 N are connected to the network 90. The network 90 may be configured so that the data distribution device 11 and the data storage devices 30 1 to 30 N can communicate with each other, and the data restoration device 21 and the data storage devices 30 1 to 30 N can communicate with each other. For example, it can be configured by the Internet, LAN, WAN, or the like. The data distribution device 11 and the data storage devices 30 1 to 30 N , and the data restoration device 21 and the data storage devices 30 1 to 30 N do not necessarily need to be able to communicate online via a network. For example, the information output from the data distribution device 11 may be stored in a portable medium such as a USB memory, and input from the portable medium to the data storage devices 30 1 to 30 N offline. Similarly, the information output from the data storage devices 30 1 to 30 N may be stored in a portable medium such as a USB memory, and input from the portable medium to the data restoration device 21 offline.

図12を参照して、秘密分散システム2に含まれるデータ分散装置11の構成例を詳細に説明する。データ分散装置11は、第1実施形態に係るデータ分散装置10と同様に、暗号文分割部120と暗号文分散部130と分散値配布部160とを備える。暗号化部110の替わりに暗号化部111を備え、鍵分散部140の替わりに鍵分散部141を備え、分散値生成部150の替わりに分散値生成部151を備える。したがって、データ分散装置11とデータ分散装置10との相違点は、暗号化部と鍵分散部と分散値生成部の処理が異なる点である。   With reference to FIG. 12, a configuration example of the data sharing apparatus 11 included in the secret sharing system 2 will be described in detail. Similar to the data distribution apparatus 10 according to the first embodiment, the data distribution apparatus 11 includes a ciphertext division unit 120, a ciphertext distribution unit 130, and a distributed value distribution unit 160. An encryption unit 111 is provided instead of the encryption unit 110, a key distribution unit 141 is provided instead of the key distribution unit 140, and a distributed value generation unit 151 is provided instead of the distributed value generation unit 150. Therefore, the difference between the data distribution device 11 and the data distribution device 10 is that the processes of the encryption unit, the key distribution unit, and the distributed value generation unit are different.

図13を参照して、秘密分散システム2に含まれるデータ復元装置21の構成例を詳細に説明する。データ復元装置21は、第1実施形態に係るデータ復元装置20と同様に、分散値選択部210と分割暗号文抽出部220と分割暗号文補間部230と暗号文結合部240とを備える。鍵復元部250の替わりに鍵復元部251を備え、復号部260の替わりに復号部261を備える。したがって、データ復元装置20とデータ復元装置21との相違点は、鍵復元部と復号部の処理が異なる点である。   With reference to FIG. 13, a configuration example of the data restoration device 21 included in the secret sharing system 2 will be described in detail. Similar to the data restoration device 20 according to the first embodiment, the data restoration device 21 includes a distributed value selection unit 210, a divided ciphertext extraction unit 220, a divided ciphertext interpolation unit 230, and a ciphertext combination unit 240. A key recovery unit 251 is provided instead of the key recovery unit 250, and a decryption unit 261 is provided instead of the decryption unit 260. Therefore, the difference between the data restoration device 20 and the data restoration device 21 is that the processes of the key restoration unit and the decryption unit are different.

<データ分散処理>
データ分散装置11の備える暗号化部111は、M-1個の固定長の乱数R1,…,RM-1を生成する。次に、乱数R1,…,RM-1をシードとする0以上p未満の整数である擬似乱数V(R1),…,V(RM-1)を生成する。ただし、pは平文Aより大きいN以上の素数である。そして、多項式h(x)が、h(0)=Aでありh(i)=V(Ri)(i=1,…,M-1)である1変数M-1次式であるとして、h(M) mod pを計算することで暗号文Cを生成する。
<Data distribution processing>
The encryption unit 111 included in the data distribution device 11 generates M−1 fixed-length random numbers R 1 ,..., R M−1 . Next, the random number R 1, ..., a pseudo-random number V (R 1) a R M-1 is an integer of 0 or more and less than p to seed, ..., and generates a V (R M-1). However, p is a prime number greater than or equal to N, which is larger than plaintext A. And the polynomial h (x) is a one-variable M-1 degree equation where h (0) = A and h (i) = V (R i ) (i = 1,..., M-1). , H (M) mod p is generated to generate a ciphertext C.

データ分散装置11の備える鍵分散部141は、任意の秘密分散方式に従って、乱数R1,…,RM-1それぞれをN個の分散値S1(Ri),…,SN(Ri)(i=1,…,M-1)に分散する。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、既知のいかなる秘密分散方式も用いることができる。例えば、非特許文献1〜3に記載の秘密分散方式を用いることができる。 The key distribution unit 141 included in the data distribution apparatus 11, in accordance with any secret sharing scheme, the random number R 1, ..., variance value of N to R M-1, respectively S 1 (R i), ... , S N (R i ) (i = 1,..., M-1). As the secret sharing scheme used here, any known secret sharing scheme can be used similarly to the conventional secret sharing scheme. For example, the secret sharing schemes described in Non-Patent Documents 1 to 3 can be used.

データ分散装置11の備える分散値生成部151は、分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とする。そして、i=1,…,Nについて、分散値Ti(C)と分散値Si(R1),…,Si(RM-1)を組にして分散値Ui(A)=(Ti(C),Si(R1),…,Si(RM-1))を生成し、N個の分散値U1(A),…,UN(A)とする。 The variance value generation unit 151 included in the data distribution device 11 uses the variance values D 1 ,..., D NM as the variance values T 1 (C),..., T NM (C), and the divided values C 0 ,. Let 1 be the variance value T N-M + 1 (C),..., T N (C). Then, i = 1, ..., the N, variance T i (C) and the dispersion value S i (R 1), ... , S i (R M-1) in the set variance value U i (A) = generate (T i (C), S i (R 1), ..., S i (R M-1)), N pieces of variance U 1 (a), ..., and U N (a).

<データ復元処理>
データ復元装置21の備える鍵復元部251は、秘密分散方式に従って、N個の分散値U1(A),…,UN(A)から任意に選択されたM個の分散値U'1(A),…,U'M(A)に含まれる分散値S'1(Ri),…,S'N(Ri)(i=1,…,M-1)から、乱数R1,…,RM-1をそれぞれ復元する。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、データ分散処理において乱数R1,…,RM-1を分散値S1(Ri),…,SN(Ri)(i=1,…,M-1)にそれぞれ分散した際に用いた秘密分散方式である。
<Data restoration processing>
The key recovery unit 251 included in the data recovery device 21 has M distributed values U ′ 1 (arbitrarily selected from N distributed values U 1 (A),..., U N (A) according to a secret sharing scheme. a), ..., U 'M ( dispersion value S contained in a)' 1 (R i) , ..., S 'N (R i) (i = 1, ..., a M-1), the random number R 1, …, RM-1 is restored respectively. The secret sharing scheme used here is the same as the conventional secret sharing scheme. In the data sharing process, random numbers R 1 ,..., R M-1 are used as the distributed values S 1 (R i ), ..., S N (R i ) (i = 1, ..., M-1).

データ復元装置21の備える復号部261は、乱数R1,…,RM-1から擬似乱数V(R1),…,V(RM-1)を生成する。そして、h(i)=V(Ri)(i=1,…,M-1)およびh(M)=Cより、h(0)を求めることで平文Aを得る。 Decoding unit 261 included in the data restoration unit 21, the random number R 1, ..., quasi from R M-1 random V (R 1), ..., and generates a V (R M-1). Then, by obtaining h (0) from h (i) = V (R i ) (i = 1,..., M−1) and h (M) = C, plaintext A is obtained.

<第2実施形態の特徴>
図14を参照して、第2実施形態に係る秘密分散システム2によるデータ分散処理の原理を説明する。第1実施形態との相違点は、平文Aを暗号文Cに暗号化する処理と、分散値U1(A),…,UN(A)を生成する処理である。平文Aを暗号文Cに暗号化する処理は、M-1個の乱数R1,…,RM-1のそれぞれをシードとして擬似乱数V(R1),…,V(RM-1)を生成する。そして、擬似乱数V(R1),…,V(RM-1)を秘密鍵として平文Aを暗号化して暗号文Cを生成する。分散値U1(A),…,UN(A)を生成する処理は、乱数Ri(i=1,…,M-1)をそれぞれN個の分散値S1(Ri),…,SN(Ri)(i=1,…,M-1)に分散する。そして、乱数R1,…,RM-1の分散値を1つずつ含むM-1個の分散値Si(R1),…,Si(RM-1)を組とし、さらに暗号文Cの分散値Ti(C)と組にして、N個の分散値U1(A),…,UN(A)を生成する。
<Features of Second Embodiment>
With reference to FIG. 14, the principle of data distribution processing by the secret sharing system 2 according to the second embodiment will be described. The difference from the first embodiment is a process for encrypting plaintext A into ciphertext C and a process for generating distributed values U 1 (A),..., U N (A). Processing of encrypting the ciphertext C plaintext A is, M-1 random numbers R 1, ..., a pseudo-random number V as a seed each R M-1 (R 1) , ..., V (R M-1) Is generated. Then, the plaintext A is encrypted using the pseudo random numbers V (R 1 ),..., V (R M-1 ) as a secret key to generate a ciphertext C. The process of generating the variance values U 1 (A),..., U N (A) is performed by assigning random numbers R i (i = 1,..., M−1) to N variance values S 1 (R i ),. , S N (R i ) (i = 1,..., M−1). Then, the random number R 1, ..., R M- 1 of the variance values comprises one by 1 M-1 pieces of variance S i (R 1), ... , and set the S i (R M-1) , further encryption N variance values U 1 (A),..., U N (A) are generated in combination with the variance value T i (C) of the sentence C.

図15を参照して、第2実施形態に係る秘密分散システム2によるデータ復元処理の原理を説明する。第1実施形態との相違点は、秘密鍵の復元を行う処理と、暗号文Cを復号して平文Aを得る処理である。秘密鍵の復元を行う処理は、M個の分散値U’1(A),…,U’M(A)から、乱数R1,…,RM-1の分散値S'i(R1),…,S'i(RM-1)(i=1,…,M)の組を抽出し、i=1,…,M-1について、M個の分散値S'1(Ri),…,S'M(Ri)から乱数Riを復元する。暗号文Cを復号して平文Aを得る処理は、復元したM-1個の乱数R1,…,RM-1のそれぞれをシードとして擬似乱数V(R1),…,V(RM-1)を生成する。そして、擬似乱数V(R1),…,V(RM-1)を秘密鍵として暗号文Cを復号して平文Aを得る。 With reference to FIG. 15, the principle of data restoration processing by the secret sharing system 2 according to the second embodiment will be described. The difference from the first embodiment is a process for restoring the secret key and a process for obtaining the plaintext A by decrypting the ciphertext C. Processing for restoring the private key, M-number of the dispersion value U '1 (A), ... , U' from M (A), the random number R 1, ..., R M- 1 of the variance S 'i (R 1 ), ..., S ' i (R M-1 ) (i = 1, ..., M) and extract M variance values S' 1 (R i for i = 1, ..., M-1 ),..., S ′ M (R i ) restores the random number R i . Process of obtaining the plaintext A by decrypting the ciphertext C is restored M-1 random numbers R 1, ..., a pseudo-random number V as a seed each R M-1 (R 1) , ..., V (R M -1 ) is generated. Then, the ciphertext C is decrypted using the pseudorandom numbers V (R 1 ),..., V (R M−1 ) as secret keys to obtain plaintext A.

このように、第2実施形態に係る秘密分散システム2によれば、非特許文献3に記載のマルチパーティ計算に適用可能な計算量的ショート秘密分散方式においても、第1実施形態に係る秘密分散システム1と同様に、秘密分散方式のデータ復元処理における計算量を低減することができる。   As described above, according to the secret sharing system 2 according to the second embodiment, even in the computational short secret sharing scheme applicable to the multi-party calculation described in Non-Patent Document 3, the secret sharing according to the first embodiment is performed. Similar to the system 1, it is possible to reduce the amount of calculation in the data restoration process of the secret sharing scheme.

[第3実施形態]
この発明の第3実施形態に係る秘密分散システム3は、排他的論理和演算により線形結合された多項式を用いる構成例である。データ分散処理においては、その多項式を用いて暗号文Cの分散値を生成する。データ復元処理においては、その多項式を用いて暗号文Cの分散値を補間する。
[Third Embodiment]
The secret sharing system 3 according to the third embodiment of the present invention is a configuration example using polynomials linearly combined by exclusive OR operation. In the data distribution process, a distributed value of the ciphertext C is generated using the polynomial. In the data restoration process, the variance value of the ciphertext C is interpolated using the polynomial.

<構成>
図16を参照して、秘密分散システム3の構成例を詳細に説明する。秘密分散システム3は、データ分散装置12とデータ復元装置22と少なくともN台のデータ記憶装置30とネットワーク90を含む。データ分散装置12とデータ復元装置22とデータ記憶装置301〜30Nは、ネットワーク90に接続される。ネットワーク90は、データ分散装置12とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置22とデータ記憶装置301〜30Nそれぞれとが相互に通信可能なように構成されていればよく、例えばインターネットやLAN、WANなどで構成することができる。また、データ分散装置12とデータ記憶装置301〜30Nそれぞれ、およびデータ復元装置22とデータ記憶装置301〜30Nそれぞれとは必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、データ分散装置12が出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ記憶装置301〜30Nへオフラインで入力するように構成してもよい。同様に、データ記憶装置301〜30Nが出力する情報をUSBメモリなどの可搬媒体に記憶し、その可搬媒体からデータ復元装置22へオフラインで入力するように構成してもよい。
<Configuration>
A configuration example of the secret sharing system 3 will be described in detail with reference to FIG. The secret sharing system 3 includes a data sharing device 12, a data restoration device 22, at least N data storage devices 30, and a network 90. The data distribution device 12, the data restoration device 22, and the data storage devices 30 1 to 30 N are connected to the network 90. The network 90 may be configured so that the data distribution device 12 and the data storage devices 30 1 to 30 N can communicate with each other, and the data restoration device 22 and the data storage devices 30 1 to 30 N can communicate with each other. For example, it can be configured by the Internet, LAN, WAN, or the like. The data distribution device 12 and the data storage devices 30 1 to 30 N , and the data restoration device 22 and the data storage devices 30 1 to 30 N do not necessarily need to be able to communicate online via a network. For example, the information output from the data distribution device 12 may be stored in a portable medium such as a USB memory, and input from the portable medium to the data storage devices 30 1 to 30 N offline. Similarly, the information output from the data storage devices 30 1 to 30 N may be stored in a portable medium such as a USB memory, and input from the portable medium to the data restoration device 22 offline.

図17を参照して、秘密分散システム3に含まれるデータ分散装置12の構成例を詳細に説明する。データ分散装置12は、第1実施形態に係るデータ分散装置10と同様に、暗号文分割部120と分散値配布部160とを備える。暗号化部110の替わりに暗号化部112を備え、暗号文分散部130の替わりに暗号文分散部131を備え、鍵分散部140の替わりに鍵分散部142を備え、分散値生成部150の替わりに分散値生成部152を備える。したがって、データ分散装置12とデータ分散装置10との相違点は、暗号化部と暗号文分散部と鍵分散部と分散値生成部の処理が異なる点である。   A configuration example of the data distribution device 12 included in the secret sharing system 3 will be described in detail with reference to FIG. Similar to the data distribution apparatus 10 according to the first embodiment, the data distribution apparatus 12 includes a ciphertext division unit 120 and a distributed value distribution unit 160. An encryption unit 112 is provided instead of the encryption unit 110, a ciphertext distribution unit 131 is provided instead of the ciphertext distribution unit 130, a key distribution unit 142 is provided instead of the key distribution unit 140, and the distributed value generation unit 150 Instead, a variance value generation unit 152 is provided. Therefore, the difference between the data distribution device 12 and the data distribution device 10 is that the processes of the encryption unit, the ciphertext distribution unit, the key distribution unit, and the distributed value generation unit are different.

図18を参照して、秘密分散システム3に含まれるデータ復元装置22の構成例を詳細に説明する。データ復元装置22は、第1実施形態に係るデータ復元装置20と同様に、分散値選択部210と分割暗号文抽出部220と暗号文結合部240とを備える。分割暗号文補間部230の替わりに分割暗号文補間部231を備え、鍵復元部250の替わりに鍵復元部252を備え、復号部260の替わりに復号部262を備える。したがって、データ復元装置20とデータ復元装置22との相違点は、分割暗号文補間部と鍵復元部と復号部の処理が異なる点である。   With reference to FIG. 18, a configuration example of the data restoration device 22 included in the secret sharing system 3 will be described in detail. Similar to the data restoration device 20 according to the first embodiment, the data restoration device 22 includes a distributed value selection unit 210, a divided ciphertext extraction unit 220, and a ciphertext combination unit 240. A split ciphertext interpolation unit 231 is provided instead of the split ciphertext interpolation unit 230, a key recovery unit 252 is provided instead of the key recovery unit 250, and a decryption unit 262 is provided instead of the decryption unit 260. Therefore, the difference between the data restoration device 20 and the data restoration device 22 is that the processes of the divided ciphertext interpolation unit, the key restoration unit, and the decryption unit are different.

<データ分散処理>
この実施形態では、秘密鍵SKは秘密鍵SK1,SK2であり、平文Aのビット長はnビットであるとする。秘密鍵SK1,SK2は、それぞれランダムに生成する。また、ここではN=3,M=2の場合を例として説明する。
<Data distribution processing>
In this embodiment, the secret key SK is secret keys SK 1 and SK 2 , and the bit length of the plaintext A is n bits. The secret keys SK 1 and SK 2 are randomly generated. Here, a case where N = 3 and M = 2 will be described as an example.

データ分散装置12の備える暗号化部112は、秘密鍵SK1,SK2からnビットのハッシュ値Hを生成する。ハッシュ値の生成は、既知のいかなるハッシュ関数をも用いることができる。具体的には、例えばSHA-1やMD5などを適用することができる。また例えば、H=Hash(SK1||SK2||1)||Hash(SK1||SK2||2)||…||Hash(SK1||SK2||K)としてハッシュ値を生成する。ここでKはHがnビット以上となる最小整数、Hashはハッシュ関数、||はデータ連結とする。このように、秘密鍵SK1,SK2の両方を知らない限りハッシュ値Hが計算できないようにする。そして、以下の式により、平文Aとハッシュ値Hとの排他的論理和を計算することで暗号文Cを生成する。 The encryption unit 112 included in the data distribution device 12 generates an n-bit hash value H from the secret keys SK 1 and SK 2 . Any known hash function can be used to generate the hash value. Specifically, for example, SHA-1 or MD5 can be applied. For example, H = Hash (SK 1 || SK 2 || 1) || Hash (SK 1 || SK 2 || 2) ||… || Hash (SK 1 || SK 2 || K) Generate a value. Here, K is the smallest integer with which H is n bits or more, Hash is a hash function, and || is data concatenation. In this way, the hash value H cannot be calculated unless both the secret keys SK 1 and SK 2 are known. Then, the ciphertext C is generated by calculating the exclusive OR of the plaintext A and the hash value H by the following formula.

Figure 0005732429
Figure 0005732429

データ分散装置12の備える暗号文分散部131は、暗号文Cの上位n/2ビットを分割値C0とし、下位n/2ビットを分割値C1とする。そして、以下の式により、分割値C0と分割値C1の排他的論理和演算を計算することで分散値D1を生成する。 Ciphertext distribution unit 131 included in the data distribution apparatus 12, the upper n / 2 bits of the ciphertext C and the dividing value C 0, the lower n / 2 bits and the divided value C 1. Then, the variance value D 1 is generated by calculating the exclusive OR operation of the division value C 0 and the division value C 1 by the following formula.

Figure 0005732429
Figure 0005732429

データ分散装置12の備える鍵分散部142は、以下の式により、秘密鍵SK1と秘密鍵SK2の排他的論理和演算を計算することでSK3を生成する。 The key distribution unit 142 included in the data distribution device 12 generates SK 3 by calculating an exclusive OR operation between the secret key SK 1 and the secret key SK 2 according to the following equation.

Figure 0005732429
Figure 0005732429

データ分散装置12の備える分散値生成部152は、以下の式に示すように分散値U1(A),…,U3(A)を生成する。 The variance value generation unit 152 included in the data distribution device 12 generates variance values U 1 (A),..., U 3 (A) as shown in the following equation.

Figure 0005732429
Figure 0005732429

<データ復元処理>
データ復元装置22の備える分割暗号文補間部231は、分割値C'0,…,C'M-M'-1と分散値D'1,…,D'M'との排他的論理和を計算することで、分割値C0,…,CM-1を補間する。例えば、分散値U1(A)と分散値U2(A)が選択された場合には、以下の式により分散値U1(A)に含まれる分散値D1と分散値U2(A)に含まれる分割値C0との排他的論理和を計算することで分割値C1を求めることができる。
<Data restoration processing>
Division ciphertext interpolation section 231 included in the data restoration unit 22, division value C '0, ..., C' M-M'-1 and the dispersion value D '1, ..., D' an exclusive OR of the M ' By dividing, the divided values C 0 ,..., C M−1 are interpolated. For example, the dispersion value U 1 (A) and the dispersion value U 2 (A) is when it is selected, following the formula and the dispersion value D 1 included in the dispersion value U 1 (A) variance U 2 (A The division value C 1 can be obtained by calculating an exclusive OR with the division value C 0 included in ().

Figure 0005732429
Figure 0005732429

データ復元装置22の備える鍵復元部252は、秘密鍵SK1とSK3もしくは秘密鍵SK2とSK3の排他的論理和を計算する。例えば、分散値U2(A)と分散値U3(A)が選択された場合には、以下の式により分散値U2(A)に含まれる秘密鍵SK2と分散値U3(A)に含まれるSK3との排他的論理和を計算することで秘密鍵SK1を求めることができる。 The key recovery unit 252 included in the data recovery device 22 calculates the exclusive OR of the secret keys SK 1 and SK 3 or the secret keys SK 2 and SK 3 . For example, when the variance value U 2 (A) and the variance value U 3 (A) are selected, the secret key SK 2 included in the variance value U 2 (A) and the variance value U 3 (A The secret key SK 1 can be obtained by calculating an exclusive OR with SK 3 included in ().

Figure 0005732429
Figure 0005732429

データ復元装置22の備える復号部262は、復元した秘密鍵SK1,SK2からnビットのハッシュ値Hを生成する。ハッシュ値の生成は、データ分散装置12の備える暗号化部112が用いたハッシュ関数と同一のハッシュ関数により行う。そして、以下の式により、暗号文Cとハッシュ値Hとの排他的論理和を計算することで平文Aを生成する。 The decryption unit 262 included in the data restoration device 22 generates an n-bit hash value H from the restored secret keys SK 1 and SK 2 . The hash value is generated using the same hash function as the hash function used by the encryption unit 112 included in the data distribution device 12. Then, the plaintext A is generated by calculating the exclusive OR of the ciphertext C and the hash value H by the following formula.

Figure 0005732429
Figure 0005732429

上記の説明では、分散値の総数がN=3であり、復元に必要な分散値の最小数がM=2である場合を用いて説明したが、同様の考え方によりN,Mを異なる値とすることができる。   In the above description, the case where the total number of variance values is N = 3 and the minimum number of variance values required for restoration is M = 2 has been described. can do.

<第3実施形態の特徴>
図19を参照して、第3実施形態に係る秘密分散システム3によるデータ分散処理の原理を説明する。ここでは、簡単のためにN=3,M=2の場合を例として表す。第1実施形態との相違点は、分割値C0,…,CM-1から分散値D1,…,DN-Mを生成する処理である。まず、暗号文Cを分割して分割値C0,C1を生成する。次に、分割値C0と分割値C1との排他的論理和を計算することで分散値D1を生成する。そして、分散値D1を分散値T1に、分割値C0を分散値T2に、分割値C1を分散値T3にそれぞれ設定する。
<Features of Third Embodiment>
With reference to FIG. 19, the principle of data distribution processing by the secret sharing system 3 according to the third embodiment will be described. Here, for simplicity, the case of N = 3 and M = 2 is shown as an example. Differences from the first embodiment, the division value C 0, ..., dispersion value D 1 from the C M-1, ..., a process for generating a D NM. First, the ciphertext C is divided to generate divided values C 0 and C 1 . Next, a variance value D 1 is generated by calculating an exclusive OR of the division value C 0 and the division value C 1 . Then, the dispersion value D 1 to the dispersion value T 1, the division value C 0 to the dispersion value T 2, respectively set cutoff value C 1 to the dispersion value T 3.

図20を参照して、第3実施形態に係る秘密分散システム3によるデータ復元処理の原理を説明する。図20(A)は、暗号文Cを分割した分割値C0,C1がすべて選択された場合である。この場合には、分割値C0,C1を所定の順番で結合すれば暗号文Cを得ることができる。図20(B)は、暗号文Cを分割した分割値C0,C1のうち分割値C1が得られなかった場合である。この場合には、得られなかった分割値C1の替わりに分割値C0と分割値C1の排他的論理和である分散値D1が得られる。したがって、分散値D1と分割値C0の排他的論理和を計算することで分割値C1を得ることができる。そして、分割値C0と分割値C1を所定の順番で結合することで暗号文Cを得ることができる。 With reference to FIG. 20, the principle of data restoration processing by the secret sharing system 3 according to the third embodiment will be described. FIG. 20A shows a case where all the divided values C 0 and C 1 obtained by dividing the ciphertext C are selected. In this case, the ciphertext C can be obtained by combining the divided values C 0 and C 1 in a predetermined order. FIG. 20B shows a case where the divided value C 1 is not obtained among the divided values C 0 and C 1 obtained by dividing the ciphertext C. In this case, the exclusive dispersion value D 1 is the logical sum of the division value C 0 instead of the division value C 1 which can not be obtained division value C 1 is obtained. Therefore, the division value C 1 can be obtained by calculating the exclusive OR of the variance value D 1 and the division value C 0 . Then, the ciphertext C can be obtained by combining the division value C 0 and the division value C 1 in a predetermined order.

この実施形態における平文Aの秘匿性について説明する。まず、平文Aは秘密鍵SK1,SK2を用いて暗号化されているため、暗号文Cのみでは平文Aの一部でも復元することはできない。また、暗号文Cは秘密鍵SK1,SK2から生成したハッシュ値Hを用いて暗号化されているため、秘密鍵SK1,SK2のいずれかを得ただけではハッシュ値Hを得ることができず、平文Aの一部でも復元することはできない。 The confidentiality of plaintext A in this embodiment will be described. First, since the plaintext A is encrypted using the secret keys SK 1 and SK 2 , a part of the plaintext A cannot be restored only with the ciphertext C. Further, since the ciphertext C is encrypted using a hash value H generated from the private key SK 1, SK 2, it is only to obtain either a secret key SK 1, SK 2 to obtain the hash value H Cannot be restored, even part of plaintext A cannot be restored.

そして、分散値U1(A),…,U3(A)は暗号文Cを分割した分割値C0,C1を含んでいるため、分割値C0,C1をすべて得ることができれば、それらを結合する操作のみで暗号文Cを得ることができる。したがって、この実施形態においても、秘密分散方式のデータ復元処理の計算量を低減することができる。 Since the distributed values U 1 (A),..., U 3 (A) include the divided values C 0 and C 1 obtained by dividing the ciphertext C, if all the divided values C 0 and C 1 can be obtained, The ciphertext C can be obtained only by combining them. Therefore, also in this embodiment, it is possible to reduce the calculation amount of the data restoration processing of the secret sharing scheme.

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

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

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

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

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

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

1,2,3 秘密分散システム
10,11,12 データ分散装置
20,21,22 データ復元装置
301〜30N データ記憶装置
90 ネットワーク
110,111,112 暗号化部
120 暗号文分割部
130,131 暗号文分散部
140,141,142 鍵分散部
150,151,152 分散値生成部
160 分散値配布部
210 分散値選択部
220 分割暗号文抽出部
230,231 分割暗号文補間部
240 暗号文結合部
250,251,252 鍵復元部
260,261,262 復号部
310 分散値記憶部
1, 2, 3 Secret sharing system 10, 11, 12 Data distribution device 20, 21, 22 Data restoration device 30 1 to 30 N Data storage device 90 Network 110, 111, 112 Encryption unit 120 Ciphertext division unit 130, 131 Ciphertext distribution unit 140, 141, 142 Key distribution unit 150, 151, 152 Distributed value generation unit 160 Distributed value distribution unit 210 Distributed value selection unit 220 Split ciphertext extraction unit 230, 231 Split ciphertext interpolation unit 240 Ciphertext combination unit 250, 251, 252 Key restoration unit 260, 261, 262 Decryption unit 310 Distributed value storage unit

Claims (6)

データ分散装置とデータ復元装置を含む秘密分散システムであって、
M,Nは2以上の整数であり、M’は0以上の整数であり、M’≦M<Nであるとして、
前記データ分散装置は、
秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する暗号化部と、
前記暗号文CをM個の分割値C0,…,CM-1に分割する暗号文分割部と、
次式で定義される多項式g(x)をx=1,…,N-Mについてそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する暗号文分散部と、
Figure 0005732429
N個の分散値のうちM個以上の分散値を用いれば元のデータを復元でき、M個未満の分散値からは元のデータを復元できない秘密分散方式に従って、前記秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する鍵分散部と、
前記分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、前記分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、分散値Ti(C)(i=1,…,N)と分散値Si(SK)(i=1,…,N)を組にして分散値U1(A),…,UN(A)を生成する分散値生成部と、
を備え、
前記データ復元装置は、
M'を前記分散値T1(C),…,TN-M(C)のうち前記分散値U1(A),…,UN(A)から任意に選択されたM個の分散値U'1(A),…,U'M(A)に含まれるものの数とし、
M'>0であれば、前記分散値T 1 (C),…,T N-M (C)のうち前記分散値U' 1 (A),…,U' M (A)に含まれるM'個の分散値T'1(C),…,T'M'(C)を分散値D'1,…,D'M'として抽出し、
M-M'>0であれば、前記分散値TN-M+1(C),…,TN(C)のうち前記分散値U'1(A),…,U'M(A)に含まれるM-M'個の分散値T'M'+1(C),…,T'M(C)を分割値C'0,…,C'M-M'-1として抽出する分割暗号文抽出部と、
前記分割値C0,…,CM-1のいずれかが前記分割値C'0,…,C'M-M'-1に含まれない場合には、前記多項式g(x)を、前記分割値C' 0 ,…,C' M-M'-1 に含まれるM-M'個の分割値C i (1≦i≦M-1)を定数とし、前記分割値C' 0 ,…,C' M-M'-1 に含まれないM'個の分割値C j (1≦j≦M-1)を変数とし、前記分散値D' 1 ,…,D' M' を求めたxそれぞれを代入したM'個の方程式からなる連立方程式として解くことで、前記分割値C0,…,CM-1を補間する分割暗号文補間部と、
前記分割値C0,…,CM-1を結合して前記暗号文Cを得る暗号文結合部と、
前記秘密分散方式に従って、前記分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、前記秘密鍵SKを復元する鍵復元部と、
前記秘密鍵SKを用いて前記暗号文Cを復号し、前記平文Aを得る復号部と、
を備えることを特徴とする秘密分散システム。
A secret sharing system including a data distribution device and a data restoration device,
M and N are integers of 2 or more, M ′ is an integer of 0 or more, and M ′ ≦ M < N.
The data distribution device includes:
An encryption unit that encrypts plaintext A using a secret key SK and generates ciphertext C;
A ciphertext dividing unit that divides the ciphertext C into M divided values C 0 ,..., C M−1 ;
By calculating a polynomial g (x) defined by the following equation for each of x = 1,..., NM, a ciphertext distribution unit that generates NM distributed values D 1 ,.
Figure 0005732429
The original data can be recovered by using M or more of the N distributed values, and the secret key SK is set to N according to a secret sharing scheme in which the original data cannot be recovered from less than M distributed values . A key distribution unit distributed to distributed values S 1 (SK),..., S N (SK);
The dispersion value D 1, ..., D NM variance value T 1 (C), ..., and T NM (C), the divided value C 0, ..., C M- 1 dispersion value T NM + 1 ( C), ..., and T N (C), the dispersion value T i (C) (i = 1, ..., N) and variance S i (SK) (i = 1, ..., N) in the set minute A variance value generation unit for generating a variance U 1 (A),..., U N (A);
With
The data restoration device includes:
M ′ are M dispersion values U ′ arbitrarily selected from the dispersion values U 1 (A),..., U N (A) among the dispersion values T 1 (C) ,. 1 (a), ..., and the number of those contained in U 'M (a),
'If> 0, the dispersion value T 1 (C), ..., the dispersion value U of T NM (C)' M 1 (A), ..., number 'M included in M (A)' to U the variance T '1 (C), ... , T' M '(C) a dispersion value D' 1, ..., extracted as D 'M',
'If> 0, the dispersion value T N-M + 1 (C ), ..., the dispersion value of T N (C) U' M -M 1 (A), ..., U 'M (A) , M ′ M variance values T ′ M ′ + 1 (C),..., T ′ M (C) included in the data are extracted as divided values C ′ 0 ,. A ciphertext extraction unit;
The division value C 0, ..., C M- 1 of either the divided value C '0, ..., C' if not included in M-M'-1, the polynomial g a (x), wherein The division values C ′ 0 ,..., C ′ M−M′−1 include M−M ′ division values C i (1 ≦ i ≦ M−1) as constants, and the division values C ′ 0 ,. , C ′ M−M′−1 , M ′ divided values C j (1 ≦ j ≦ M−1) are used as variables, and the variance values D ′ 1 ,..., D ′ M ′ are obtained. a divided ciphertext interpolating unit for interpolating the divided values C 0 ,..., C M-1 by solving as a simultaneous equation consisting of M ′ equations into which x is substituted ;
A ciphertext combining unit that combines the divided values C 0 ,..., C M-1 to obtain the ciphertext C;
According to the secret sharing scheme, the dispersion value U '1 (A), ... , U' M variance S contained in (A) '1 (SK) , ..., S' from M (SK), the secret key SK A key recovery unit for recovering
Decrypting the ciphertext C using the secret key SK, and obtaining the plaintext A;
A secret sharing system comprising:
請求項1に記載の秘密分散システムであって、
pは前記平文Aより大きいN以上の素数であるとして、
前記暗号化部は、
R1,…,RM-1は固定長の乱数であり、V(R1),…,V(RM-1)は乱数R1,…,RM-1をシードとする0以上p未満の整数である擬似乱数であり、h(x)はh(0)=Aかつh(i)=V(Ri)(i=1,…,M-1)である多項式であり、h(M) mod pを計算することで前記暗号文Cを生成し、
前記鍵分散部は、
所定の秘密分散方式に従って、前記乱数R1,…,RM-1それぞれをN個の分散値S1(Ri),…,SN(Ri)(i=1,…,M-1)に分散し、
前記分散値生成部は、
前記分散値Ti(C)(i=1,…,N)と前記分散値Si(R1),…,Si(RM-1)(i=1,…,N)を組にして前記分散値U1(A),…,UN(A)を生成し、
前記鍵復元部は、
前記秘密分散方式に従って、前記分散値U'1(A),…,U'M(A)に含まれる分散値S'1(Ri),…,S'N(Ri)(i=1,…,M-1)から、前記乱数R1,…,RM-1をそれぞれ復元し、
前記復号部は、
前記乱数R1,…,RM-1から前記擬似乱数V(R1),…,V(RM-1)を生成し、h(i)=V(Ri)(i=1,…,M-1)およびh(M)=Cよりh(0)を求めることで、前記平文Aを得る
ことを特徴とする秘密分散システム。
The secret sharing system according to claim 1 ,
p is a prime number greater than N greater than the plaintext A,
The encryption unit is
R 1 , ..., R M-1 is a fixed-length random number, and V (R 1 ), ..., V (R M-1 ) is 0 or more p using the random numbers R 1 , ..., R M-1 as seeds. A pseudo-random number that is an integer less than or equal to h (x) is a polynomial with h (0) = A and h (i) = V (R i ) (i = 1,..., M−1), and h (M) Generate the ciphertext C by calculating mod p,
The key distribution unit
According to a predetermined secret sharing scheme, each of the random numbers R 1 ,..., R M-1 is divided into N distributed values S 1 (R i ),..., S N (R i ) (i = 1,. )
The variance value generation unit
The dispersion values T i (C) (i = 1,..., N) and the dispersion values S i (R 1 ),..., S i (R M-1 ) (i = 1,. To generate the variance values U 1 (A),..., U N (A),
The key recovery unit
According to the secret sharing scheme, the dispersion value U '1 (A), ... , U' M variance S '1 (R i), ..., S' contained in the (A) N (R i) (i = 1 , ..., M-1) to restore the random numbers R 1 , ..., R M-1 respectively,
The decoding unit
The pseudo random numbers V (R 1 ), ..., V (R M-1 ) are generated from the random numbers R 1 , ..., R M-1 , and h (i) = V (R i ) (i = 1, ... , M−1) and h (M) = C to obtain h (0), thereby obtaining the plaintext A.
M,Nは2以上の整数であり、M<Nであるとして、
秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する暗号化部と、
前記暗号文CをM個の分割値C0,…,CM-1に分割する暗号文分割部と、
次式で定義される多項式g(x)をx=1,…,N-Mについてそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する暗号文分散部と、
Figure 0005732429
N個の分散値のうちM個以上の分散値を用いれば元のデータを復元でき、M個未満の分散値からは元のデータを復元できない秘密分散方式に従って、前記秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する鍵分散部と、
前記分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、前記分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、分散値Ti(C)(i=1,…,N)と分散値Si(SK)(i=1,…,N)を組にして分散値U1(A),…,UN(A)を生成する分散値生成部と、
を備えることを特徴とするデータ分散装置。
M and N are integers of 2 or more, and M < N.
An encryption unit that encrypts plaintext A using a secret key SK and generates ciphertext C;
A ciphertext dividing unit that divides the ciphertext C into M divided values C 0 ,..., C M−1 ;
By calculating a polynomial g (x) defined by the following equation for each of x = 1,..., NM, a ciphertext distribution unit that generates NM distributed values D 1 ,.
Figure 0005732429
The original data can be recovered by using M or more of the N distributed values, and the secret key SK is set to N according to a secret sharing scheme in which the original data cannot be recovered from less than M distributed values . A key distribution unit distributed to distributed values S 1 (SK),..., S N (SK);
The dispersion value D 1, ..., D NM variance value T 1 (C), ..., and T NM (C), the divided value C 0, ..., C M- 1 dispersion value T NM + 1 ( C), ..., and T N (C), the dispersion value T i (C) (i = 1, ..., N) and variance S i (SK) (i = 1, ..., N) in the set minute A variance value generation unit for generating a variance U 1 (A),..., U N (A);
A data distribution apparatus comprising:
M,Nは2以上の整数であり、M’は0以上の整数であり、M’≦M<Nであるとして、
秘密鍵SKを用いて平文Aを暗号化した暗号文Cを分割した分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、次式で定義される多項式g(x)をx=1,…,N-Mについてそれぞれ計算することで生成した分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、
Figure 0005732429
N個の分散値のうちM個以上の分散値を用いれば元のデータを復元でき、M個未満の分散値からは元のデータを復元できない秘密分散方式に従って前記秘密鍵SKを分散した値を分散値S1(SK),…,SN(SK)とし、分散値Ti(C)(i=1,…,N)と分散値Si(SK)(i=1,…,N)を組にした分散値U1(A),…,UN(A)から任意に選択されたM個の分散値を分散値U'1(A),…,U'M(A)とし、
M'を前記分散値T1(C),…,TN-M(C)のうち前記分散値U'1(A),…,U'M(A)に含まれるものの数とし、
M'>0であれば、前記分散値T 1 (C),…,T N-M (C)のうち前記分散値U' 1 (A),…,U' M (A)に含まれるM'個の分散値T'1(C),…,T'M'(C)を分散値D'1,…,D'M'として抽出し、
M-M'>0であれば、前記分散値TN-M+1(C),…,TN(C)のうち前記分散値U'1(A),…,U'M(A)に含まれるM-M'個の分散値T'M'+1(C),…,T'M(C)を分割値C'0,…,C'M-M'-1として抽出する分割暗号文抽出部と、
前記分割値C0,…,CM-1のいずれかが前記分割値C'0,…,C'M-M'-1に含まれない場合には、前記多項式g(x)を、前記分割値C' 0 ,…,C' M-M'-1 に含まれるM-M'個の分割値C i (1≦i≦M-1)を定数とし、前記分割値C' 0 ,…,C' M-M'-1 に含まれないM'個の分割値C j (1≦j≦M-1)を変数とし、前記分散値D' 1 ,…,D' M' を求めたxそれぞれを代入したM'個の方程式からなる連立方程式として解くことで、前記分割値C0,…,CM-1を補間する分割暗号文補間部と、
前記分割値C0,…,CM-1を結合して前記暗号文Cを得る暗号文結合部と、
前記秘密分散方式に従って、前記分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、前記秘密鍵SKを復元する鍵復元部と、
前記秘密鍵SKを用いて前記暗号文Cを復号し、前記平文Aを得る復号部と、
を備えることを特徴とするデータ復元装置。
M and N are integers of 2 or more, M ′ is an integer of 0 or more, and M ′ ≦ M < N.
The divided values C 0 , ..., C M-1 obtained by dividing the ciphertext C obtained by encrypting the plaintext A using the secret key SK are set as the distributed values T N-M + 1 (C), ..., T N (C). , polynomial g (x) of x = 1 is defined by the following equation, ..., dispersion value D 1 generated by calculating respectively for NM, ..., D NM variance value T 1 (C), ..., T NM (C)
Figure 0005732429
The original data can be restored by using M or more of the N distributed values, and the secret key SK is distributed according to a secret sharing scheme in which the original data cannot be restored from less than M distributed values. Variance value S 1 (SK), ..., S N (SK), variance value T i (C) (i = 1, ..., N) and variance value S i (SK) (i = 1, ..., N) the dispersion value U 1 that was set (a), ..., U N (a) dispersion value of M variance values arbitrarily selected from U '1 (a), ... , U' and M (a),
'Said dispersion value T 1 (C), ..., T NM the dispersion value U of (C)' M 1 (A ), ..., and the number of those contained in U 'M (A),
'If> 0, the dispersion value T 1 (C), ..., the dispersion value U of T NM (C)' M 1 (A), ..., number 'M included in M (A)' to U the variance T '1 (C), ... , T' M '(C) a dispersion value D' 1, ..., extracted as D 'M',
'If> 0, the dispersion value T N-M + 1 (C ), ..., the dispersion value of T N (C) U' M -M 1 (A), ..., U 'M (A) , M ′ M variance values T ′ M ′ + 1 (C),..., T ′ M (C) included in the data are extracted as divided values C ′ 0 ,. A ciphertext extraction unit;
The division value C 0, ..., C M- 1 of either the divided value C '0, ..., C' if not included in M-M'-1, the polynomial g a (x), wherein The division values C ′ 0 ,..., C ′ M−M′−1 include M−M ′ division values C i (1 ≦ i ≦ M−1) as constants, and the division values C ′ 0 ,. , C ′ M−M′−1 , M ′ divided values C j (1 ≦ j ≦ M−1) are used as variables, and the variance values D ′ 1 ,..., D ′ M ′ are obtained. a divided ciphertext interpolating unit for interpolating the divided values C 0 ,..., C M-1 by solving as a simultaneous equation consisting of M ′ equations into which x is substituted ;
A ciphertext combining unit that combines the divided values C 0 ,..., C M-1 to obtain the ciphertext C;
According to the secret sharing scheme, the dispersion value U '1 (A), ... , U' M variance S contained in (A) '1 (SK) , ..., S' from M (SK), the secret key SK A key recovery unit for recovering
Decrypting the ciphertext C using the secret key SK, and obtaining the plaintext A;
A data restoration device comprising:
M,Nは2以上の整数であり、M’は0以上の整数であり、M’≦M<Nであるとして、
データ分散装置が、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する暗号化ステップと、
前記データ分散装置が、前記暗号文CをM個の分割値C0,…,CM-1に分割する暗号文分割ステップと、
前記データ分散装置が、次式で定義される多項式g(x)をx=1,…,N-Mについてそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する暗号文分散ステップと、
Figure 0005732429
前記データ分散装置が、N個の分散値のうちM個以上の分散値を用いれば元のデータを復元でき、M個未満の分散値からは元のデータを復元できない秘密分散方式に従って、前記秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する鍵分散ステップと、
前記データ分散装置が、前記分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、前記分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、分散値Ti(C)(i=1,…,N)と分散値Si(SK)(i=1,…,N)を組にして分散値U1(A),…,UN(A)を生成する分散値生成ステップと、
データ復元装置が、M'を前記分散値T1(C),…,TN-M(C)のうち前記分散値U1(A),…,UN(A)から任意に選択されたM個の分散値U'1(A),…,U'M(A)に含まれるものの数とし、
M'>0であれば、前記分散値T 1 (C),…,T N-M (C)のうち前記分散値U' 1 (A),…,U' M (A)に含まれるM'個の分散値T'1(C),…,T'M'(C)を分散値D'1,…,D'M'として抽出し、
M-M'>0であれば、前記分散値TN-M+1(C),…,TN(C)のうち前記分散値U'1(A),…,U'M(A)に含まれるM-M'個の分散値T'M'+1(C),…,T'M(C)を分割値C'0,…,C'M-M'-1として抽出する分割暗号文抽出ステップと、
前記データ復元装置が、前記分割値C0,…,CM-1のいずれかが前記分割値C'0,…,C'M-M'-1に含まれない場合には、前記多項式g(x)を、前記分割値C' 0 ,…,C' M-M'-1 に含まれるM-M'個の分割値C i (1≦i≦M-1)を定数とし、前記分割値C' 0 ,…,C' M-M'-1 に含まれないM'個の分割値C j (1≦j≦M-1)を変数とし、前記分散値D' 1 ,…,D' M' を求めたxそれぞれを代入したM'個の方程式からなる連立方程式として解くことで、前記分割値C0,…,CM-1を補間する分割暗号文補間ステップと、
前記データ復元装置が、前記分割値C0,…,CM-1を結合して前記暗号文Cを得る暗号文結
合ステップと、
前記データ復元装置が、前記秘密分散方式に従って、前記分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、前記秘密鍵SKを復元する鍵復元ステップと、
前記データ復元装置が、前記秘密鍵SKを用いて前記暗号文Cを復号し、前記平文Aを得る復号ステップと、
を含むことを特徴とする秘密分散方法。
M and N are integers of 2 or more, M ′ is an integer of 0 or more, and M ′ ≦ M < N.
An encryption step in which the data distribution device encrypts plaintext A using a secret key SK to generate ciphertext C;
A ciphertext dividing step in which the data distribution device divides the ciphertext C into M divided values C 0 , ..., C M-1 ;
The data distribution device generates NM distributed values D 1 ,..., D NM by calculating a polynomial g (x) defined by the following equation for x = 1 ,. Steps,
Figure 0005732429
The data distribution apparatus can restore the original data by using M or more of the N distribution values, and the secret distribution method cannot restore the original data from less than M distribution values. A key distribution step for distributing the key SK to N distributed values S 1 (SK),..., S N (SK);
The data distribution apparatus, the dispersion value D 1, ..., D NM variance value T 1 (C), ..., and T NM (C), the divided value C 0, ..., a C M-1 dispersion value T N-M + 1 (C), ..., T N (C), dispersion value T i (C) (i = 1, ..., N) and dispersion value S i (SK) (i = 1, ..., N ) was a set amount Chichi U 1 (a), ..., a dispersion value generating step of generating U N (a),
The data restoration device has M ′ arbitrarily selected from the dispersion values U 1 (A),..., U N (A) among the dispersion values T 1 (C) ,. dispersion value U '1 (a), ... , U' and the number of those included in M (a),
'If> 0, the dispersion value T 1 (C), ..., the dispersion value U of T NM (C)' M 1 (A), ..., number 'M included in M (A)' to U the variance T '1 (C), ... , T' M '(C) a dispersion value D' 1, ..., extracted as D 'M',
'If> 0, the dispersion value T N-M + 1 (C ), ..., the dispersion value of T N (C) U' M -M 1 (A), ..., U 'M (A) , M ′ M variance values T ′ M ′ + 1 (C),..., T ′ M (C) included in the data are extracted as divided values C ′ 0 ,. A ciphertext extraction step;
Wherein the data restoration device, the divided value C 0, ..., C M- 1 of either the divided value C '0, ..., C' if not included in M-M'-1, the polynomial g (x) is defined by using M−M ′ divided values C i (1 ≦ i ≦ M−1) included in the divided values C ′ 0 ,..., C ′ M−M′−1 as constants. the value C '0, ..., C' not included in the M-M'-1 M 'number of divided values C j a (1 ≦ j ≦ M-1 ) as a variable, the dispersion value D' 1, ..., D A divided ciphertext interpolation step for interpolating the divided values C 0 ,..., C M-1 by solving as a simultaneous equation consisting of M 'equations substituting each of x obtained for ' M ' ;
A ciphertext combining step in which the data restoration device obtains the ciphertext C by combining the divided values C 0 ,..., C M-1 ;
The data restoration apparatus according to the secret sharing scheme, the dispersion value U '1 (A), ... , U' variance S included in M (A) '1 (SK ), ..., S' M (SK) From the key recovery step of recovering the secret key SK,
The data restoration device decrypts the ciphertext C using the secret key SK, and obtains the plaintext A; and
A secret sharing method characterized by comprising:
請求項3に記載のデータ分散装置もしくは請求項4に記載のデータ復元装置としてコンピュータを記載させるためのプログラム。   A program for causing a computer to be described as the data distribution device according to claim 3 or the data restoration device according to claim 4.
JP2012114066A 2012-05-18 2012-05-18 Secret sharing system, data sharing device, data restoration device, secret sharing method, and program Active JP5732429B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012114066A JP5732429B2 (en) 2012-05-18 2012-05-18 Secret sharing system, data sharing device, data restoration device, secret sharing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012114066A JP5732429B2 (en) 2012-05-18 2012-05-18 Secret sharing system, data sharing device, data restoration device, secret sharing method, and program

Publications (2)

Publication Number Publication Date
JP2013243441A JP2013243441A (en) 2013-12-05
JP5732429B2 true JP5732429B2 (en) 2015-06-10

Family

ID=49843957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012114066A Active JP5732429B2 (en) 2012-05-18 2012-05-18 Secret sharing system, data sharing device, data restoration device, secret sharing method, and program

Country Status (1)

Country Link
JP (1) JP5732429B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6703706B2 (en) 2016-01-18 2020-06-03 リアル・テクノロジー株式会社 Ciphertext management method, ciphertext management device and program
JP6300286B1 (en) * 2016-12-27 2018-03-28 株式会社ZenmuTech Access management system, access management method and program
JP7027060B2 (en) * 2017-08-03 2022-03-01 株式会社日立製作所 Secret sharing system and its method
GB201713800D0 (en) 2017-08-29 2017-10-11 Nchain Holdings Ltd Computer-implemented system and method
JP7126303B2 (en) * 2020-08-17 2022-08-26 株式会社ポリテック Restoration terminal, communication system, restoration method, communication method, and program
TW202336618A (en) * 2022-03-04 2023-09-16 日商At信息股份有限公司 Data management system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348065A (en) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd Distributed data storage system
JP2007299088A (en) * 2006-04-28 2007-11-15 Fujitsu Ltd Data protection system, method and program
JP5065755B2 (en) * 2007-05-16 2012-11-07 Kddi株式会社 Distributed information generating apparatus, confidential information restoring apparatus, distributed information generating method, confidential information restoring method and program
JP5057276B2 (en) * 2007-08-03 2012-10-24 パイオニア株式会社 Distributed information management system

Also Published As

Publication number Publication date
JP2013243441A (en) 2013-12-05

Similar Documents

Publication Publication Date Title
JP6934963B2 (en) Data encryption methods and systems
JP5885840B2 (en) Secret sharing system, data sharing device, distributed data conversion device, secret sharing method, and program
US9438423B2 (en) Encryption device, encryption method, and information processing device
JP5732429B2 (en) Secret sharing system, data sharing device, data restoration device, secret sharing method, and program
JP6194886B2 (en) Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program
KR20150073753A (en) Apparatus and methdo for giving the compressed encryption functionality to integer-based homomorphic encryption schemes
CN110169010B (en) Homomorphic arithmetic device, encryption system, and computer-readable storage medium
JP5944841B2 (en) Secret sharing system, data sharing device, distributed data holding device, secret sharing method, and program
Sokouti et al. Medical image encryption: an application for improved padding based GGH encryption algorithm
EP3817323B1 (en) Encryption processing system, encryption processing method, and program
JP2012150378A (en) Proxy re-encryption system, key generation device, re-encryption device, proxy re-encryption method, and program
JP4737334B2 (en) Encryption device, decryption device, encryption program, decryption program, and recording medium
JP5400740B2 (en) Searchable encryption system, searchable encryption method, storage device, search device, and registrant device
JP2006311383A (en) Data managing method, data management system and data managing device
JP2009116183A (en) Encryption device, decryption device, key generating device, and program
WO2020070973A1 (en) Decryption device, cryptosystem, decryption method, and decryption program
WO2019239776A1 (en) Decrypting device, encrypting device, and encryption system
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP6266130B2 (en) Cryptographic system, master key update device, and master key update program
JP5784662B2 (en) ENCRYPTED DATA OPERATION SYSTEM, DEVICE, AND PROGRAM
JP5679344B2 (en) Signature key obfuscation system, signature key obfuscation method, encryption signature system using obfuscated signature key, encryption signature method and program using obfuscated signature key
WO2024028961A1 (en) Cryptosystem, method, and program
JP6885325B2 (en) Cryptographic device, decryption device, encryption method, decryption method, program
CN114676452A (en) Data secure storage method and device
JPWO2020240630A1 (en) Re-encrypting device, re-encrypting method, re-encrypting program and cryptosystem

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140626

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150317

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150413

R150 Certificate of patent or registration of utility model

Ref document number: 5732429

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150