JP5486520B2 - セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム - Google Patents
セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム Download PDFInfo
- Publication number
- JP5486520B2 JP5486520B2 JP2011011233A JP2011011233A JP5486520B2 JP 5486520 B2 JP5486520 B2 JP 5486520B2 JP 2011011233 A JP2011011233 A JP 2011011233A JP 2011011233 A JP2011011233 A JP 2011011233A JP 5486520 B2 JP5486520 B2 JP 5486520B2
- Authority
- JP
- Japan
- Prior art keywords
- information
- set function
- secret
- equal
- unit
- 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
全てのキー属性値に対して以下を繰り返す。
1. i番目のキー属性値kiに対して、zi=(0)とする。
2. 全データに対して以下を繰り返す。
j番目のデータのキー属性がkiならば、zi=zi(+)vj
キー属性がkiでなければzi=zi
ただし、(0)は単位元、(+)は当該集合関数の可換モノイド演算である。
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とする結合処理を、すべての等しいキーを持つ情報に対して秘密計算で実行する。
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とする結合処理が、すべての等しいキーを持つ情報に対して実行されるまで、秘密計算で実行する(S330)。例えば、キーkiとキーkjとが等しいことを確認する論理回路は、従来技術として蓄積された論理回路の技術を用いれば、実現できる。キーkiとキーkjの2ビット展開した各ビットの排他的論理和の論理和の否定によって次のように確認してもよい。
ただし、[∨]は排他的論理和(XOR)を示す記号、∨は論理和(OR)を示す記号、kibは2ビット展開したときのキーkiの下からbビット目の値、Bは2ビット展開したときのキーkiの桁数とする。式(1)では、C=1ならばキーkiとキーkjとが等しく(真)、C=0ならばキーkiとキーkjとが異なる(偽)。また、式(1)の個々の演算は後述の秘密計算の例に示されているので、式(1)の演算は秘密計算で実行でき、秘密分散された[C]が求められる。したがって、確認後の分岐も秘密にするのであれば、[C]を用いた秘密計算をさらに組合せればよい。なお、後述する秘密計算は、数値の秘密分散、秘密分散された断片の復号、秘密分散された数値の四則計算、秘密分散されたビットごとの論理演算の基本的な計算方法を網羅して示している。したがって、従来技術として蓄積された論理回路の技術を用いれば、上述の等しいことを確認する方法のように、大小比較を比較する演算などの所望の演算を、後述する秘密計算の方法の組合せで実行できる。
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とすればよい。もしくは、iをMから2まで順番に値を小さくしながら、j=i−1に対して、キーkiとキーkjとが等しいときには
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とすればよい。このようにソート済みの情報であれば、隣り合う情報同士の比較を順番に行うだけで、同じ値のキーを持つすべての情報に対する集合関数演算を実行し、最後に結合したzjに集合関数演算の結果をまとめることができる。したがって、O(M)の計算量で処理ができる。
zi+2^t’=zi(+)zi+2^t
とし、等しくないときには
zi+2^t’=zi+2^t
とする(S331)。より具体的には、第1結合部3311,…,331N(第1結合手段331)は、秘密分散装置1001,…,100Nに、i=1,2,…,M−2^tについて、kiとki+2^tが等しいかを、例えば式(1)の秘密計算で確認させる。そして、その結果に基づいて、zi+2^t’=zi(+)zi+2^tまたはzi+2^t’=zi+2^tの秘密計算を実行させる。なお、ステップS331のi=1,2,…,M−2^tについての処理は、互いに影響しないため並列に処理できる。
zi=zi’
とする(S332)。なお、ステップS332もi=1,2,…,Mについての処理は互いに影響しないため、並列に処理できる。そして、結合演算手段330は、t=Tかを確認し(S337)、Yesの場合にはステップS333に進み、Noの場合にはtにt+1を代入し(S338)、ステップS331に戻る。
zi=zi
とし、等しくないときには
zi=(0)
とする(S333)。
z2i=z2i−1(+)z2i,z2i−1=(0)
とし、等しくないときには
z2i=z2i, z2i−1=z2i−1
とする(S313)。なお、k2i−1とk2iとの比較は、事前結合部3131,…,313N(事前結合手段313)が、秘密分散装置1001,…,100Nに、例えば式(1)の論理式を用いた秘密計算を実行させればよい。また、異なるiに対する演算同士は互いに影響を与えないので、異なるiに対する演算は並列で行うことができる。
tK+(最後のステップS315で残った情報の数)
になるまでステップS316で情報を削除できる。
情報の数M=1000、キーの取り得る値の数K=10とする。実施例3のステップS314の1回目でM”=500、2回目でM”=250となり、6回目でM”=16となる。そして、ここまでの結合演算の回数は985回であり、残りの情報の数は次のようになる。
これをもう一度繰り返すと、t=2でM”=19、結合演算の回数は57回増えて1042回、残りの情報の数の最大値(実際にはこの数以下となる数)は2×10+19=39となる。例えばsを40に設定していれば、ステップS317は終了し、ステップS320に進む。ステップS320,S330,S340を実施例1の方法で実行すれば、結合演算の回数は1080回、段数は46段である。ステップS320,S330,S340を実施例2の方法で実行すれば、結合演算の回数は1213回、段数は14段である。比較として、最初から実施例1の方法にした場合は、結合演算の回数は999回、段数は999段、実施例2の方法の場合の結合演算の回数は8977回、段数は10段となり、情報の数Mがキーの取り得る値の数Kよりかなり大きい場合、実施例3の方法は計算量と段数のバランスに優れることが分かる。なお、従来の方法の場合、結合演算の回数は9990回、段数は10段である。
上述の説明では、秘密計算については1つの方法に限定しないことを前提としており、具体例は示さなかった。以下の説明では、秘密集合関数装置101,…,10Nが実行するランダム置換とその他の秘密計算について説明する。なお、以下の秘密計算に関する説明は、1つの例でありこれに限定されるものではない。本発明のセキュア集合関数システムでは他の秘密計算を用いてもよい。
図6に本発明に利用できる秘密分散装置100nの機能構成例を詳しく示したセキュア集合関数システムを示す。図7にランダム置換の1つ目の処理フロー例を示す。この例では、セキュア集合関数システムは選択手段105も備える。ここで、A1,…,AKを各秘密集合関数装置10nが断片を分散して記録するK個の数値(Kは2以上の整数)、数値Akをk番目の数値(kは1以上K以下の整数)、aknを秘密集合関数装置10nが記録するk番目の断片とする。なお、数値A1,…,AKが、秘匿化したい数値群であって、例えば、ソートの対象となる数値群である。ソートの対象となる数値群としては、例えば、数値Akが各々の人の年収を示すような数値群が考えられる。選択手段105は、いずれかの秘密集合関数装置の内部に配置されてもよいし、単独の装置であってもよい。
次のランダム置換のためのセキュア集合関数システムの秘密分散装置100nを詳細に示した機能構成例も図6に示す。図8にランダム置換の2つ目の処理フロー例を示す。この例でも、セキュア集合関数システムは選択手段105も備える。ここで、A1,…,AKを各秘密集合関数装置10nが断片を分散して記録するK個の数値(Kは2以上の整数)、数値Akをk番目の数値(kは1以上K以下の整数)、aknを秘密集合関数装置10nが記録する数値Akの断片とする。
ここでは、セキュア集合関数システムが3個の秘密集合関数装置で構成された場合の秘密計算の例を示す。また、秘密集合関数装置101,102,103の番号を固定する必要はないので、秘密集合関数装置10α,10β,10γと表現することにする。つまり、(α,β,γ)は、(1,2,3)、(2,3,1)、(3,1,2)のいずれかである。
(1)乱数aαβ,aβγを生成する。
(2)aγα=A−aαβ−aβγを計算し、断片を(aγα,aαβ)、(aαβ,aβγ)、(aβγ,aγα)とし、秘密集合関数装置10α,10β,10γに分散して記録する。
(1)秘密集合関数装置10αは秘密集合関数装置10βにaγαを送信し、秘密集合関数装置10γにaαβを送信する。秘密集合関数装置10βは秘密集合関数装置10γにaαβを送信し、秘密集合関数装置10αにaβγを送信する。秘密集合関数装置10γは秘密集合関数装置10αにaβγを送信し、秘密集合関数装置10βにaγαを送信する。
(2)秘密集合関数装置10αは秘密集合関数装置10βから受信したaβγと秘密集合関数装置10γから受信したaβγとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。秘密集合関数装置10βは秘密集合関数装置10γから受信したaγαと秘密集合関数装置10αから受信したaγαとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。秘密集合関数装置10γは秘密集合関数装置10αから受信したaαβと秘密集合関数装置10βから受信したaαβとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。
(1)秘密集合関数装置10αは(cγα,cαβ)=(aγα+bγα,aαβ+bαβ)を計算して記録し、秘密集合関数装置10βは(cαβ,cβγ)=(aαβ+bαβ,aβγ+bβγ)を計算して記録し、秘密集合関数装置10γは(cβγ,cγα)=(aβγ+bβγ,aγα+bγα)を計算して記録する。
(1)秘密集合関数装置10αは(cγα,cαβ)=(aγα−bγα,aαβ−bαβ)を計算して記録し、秘密集合関数装置10βは(cαβ,cβγ)=(aαβ−bαβ,aβγ−bβγ)を計算して記録し、秘密集合関数装置10γは(cβγ,cγα)=(aβγ−bβγ,aγα−bγα)を計算して記録する。
(1)秘密集合関数装置10αは(cγα,cαβ)=(aγα+S,aαβ)を計算して記録し、秘密集合関数装置10γは(cβγ,cγα)=(aβγ,aγα+S)を計算して記録する。秘密集合関数装置10βの処理はない。
(1)秘密集合関数装置10αは(cγα,cαβ)=(aγαS,aαβS)を計算して記録し、秘密集合関数装置10βは(cαβ,cβγ)=(aαβS,aβγS)を計算して記録し、秘密集合関数装置10γは(cβγ,cγα)=(aβγS,aγαS)を計算して記録する。
(1)秘密集合関数装置10αは、乱数r1,r2,cγαを生成し、cαβ=(aγα+aαβ)(bγα+bαβ)−r1−r2−cγαを計算する。そして、秘密集合関数装置10αは、秘密集合関数装置10βに(r1,cαβ)を、秘密集合関数装置10γに(r2,cγα)を送信する。
(2)秘密集合関数装置10βは、y=aαβbβγ+aβγbαβ+r1を計算し、秘密集合関数装置10γに送信する。
(3)秘密集合関数装置10γは、z=aβγbγα+aγαbβγ+r2を計算し、秘密集合関数装置10αに送信する。
(4)秘密集合関数装置10βと秘密集合関数装置10γは、それぞれcβγ=y+z+aβγbβγを計算する。
(5)秘密集合関数装置10αは(cγα,cαβ)を記録し、秘密集合関数装置10βは(cαβ,cβγ)を記録し、秘密集合関数装置10γは(cβγ,cγα)を記録する。
秘密集合関数装置10αは
(cγα,cαβ)=(1−aγα,−aαβ mod W)
を計算して記録し、秘密集合関数装置10βは
(cαβ,cβγ)=(−aαβ mod W,−aβγ mod W)
を計算して記録し、秘密集合関数装置10γは
(cβγ,cγα)=(−aβγ mod W,1−aγα)
を計算して記録する。
秘密集合関数装置10α,10β,10γは、整数の乗算(C=AB mod W)の秘密計算と同じ処理を行う。
(1)秘密集合関数装置10α,10β,10γは、整数の加算(C=A+B mod W)の秘密計算と同じ処理を行い、C’=A+Bの結果として、秘密集合関数装置10αが断片(cγα’,cαβ’)を、秘密集合関数装置10βが断片(cαβ’,cβγ’)を、秘密集合関数装置10γが断片(cβγ’,cγα’)を記録する。また、秘密集合関数装置10α,10β,10γは、整数の乗算(C=AB mod W)の秘密計算と同じ処理を行い、C”=ABの結果として、秘密集合関数装置10αが断片(cγα”,cαβ”)を、秘密集合関数装置10βが断片(cαβ”,cβγ”)を、秘密集合関数装置10γが断片(cβγ”,cγα”)を記録する。
(2)秘密集合関数装置10α,10β,10γは、S=−1として整数の乗算(C=AS mod W)の秘密計算(ただし、Sは既知の定数)と同じ処理を行い、C’’’=−C”の結果として、秘密集合関数装置10αが断片(cγα’’’,cαβ’’’)を、秘密集合関数装置10βが断片(cαβ’’’,cβγ’’’)を、秘密集合関数装置10γが断片(cβγ’’’,cγα’’’)を記録する。
(3)秘密集合関数装置10α,10β,10γは、整数の加算(C=A+B mod W)の秘密計算と同じ処理を行い、C=C’+C’’’の結果として、秘密集合関数装置10αが断片(cγα,cαβ)を、秘密集合関数装置10βが断片(cαβ,cβγ)を、秘密集合関数装置10γが断片(cβγ,cγα)を記録する。
(1)秘密集合関数装置10α,10β,10γは、整数の加算(C=A+B mod W)の秘密計算と同じ処理を行い、C’=A+Bの結果として、秘密集合関数装置10αが断片(cγα’,cαβ’)を、秘密集合関数装置10βが断片(cαβ’,cβγ’)を、秘密集合関数装置10γが断片(cβγ’,cγα’)を記録する。また、秘密集合関数装置10α,10β,10γは、整数の乗算(C=AB mod W)の秘密計算と同じ処理を行い、C”=ABの結果として、秘密集合関数装置10αが断片(cγα”,cαβ”)を、秘密集合関数装置10βが断片(cαβ”,cβγ”)を、秘密集合関数装置10γが断片(cβγ”,cγα”)を記録する。
(2)秘密集合関数装置10α,10β,10γは、S=−2として整数の乗算(C=AS mod W)の秘密計算(ただし、Sは既知の定数)の秘密計算と同じ処理を行い、C’’’=−2C”の結果として、秘密集合関数装置10αが断片(cγα’’’,cαβ’’’)を、秘密集合関数装置10βが断片(cαβ’’’,cβγ’’’)を、秘密集合関数装置10γが断片(cβγ’’’,cγα’’’)を記録する。
(3)秘密集合関数装置10α,10β,10γは、整数の加算(C=A+B mod W)の秘密計算と同じ処理を行い、C=C’+C’’’の結果として、秘密集合関数装置10αが断片(cγα,cαβ)を、秘密集合関数装置10βが断片(cαβ,cβγ)を、秘密集合関数装置10γが断片(cβγ,cγα)を記録する。
ビットA(n)の整数変換とは、
x(n)は、xの下位n+1番目のビットを示すものとする。
(1)n=0からN−1について、秘密集合関数装置10βが(aαβ+aβγ mod W)(n)を秘密分散し、秘密集合関数装置10α,10β,10γが(aαβ+aβγ mod W)(n)の断片(b(n)γα,b(n)αβ)、(b(n)αβ,b(n)βγ)、(b(n)βγ,b(n)γα)を分散して記録する。n=0からN−1について、秘密集合関数装置10γが(aγα)(n)を秘密分散し、秘密集合関数装置10α,10β,10γが(aγα)(n)の断片((aγα)(n)γα,(aγα)(n)αβ)、((aγα)(n)αβ,(aγα)(n)βγ)、((aγα)(n)βγ,(aγα)(n)γα)を分散して記録する。
(2)cγα=0とし、n=0からN−1について(2−1)から(2−3)の処理を繰返し実行する。
(2−1)dn=b(n)+(aγα)(n)−2b(n)(aγα)(n)
の秘密計算を実行し、dnの断片を分散して記録する。
(2−2)a(n)=dn+cn−2dncn
の秘密計算を実行し、a(n)の断片を分散して記録する。
(2−3)n<N−1であれば、
cn+1=b(n)(aγα)(n)+dncn−b(n)(aγα)(n)dncn
の秘密計算を実行し、cn+1の断片を分散して記録する。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
105 選択手段 1101,…,110N 断片置換部
1201,…,120N 再分散部 1301,…,130N 初期情報分散部
1401,…,140N 初期乗算部 1501,…,150N 確認分散部
1601,…,160N 確認乗算部 1701,…,170N 改ざん検出部
1901,…,190N 記録部 3001,…,300N 集合関数制御部
310 事前処理手段 3101,…,310N 事前処理部
311 第1事前初期化手段 3111,…,311N 第1事前初期化部
312 第2事前初期化手段 3121,…,312N 第2事前初期化部
313 事前結合手段 3131,…,313N 事前結合部
314 保存手段 3141,…,314N 保存部
315 第2事前繰返手段 3151,…,315N 第2事前繰返部
316 事前削除手段 3161,…,316N 事前削除部
317 第1事前繰返手段 3171,…,317N 第1事前繰返部
320 初期化手段 3201,…,320N 初期化部
330 結合演算手段 3301,…,330N 結合演算部
331 第1結合手段 3311,…,331N 第1結合部
332 第2結合手段 3321,…,332N 第2結合部
333 第3結合手段 3331,…,333N 第3結合部
340 削除手段 3401,…,340N 削除部
1000 ネットワーク
Claims (10)
- N個の秘密集合関数装置R1,…,RNで構成され、キーkmと属性値vmを含むM個の情報(k1,v1),…,(kM,vM)がそれぞれ秘密分散された情報([k1],[v1]),…,([kM],[vM])から、秘密分散された集計結果を求めるセキュア集合関数システムであって、
Mは2以上の整数、Nは3以上の整数、m,i,jは1以上M以下の整数、[]はカッコ内の情報が要素ごとに秘密分散された情報を示す記号、(+)は単位元が存在し結合律と可換律が成り立つ前記集計結果を求めるための演算を示す記号、(0)は演算(+)の単位元を示す記号とし、
M個のデータz1,…,zMを、zm=vmのように設定し、情報([k1],[z1]),…,([kM],[zM])を生成する初期化手段と、
キーkiとキーkj(ただし、i≠j)とが等しいときには
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とする結合処理を、少なくともすべての等しいキーを持つ情報に対して実行するまで、秘密計算で実行する結合演算手段と、
を備えるセキュア集合関数システム。 - 請求項1記載のセキュア集合関数システムであって、
情報([k1],[v1]),…,([kM],[vM])はキーkmに基づいてソートされた情報とし、
前記結合演算手段の処理後に、M個の情報([km],[zm])を秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除する削除手段
も備え、
前記結合演算手段は、
iを1からM−1まで順番に値を大きくしながら、j=i+1に対して前記結合処理を行う、または、iをMから2まで順番に値を小さくしながら、j=i−1に対して前記結合処理を行う
ことを特徴とするセキュア集合関数システム。 - 請求項1記載のセキュア集合関数システムであって、
Tは(log2M)−1以上の最小の整数、tは0以上T以下の整数、^はべき乗を示す記号、情報([k1],[v1]),…,([kM],[vM])はキーkmに基づいてソートされた情報とし、
前記結合演算手段の処理後に、M個の情報([km],[zm])を秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除する削除手段
も備え、
前記結合演算手段は、
i=1,2,…,M−2^tについて
kiとki+2^tが等しいときには
zi+2^t’=zi(+)zi+2^t
とし、等しくないときには
zi+2^t’=zi+2^t
とする第1結合手段と、
i=1,2,…,Mについて
zi=zi’
とする第2結合手段と、
i=1,2,…,M−1について、kiとki+1が等しいときには
zi=zi
とし、等しくないときには
zi=(0)
とする
とする第3結合手段と、
を有し、t=0,1,2,…,Tについて、前記第1結合手段と前記第2結合手段の処理を繰返した後に前記第3結合手段の処理を行う
ことを特徴とするセキュア集合関数システム。 - 請求項2または3記載のセキュア集合関数システムであって、
sをあらかじめ定めたM以下の整数、Kはキーkmの取り得る値の数とし、
M’=Mとする第1事前初期化手段と、
t=0、M”=M’とする第2事前初期化手段と、
tにt+1を代入し、
1からM”/2以下の最大の整数までのiについて、k2i−1とk2iが等しいときには
z2i=z2i−1(+)z2i,z2i−1=(0)
とし、等しくないときには
z2i=z2i,z2i−1=z2i−1
とする事前結合手段と、
奇数番目の情報([km’],[zm’])を抜き取って保存し、残った情報を新しい情報([km],[zm])とし、新しい情報([km],[zm])の数を新しいM”とする保存手段と、
前記事前結合手段と前記保存手段の処理を、M”が2K以下になるまで繰り返す第2事前繰返手段と、
前記保存手段が保存したすべての情報([km’],[zm’])と残った情報([km],[zm])とを一緒にした上で、秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除し、残った情報を新しい情報([km],[zm])とし、新しい情報([km],[zm])の数をM’とする事前削除手段と、
前記第2事前初期化手段、前記事前結合手段、前記保存手段、前記第2事前繰返手段、前記事前削除手段の処理をM’がsより小さくなるまで繰り返す第1事前繰返手段と
を有する事前処理手段も備え、
Mを、前記事前処理手段の処理後の情報([km],[zm])の数に変更し、前記事前処理手段の処理後の情報([km],[zm])に対して、前記初期化手段の処理を実行する
ことを特徴とするセキュア集合関数システム。 - キーkmと属性値vmを含むM個の情報(k1,v1),…,(kM,vM)がそれぞれ秘密分散された情報([k1],[v1]),…,([kM],[vM])から、秘密分散された集計結果を求めるセキュア集合関数システムを構成するN個の秘密集合関数装置の中の秘密集合関数装置であって、
Mは2以上の整数、Nは3以上の整数、m,i,jは1以上M以下の整数、[]はカッコ内の情報が要素ごとに秘密分散された情報を示す記号、(+)は単位元が存在し結合律と可換律が成り立つ前記集計結果を求めるための演算を示す記号、(0)は演算(+)の単位元を示す記号とし、
M個のデータz1,…,zMを、zm=vmのように設定し、情報([k1],[z1]),…,([kM],[zM])を生成するための初期化部と、
キーkiとキーkj(ただし、i≠j)とが等しいときには
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とする結合処理を、少なくともすべての等しいキーを持つ情報に対して実行するまで、秘密計算で実行するための結合演算部と、
を備える秘密集合関数装置。 - N個の秘密集合関数装置R1,…,RN が、キーkmと属性値vmを含むM個の情報(k1,v1),…,(kM,vM)がそれぞれ秘密分散された情報([k1],[v1]),…,([kM],[vM])から、秘密分散された集計結果を求めるセキュア集合関数処理方法であって、
Mは2以上の整数、Nは3以上の整数、m,i,jは1以上M以下の整数、[]はカッコ内の情報が要素ごとに秘密分散された情報を示す記号、(+)は単位元が存在し結合律と可換律が成り立つ前記集計結果を求めるための演算を示す記号、(0)は演算(+)の単位元を示す記号とし、
M個のデータz1,…,zMを、zm=vmのように設定し、情報([k1],[z1]),…,([kM],[zM])を生成する初期化ステップと、
キーkiとキーkj(ただし、i≠j)とが等しいときには
zj=zi(+)zj,zi=(0)
とし、等しくないときには
zj=zj,zi=zi
とする結合処理を、少なくともすべての等しいキーを持つ情報に対して実行するまで、秘密計算で実行する結合演算ステップと、
を有するセキュア集合関数処理方法。 - 請求項6記載のセキュア集合関数処理方法であって、
情報([k1],[v1]),…,([kM],[vM])はキーkmに基づいてソートされた情報とし、
前記結合演算ステップ後に、M個の情報([km],[zm])を秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除する削除ステップ
も有し、
前記結合演算ステップは、
iを1からM−1まで順番に値を大きくしながら、j=i+1に対して前記結合処理を行う、または、iをMから2まで順番に値を小さくしながら、j=i−1に対して前記結合処理を行う
ことを特徴とするセキュア集合関数処理方法。 - 請求項6記載のセキュア集合関数処理方法であって、
Tは(log2M)−1以上の最小の整数、tは0以上T以下の整数、^はべき乗を示す記号、情報([k1],[v1]),…,([kM],[vM])はキーkmに基づいてソートされた情報とし、
前記結合演算ステップ後に、M個の情報([km],[zm])を秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除する削除ステップ
も有し、
前記結合演算ステップは、
i=1,2,…,M−2^tについて
kiとki+2^tが等しいときには
zi+2^t’=zi(+)zi+2^t
とし、等しくないときには
zi+2^t’=zi+2^t
とする第1結合サブステップと、
i=1,2,…,Mについて
zi=zi’
とする第2結合サブステップと、
i=1,2,…,M−1について、kiとki+1が等しいときには
zi=zi
とし、等しくないときには
zi=(0)
とする
とする第3結合サブステップと、
を有し、t=0,1,2,…,Tについて、前記第1結合サブステップと前記第2結合サブステップを繰返した後に前記第3結合サブステップを行う
ことを特徴とするセキュア集合関数処理方法。 - 請求項7または8記載のセキュア集合関数処理方法であって、
sをあらかじめ定めたM以下の整数、Kはキーkmの取り得る値の数とし、
M’=Mとする第1事前初期化サブステップと、
t=0、M”=M’とする第2事前初期化サブステップと、
tにt+1を代入し、
1からM”/2以下の最大の整数までのiについて、k2i−1とk2iが等しいときには
z2i=z2i−1(+)z2i,z2i−1=(0)
とし、等しくないときには
z2i=z2i,z2i−1=z2i−1
とする事前結合サブステップと、
奇数番目の情報([km’],[zm’])を抜き取って保存し、残った情報を新しい情報([km],[zm])とし、新しい情報([km],[zm])の数を新しいM”とする保存サブステップと、
前記事前結合サブステップと前記保存サブステップを、M”が2K以下になるまで繰り返す第2事前繰返サブステップと、
前記保存サブステップが保存したすべての情報([km’],[zm’])と残った情報([km],[zm])とを一緒にした上で、秘密計算でランダム置換し、ランダム置換後のzmが(0)かを確認し、zm=(0)の場合には情報([km],[zm])を削除し、残った情報を新しい情報([km],[zm])とし、新しい情報([km],[zm])の数をM’とする事前削除サブステップと、
前記第2事前初期化サブステップ、前記事前結合サブステップ、前記保存サブステップ、前記第2事前繰返サブステップ、前記事前削除サブステップをM’がsより小さくなるまで繰り返す第1事前繰返サブステップと
を有する事前処理ステップも有し、
Mを、前記事前処理ステップ後の情報([km],[zm])の数に変更し、前記事前処理ステップ後の情報([km],[zm])に対して、前記初期化ステップの処理を実行する
ことを特徴とするセキュア集合関数処理方法。 - 請求項1から4のいずれかに記載のセキュア集合関数システムの各秘密集合関数装置としてコンピュータを機能させるためのセキュア集合関数プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011011233A JP5486520B2 (ja) | 2011-01-21 | 2011-01-21 | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011011233A JP5486520B2 (ja) | 2011-01-21 | 2011-01-21 | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012154968A JP2012154968A (ja) | 2012-08-16 |
JP5486520B2 true JP5486520B2 (ja) | 2014-05-07 |
Family
ID=46836788
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011011233A Active JP5486520B2 (ja) | 2011-01-21 | 2011-01-21 | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5486520B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210182062A1 (en) * | 2018-08-13 | 2021-06-17 | Nippon Telegraph And Telephone Corporation | Secure strong mapping computing systems, methods, secure computing apparatus and program |
US20210314145A1 (en) * | 2018-08-13 | 2021-10-07 | Nippon Telegraph And Telephone Corporation | Secure joining system, method, secure computing apparatus and program |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5860378B2 (ja) * | 2012-10-16 | 2016-02-16 | 日本電信電話株式会社 | 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム |
JP5961571B2 (ja) * | 2013-02-26 | 2016-08-02 | 日本電信電話株式会社 | 秘密表除算装置及び方法 |
JP5937556B2 (ja) * | 2013-09-30 | 2016-06-22 | 日本電信電話株式会社 | 秘密計算装置、秘匿検索システム、秘密計算方法、秘匿検索方法、プログラム |
EP3779931B1 (en) * | 2018-03-26 | 2023-03-01 | Nippon Telegraph And Telephone Corporation | Secret deduplication filter generation system, secret deduplication system, method for these, secret calculation apparatus, and program |
US11251945B2 (en) | 2018-04-25 | 2022-02-15 | Nippon Telegraph And Telephone Corporation | Secure aggregate maximum system, secure aggregate minimum system, secure computation apparatus, secure aggregate maximum method, secure aggregate minimum method, and program |
JP6973632B2 (ja) * | 2018-04-25 | 2021-12-01 | 日本電信電話株式会社 | 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム |
JP7017178B2 (ja) * | 2018-05-17 | 2022-02-08 | 日本電信電話株式会社 | 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム |
JP6989006B2 (ja) * | 2018-05-25 | 2022-01-05 | 日本電信電話株式会社 | 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム |
JP7092206B2 (ja) * | 2018-10-04 | 2022-06-28 | 日本電信電話株式会社 | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7290150B2 (en) * | 2003-06-09 | 2007-10-30 | International Business Machines Corporation | Information integration across autonomous enterprises |
-
2011
- 2011-01-21 JP JP2011011233A patent/JP5486520B2/ja active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210182062A1 (en) * | 2018-08-13 | 2021-06-17 | Nippon Telegraph And Telephone Corporation | Secure strong mapping computing systems, methods, secure computing apparatus and program |
US20210314145A1 (en) * | 2018-08-13 | 2021-10-07 | Nippon Telegraph And Telephone Corporation | Secure joining system, method, secure computing apparatus and program |
US11888973B2 (en) * | 2018-08-13 | 2024-01-30 | Nippon Telegraph And Telephone Corporation | Secure joining system, method, secure computing apparatus and program |
US11886876B2 (en) * | 2018-08-13 | 2024-01-30 | Nippon Telegraph And Telephone Corporation | Secure strong mapping computing systems, methods, secure computing apparatus and program |
Also Published As
Publication number | Publication date |
---|---|
JP2012154968A (ja) | 2012-08-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5486520B2 (ja) | セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム | |
JP5411994B2 (ja) | 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム | |
JP6009697B2 (ja) | 秘密計算方法、秘密計算システム、ソート装置及びプログラム | |
US10700850B2 (en) | System and method for information protection | |
US10938549B2 (en) | System and method for information protection | |
WO2016208437A1 (ja) | 秘密計算装置、秘密計算方法、およびプログラム | |
CN106452769B (zh) | 一种数据处理方法、数据处理装置以及处理器 | |
JP5299286B2 (ja) | 分散情報生成装置、復元装置、検証装置及び秘密情報分散システム | |
CN104915609B (zh) | 一种基于Lagrange插值法和多云的数据隐藏方法 | |
JP5480828B2 (ja) | 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム | |
US11599681B2 (en) | Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program | |
CN106796765B (zh) | 非减序列判定装置、非减序列判定方法以及记录介质 | |
JP5391212B2 (ja) | セキュア検索システム、秘密検索装置、セキュア検索方法、セキュア検索プログラム | |
WO2019163636A1 (ja) | 秘密計算装置、秘密計算認証システム、秘密計算方法、およびプログラム | |
JP6059159B2 (ja) | シェア変換システム、シェア変換方法、プログラム | |
JP6321216B2 (ja) | 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム | |
JP5689845B2 (ja) | 秘密計算装置、秘密計算方法、およびプログラム | |
Jeon | One-way hash function based on cellular automata | |
JP5506705B2 (ja) | 秘密マッチングシステム、秘密マッチング装置、秘密マッチング方法、秘密マッチングプログラム | |
Hinkelmann et al. | A cryptographically t‐private auction system | |
US20230039723A1 (en) | Secret hash table construction system, reference system, methods for the same | |
Zhang et al. | On the implementation of modified fuzzy vault for biometric encryption | |
Gorke et al. | Cloud storage file recoverability | |
JP5640624B2 (ja) | 分散情報生成装置、復元装置、秘密分散システム、情報処理方法およびプログラム | |
JP6386963B2 (ja) | グループ署名システム、署名生成装置、署名検証装置、追跡装置、グループ署名方法、署名生成プログラム、署名検証プログラム、追跡プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121225 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131120 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131203 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140121 |
|
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: 20140212 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140221 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5486520 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |