JP2013243441A - 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム - Google Patents

秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム Download PDF

Info

Publication number
JP2013243441A
JP2013243441A JP2012114066A JP2012114066A JP2013243441A JP 2013243441 A JP2013243441 A JP 2013243441A JP 2012114066 A JP2012114066 A JP 2012114066A JP 2012114066 A JP2012114066 A JP 2012114066A JP 2013243441 A JP2013243441 A JP 2013243441A
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.)
Granted
Application number
JP2012114066A
Other languages
English (en)
Other versions
JP5732429B2 (ja
Inventor
Koji Senda
浩司 千田
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/ja
Publication of JP2013243441A publication Critical patent/JP2013243441A/ja
Application granted granted Critical
Publication of JP5732429B2 publication Critical patent/JP5732429B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】秘密分散のデータ復元処理の計算量を抑える。
【解決手段】データ分散装置10は、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成し、M個の分割値C0,…,CM-1に分割する。分割値C0,…,CM-1を用いてN-M個の分散値D1,…,DN-Mを生成する。秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する。分割値C0,…,CM-1と分散値D1,…,DN-Mと分散値S1(SK),…,SN(SK)から分散値U1(A),…,UN(A)を生成する。データ復元装置20は、M個の分散値U'1(A),…,U'M(A)から分散値D'1,…,D'M'と分割値C'0,…,C'M-M'-1と分散値S'1(SK),…,S'M(SK)を抽出する。分割値C0,…,CM-1を結合して暗号文Cを得る。分散値S'1(SK),…,S'M(SK)から秘密鍵SKを復元し、暗号文Cを復号し平文Aを得る。
【選択図】図3

Description

この発明は、秘密分散技術に関する。
秘密分散は、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元でき、一定個数未満の分散値からは元のデータを一切復元できなくする技術である。分散値の総数をN、復元に必要な分散値の最小数をM(≦N)としたとき、N,Mの値に制限がない方式と制限がある方式とがある。
秘密分散の代表的な方式として、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を復元できる。
Figure 2013243441
上記の例では、分散値Si(A)は0以上p未満の整数となるが、分散値のデータ長をより小さくできる方式も提案されている(例えば、非特許文献2参照)。非特許文献2に記載の秘密分散方式では、共通鍵暗号を用いた以下の方法が提案されている。
<データ分散処理>
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)を生成する。
<データ復元処理>
1.N個の分散値Ui(A)から任意のM個を選択する。
2.情報伝播アルゴリズムを用いて、M個の分散値Ti(C)から暗号文Cを復元する。
3.任意の秘密分散方式により、M個の分散値Si(SK)から秘密鍵SKを復元する。
4.秘密鍵SKを用いて暗号文Cを復号し、平文Aを得る。
情報伝播アルゴリズムは、データを複数の分散値に変換し、一定個数以上の分散値を用いれば元のデータを復元できるようにする技術である。一定個数未満の分散値から元のデータを復元できてもよい点が、秘密分散方式とは相違する。
より具体的に情報伝播アルゴリズムの一例を説明する。情報伝播アルゴリズムのデータ分散処理は、暗号文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次式より得られる値とする。
Figure 2013243441
一般にqはpよりも小さな値とすることができる。また、秘密鍵SKは例えば128ビットの小さな固定データ長とすることができる。そのため、秘密鍵SKの分散値Si(SK)は暗号文Cの分散値Ti(C)と比較して十分に小さなデータ長となるため無視することができる。したがって、非特許文献2に記載の秘密分散方式による分散値Ui(A)は、非特許文献1に記載の秘密分散方式による分散値Si(A)よりも小さなデータ長になることが期待できる。
情報伝播アルゴリズムのデータ復元処理は、M個の分散値Ti(C)を用いてC0,…,CM-1を変数とする以下の連立方程式を解くことで、分割値C0,…,CM-1を復元する。
Figure 2013243441
そして、復元した分割値C0,…,CM-1を結合して暗号文Cを復元する。
マルチパーティ計算に拡張した秘密分散方式が非特許文献3に開示されている。マルチパーティ計算とは、各主体が保有するデータの分散値を他の主体に送り、その分散値を他の主体に明かすことなく意中の計算を実行させることができる秘密分散方式である。
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. 千田浩司,五十嵐大,濱田浩気,菊池亮,冨士仁,高橋克巳, "マルチパーティ計算に適用可能な計算量的ショート秘密分散", SCIS 2012.
秘密分散されたデータから画面表示やプログラム実行などを即座に行いたい場合、秘密分散技術におけるデータ復元処理に要する時間をできるだけ短くすることが求められる。非特許文献2や非特許文献3に記載の秘密分散方式は、暗号文Cを復元するための分割値C0,…,CM-1を求めるために、分割値C0,…,CM-1のすべてを変数とする連立方程式を解く必要がある。特に、暗号文Cのデータ長が大きくなるほど計算量は増大し、結果としてデータ復元処理に要する時間も長大化することになる。
この発明はこのような点に鑑みてなされたものであり、秘密分散のデータ復元処理の計算量を抑えることを目的とする。
上記の課題を解決するために、この発明の秘密分散システムは、データ分散装置とデータ復元装置を含む。この発明では、M,Nは2以上の整数であり、M’は0以上の整数であり、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)を生成する。
データ復元装置は、分割暗号文抽出部と分割暗号文補間部と暗号文結合部と鍵復元部と復号部とを備える。分割暗号文抽出部は、分散値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を得る。
この発明の秘密分散技術によれば、所定の分散値がすべて選択された場合には、選択された分散値に含まれる分割値の結合のみで暗号文Cを復元することができる。すなわち、情報伝播アルゴリズムのデータ復元処理を省略することができるため、秘密分散方式のデータ復元処理の計算量を抑えることができる。
従来の秘密分散方式のデータ分散処理を説明する模式図。 従来の秘密分散方式のデータ復元処理を説明する模式図。 第1実施形態に係る秘密分散システムの構成例を示すブロック図。 第1実施形態に係るデータ分散装置の構成例を示すブロック図。 第1実施形態に係るデータ復元装置の構成例を示すブロック図。 データ記憶装置の構成例を示すブロック図。 第1実施形態に係るデータ分散装置の動作例を示すフローチャート。 第1実施形態に係るデータ復元装置の動作例を示すフローチャート。 第1実施形態に係るデータ分散処理を説明する模式図。 第1実施形態に係るデータ復元処理を説明する模式図。 第2実施形態に係る秘密分散システムの構成例を示すブロック図。 第2実施形態に係るデータ分散装置の構成例を示すブロック図。 第2実施形態に係るデータ復元装置の構成例を示すブロック図。 第2実施形態に係るデータ分散処理を説明する模式図。 第2実施形態に係るデータ復元処理を説明する模式図。 第3実施形態に係る秘密分散システムの構成例を示すブロック図。 第3実施形態に係るデータ分散装置の構成例を示すブロック図。 第3実施形態に係るデータ復元装置の構成例を示すブロック図。 第3実施形態に係るデータ分散処理を説明する模式図。 第3実施形態に係るデータ復元処理を説明する模式図。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[従来の秘密分散方式]
実施形態の説明に先立って、従来の秘密分散方式の課題について詳細に説明する。
<データ分散処理>
図1を参照して従来の秘密分散方式によるデータ分散処理の原理を説明する。
まず、秘密鍵SKを用いて平文Aを暗号化し、暗号文Cを生成する。ここで用いる暗号化方式は任意の共通鍵暗号方式を用いることができる。共通鍵暗号方式とは情報の送信者と受信者が同一の鍵を共有する暗号方式である。代表的な共通鍵暗号方式としては、例えばDES(Data Encryption Standard)、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としてもよい。
そして、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)」を参照されたい。
一方で、秘密鍵SKを、情報伝播アルゴリズムに従って分散し、分散値S1(SK),…,SN(SK)を生成する。情報伝播アルゴリズムについての詳細は、上述および参考文献1を参照されたい。情報伝播アルゴリズムは秘密分散方式を包含する概念であるので、ここでは既知の秘密分散方式を用いてもよい。例えば、Shamir秘密分散方式などが適用できる。Shamir秘密分散方式についての詳細は、上述および非特許文献1を参照されたい。
最後に、i=1,…,Nについて、分散値Ti(C)と分散値Si(SK)を組として分散値Ui(A)=(Ti(C),Si(SK))を生成し、N個の分散値U1(A),…,UN(A)とする。
<データ復元処理>
図2を参照して従来の秘密分散方式によるデータ復元処理の原理を説明する。
まず、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に分割した方法に対応して決定される。
一方で、M個の分散値U’1(A),…,U’M(A)に含まれる分散値S’1(SK),…,S’M(SK)から、情報伝播アルゴリズムに従って秘密鍵SKを復元する。ここで用いる情報伝播アルゴリズムは、データ分散処理において、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散した際に用いた情報伝播アルゴリズムである。
最後に、復元した秘密鍵SKを用いて復元した暗号文Cを復号することで平文Aを得る。復号の方法は、データ分散処理において、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成した際に用いた暗号方式を用いる。
このように、従来の秘密分散方式では、暗号文Cを復元するための分割値C0,…,CM-1を求めるために、分割値C0,…,CM-1のすべてを変数とする連立方程式を解く必要があった。暗号文Cのデータ長が大きくなるほど分割数や分割値C0,…,CM-1のデータ長が大きくなるため、計算量が増大する。結果としてデータ復元処理に要する時間も長大化する。この発明は、秘密分散方式のデータ復元処理の計算量を抑えることでデータ復元処理に要する時間を低減することを目的とする。
[第1実施形態]
この発明の第1実施形態に係る秘密分散システム1は、非特許文献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へオフラインで入力するように構成してもよい。
図4を参照して、秘密分散システム1に含まれるデータ分散装置10の構成例を詳細に説明する。データ分散装置10は、暗号化部110と暗号文分割部120と暗号文分散部130と鍵分散部140と分散値生成部150と分散値配布部160とを備える。
図5を参照して、秘密分散システム1に含まれるデータ復元装置20の構成例を詳細に説明する。データ復元装置20は、分散値選択部210と分割暗号文抽出部220と分割暗号文補間部230と暗号文結合部240と鍵復元部250と復号部260とを備える。
図6を参照して、秘密分散システム1に含まれるデータ記憶装置30の構成例を詳細に説明する。データ記憶装置30は、分散値記憶部310を備える。分散値記憶部310は、例えば、ハードディスクや光ディスクもしくはフラッシュメモリ(Flash Memory)などの半導体メモリ素子により構成される補助記憶装置、またはリレーショナルデータベースやキーバリューストアなどのミドルウェアにより構成することができる。
<データ分散処理>
図7を参照して、データ分散装置10の動作例を、実際に行われる手続きの順に従って詳細に説明する。
データ分散装置10の備える暗号化部110は、秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成する(S110)。ここで用いる暗号化方式は従来の秘密分散方式と同様に、既知のいかなる共通鍵暗号方式も用いることができる。
データ分散装置10の備える暗号文分割部120は、暗号文CをM個の分割値C0,…,CM-1に分割する(S120)。ここで用いる分割方法は従来の秘密分散方式と同様に、すべての分割値C0,…,CM-1を所定の順番で結合する操作のみにより暗号文Cを復元できる方法であればどのような方法でもよい。
データ分散装置10の備える暗号文分散部130は、分割値C0,…,CM-1を係数とするN-M個の互いに線形独立な多項式をそれぞれ計算することで、N-M個の分散値D1,…,DN-Mを生成する(S130)。より具体的には、以下の式で表される多項式g(x)を、x=1,…,N-Mについてそれぞれ計算することで、分散値D1,…,DN-Mを生成する。
Figure 2013243441
ただし、qは分割値C0,…,CM-1のいずれより大きいN以上の素数である。
データ分散装置10の備える鍵分散部140は、任意の秘密分散方式に従って、秘密鍵SKをN個の分散値S1(SK),…,SN(SK)に分散する(S140)。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、既知のいかなる秘密分散方式も用いることができる。例えば、非特許文献1〜3に記載の秘密分散方式を用いることができる。
データ分散装置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)。
データ分散装置10の備える分散値配布部160は、分散値U1(A),…,UN(A)をデータ記憶装置301,…,30Nに配布する(S160)。データ記憶装置30iは受信した分散値Ui(A)を分散値記憶部310へ記憶する。
<データ復元処理>
図8を参照して、データ復元装置20の動作例を、実際に行われる手続きの順に従って詳細に説明する。
データ復元装置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)。
データ復元装置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)。
データ復元装置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を求める。
Figure 2013243441
データ復元装置20の備える暗号文結合部240は、分割値C0,…,CM-1を結合して暗号文Cを得る(S240)。ここで用いる結合方法は従来の秘密分散方式と同様に、データ分散処理において暗号文CをM個の分割値C0,…,CM-1に分割した際に用いた分割方法に対応して決定される。
データ復元装置20の備える鍵復元部250は、秘密分散方式に従って、分散値U'1(A),…,U'M(A)に含まれる分散値S'1(SK),…,S'M(SK)から、秘密鍵SKを復元する(S250)。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、データ分散処理において秘密鍵SKを分散値S1(SK),…,SN(SK)に分散した際に用いた秘密分散方式である。
データ復元装置20の備える復号部260は、秘密鍵SKを用いて暗号文Cを復号し、平文Aを得る(S260)。復号の方法は従来の秘密分散方式と同様に、データ分散処理において秘密鍵SKを用いて平文Aを暗号化して暗号文Cを生成した際に用いた暗号方式を用いる。
<第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)とする。
図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として抽出する。
分割値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を得る。
このように、第1実施形態に係る秘密分散システム1では、N個の分散値U1(A),…,UN(A)の一部に暗号文Cを分割した値である分割値C0,…,CM-1を保持している。したがって、任意に選択したM個の分散値U’1(A),…,U’M(A)に分割値C0,…,CM-1がすべて含まれている場合には、分割値C0,…,CM-1を復元する処理を行う必要がない。そのため、データ復元処理における計算量を低減することができる。
また、分割値C0,…,CM-1から暗号文Cの一部のデータが得られても、秘密鍵SKを用いて暗号化されており、平文Aの一部が得られるわけではない。したがって、平文Aの秘匿性は損なわれない。
さらに、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を復元することができる。
[第2実施形態]
この発明の第2実施形態に係る秘密分散システム2は、非特許文献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へオフラインで入力するように構成してもよい。
図12を参照して、秘密分散システム2に含まれるデータ分散装置11の構成例を詳細に説明する。データ分散装置11は、第1実施形態に係るデータ分散装置10と同様に、暗号文分割部120と暗号文分散部130と分散値配布部160とを備える。暗号化部110の替わりに暗号化部111を備え、鍵分散部140の替わりに鍵分散部141を備え、分散値生成部150の替わりに分散値生成部151を備える。したがって、データ分散装置11とデータ分散装置10との相違点は、暗号化部と鍵分散部と分散値生成部の処理が異なる点である。
図13を参照して、秘密分散システム2に含まれるデータ復元装置21の構成例を詳細に説明する。データ復元装置21は、第1実施形態に係るデータ復元装置20と同様に、分散値選択部210と分割暗号文抽出部220と分割暗号文補間部230と暗号文結合部240とを備える。鍵復元部250の替わりに鍵復元部251を備え、復号部260の替わりに復号部261を備える。したがって、データ復元装置20とデータ復元装置21との相違点は、鍵復元部と復号部の処理が異なる点である。
<データ分散処理>
データ分散装置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を生成する。
データ分散装置11の備える鍵分散部141は、任意の秘密分散方式に従って、乱数R1,…,RM-1それぞれをN個の分散値S1(Ri),…,SN(Ri)(i=1,…,M-1)に分散する。ここで用いる秘密分散方式は従来の秘密分散方式と同様に、既知のいかなる秘密分散方式も用いることができる。例えば、非特許文献1〜3に記載の秘密分散方式を用いることができる。
データ分散装置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)とする。
<データ復元処理>
データ復元装置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)にそれぞれ分散した際に用いた秘密分散方式である。
データ復元装置21の備える復号部261は、乱数R1,…,RM-1から擬似乱数V(R1),…,V(RM-1)を生成する。そして、h(i)=V(Ri)(i=1,…,M-1)およびh(M)=Cより、h(0)を求めることで平文Aを得る。
<第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)を生成する。
図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を得る。
このように、第2実施形態に係る秘密分散システム2によれば、非特許文献3に記載のマルチパーティ計算に適用可能な計算量的ショート秘密分散方式においても、第1実施形態に係る秘密分散システム1と同様に、秘密分散方式のデータ復元処理における計算量を低減することができる。
[第3実施形態]
この発明の第3実施形態に係る秘密分散システム3は、排他的論理和演算により線形結合された多項式を用いる構成例である。データ分散処理においては、その多項式を用いて暗号文Cの分散値を生成する。データ復元処理においては、その多項式を用いて暗号文Cの分散値を補間する。
<構成>
図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へオフラインで入力するように構成してもよい。
図17を参照して、秘密分散システム3に含まれるデータ分散装置12の構成例を詳細に説明する。データ分散装置12は、第1実施形態に係るデータ分散装置10と同様に、暗号文分割部120と分散値配布部160とを備える。暗号化部110の替わりに暗号化部112を備え、暗号文分散部130の替わりに暗号文分散部131を備え、鍵分散部140の替わりに鍵分散部142を備え、分散値生成部150の替わりに分散値生成部152を備える。したがって、データ分散装置12とデータ分散装置10との相違点は、暗号化部と暗号文分散部と鍵分散部と分散値生成部の処理が異なる点である。
図18を参照して、秘密分散システム3に含まれるデータ復元装置22の構成例を詳細に説明する。データ復元装置22は、第1実施形態に係るデータ復元装置20と同様に、分散値選択部210と分割暗号文抽出部220と暗号文結合部240とを備える。分割暗号文補間部230の替わりに分割暗号文補間部231を備え、鍵復元部250の替わりに鍵復元部252を備え、復号部260の替わりに復号部262を備える。したがって、データ復元装置20とデータ復元装置22との相違点は、分割暗号文補間部と鍵復元部と復号部の処理が異なる点である。
<データ分散処理>
この実施形態では、秘密鍵SKは秘密鍵SK1,SK2であり、平文Aのビット長はnビットであるとする。秘密鍵SK1,SK2は、それぞれランダムに生成する。また、ここではN=3,M=2の場合を例として説明する。
データ分散装置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を生成する。
Figure 2013243441
データ分散装置12の備える暗号文分散部131は、暗号文Cの上位n/2ビットを分割値C0とし、下位n/2ビットを分割値C1とする。そして、以下の式により、分割値C0と分割値C1の排他的論理和演算を計算することで分散値D1を生成する。
Figure 2013243441
データ分散装置12の備える鍵分散部142は、以下の式により、秘密鍵SK1と秘密鍵SK2の排他的論理和演算を計算することでSK3を生成する。
Figure 2013243441
データ分散装置12の備える分散値生成部152は、以下の式に示すように分散値U1(A),…,U3(A)を生成する。
Figure 2013243441
<データ復元処理>
データ復元装置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を求めることができる。
Figure 2013243441
データ復元装置22の備える鍵復元部252は、秘密鍵SK1とSK3もしくは秘密鍵SK2とSK3の排他的論理和を計算する。例えば、分散値U2(A)と分散値U3(A)が選択された場合には、以下の式により分散値U2(A)に含まれる秘密鍵SK2と分散値U3(A)に含まれるSK3との排他的論理和を計算することで秘密鍵SK1を求めることができる。
Figure 2013243441
データ復元装置22の備える復号部262は、復元した秘密鍵SK1,SK2からnビットのハッシュ値Hを生成する。ハッシュ値の生成は、データ分散装置12の備える暗号化部112が用いたハッシュ関数と同一のハッシュ関数により行う。そして、以下の式により、暗号文Cとハッシュ値Hとの排他的論理和を計算することで平文Aを生成する。
Figure 2013243441
上記の説明では、分散値の総数がN=3であり、復元に必要な分散値の最小数がM=2である場合を用いて説明したが、同様の考え方によりN,Mを異なる値とすることができる。
<第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にそれぞれ設定する。
図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を得ることができる。
この実施形態における平文Aの秘匿性について説明する。まず、平文Aは秘密鍵SK1,SK2を用いて暗号化されているため、暗号文Cのみでは平文Aの一部でも復元することはできない。また、暗号文Cは秘密鍵SK1,SK2から生成したハッシュ値Hを用いて暗号化されているため、秘密鍵SK1,SK2のいずれかを得ただけではハッシュ値Hを得ることができず、平文Aの一部でも復元することはできない。
そして、分散値U1(A),…,U3(A)は暗号文Cを分割した分割値C0,C1を含んでいるため、分割値C0,C1をすべて得ることができれば、それらを結合する操作のみで暗号文Cを得ることができる。したがって、この実施形態においても、秘密分散方式のデータ復元処理の計算量を低減することができる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
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 分散値記憶部

Claims (8)

  1. データ分散装置とデータ復元装置を含む秘密分散システムであって、
    M,Nは2以上の整数であり、M’は0以上の整数であり、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)を生成する分散値生成部と、
    を備え、
    前記データ復元装置は、
    前記分散値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を得る復号部と、
    を備えることを特徴とする秘密分散システム。
  2. 請求項1に記載の秘密分散システムであって、
    qは前記分割値C0,…,CM-1のいずれより大きいN以上の素数であり、
    前記多項式は、以下の多項式g(x)であるとして、
    Figure 2013243441

    前記暗号文分散部は、
    x=1,…,N-Mについて、前記多項式g(x)を計算することで、前記分散値D1,…,DN-Mを生成し、
    前記分割暗号文補間部は、
    前記多項式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を補間する
    ことを特徴とする秘密分散システム。
  3. 請求項1または2に記載の秘密分散システムであって、
    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を得る
    ことを特徴とする秘密分散システム。
  4. 請求項1に記載の秘密分散システムであって、
    前記秘密鍵SKはM個の分散値S1,…,SMを含み、nは前記平文Aのビット長であるとして、
    前記暗号化部は、
    前記平文Aと、前記秘密鍵SKに含まれる分散値S1,…,SMから生成したnビットのハッシュ値Hとの排他的論理和を計算することで前記暗号文Cを生成し、
    前記暗号文分散部は、
    排他的論理和演算により線形結合された前記多項式を計算することで、前記分散値D1,…,DN-Mを生成し、
    前記分割暗号文補間部は、
    前記分割値C'0,…,C'M-M'-1と前記分散値D'1,…,D'M'との排他的論理和を計算することで、前記分割値C0,…,CM-1を補間し、
    前記復号部は、
    前記暗号文Cと前記ハッシュ値Hとの排他的論理和を計算することで前記平文Aを生成する
    ことを特徴とする秘密分散システム。
  5. M,Nは2以上の整数であり、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)を生成する分散値生成部と、
    を備えることを特徴とするデータ分散装置。
  6. M,Nは2以上の整数であり、M’は0以上の整数であり、M’≦M≦Nであるとして、
    秘密鍵SKを用いて平文Aを暗号化した暗号文Cを分割した分割値C0,…,CM-1を分散値TN-M+1(C),…,TN(C)とし、前記分割値C0,…,CM-1を係数とするN-M個の互いに線形独立な多項式をそれぞれ計算することで生成した分散値D1,…,DN-Mを分散値T1(C),…,TN-M(C)とし、所定の秘密分散方式に従って前記秘密鍵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)とし、
    前記分散値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として抽出する分割暗号文抽出部と、
    前記分割値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を得る復号部と、
    を備えることを特徴とするデータ復元装置。
  7. M,Nは2以上の整数であり、M’は0以上の整数であり、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)を生成する分散値生成ステップと、
    データ復元装置が、前記分散値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を得る復号ステップと、
    を含むことを特徴とする秘密分散方法。
  8. 請求項5に記載のデータ分散装置もしくは請求項6に記載のデータ復元装置としてコンピュータを記載させるためのプログラム。
JP2012114066A 2012-05-18 2012-05-18 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム Active JP5732429B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012114066A JP5732429B2 (ja) 2012-05-18 2012-05-18 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012114066A JP5732429B2 (ja) 2012-05-18 2012-05-18 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム

Publications (2)

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

Family

ID=49843957

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012114066A Active JP5732429B2 (ja) 2012-05-18 2012-05-18 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5732429B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017130720A (ja) * 2016-01-18 2017-07-27 リアル・テクノロジー株式会社 暗号文管理方法、暗号文管理装置及びプログラム
JP6300286B1 (ja) * 2016-12-27 2018-03-28 株式会社ZenmuTech アクセス管理システム、アクセス管理方法及びプログラム
JP2019028391A (ja) * 2017-08-03 2019-02-21 株式会社日立製作所 秘密分散システム及びその方法
JP2020532221A (ja) * 2017-08-29 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法
JPWO2022039095A1 (ja) * 2020-08-17 2022-02-24
WO2023167266A1 (ja) * 2022-03-04 2023-09-07 A・Tコミュニケーションズ株式会社 データ管理システム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
JP2008288750A (ja) * 2007-05-16 2008-11-27 Kddi Corp 分散情報生成装置、機密情報復元装置、分散情報生成方法、機密情報復元方法およびプログラム
WO2009020078A1 (ja) * 2007-08-03 2009-02-12 Pioneer Corporation 分散情報管理システム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003348065A (ja) * 2002-05-23 2003-12-05 Japan Datacom Co Ltd データ分散保管システム
JP2007299088A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd データ保護システム、方法及びプログラム
JP2008288750A (ja) * 2007-05-16 2008-11-27 Kddi Corp 分散情報生成装置、機密情報復元装置、分散情報生成方法、機密情報復元方法およびプログラム
WO2009020078A1 (ja) * 2007-08-03 2009-02-12 Pioneer Corporation 分散情報管理システム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
CSNJ201210001097; 千田浩司,他: 'マルチパーティ計算に適用可能な計算量的ショート秘密分散' 2012年暗号と情報セキュリティシンポジウム(SCIS 2012) , 20120130, 3B3-2 *
JPN6015001996; H. Krawczyk: 'Secret Sharing Made Short' Lecture Notes in Computer Science Vol. 773, 1994, pp. 136-146, Springer *
JPN6015001997; 千田浩司,他: 'マルチパーティ計算に適用可能な計算量的ショート秘密分散' 2012年暗号と情報セキュリティシンポジウム(SCIS 2012) , 20120130, 3B3-2 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017126571A1 (ja) * 2016-01-18 2017-07-27 リアル・テクノロジー株式会社 暗号文管理方法、暗号文管理装置及びプログラム
JP2017130720A (ja) * 2016-01-18 2017-07-27 リアル・テクノロジー株式会社 暗号文管理方法、暗号文管理装置及びプログラム
US10854114B2 (en) 2016-01-18 2020-12-01 Real Technology Inc. Cyphertext management method, cyphertext management apparatus, and program
JP6300286B1 (ja) * 2016-12-27 2018-03-28 株式会社ZenmuTech アクセス管理システム、アクセス管理方法及びプログラム
WO2018124105A1 (ja) * 2016-12-27 2018-07-05 株式会社ZenmuTech アクセス管理システム、アクセス管理方法及びプログラム
JP2018106026A (ja) * 2016-12-27 2018-07-05 株式会社ZenmuTech アクセス管理システム、アクセス管理方法及びプログラム
JP7027060B2 (ja) 2017-08-03 2022-03-01 株式会社日立製作所 秘密分散システム及びその方法
JP2019028391A (ja) * 2017-08-03 2019-02-21 株式会社日立製作所 秘密分散システム及びその方法
JP2020532221A (ja) * 2017-08-29 2020-11-05 エヌチェーン ホールディングス リミテッドNchain Holdings Limited ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法
JP7203829B2 (ja) 2017-08-29 2023-01-13 エヌチェーン ライセンシング アーゲー ブロックチェーンでエンティティにより提供されるデータの通信、保存、及び処理のためのシステム及び方法
JP7482982B2 (ja) 2017-08-29 2024-05-14 エヌチェーン ライセンシング アーゲー ブロックチェーンにおけるコンピュータ実行方法、システム及び記憶媒体
WO2022039095A1 (ja) * 2020-08-17 2022-02-24 株式会社Gdi 復元端末、通信システム、復元方法、通信方法、及びプログラム
JPWO2022039095A1 (ja) * 2020-08-17 2022-02-24
JP7126303B2 (ja) 2020-08-17 2022-08-26 株式会社ポリテック 復元端末、通信システム、復元方法、通信方法、及びプログラム
WO2023167266A1 (ja) * 2022-03-04 2023-09-07 A・Tコミュニケーションズ株式会社 データ管理システム

Also Published As

Publication number Publication date
JP5732429B2 (ja) 2015-06-10

Similar Documents

Publication Publication Date Title
JP6934963B2 (ja) データを暗号化する方法およびシステム
JP5885840B2 (ja) 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
US9438423B2 (en) Encryption device, encryption method, and information processing device
KR102423885B1 (ko) 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
JP5732429B2 (ja) 秘密分散システム、データ分散装置、データ復元装置、秘密分散方法、およびプログラム
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
KR20140114933A (ko) 정수 기반 준동형 암호 기법에서 압축 암복호화를 제공하는 시스템 및 방법
JP6194886B2 (ja) 暗号化統計処理システム、復号システム、鍵生成装置、プロキシ装置、暗号化統計データ生成装置、暗号化統計処理方法、および、暗号化統計処理プログラム
KR20150073753A (ko) 정수 기반 준동형 암호 기법에 일반적으로 적용 가능한 압축 암복호화 장치 및 방법
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
CN110169010B (zh) 同态运算装置、加密系统和计算机能读取的存储介质
JP2012150378A (ja) プロキシ再暗号化システム、鍵生成装置、再暗号化装置、プロキシ再暗号化方法、プログラム
US11431489B2 (en) Encryption processing system and encryption processing method
JP2006311383A (ja) データ管理方法、データ管理システムおよびデータ管理装置
JP2012079192A (ja) 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置
JP6006809B2 (ja) 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
WO2020070973A1 (ja) 復号装置、暗号システム、復号方法及び復号プログラム
WO2019239776A1 (ja) 復号装置、暗号化装置及び暗号システム
US20210226791A1 (en) Encryption system, encryption apparatus, decryption apparatus, encryption method, decryption method, and program
JP6266130B2 (ja) 暗号システム、マスター鍵更新装置及びマスター鍵更新プログラム
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
JP5784662B2 (ja) 暗号化データ演算システム、装置及びプログラム
WO2024028961A1 (ja) 暗号システム、方法及びプログラム
JP6885325B2 (ja) 暗号化装置、復号装置、暗号化方法、復号方法、プログラム
CN114676452A (zh) 一种数据安全存储方法和装置

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