JP6059161B2 - シェア変換システム、シェア変換方法、プログラム - Google Patents

シェア変換システム、シェア変換方法、プログラム Download PDF

Info

Publication number
JP6059161B2
JP6059161B2 JP2014006165A JP2014006165A JP6059161B2 JP 6059161 B2 JP6059161 B2 JP 6059161B2 JP 2014006165 A JP2014006165 A JP 2014006165A JP 2014006165 A JP2014006165 A JP 2014006165A JP 6059161 B2 JP6059161 B2 JP 6059161B2
Authority
JP
Japan
Prior art keywords
share
conversion
plaintext
random number
ramp
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
JP2014006165A
Other languages
English (en)
Other versions
JP2015135382A (ja
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 JP2014006165A priority Critical patent/JP6059161B2/ja
Publication of JP2015135382A publication Critical patent/JP2015135382A/ja
Application granted granted Critical
Publication of JP6059161B2 publication Critical patent/JP6059161B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は安全に分散したデータの形式を、元の情報を復元することなく秘密計算できるデータの形式に変換し、またはその逆の変換を行うシェア変換システム、シェア変換方法、プログラムに関する。
非特許文献1では、Ramp型のシェアを線形秘密分散のシェアに変形する方法を提案している。非特許文献1では、本発明と同様に、登場人物は秘密分散を使って分散されたデータを保持するパーティPi(0≦i≦n-1)である。データaは秘密分散を用いてn個のシェアと呼ばれる断片([a]0,…,[a]n-1)に分割され、パーティPiがそれぞれ[a]iを持っている。秘密分散には多くの実現方法があり、非特許文献1では、本発明と同様にRamp型と線型秘密分散と呼ばれる秘密分散方式を扱っている(それぞれの定義は非特許文献1を参照)。これら2つの秘密分散方式は、互いに異なる特徴を持つ。Ramp型は分散する総データ量が小さく、線型秘密分散は秘密計算と呼ばれる応用が可能である。そのため、Ramp型から線形秘密分散に、線形秘密分散からRamp型に、双方向にデータを変換できれば、その時々の状況によってどちらの方式を使うか選択できる。この変換を実現するため、非特許文献1では、Ramp型から線型秘密分散への変換方法が開示されている。
Ryo Kikuchi, Koji Chida, Dai Ikarashi, Koki Hamada, and Katsumi Takahashi. Secret sharing schemes with conversion protocol to achieve short share-size and extendibility to multiparty computation. In Colin Boyd and Leonie Simpson, editors, ACISP, Vol. 7959 of Lecture Notes in Computer Science, pp. 419-434. Springer, 2013.
しかしながら、非特許文献1にはRamp型から線型秘密分散への変換方法が開示されるのみで、線型秘密分散からRamp型への変換方法は示されていない。そこで本発明では、線形秘密分散からRamp型にシェアを変換することができるシェア変換システムを提供することを目的とする。
本発明のシェア変換システムは、nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置と、n−2t台のシェア変換装置からなる。シェア変換検証装置とシェア変換装置は、線形Ramp変換部を含む。
Ramp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるものとし、線形Ramp変換部は、k−t個の線形秘密分散の平文のシェア群と、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群を入力とする。線形Ramp変換部は、被マスク平文線形シェア群生成部と、被マスク平文線形シェア群復元部と、Ramp型平文シェア生成部を含む。
被マスク平文線形シェア群生成部は、線形秘密分散の平文のシェア群の各シェアと、各シェアに対応する線形秘密分散の変換用乱数のシェア群の各シェアの差分に基づいて、乱数でマスクされた平文の線形秘密分散のシェア群を生成する。被マスク平文線形シェア群復元部は、乱数でマスクされた平文を復元するアルゴリズムを実行して乱数でマスクされた平文の線形秘密分散のシェア群を復元する。Ramp型平文シェア生成部は、Ramp型の変換用乱数のシェアと乱数でマスクされた平文の多項式の加算値からRamp型の平文のシェアを生成して出力する。
本発明のシェア変換システムによれば、線形秘密分散からRamp型にシェアを変換することができる。
本発明の実施例1のシェア変換システムの概要を示すブロック図。 本発明の実施例1のシェア変換検証装置の構成を示すブロック図。 本発明の実施例1のシェア変換装置の構成を示すブロック図。 本発明の実施例1の第1乱数生成部の構成を示すブロック図。 本発明の実施例1の第1乱数生成部の動作を示すフローチャート。 本発明の実施例1の第2乱数生成部の構成を示すブロック図。 本発明の実施例1の第2乱数生成部の動作を示すフローチャート。 本発明の実施例1の線形Ramp変換部の構成を示すブロック図。 本発明の実施例1の線形Ramp変換部の動作を示すフローチャート。 本発明の実施例1のRamp線形変換部の構成を示すブロック図。 本発明の実施例1のRamp線形変換部の動作を示すフローチャート。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
≪アルゴリズム、プロトコル≫
以下、本発明で用いられるアルゴリズム、プロトコルについて説明する。本明細書では、通信手順を含まない一連の動作をアルゴリズム、通信手順を含む一連の動作をプロトコルと呼ぶ。秘密分散のパラメータとしてデータがn個のシェアに分割され、任意のk個のシェアを集めることで復元が可能であり、t台までのパーティの結託に対し安全であるとする。kを復元しきい値、tを安全しきい値とも呼ぶ。この3変数の間にはt<k≦nが成り立つ。ランプ型((k,t,n)-Ramp)を以下の2つのアルゴリズムの組(Ramp.Share,Ramp.Rec)とする。
<Ramp.Shareアルゴリズム>
Ramp.Shareアルゴリズムでは、Ramp型の平文空間である
Figure 0006059161
からランダムに選択したk-t個のRamp型の平文
Figure 0006059161
を入力とし、Ramp型の平文空間から決定する体
Figure 0006059161
からランダムに選択されたt個の乱数
Figure 0006059161
を用いて、Ramp型の平文のシェア
Figure 0006059161
を計算し、n個のRamp型の平文のシェア
Figure 0006059161
を出力する。
<Ramp.Recアルゴリズム>
Ramp.Recアルゴリズムでは、n個のインデクス(0,1,…,n-1)のうち任意のk個のインデクスを(i1,i2,…,ik)とし、任意のk個のRamp型の平文のシェアである
Figure 0006059161
を入力とし、x座標を前述のインデクス(i1,i2,…,ik)とし、y座標を対応するRamp型の平文のシェアとしたk個の座標群である
Figure 0006059161
のk個の座標点を通るk-1次多項式
Figure 0006059161
を計算し、当該多項式の0次〜k-1次の項である
Figure 0006059161
を復号結果として出力する。
線型秘密分散は2つのアルゴリズム(Lin.Share,Lin.Rec)の組であり、復元が線形式で記述可能な秘密分散のことである。特に本明細書では閾値を持つような線形秘密分散であり、(t,n)-Linearとかく。ここで、線型秘密分散ではk=t+1なので、kを省略する。線型秘密分散であれば、任意のデータa、任意の
Figure 0006059161
であるようなパーティのインデクス集合
Figure 0006059161
について、線形秘密分散の復元係数と任意のデータaの線形秘密分散のシェアの線形結合がaと等しくなる、つまり
Figure 0006059161
であるような公知の線形秘密分散の復元係数
Figure 0006059161
が存在する。特に区別するとき、(k,t,n)-Rampおよび(t,n)-Linearのシェアをそれぞれ[a]Ramp,[a]Linと書く。
<CheckConsistencyアルゴリズム>
本発明で用いられるCheckConsistencyアルゴリズムとはコンシステンシー(consistency)と呼ばれる「n個のシェアのうちどのk個のシェアを用いても同じ値が復元される」性質が満たされているかチェックするものであり、例えばn個のシェアのうち全てのk個のシェアの組に対して復元を行い、同じ値が復元されるかどうかチェックするという方法がある。また、(k,t,n)-Rampであれば後述するalgorithm2、(t,n)-Linearであれば後述するalgorithm3でもよい。
≪ハイパーインバーティブル行列≫
Beerliova-TrubiniovaとHirt(詳細は参考非特許文献1を参照)は、Hyper-invertible matricesと呼ばれる、任意の小行列が逆行列を持つような行列を定義した。
(参考非特許文献1:Zuzana Beerliova-Trubiniova and Martin Hirt. Perfectly-secure MPC with linear communication complexity. In Ran Canetti, editor, TCC, Vol. 4948 of Lecture Notes in Computer Science, pp. 213-230. Springer, 2008.)
<ハイパーインバーティブル行列の定義>
あるn行m列の行列Mがhyper-invertibleであるとは、任意のインデックス集合R⊆{0,…,m-1},C⊆{0,…,n-1},|r|=|C|について、MC Rが逆行列を持つことを言う。ただし、MRとはMのi∈Rであるようなi列を持ってきたものであり、MCとはMのi∈Cであるようなi行を持ってきたものであり、MC R=(MR)Cである。Hyper-invertibleな行列Mは、例えば以下のように構成できる。
<ハイパーインバーティブル行列の構成例>
α0,…, αn-10,…,βn-1を、任意の体
Figure 0006059161
上の相異なる要素とする。関数
Figure 0006059161
を、(x0,…,xn-1)を入力としたとき、((α0,x0),…,(αn-1,xn-1))を通るユニークなn-1次多項式g(・)について、((β0,y0),…,(βn-1,yn-1))がg(・)上に乗るような(y0,…,yn-1)を出力とする関数とする。このとき、関数fは行列の要素をλi,jとし、
Figure 0006059161
として、行列Mi,ji,jを用いた線形変換と見做すことができ、このようなMは、ハイパーインバーティブル(hyper-invertible)である。
以下、図1を参照して実施例1のシェア変換システムの概要について説明する。図1は本実施例のシェア変換システム1の概要を示すブロック図である。図1に示すように、本実施例のシェア変換システム1は、nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置11−1,11−2,…,11−2tと、n−2t台のシェア変換装置12−1,12−2,…,12−(n−2t)からなる。2t台のシェア変換検証装置11−1,11−2,…,11−2tと、n−2t台のシェア変換装置12−1,12−2,…,12−(n−2t)は、NW9を介して通信可能に接続されている。2t台のシェア変換検証装置11−1,11−2,…,11−2tは全て同じ機能を備えるため、これらの代表として、以下シェア変換検証装置11について述べる。同様に、n−2t台のシェア変換装置12−1,12−2,…,12−(n−2t)は全て同じ機能を備えるため、これらの代表として、以下シェア変換装置12について述べる。
以下、図2、図3を参照してシェア変換検証装置11、シェア変換装置12の構成を説明する。図2は本実施例のシェア変換検証装置11の構成を示すブロック図である。図3は、本実施例のシェア変換装置12の構成を示すブロック図である。図2に示すように、シェア変換検証装置11は、第1乱数生成部111と、線形Ramp変換部112と、Ramp線形変換部113を含む。図3に示すように、シェア変換装置12は、第2乱数生成部211と、線形Ramp変換部112と、Ramp線形変換部113を含む。シェア変換検証装置11における第1乱数生成部111が、シェア変換装置12において第2乱数生成部211に変更されており、それ以外の点では、シェア変換検証装置11とシェア変換装置12は同じである。第1、第2乱数生成部111、211は、ハイパーインバーティブル行列を入力とし、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群を出力する。線形Ramp変換部112は、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群と、線形秘密分散の平文のシェア群を入力とし、Ramp型の平文のシェアを出力する。Ramp線形変換部113は、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群と、Ramp型の平文のシェアを入力とし、線形秘密分散の平文のシェア群を出力する。
≪第1乱数生成部111≫
以下、図4、図5を参照して第1乱数生成部111について説明する。図4は、本実施例の第1乱数生成部111の構成を示すブロック図である。図5は、本実施例の第1乱数生成部111の動作を示すフローチャートである。第1乱数生成部111が実行する一連の通信手順(プロトコル)をprotocol1と呼ぶ。
第1乱数生成部111は、n行n列のハイパーインバーティブル行列M(Hyper-invertible matrix M)を入力とする。図4に示すように、第1乱数生成部111は、初期乱数選択部1111と、Ramp型初期乱数シェア生成部1112と、線形秘密分散初期乱数シェア群生成部1113と、初期乱数シェア送信部1114と、Ramp型変換用乱数シェア生成部1115と、線形秘密分散変換用乱数シェア生成部1116と、変換用乱数シェア送信部1117と、Ramp型コンシステンシー検証部1118と、Ramp型変換用乱数復元部1119と、線形秘密分散コンシステンシー検証部111Aと、線形秘密分散変換用乱数群復元部111Bと、乱数比較部111Cと、シェア出力部111Dとを含む。
初期乱数選択部1111は、Ramp型の平文空間
Figure 0006059161
からk−t個の初期乱数
Figure 0006059161
をランダムに選択する(S1111)。Ramp型初期乱数シェア生成部1112は、k−t個の初期乱数にRamp型のシェアを生成するRamp.Shareアルゴリズムを実行してRamp型の初期乱数のシェア
Figure 0006059161
を生成する(S1112)。線形秘密分散初期乱数シェア群生成部1113は、k−t個の初期乱数それぞれについて、線形秘密分散のシェアを生成するLin.Shareアルゴリズムを実行して線形秘密分散の初期乱数のシェア群
Figure 0006059161
を生成する(S1113)。ただし、ステップS1113において、インデクスj=0,1,2,…,k-t-1である。初期乱数シェア送信部1114は、Ramp型の初期乱数のシェアと、線形秘密分散の初期乱数のシェア群を自装置を除く他の全装置に送信する(S1114)。ステップS1114において、装置を文字Pで表すこととし、装置のインデクスj=0,1,2,…,n-1(全ての装置)かつj≠i(自装置を除く)とし、Pjをインデクスj番目の装置とすると、ステップS1114は、以下のように表すことができる。
Figure 0006059161
Ramp型変換用乱数シェア生成部1115は、i,j=0,1,2,…,n-1とし、Ramp型の初期乱数のシェアと、ハイパーインバーティブル行列Mに基づいてRamp型の変換用乱数のシェア
Figure 0006059161
を生成する(S1115)。線形秘密分散変換用乱数シェア生成部1116は、i,j=0,1,2,…,n-1とし、m=0,1,…,k-t-1とし、線形秘密分散の初期乱数のシェア群と、ハイパーインバーティブル行列Mに基づいて線形秘密分散の変換用乱数のシェア群
Figure 0006059161
を生成する(S1116)。変換用乱数シェア送信部1117は、インデクスj=0,1,…,2tとし、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群の一部(j=0,1,…,2tに限られる)である
Figure 0006059161
を他のシェア変換検証装置に送信する(S1117)。本ステップにおいてインデクスj=0,1,…,2tであるため、Pjは、シェア変換検証装置を表す。従って、ステップS1117は、
Figure 0006059161
と表すことができる。Ramp型コンシステンシー検証部1118は、コンシステンシーを検証するCheckConsistencyアルゴリズム(例えば、後述するalgorithm2)を実行してRamp型の変換用乱数のシェアのコンシステンシーを検証して、検証が失敗である場合にリジェクトシンボル(┴)を出力して処理を停止する(S1118)。つまり、ステップS1118は、
Figure 0006059161
と表すことができる。Ramp型変換用乱数復元部1119は、Ramp型のシェアを復元するRamp.Recアルゴリズムを実行して、Ramp型の変換用乱数のシェアを復元して復元済みRamp型変換用乱数
Figure 0006059161
を生成する(S1119)。線形秘密分散コンシステンシー検証部111Aは、コンシステンシーを検証するCheckConsistencyアルゴリズム(例えば、後述するalgorithm3)を実行して線形秘密分散の変換用乱数のシェア群のコンシステンシーを検証して、検証が失敗である場合にリジェクトシンボル(┴)を出力して処理を停止する(S111A)。つまり、ステップS111Aは、j=0,1,…,k-t-1として、
Figure 0006059161
と表すことができる。線形秘密分散変換用乱数群復元部111Bは、線形秘密分散のシェア群を復元するLin.Recアルゴリズムを実行して、線形秘密分散の変換用乱数のシェアを復元して復元済み線形秘密分散変換用乱数群
Figure 0006059161
を生成する(S111B)。乱数比較部111Cは、復元済みRamp型変換用乱数と復元済み線形秘密分散変換用乱数群とが等しい場合にはアクセプトシンボル(┬)を他の装置に送信し、等しくない場合にはリジェクトシンボル(┴)を出力して処理を停止する(S111C)。つまり、
Figure 0006059161
である。シェア出力部111Dは、アクセプトシンボル(┬)を2t個(つまり、全てのシェア変換検証装置11−1,11−2,…,11−2tから)受信した場合に、Ramp型の変換用乱数のシェアと線形秘密分散の変換用乱数のシェア群のうち、コンシステンシーの検証に用いなかったもの(すなわち、i=2t,…,n-1)
Figure 0006059161
を出力する(S111D)。つまり、
Figure 0006059161
である。
<algorithml2:CheckConsistency for (k,t,n)-Ramp>
以下、Ramp型のシェアのコンシステンシーを検証するalgorithm2について説明する。algorithm2は、前述のステップS1118において、Ramp型コンシステンシー検証部1118が実行するアルゴリズムである。このアルゴリズムでは、任意のn個のRamp型の平文のシェア
Figure 0006059161
を入力とし、true信号、またはfalse信号を出力する。具体的には、インデクスi=k,k+1,…,n-1について、
Figure 0006059161
であれば、false信号を出力し、そうでなければtrue信号を出力する。ここで、
Figure 0006059161
は、あるk個のRamp型の平文のシェアから計算されるそれ以外のシェアを意味する。
<algorithm3:CheckConsistency for (t,n)-Linear>
以下、線形秘密分散のシェアのコンシステンシーを検証するalgorithm3について説明する。algorithm3は、前述のステップS111Aにおいて、線形秘密分散コンシステンシー検証部111Aが実行するアルゴリズムである。このアルゴリズムでは、任意のn個の線形秘密分散の平文のシェア
Figure 0006059161
を入力とし、true信号、またはfalse信号を出力する。具体的には、パラメータ用のインデクスの集合が
Figure 0006059161
かつ
Figure 0006059161
であるものとし、
Vに含まれるインデクスlを選び,
検証用インデクスの集合を
Figure 0006059161
とし、インデクスの集合Vに含まれない各iについて、
Figure 0006059161
である場合には、false信号を出力し、そうでなければtrue信号を出力する。
≪第2乱数生成部211≫
次に、図6、図7を参照して第2乱数生成部211について説明する。図6は本実施例の第2乱数生成部211の構成を示すブロック図である。図7は、本実施例の第2乱数生成部211の動作を示すフローチャートである。
第2乱数生成部211は、ハイパーインバーティブル行列Mを入力とする。第2乱数生成部は、初期乱数選択部1111と、Ramp型初期乱数シェア生成部1112と、線形秘密分散初期乱数シェア群生成部1113と、初期乱数シェア送信部1114と、Ramp型変換用乱数シェア生成部1115と、線形秘密分散変換用乱数シェア生成部1116と、変換用乱数シェア送信部1117と、シェア出力部111Dとを含む。第1乱数生成部111と第2乱数生成部211の違いは、第2乱数生成部211が、検証機能を司るRamp型コンシステンシー検証部1118、Ramp型変換用乱数復元部1119、線形秘密分散コンシステンシー検証部111A、線形秘密分散変換用乱数群復元部111B、乱数比較部111Cを含まない点である。他の各構成要件については、第1乱数生成部111において同一番号を付した各構成要件の動作と同じであるため、説明を略する。
以上に述べた第1乱数生成部111、第2乱数生成部211は、必須の構成ではない。例えば、前述したRamp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるようにして、予めRamp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群とを生成しておけば、第1乱数生成部111、第2乱数生成部211がなくても、シェア変換検証装置やシェア変換装置を実現することができる。
≪線形Ramp変換部112≫
次に、図8、図9を参照して線形Ramp変換部112について説明する。図8は、本実施例の線形Ramp変換部112の構成を示すブロック図である。図9は、本実施例の線形Ramp変換部112の動作を示すフローチャートである。線形Ramp変換部112が実行する一連の通信手順(プロトコル)をprotocol5と呼ぶ。
線形Ramp変換部112は、k−t個の線形秘密分散の平文のシェア群
Figure 0006059161
と、Ramp型の変換用乱数のシェアと線形秘密分散の変換用乱数のシェア群
Figure 0006059161
を入力とする。図8に示すように、線形Ramp変換部112は、被マスク平文線形シェア群生成部1121と、被マスク平文線形シェア群復元部1122と、Ramp型平文シェア生成部1123を含む。
被マスク平文線形シェア群生成部1121は、線形秘密分散の平文のシェア群の各シェアと、各シェアに対応する線形秘密分散の変換用乱数のシェア群の各シェアの差分に基づいて、乱数でマスクされた平文の線形秘密分散のシェア群を生成する(S1121)。すなわち、i=0,1,…,k-t-1について、乱数でマスクされた平文の線形秘密分散のシェア群
Figure 0006059161
を生成する。被マスク平文線形シェア群復元部1122は、乱数でマスクされた平文を復元するプロトコル(RevealProtocol)を実行して乱数でマスクされた平文の線形秘密分散のシェア群を復元する(S1122)。すなわち、i=0,1,…,k-t-1について、乱数でマスクされた平文
Figure 0006059161
を生成する。RevealProtocolは復元できるプロトコルであればよく、単純には全員に全員のシェアを渡し、各人がCheckConsistencyを行ったあと復元するという方法で実現できる。Ramp型平文シェア生成部1123は、Ramp型の変換用乱数のシェアと乱数でマスクされた平文の多項式
Figure 0006059161
の加算値からRamp型の平文のシェアを生成して出力する(S1123)。すなわち、Ramp型平文シェア生成部1123は、i=0,1,…,n-1について、Ramp型の平文のシェア
Figure 0006059161
を生成して出力する。従って、線形Ramp変換部112は、Ramp型の平文のシェア
Figure 0006059161
を出力する。
≪Ramp線形変換部113≫
次に、図10、図11を参照してRamp線形変換部113について説明する。図10は、本実施例のRamp線形変換部113の構成を示すブロック図である。図11は、本実施例のRamp線形変換部113の動作を示すフローチャートである。Ramp線形変換部113が実行する一連の通信手順(プロトコル)をprotocol4と呼ぶ。
Ramp線形変換部113は、Ramp型の平文のシェアと、Ramp型の変換用乱数のシェアと、線形秘密分散の変換用乱数のシェア群、すなわち
Figure 0006059161
を入力とする。図10に示すように、Ramp線形変換部113は、被マスク平文Rampシェア生成部1131と、被マスク平文Rampシェア復元部1132と、線形秘密分散平文シェア群生成部1133を含む。
被マスク平文Rampシェア生成部1131は、Ramp型の平文のシェアと、Ramp型の変換用乱数のシェアの差分に基づいて、乱数でマスクされた平文のRamp型のシェアを生成する(S1131)。すなわち、
Figure 0006059161
である。被マスク平文Rampシェア復元部1132は、乱数でマスクされた平文を復元するプロトコル(RevealProtocol)を実行して乱数でマスクされた平文のRamp型のシェアを復元する(S1132)。すなわち、
Figure 0006059161
である。
線形秘密分散平文シェア群生成部1133は、線形秘密分散の変換用乱数のシェア群と乱数でマスクされた平文群の加算値から線形秘密分散の平文のシェア群を生成して出力する(S1133)。すなわち、線形秘密分散平文シェア群生成部1133は、i=0,1,…,k-t-1について、線形秘密分散の平文のシェア群
Figure 0006059161
を生成して出力する(S1133)。従って、Ramp線形変換部113は、線形秘密分散の平文のシェア群
Figure 0006059161
を出力する。
安全性のレベルは、passiveとactiveの2段階存在する。passive安全とは、攻撃者があらかじめ決められた手続き(プロトコル)を逸脱しない場合にのみ安全であることを示す。一方、active安全とは、攻撃者がどのような挙動をしたとしても安全であることを示す。従って、active安全である方がより望ましいといえる。前述の非特許文献1に開示されたRamp型から線型秘密分散への変換方法は、passive安全であるため、安全性が弱いという問題があった。線形秘密分散はその応用として秘密計算への拡張があるが、変換方法がpassiveである場合、秘密計算がactive安全であったとしても、全体としてはpassive安全となってしまう。本実施例のRamp線形変換部113が実行する変換は、active安全であるるため、従来のRamp型から線型秘密分散への変換方法と比較して安全性が高い。
本実施例のシェア変換システム1によれば、Ramp型から線形秘密分散に、線形秘密分散からRamp型に、双方向にシェアを変換することができる。すなわち、本実施例のシェア変換システム1によれば、互いに利点・欠点がある2つの秘密分散を相互に変換することが可能となり、場合によって使い分けることができるようになる。例えば、秘密計算において、分散時は総データ量が小さいRamp型を用いストレージコストを抑えておきながら、秘密計算を行う際にのみ秘密計算に拡張可能な線型秘密分散に変更することや、秘密計算に用いたデータをバックアップする際に、総データ量の大きい線型秘密分散から、総データ量の小さいRamp 型秘密分散に変換することができる。すなわち、秘密計算への拡張性を持たせつつ保持するデータ量を削減することが可能となる。本実施例のポイントは、Hyper-invertible matrix Mを用いて、(k,t,n)-Rampと(t,n)-Linearで生成した乱数が正しく同じ乱数を生成しているのかチェックしたことにある。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (8)

  1. nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置と、n−2t台のシェア変換装置からなるシェア変換システムであって、
    前記シェア変換検証装置と前記シェア変換装置は、線形Ramp変換部を含むものとし、
    Ramp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるものとし、
    前記線形Ramp変換部は、
    k−t個の線形秘密分散の平文のシェア群と、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記線形秘密分散の平文のシェア群の各シェアと、前記各シェアに対応する前記線形秘密分散の変換用乱数のシェア群の各シェアの差分に基づいて、乱数でマスクされた平文の線形秘密分散のシェア群を生成する被マスク平文線形シェア群生成部と、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文の線形秘密分散のシェア群を復元する被マスク平文線形シェア群復元部と、
    前記Ramp型の変換用乱数のシェアと前記乱数でマスクされた平文の多項式の加算値からRamp型の平文のシェアを生成して出力するRamp型平文シェア生成部とを含む
    シェア変換システム。
  2. nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置と、n−2t台のシェア変換装置からなるシェア変換システムであって、
    前記シェア変換検証装置と前記シェア変換装置は、Ramp線形変換部を含むものとし、
    Ramp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるものとし、
    前記Ramp線形変換部は、
    Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアの差分に基づいて、乱数でマスクされた平文のRamp型のシェアを生成する被マスク平文Rampシェア生成部と、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文のRamp型のシェアを復元する被マスク平文Rampシェア復元部と、
    前記線形秘密分散の変換用乱数のシェア群と前記乱数でマスクされた平文群の加算値から線形秘密分散の平文のシェア群を生成して出力する線形秘密分散平文シェア群生成部とを含む
    シェア変換システム。
  3. 請求項1に記載のシェア変換システムであって、
    前記シェア変換検証装置と、前記シェア変換装置がさらに、
    Ramp線形変換部を含み、
    前記Ramp線形変換部は、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアの差分に基づいて、乱数でマスクされた平文のRamp型のシェアを生成する被マスク平文Rampシェア生成部と、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文のRamp型のシェアを復元する被マスク平文Rampシェア復元部と、
    前記線形秘密分散の変換用乱数のシェア群と前記乱数でマスクされた平文群の加算値から前記線形秘密分散の平文のシェア群を生成して出力する線形秘密分散平文シェア群生成部とを含む
    シェア変換システム。
  4. nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置と、n−2t台のシェア変換装置が実行するシェア変換方法であって、
    前記シェア変換検証装置と前記シェア変換装置は、線形Ramp変換ステップを実行し、 Ramp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるものとし、
    前記線形Ramp変換ステップは、
    k−t個の線形秘密分散の平文のシェア群と、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記線形秘密分散の平文のシェア群の各シェアと、前記各シェアに対応する前記線形秘密分散の変換用乱数のシェア群の各シェアの差分に基づいて、乱数でマスクされた平文の線形秘密分散のシェア群を生成する被マスク平文線形シェア群生成ステップと、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文の線形秘密分散のシェア群を復元する被マスク平文線形シェア群復元ステップと、
    前記Ramp型の変換用乱数のシェアと前記乱数でマスクされた平文の多項式の加算値からRamp型の平文のシェアを生成して出力するRamp型平文シェア生成ステップとを含む
    シェア変換方法。
  5. nを装置の台数とし、kを復元しきい値とし、tを安全しきい値とし、2t台のシェア変換検証装置と、n−2t台のシェア変換装置が実行するシェア変換方法であって、
    前記シェア変換検証装置と前記シェア変換装置は、Ramp線形変換ステップを実行し、
    Ramp型の変換用乱数と線形秘密分散の変換用乱数とが等しくなるものとし、
    前記Ramp線形変換ステップは、
    Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアの差分に基づいて、乱数でマスクされた平文のRamp型のシェアを生成する被マスク平文Rampシェア生成ステップと、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文のRamp型のシェアを復元する被マスク平文Rampシェア復元ステップと、
    前記線形秘密分散の変換用乱数のシェア群と前記乱数でマスクされた平文群の加算値から線形秘密分散の平文のシェア群を生成して出力する線形秘密分散平文シェア群生成ステップとを含む
    シェア変換方法。
  6. 請求項4に記載のシェア変換方法であって、
    前記シェア変換検証装置と、前記シェア変換装置がさらに、
    Ramp線形変換ステップを実行し、
    前記Ramp線形変換ステップは、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアと、前記線形秘密分散の変換用乱数のシェア群を入力とし、
    前記Ramp型の平文のシェアと、前記Ramp型の変換用乱数のシェアの差分に基づいて、乱数でマスクされた平文のRamp型のシェアを生成する被マスク平文Rampシェア生成ステップと、
    乱数でマスクされた平文を復元するアルゴリズムを実行して前記乱数でマスクされた平文のRamp型のシェアを復元する被マスク平文Rampシェア復元ステップと、
    前記線形秘密分散の変換用乱数のシェア群と前記乱数でマスクされた平文群の加算値から前記線形秘密分散の平文のシェア群を生成して出力する線形秘密分散平文シェア群生成ステップとを含む
    シェア変換方法。
  7. コンピュータを、請求項1から3のいずれかに記載のシェア変換システムに含まれるシェア変換検証装置として機能させるためのプログラム。
  8. コンピュータを、請求項1から3のいずれかに記載のシェア変換システムに含まれるシェア変換装置として機能させるためのプログラム。
JP2014006165A 2014-01-16 2014-01-16 シェア変換システム、シェア変換方法、プログラム Active JP6059161B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014006165A JP6059161B2 (ja) 2014-01-16 2014-01-16 シェア変換システム、シェア変換方法、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014006165A JP6059161B2 (ja) 2014-01-16 2014-01-16 シェア変換システム、シェア変換方法、プログラム

Publications (2)

Publication Number Publication Date
JP2015135382A JP2015135382A (ja) 2015-07-27
JP6059161B2 true JP6059161B2 (ja) 2017-01-11

Family

ID=53767264

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014006165A Active JP6059161B2 (ja) 2014-01-16 2014-01-16 シェア変換システム、シェア変換方法、プログラム

Country Status (1)

Country Link
JP (1) JP6059161B2 (ja)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5458116B2 (ja) * 2012-01-06 2014-04-02 日本電信電話株式会社 データ分散装置、分散データ変換装置、データ復元装置
CN104412539B (zh) * 2012-07-05 2017-05-24 日本电信电话株式会社 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法

Also Published As

Publication number Publication date
JP2015135382A (ja) 2015-07-27

Similar Documents

Publication Publication Date Title
JP5411994B2 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
JP6009697B2 (ja) 秘密計算方法、秘密計算システム、ソート装置及びプログラム
US8077863B2 (en) Secret sharing apparatus, method, and program
CN104412539B (zh) 秘密分散系统、数据分散装置、分散数据变换装置、以及秘密分散方法
JP5860556B1 (ja) 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム
WO2014007310A1 (ja) 秘密分散システム、データ分散装置、分散データ変換装置、秘密分散方法、およびプログラム
JP2009010531A (ja) 秘密分散装置、方法及びプログラム
JP5486520B2 (ja) セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
JP5864004B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
JP5872085B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5872084B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
WO2016104476A1 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
JP5480828B2 (ja) 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム
JP6053238B2 (ja) 秘密改ざん検知システム、秘密計算装置、秘密改ざん検知方法、およびプログラム
JP5526284B2 (ja) 代理計算システム、方法、依頼装置及びプログラム
JP6059159B2 (ja) シェア変換システム、シェア変換方法、プログラム
JP6059161B2 (ja) シェア変換システム、シェア変換方法、プログラム
JP5889454B1 (ja) 分散値変換システム、分散値変換装置、分散値変換方法、およびプログラム
JP5689845B2 (ja) 秘密計算装置、秘密計算方法、およびプログラム
JP6251163B2 (ja) 暗号化署名システム、暗号化署名装置、調停装置、暗号化検証装置、暗号化署名演算装置、暗号化署名方法、プログラム
CN107210005B (zh) 矩阵/密钥生成装置、矩阵/密钥生成系统、矩阵结合装置、矩阵/密钥生成方法、程序
JP7420147B2 (ja) シャッフルシステム、シャッフル方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160122

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161208

R150 Certificate of patent or registration of utility model

Ref document number: 6059161

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150