JP6781397B2 - 秘密分散システム - Google Patents
秘密分散システム Download PDFInfo
- Publication number
- JP6781397B2 JP6781397B2 JP2016178305A JP2016178305A JP6781397B2 JP 6781397 B2 JP6781397 B2 JP 6781397B2 JP 2016178305 A JP2016178305 A JP 2016178305A JP 2016178305 A JP2016178305 A JP 2016178305A JP 6781397 B2 JP6781397 B2 JP 6781397B2
- Authority
- JP
- Japan
- Prior art keywords
- random number
- information
- information processing
- masked
- processing device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Description
(b)擬似ランダム関数の鍵として用いる乱数rを、RSS(複製型秘密分散法)を用いて分散する。
(c)s1’=s1+R(r,1),…,sm’=sm+R(r,m)を計算する。
(d)各si’をk-1個のシェアの値が固定されたShamir(k,n)法で分散する。このようにして分散されて得られた分散情報を、CSS分散情報と称す。
(b)s1’,…,sm’を復元する。
(c)s1=s1’-R(r,1),…,sm=sm’-R(r,m)を計算する。
(b)si’のシェアからR(r,i)のShamir(k,n)法のシェアRand(r,i)を減じたものをsiのシェアとする。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含む秘密分散システムであって、
第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持し、
前記第2の情報処理装置は、情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第3の情報処理装置は、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第1の情報処理装置は、
前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、
前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算し、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算する、
ように構成されている。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算する第1の処理部と、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算する第2の処理部と、
を有する。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算する第1の処理部と、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算した後、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する第2の処理部と、
を有する。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置が実行する分散情報変換方法であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、
前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、
前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、
前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算し、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算する。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置が実行する分散情報変換方法であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算した後、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置を構成するコンピュータを、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算する第1の処理部と、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算する第2の処理部と、
して機能させる。
第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置を構成するコンピュータを、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算する第1の処理部と、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから、前記情報を前記第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値を、前記第2の乱数と前記第3の乱数で更にマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個のシェアの値が固定されたShamir(2,n)法によって分散した分散値を、前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために計算した後、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する第2の処理部と、
して機能させる。
[第1の実施形態]
図1を参照すると、本発明の第1の実施形態に係る秘密分散システムは、第1の情報処理装置11と第2の情報処理装置12と第3の情報処理装置13とを含む。第1の情報処理装置11と第2の情報処理装置12と第3の情報処理装置13とは、ネットワーク2を通じて相互に通信可能に接続されている。ネットワーク2は、例えばインターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。
g2+r1*f1’(2) mod 7
また、情報処理装置13は、以下の値を計算し、情報処理装置11へ送信する。
g3+r1*f1’(3) mod 7
ここで、以下が成立する。
f1’(x)=1+6x mod 7, f1’(1)=0, f1’(2)=6, f1’(3)=5
f2’(x)=1+3x mod 7, f2’(1)=4, f2’(2)=0, f2’(3)=3
f3’(x)=1+2x mod 7, f3’(1)=3, f3’(2)=5, f3’(3)=0
従って、g2+r1*f1’(2) mod 7=0+4*6 mod 7=3、g3+r1*f1’(3) mod 7=3+4*5 mod 7=2である。
g’(x)=5-x mod 7
g’(0)=5-0 mod 7=5
となる。これは、s+r1=1+4 mod 7=5に等しい。
s+r1+r2+r3 mod 7=5+5+6 mod 7=2
f’(x)=2+5x mod 7
そして、情報処理装置11は、f’(2)=5を計算し、その計算結果の分散情報(2,5)を情報処理装置12へ送信する。また、情報処理装置11は、f’(3)=3を計算し、その計算結果の分散情報(3,3)を情報処理装置13へ送信する。また、情報処理装置11は、f’(1)=0に相当する分散情報(1,0)を自情報処理装置11の分散情報とする。図4のステップs-8,s-9では、情報処理装置12,13は、情報処理装置11から上記分散情報を受信し、保持する。
次に本発明の第2の実施形態について説明する。
秘密分散法とは、秘密情報から複数の分散情報を生成する技術である。分散情報はあらかじめ定められた組み合わせからは秘密情報を復元できるが、それ以外の組み合わせからは秘密情報が復元できないように作られる。定められた組み合わせには様々な構造をとることができ、その構造はアクセス構造と呼ばれる。様々なアクセス構造があるが、代表的なアクセス構造として、しきい値型アクセス構造について説明する。しきい値型アクセス構造は、生成される分散情報の数nと、しきい値kの二つのパラメータで表される。k個以上の分散情報からは秘密情報が復元できるがk個未満の分散情報からは秘密情報が復元できないというものである。以降、分散情報の数がnであり、しきい値がkのしきい値型アクセス構造の秘密分散法を(k,n)法と呼ぶ。(k,n)法の実現方法は様々知られているが、非特許文献1に記載のShamir(k,n)法に関して秘密情報を分散する処理、復元する処理、および特徴を説明する。
Shamir(k,n)しきい値法は、有限体Zの要素である秘密情報を入力としてn個の分散情報を生成するための分散処理(以降、Shamir_Distと呼ぶ)と、k個以上の分散情報から秘密情報を復元する復元処理(以降、Shamir_Recと呼ぶ)とを含む。なお、+は有限体上の加算を表し、*は乗算を表す。
入力:秘密情報s、しきい値k、分散情報数n
処理:
1.定数項がsに等しい有限体Z上のk-1次多項式f(x)=s+r1*x+r2*x2+…+rk-1*xk-1を生成する。定数項以外の係数r1,…,rk-1は有限体の要素から一様ランダムに選択する。
2.v1=f(1),…,vn=f(n)を計算する。
出力:v1,…,vnを分散情報として出力する。
入力:j≧k個の分散情報vi,1,…,vi,j(しきい値であるk個以上の分散情報が入力される)、しきい値k
処理:
1.((i,1),vi,1),…,((i_j),vi,j)を通る有限体Z上のk-1次多項式f’(x)を計算する。
2.f(0)を計算する。
出力:f(0)
前述したような(k,n)しきい値法は、秘密情報の分散管理に用い、秘匿性を高めることができる。例えば、秘密情報sに(2,3)しきい値法の分散処理を適用し、3つの分散情報v1,v2,v3を計算する。v1,v2,v3をそれぞれ異なるサーバに保管する。この時、1台までのサーバに保管されている分散情報が漏えいしても、秘密情報の漏えいを防ぐことができる。例えば、クラウド等のサーバに秘密情報を保管する際、預けたデータをクラウドの管理者に知られないようにするために用いることができる。あるクライアントCが秘密情報sをサーバS1,S2,S3に保管する場合を想定すると、以下のような手順となる。
1.クライアントCは、sを(2,3)しきい値法で分散する。その出力である三つのシェアをd1,d2,d3とする。
2.クライアントはS1にd1を、S2にd2を、S3にd3を送付し、保管を依頼する。
1.クライアントCはサーバS1とサーバS2のそれぞれに対し、それぞれが保管している情報を送付するように依頼する。
2.サーバS1はd1を、サーバS2はd2をクライアントCに送付する。
3.クライアントはd1とd2を(2,3)しきい値法の復元処理に入力し、その出力である秘密情報を得る。
この秘密分散法によって分散されたデータに関する計算を実行することができる技術は秘密計算法と呼ばれている。秘密計算法は非特許文献2で提案されて以来、様々な方法が提案されている。秘密計算法によれば、秘密分散法によって複数のサーバに分散して保管されたデータ群に対する任意の演算をデータの復元を伴うことなく実行することができる。秘密計算法には様々な方法があるが、データがShamir(k,n)法を用いて分散されていることを前提とした手法(非特許文献2等に記載)が多く提案されている。
RSSについては非特許文献4に記載されている。RSSは、任意のアクセス構造を実現可能な秘密分散法であり、有限体の要素を(k,n)しきい値型のアクセス構造で分散することができる。RSSの基本とする処理は、有限体Zの要素である秘密情報sを入力としてn個の分散情報を生成するための分散処理(以降、RSS_Distと呼ぶ)と、k個以上の分散情報から秘密情報を復元する復元処理(以降、RSS_Recと呼ぶ)であり、これらを以下で説明する。なお、+は有限体上の加算を表す。
入力:s(有限体Zの要素をする)、しきい値k、分散情報数n
処理:
1.集合(1,…,n)の要素からk-1個の要素を選択した集合それぞれについて有限体Z上の要素をランダムに選択する。ただし、最後の一つはすべての和がsと等しくなるように選択する。
2.viを1.の処理でiを含まない組み合わせについて選択した乱数の集合とする。
出力:v1,…,vnを出力する。
入力:j≧k個の分散情報vi,1,…,vi,j,しきい値k
処理:
1.RSS_Distの1の処理において生成されたすべての乱数が揃うので、これらを加算した値を計算する。
擬似乱数生成関数の表現は様々であるが、鍵と識別子を入力として乱数を出力する関数とする。擬似乱数生成関数をRandとし、鍵をkとする。鍵がある程度の大きな空間からランダムに選択されるならば、kを知らない限りRand(k,i)は通常の乱数と区別できない。このような擬似乱数生成関数は共通鍵暗号の秘密鍵を鍵とし、識別子を平文として暗号化した値や、ハッシュ関数に鍵と識別子を入力した値などでよい。
RSS擬似乱数生成関数と組み合わせて用いることで乱数を効率的に分散するために利用できる。以下が一例である。
CSSでは、Shamirの(k,n)法の分散情報に関して、k-1個以下のシェアには固定の値を用いる。このことで、k-1個分の分散情報に要する記憶容量が削減される。
CSSは、Shamirの(k,n)法や加法型(n,n)法を用いる場合に比べて、分散情報の記憶容量が少ない秘密分散法を実現する。また、通信処理を伴うことなくShamirの(k,n)法の分散情報に変換可能であるため、効率的な秘密計算法のアルゴリズムを使って種々の計算を行うことができる。非特許文献5に記載されているような従来方法では、変換処理において大量の通信が発生していたが、CSSにおいては発生しない。
図8はCSSの分散情報生成装置100の実施の形態の動作を示すフローチャートである。図8を参照して、分散情報生成装置100の実施の形態の動作について説明する。
ここでCSSの実施例をひとつ挙げる。
CSSの実施例1の分散処理
入力:秘密情報s1,…,sm,しきい値k,分散情報数n
1.乱数rを生成する。
2.RSS_Dist(r)=(rss[s]1,…,rss[s]n)を計算する。RSS_Dist(r)のアクセス構造は(k,n)しきい値型とする。Rss1=rss[s]1,…,rssn=rss[s]nとする。
上記1.2.の処理がマスク用乱数分散手段101の実行する処理に相当する
3.rss[s]1,…,rss[s]nより、Rand[r,1],…,Rand[r_m]を計算する。この処理がマスク用擬似乱数生成手段102の実行する処理に相当する。
4.ms1=s1+Rand[r,1],…,msm=sm+Rand[r,m]を計算する。この処理が秘密情報マスク手段103の実行する処理に相当する。
5.ms1,…,msmを、k-1点を固定したShamir(k,n)法で分散する。msjのn個の分散情報をv{j,1},…,v{j,n}とする。この処理が固定値型秘密情報分散手段104の実行する処理に相当する。
1.rssiからShamir_Rand_rss[s,h]iを計算する。rssi=rss[s1]であるので、RSSの性質より、計算することができる。この処理は、マスク用乱数変換手段301の実行する処理に相当する。
2.v{h,i}’=v{h,i}-Shamir_Rand_rss[s,h]iを計算する。V{h,i}はsh+Rand_rss[s,h]のShamir(k,n)法の分散情報であるので、v{h,i}’はshをShamir(k,n)法を用いて分散したi番目の分散情報となる。この処理は、調整手段302の実行する処理に相当する。
1.c=1,…,mについて、v{1,c},…,v{b,c}に対し、Shamir(k,n)法の復元処理を適用する。復元処理の出力をmscとする。この値はmsc=sc+Rand_rss[r,c]となる。この処理はマスク済み秘密情報復元手段401の実行する処理に相当する。
2.rss1,…,rssbより、Rand_rss[s,1],…,Rand_rss[s,c]を計算する。この処理は、マスク用擬似乱数生成手段402の実行する処理に相当する。
3.c=1,…,mについて、ms1-Rand_rss[r,1],…,msm-Rand_rss[r,m]を計算する。この処理はマスク除去手段404の実行する処理に相当する。
ms=1-Rand_rss[r,1],…,msm-Rand_rss[r,m]を出力する。これらは、s1,…,smとなる。
2.サーバ3は、v{m+1,3}+Rand(r1,m+1)*f1’(3)を計算し、サーバ1に送る。
3.サーバ1は、(2,v{m+1,2})と(3,v{m+1,3})を通る1次多項式の定数項ms{m+1}を計算する。
4.サーバ1はms{m+1}+Rand(r2,m+1)+…Rand(rn,m+1)を、1点を固定した(2,n)法によって分散して配付する。サーバ1用の値も計算して自身で保管する。
上記1,2の手順に置いて、サーバ1が復元しているのは、s{m+1}+Rand(r1,m+1)であるが、サーバ1はr1を有しないため、s{m+1}を復元することにならない。一方でr2,…,rnは持っているのでms{m+1}+Rand(r2,m+1)+…Rand(rn,m+1)は計算できる。これを他の1点を固定したShamir(2,n)法で分散して他のサーバに配付する。これによって、ms{m+1}はRSSを使って生成した擬似乱数によってマスクされ、k-1点が固定されたShamir(2,n)法によって分散されたことになる。
図12は主再変換装置500と従再変換装置600の実施の形態の動作を示すフローチャートである。図12を参照して、主再変換装置500と従再変換装置600の実施の形態の動作を説明する。
2…ネットワーク
11…通信I/F部
12…操作入力部
13…画面表示部
14…記憶部
14A…プログラム
14B…入力情報
14C…中間情報
14D…出力情報
15…演算処理部
15A…分散部
15B…復元部
15C…第1の変換部
15D…第2の変換部
15D1…入力部
15D2…第1の処理部
15D3…第2の処理部
15D4…出力部
100…分散情報生成装置
101…マスク用乱数分散手段
102…マスク用擬似乱数生成手段
103…秘密情報マスク手段
104…固定値型秘密情報分散手段
200…分散情報記憶装置
201…マスク用乱数分散情報記憶手段
202…マスク済み秘密情報分散情報記憶手段
300…分散情報変換装置
301…マスク用乱数分散情報変換手段
302…調整手段
400…復元装置
401…マスク済み秘密情報復元手段
402…マスク用乱数復元手段
403…マスク用擬似乱数生成手段
404…マスク除去手段
500…主再変換装置
501…マスク済秘密情報復元手段
502…マスク用擬似乱数生成手段
503…マスク済秘密情報マスク手段
504…固定値型秘密情報分散手段
600…従再変換装置
601…擬似乱数生成手段
602…擬似乱数分散情報変換手段
603…分散情報加算手段
Claims (10)
- 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含む秘密分散システムであって、
第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持し、
前記第2の情報処理装置は、情報のShamir(2,n)法による第2の分散値を入力し、前記第1の乱数のShamir(2,n)法による第2の分散値を計算し、前記情報のShamir(2,n)法による第2の分散値と前記第1の乱数のShamir(2,n)法による第2の分散値とから、前記情報のShamir(2,n)法による第2の分散値を前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第3の情報処理装置は、前記情報のShamir(2,n)法による第3の分散値を入力し、前記第1の乱数のShamir(2,n)法による第3の分散値を計算し、前記情報のShamir(2,n)法による第3の分散値と前記第1の乱数のShamir(2,n)法による第3の分散値とから、前記情報のShamir(2,n)法による第3の分散値を前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第1の情報処理装置は、
前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、
前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算し、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持する、
秘密分散システム。 - f1’(x)を、f1’(0)=1, f1’(i)=0である1次の多項式とし、
前記第2の情報処理装置は、前記第1の乱数のShamir(2,n)法による第2の分散値として、r1*f1’(2)を使用し、ここで、r 1 は前記第1の乱数であり、
前記第3の情報処理装置は、前記第1の乱数のShamir(2,n)法による第3の分散値として、r1*f1’(3)を使用する、
請求項1に記載の秘密分散システム。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算する第1の処理部と、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持させる第2の処理部と、
を有する情報処理装置。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置であって、
情報のShamir(2,n)法による第2の分散値を入力し、前記第1の乱数のShamir(2,n)法による第2の分散値を計算し、前記情報のShamir(2,n)法による第2の分散値と前記第1の乱数のShamir(2,n)法による第2の分散値とから、前記情報のShamir(2,n)法による第2の分散値を前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算する第1の処理部と、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算した後、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する第2の処理部と、
を有する情報処理装置。 - f1’(x)を、f1’(0)=1, f1’(i)=0である1次の多項式とし、
前記第2の情報処理装置は、前記第1の乱数のShamir(2,n)法による第2の分散値として、r1*f1’(2)を使用し、ここで、r 1 は前記第1の乱数であり、
前記第3の情報処理装置は、前記第1の乱数のShamir(2,n)法による第3の分散値として、r1*f1’(3)を使用する、
請求項3または4に記載の情報処理装置。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置が実行する分散情報変換方法であって、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、
前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、
前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、
前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算し、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持する、
分散情報変換方法。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置が実行する分散情報変換方法であって、
情報のShamir(2,n)法による第2の分散値を入力し、前記第1の乱数のShamir(2,n)法による第2の分散値を計算し、前記情報のShamir(2,n)法による第2の分散値と前記第1の乱数のShamir(2,n)法による第2の分散値とから、前記情報のShamir(2,n)法による第2の分散値を前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算し、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該研鑽した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する、
分散情報変換方法。 - f1’(x)を、f1’(0)=1, f1’(i)=0である1次の多項式とし、
前記第2の情報処理装置は、前記第1の乱数のShamir(2,n)法による第2の分散値として、r1*f1’(2)を使用し、ここで、r 1 は前記第1の乱数であり、
前記第3の情報処理装置は、前記第1の乱数のShamir(2,n)法による第3の分散値として、r1*f1’(3)を使用する、
請求項6または7に記載の分散情報変換方法。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第1の情報処理装置を構成するコンピュータを、
情報のShamir(2,n)法による第2の分散値を、前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第2の情報処理装置から受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算する第1の処理部と、
前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持させる第2の処理部と、
して機能させるためのプログラム。 - 第1の情報処理装置と第2の情報処理装置と第3の情報処理装置とを含み、第1の乱数と第2の乱数と第3の乱数のうち、前記第2の乱数と前記第3の乱数を前記第1の情報処理装置が保持し、前記第1の乱数と前記第3の乱数を前記第2の情報処理装置が保持し、前記第1の乱数と前記第2の乱数を前記第3の情報処理装置が保持する、秘密分散システムにおける前記第2の情報処理装置を構成するコンピュータを、
情報のShamir(2,n)法による第2の分散値を入力し、前記第1の乱数のShamir(2,n)法による第2の分散値を計算し、前記情報のShamir(2,n)法による第2の分散値と前記第1の乱数のShamir(2,n)法による第2の分散値とから、前記情報のShamir(2,n)法による第2の分散値を前記第1の乱数のShamir(2,n)法による第2の分散値でマスクした第2のマスク済み分散値を、前記第1の情報処理装置へ送信するために計算する第1の処理部と、
前記第1の情報処理装置が、前記第2の情報処理装置から前記第2のマスク済み分散値を受信し、前記情報のShamir(2,n)法による第3の分散値を、前記第1の乱数のShamir(2,n)法による第3の分散値でマスクした第3のマスク済み分散値を、前記第3の情報処理装置から受信し、前記第2のマスク済み分散値と前記第3のマスク済み分散値とから前記第1の乱数を計算し、前記情報を前記計算した第1の乱数でマスクした値を計算し、前記情報を前記第1の乱数でマスクした値と前記第2の乱数と前記第3の乱数とから、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数とでマスクしたマスク済み情報を計算し、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報を1個の分散値の値が固定されたShamir(2,n)法によって分散した分散値を、前記情報を前記第1の乱数と前記第2の乱数と前記第3の乱数でマスクした前記マスク済み情報から計算し、該計算した分散値を前記第1の情報処理装置と前記第2の情報処理装置と前記第3の情報処理装置とで分散して保持するために、前記第2の情報処理装置のための分散値を前記第1の情報処理装置から受信する第2の処理部と、
して機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016178305A JP6781397B2 (ja) | 2016-09-13 | 2016-09-13 | 秘密分散システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016178305A JP6781397B2 (ja) | 2016-09-13 | 2016-09-13 | 秘密分散システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2018045019A JP2018045019A (ja) | 2018-03-22 |
JP6781397B2 true JP6781397B2 (ja) | 2020-11-04 |
Family
ID=61692966
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016178305A Active JP6781397B2 (ja) | 2016-09-13 | 2016-09-13 | 秘密分散システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6781397B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020059063A1 (ja) | 2018-09-20 | 2020-03-26 | 日本電気株式会社 | 変換装置、変換方法及びプログラム |
WO2020084751A1 (ja) | 2018-10-26 | 2020-04-30 | 日本電気株式会社 | 秘密計算サーバ、システム、秘密計算方法及びプログラム |
WO2020144768A1 (ja) | 2019-01-09 | 2020-07-16 | 日本電気株式会社 | 検証装置、秘密計算検証システム、秘密計算実行コードの検証方法及びプログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6059159B2 (ja) * | 2014-01-16 | 2017-01-11 | 日本電信電話株式会社 | シェア変換システム、シェア変換方法、プログラム |
JP5889454B1 (ja) * | 2015-02-23 | 2016-03-22 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
JP5872084B1 (ja) * | 2015-03-18 | 2016-03-01 | 日本電信電話株式会社 | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム |
-
2016
- 2016-09-13 JP JP2016178305A patent/JP6781397B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018045019A (ja) | 2018-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110557245B (zh) | 用于spdz的容错和安全多方计算的方法和系统 | |
CN107210006B (zh) | 不一致检测方法、检测系统、检测装置以及记录介质 | |
JP5885840B2 (ja) | 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム | |
JP6095792B2 (ja) | 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム | |
JP6447870B2 (ja) | 秘密情報分散システム、情報処理装置および情報処理プログラム | |
JP5860557B1 (ja) | 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム | |
JP6732959B2 (ja) | 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム | |
JP6781397B2 (ja) | 秘密分散システム | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
JP5864004B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
JP5944841B2 (ja) | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム | |
JP5872084B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
Sun et al. | Expansible quantum secret sharing network | |
Pal et al. | Multilevel threshold secret sharing in distributed cloud | |
US9846596B1 (en) | System and method for cloud control operations plane based on proactive security algorithms | |
US20220413807A1 (en) | Secure random number generation system, secure computation apparatus, secure random number generation method, and program | |
US11599681B2 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
JP5889454B1 (ja) | 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム | |
JP2010096787A (ja) | 秘密情報分散装置、秘密情報分散プログラム、秘密情報分散方法、秘密情報復元装置、秘密情報復元プログラム、秘密情報復元方法、及び秘密情報分散復元システム | |
US20220069980A1 (en) | Information processing apparatus, secure computation method, and program | |
JP6693503B2 (ja) | 秘匿検索システム、サーバ装置、秘匿検索方法、検索方法、およびプログラム | |
WO2019111319A1 (ja) | 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 | |
WO2019111318A1 (ja) | サーバ装置、秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム記録媒体 | |
CN114817954A (zh) | 图像的处理方法、系统和装置 | |
US20230004356A1 (en) | Secure random number generation system, secure computation apparatus, secure random number generation method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190802 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200708 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200819 |
|
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: 20200916 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200929 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6781397 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |