Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5411994B2 - 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム - Google Patents
[go: Go Back, main page]

JP5411994B2 - 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム - Google Patents

秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム Download PDF

Info

Publication number
JP5411994B2
JP5411994B2 JP2012537700A JP2012537700A JP5411994B2 JP 5411994 B2 JP5411994 B2 JP 5411994B2 JP 2012537700 A JP2012537700 A JP 2012537700A JP 2012537700 A JP2012537700 A JP 2012537700A JP 5411994 B2 JP5411994 B2 JP 5411994B2
Authority
JP
Japan
Prior art keywords
secret sharing
secret
sharing apparatus
fragment
fragments
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
JP2012537700A
Other languages
English (en)
Other versions
JPWO2012046692A1 (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.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
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, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012537700A priority Critical patent/JP5411994B2/ja
Application granted granted Critical
Publication of JP5411994B2 publication Critical patent/JP5411994B2/ja
Publication of JPWO2012046692A1 publication Critical patent/JPWO2012046692A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、暗号応用技術に関するものであり、特に入力データを明かすことなく関数計算を行う秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラムに関する。
暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1に記載された方法)。非特許文献1の方法では、3つの秘密計算装置に数値の断片を分散させ、数値を復元すること無く、加減算、定数和、乗算、定数倍、論理演算(否定,論理積,論理和,排他的論理和)、データ形式変換(整数,二進数)の結果を3つの秘密計算装置に分散保持させることができる。
千田浩司,五十嵐大,高橋克巳,"効率的な3パーティ秘匿関数計算の提案とその運用モデルの考察",第48回情報処理学会研究報告,CSEC, pp.1-7, 2010,3月.
しかしながら、従来技術はデータの対応を隠したまま複数のデータをランダムに置換できないという課題がある。本発明の目的は、入力された複数のデータと対応つけることができないデータを出力する秘密計算技術を提供することである。
本発明は秘密分散に関する。一般に、(k,n)−秘密分散では、秘密分散システムが2つのパラメータk,nを持っており、秘密にしたい値をn個に分割し、そのうちk個未満を集めても元の値に関する情報は漏れないが、k個以上を集めると元の値を復元できる。本発明の秘密分散システムは、N個の秘密分散装置R,…,Rで構成される。ここで、Nを3以上の整数、nを1以上N以下の整数、Mを1以上の整数、mを1以上M以下の整数、Kを2以上の整数、kを1以上K以下の整数、数値A (1),…,A (1),…,A (M),…,A (M)を各秘密分散装置が断片を分散して記録するK×M個の数値、数値A (1),…,A (M)を対応付けられたk番目の数値群、akn (m)をn番目の秘密分散装置が記録する数値A (m)の断片とする。本発明の秘密分散システムは、選択手段と断片置換手段と再分散手段を備える。選択手段は、2以上N未満の数の秘密分散装置を選択する。断片置換手段は、選択された秘密分散装置の間で{1,…,K}→{1,…,K}の全単射πを作成し、選択された秘密分散装置R(ただし、iは選択された秘密分散装置を示す番号)が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)i (1),…,aπ(k)i (M)をそれぞれ対応付けられたk番目の数値群の断片にする。再分散手段は、断片置換手段によって置換された数値Aπ(k) (1),…,Aπ(k) (M)に対応する断片aπ(k)i (1),…,aπ(k)i (M)を用いて再分散化して新しい断片bk1 (1),…,bkN (1),…,bk1 (M),…,bkN (M)を求める(以下、これを「再分散化」と呼ぶ)。なお、対応つけられた数値群の対応を維持したまま数値群を再分散化する場合は、同一の全単射πを用いて、対応つけられた数値群の各数値の断片を置換すればよい。
また、本発明の秘密分散システムは、初期情報分散手段、初期乗算手段、確認分散手段、確認乗算手段、改ざん検出手段も備えてもよい。初期情報分散手段は、秘密分散装置R,…,Rのどれも知らないK個の数値P,…,Pそれぞれの断片p1n,…,pKnを秘密計算によって求め、秘密分散装置Rに記録させる。初期乗算手段は、秘密分散装置R,…,Rで、S=P×A (1)である数値Sの断片sk1,…,skNを秘密計算によって求め、秘密分散装置R,…,Rに分散して記録する。確認分散手段は、k=1〜Kについて、Q=Pπ(k)である数値Qの断片qk1,…,qkNを秘密計算によって生成し、秘密分散装置R,…,Rに分散して記録させる。確認乗算手段は、秘密分散装置R,…,Rで、T=Q×B (1)である数値Tの断片tk1,…,tkNを秘密計算によって求め、秘密分散装置R,…,Rに分散して記録する。改ざん検出手段は、k=1〜Kについて、T=Sπ(k)であることを確認する。
例えば、3つの秘密分散装置で構成する場合であれば、k番目の対応つけられた数値群のm番目の数値A (m)=akαβ (m)+akβγ (m)+akγα (m)(ただし、(α,β,γ)は、(1,2,3)、(2,3,1)、(3,1,2)のいずれか)の3つの断片を(akγα (m),akαβ (m))、(akαβ (m),akβγ (m))、(akβγ (m),akγα (m))とする。秘密分散装置が、第1の秘密分散装置として選ばれたときには記録する断片をak1 (m)=(ak31 (m),ak12 (m))、第2の秘密分散装置として選ばれたときには記録する断片をak2 (m)=(ak12 (m),ak23 (m))、第3の秘密分散装置として選ばれたときには記録する断片をak3 (m)=(ak23 (m),ak31 (m))とする。そして、各秘密分散装置は、断片置換部、第1乱数生成部、第2乱数生成部、第1計算部、第2計算部、第3計算部、断片更新部を備えればよい。断片置換部は、第1の秘密分散装置または第2の秘密分散装置として選ばれたときは、{1,…,K}→{1,…,K}の全単射πを作成し、π(k)番目の対応つけられた数値群の各数値の断片をk番目の対応つけられた数値群の各数値の断片にする。第1乱数生成部は、第1の秘密分散装置のときには、移動後のk番目の対応つけられた数値群の各数値の断片の再分散化のために、ランダムな値であるbk31 (1),…,bk31 (M)を生成し、第3の秘密分散装置に送信する。第2乱数生成部は、第2の秘密分散装置のときには、k番目の対応つけられた数値群の各数値の断片の再分散化のために、ランダムな値であるbk23 (1),…,bk23 (M)を生成し、第3の秘密分散装置に送信する。第1計算部は、第1の秘密分散装置のときには、k番目の対応つけられた数値群の各数値の断片の再分散化のために、m=1〜Mについてx (m)=bk31 (m)−aπ(k)31 (m)を計算し、第2の秘密分散装置に送信する。第2計算部は、第2の秘密分散装置のときには、k番目の対応つけられた数値群の各数値の断片の再分散化のために、m=1〜Mについてy (m)=bk23 (m)−aπ(k)23 (m)を計算し、第1の秘密分散装置に送信する。第3計算部は、第1の秘密分散装置または第2の秘密分散装置のときには、k番目の対応つけられた数値群の各数値の断片の再分散化のために、m=1〜Mについてbk12 (m)=aπ(k)12 (m)−x (m)−y (m)を計算する。断片更新部は、第1の秘密分散装置のときには(bk31 (m),bk12 (m))を断片bk1 (m)とし、第2の秘密分散装置のときには(bk12 (m),bk23 (m))を断片bk2 (m)とし、第3の秘密分散装置のときには(bk23 (m),bk31 (m))を断片bk3 (m)とする。なお、全ての秘密分散装置の断片置換部で、秘密分散システムの断片置換手段が構成される。また、第1乱数生成部、第2乱数生成部、第1計算部、第2計算部、第3計算部、断片更新部で、秘密分散システムの再分散手段が構成される。
本発明の秘密分散システムによれば、断片置換部に選ばれなかった秘密分散装置は、全単射πを知らないので、数値A (1),…,A (1),…,A (M),…,A (M)と数値B (1),…,B (1),…,B (M),…,B (M)との対応が分からない。本発明を用いることにより、クイックソートなどの比較に基づくソーティングアルゴリズムを、比較回数を増やすことなく秘密計算上で実現できる。
実施例1,2の秘密分散システムの機能構成例を示す図。 実施例1の秘密分散システムでの秘密分散の処理フローを示す図。 本発明の秘密分散システムでの数値のソートの処理フローを示す図。 クイックソートのアルゴリズムを示す図。 実施例2の秘密分散システムでの秘密分散の処理フローを示す図。 実施例3,4の秘密分散システムの機能構成例を示す図。 実施例3,4の再分散部の詳細な構成の例を示す図。 実施例3の秘密分散システムでの秘密分散の処理フローを示す図。 実施例4の改ざん検出部の詳細な構造を示す図。 実施例4の秘密分散システムでの秘密分散の処理フローを示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
課題を解決するための手段では、数値A (1),…,A (1),…,A (M),…,A (M)を各秘密分散装置が断片を分散して記録するK×M個の数値、数値A (1),…,A (M)を対応付けられたk番目の数値群、akn (m)をn番目の秘密分散装置が記録する数値A (m)の断片として説明した。本実施例では、まず本発明の理解を助けるために、M=1の場合について説明し、その後Mを1に限定しない場合について説明する。また、M=1の場合の説明では、A (1)をAと、akn (1)をaknと表現する。
[限定シャッフル]
図1に実施例1の秘密分散システムの機能構成例を示す。図2に実施例1の秘密分散システムでの秘密分散の処理フローを示す。本実施例の秘密分散システムは、ネットワーク1000に接続されたN個(Nは3以上の整数、nは1以上N以下の整数)の秘密分散装置100,…,100と選択手段105で構成される。ここで、A,…,Aを各秘密分散装置100が断片を分散して記録するK個の数値(Kは2以上の整数)、数値Aをk番目の数値(kは1以上K以下の整数)、aknを秘密分散装置100が記録するk番目の断片とする。なお、数値A,…,Aが、秘匿化したい数値群であって、例えば、ソートの対象となる数値群である。ソートの対象となる数値群としては、例えば、数値Aが各々の人の年収を示すような数値群が考えられる。選択手段105は、いずれかの秘密分散装置の内部に配置されてもよいし、単独の装置であってもよい。
本実施例の秘密分散システムは、選択手段と断片置換手段と再分散手段を備える。また、秘密分散装置100は、少なくとも断片置換部110と再分散部120と記録部190を備える。記録部190は断片a1n,…,aKnなどを記録する。また、記録部190は、自身が記録している断片aknが数値Aの何番目の断片なのかに関する情報も記録する。
選択手段105は、N未満の数の秘密分散装置を選択する(S105)。例えば、N個の断片のうちN’個を集めれば数値を復元できる秘密分散であれば、断片置換手段がN’個以上N未満の秘密分散装置を選べばよい。
断片置換手段は、少なくとも断片置換部110,…,110を含んで構成される。そして、選択手段105に選択された秘密分散装置100(ただし、iは選択された秘密分散装置を示す番号)の断片置換部110間で{1,…,K}→{1,…,K}の全単射πを作成し、選択された秘密分散装置100の記録部190が記録する断片aπ(k)iをk番目の断片にする(S110)。全単射πは、1〜Kを単にランダムに並べ替えたものであってもよい。なお、全単射πは、望ましくは一様にランダムに並び替えられたものであり、例えばFisher-Yates shuffle(参考文献1:Richard Durstenfeld, “Algorithm 235: Random permutation”, Communications of the ACM archive, Volume 7, Issue 7, 1964.)などを用いて作成すればよい。また、全単射πは選択された秘密分散装置100間で生成してもよいし、選択された秘密分散装置100のうちの1つの秘密分散装置が生成して、選択された秘密分散装置100間で共有してもよい。
再分散手段は、少なくとも再分散部120,…,120を含んで構成される。再分散手段は、断片置換手段によって置換された数値Aπ(k)に対応する断片aπ(k)i(k番目に置換されている)を用いて再分散化して新しい断片bk1,…,bkNを求め、数値Bの断片とする(S120)。つまり、Aπ(k)=Bの関係が成り立つが、選ばれなかった秘密分散装置は全単射πを知らないので、Aπ(k)=Bであることを知らない。なお、各秘密分散装置100の記録部190は、断片bknを記録するだけでなく、自身が記録しているk番目の断片である断片bknが数値Bの断片であるという情報も記録する。また、数値B,…,Bを新しい数値A,…,Aとし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。
本発明の秘密分散システムによれば、限定された秘密分散装置間で断片をシャッフルする。したがって、断片置換部に選ばれなかった秘密分散装置は、全単射πを知らないので、数値A,…,Aと数値B,…,Bとの対応が分からない。つまり、特定の秘密分散装置からは数値A,…,Aと数値B,…,Bとの対応が分からない状態にしたいのであれば、その秘密分散装置を断片置換部で選ばないように、選択する秘密分散装置をあらかじめ定めればよい。また、断片置換部が選ぶ秘密分散装置を変更しながらこの処理を繰り返し、全ての秘密分散装置が選ばれなかったことがある状態にすれば、全ての秘密分散装置が数値A,…,Aと対応つけることができない数値B,…,Bを得ることができる。
[再分散]
上述の限定シャッフルの説明では、再分散については詳しく説明しなかった。ここでは、再分散の方法について説明する。再分散の方法としては、参考文献2(Amir Herzberg, Stanislaw Jarecki, Hugo Krawczyk, and Moti Yung, “Proactive secret sharing or: How to cope with perpetual leakage”, In Don Coppersmith, editor, CRYPTO 1995, volume 963 of LNCS, pages 339-352. Springer, 1995.)の3.3節に示された更新方法と、参考文献3(Haiyun Luo and Songwu Lu, “Ubiquitous and robust authentication services for ad hoc wireless networks”, In UCLA-CSD-TR-200030, 2000.)の6.1節に示された再作成方法を用いる。選択手段105が選択した秘密計算装置間で参考文献2の更新方法を用いて新しい断片を生成し、その後、参考文献3の再作成方法を用いて選択手段105が選択しなかった秘密計算装置の新しい断片を生成する。
参考文献2の更新方法を、本件に適用したアルゴリズムを以下に示す。選択手段105がN’個の秘密分散装置を選択したとする。そして、iとjは選択された秘密分散装置を示す番号(1〜Nの中から選ばれたN’個の数の中のいずれか)であって、j≠iとする。また、値z,…,zはあらかじめ決められた値であり、すべての秘密分散装置間で共有されているとする。
(1)すべての秘密分散装置100は、N’−1個の乱数ui,1,ui,2,…,ui,N’−1を作成する。
(2)すべての秘密分散装置100は、Z(z):=0+ui,1z+ui,2+…+ui,N’−1N’−1を定める。
(3)すべての秘密分散装置100は、選択された他の秘密分散装置100(N’−1個存在する)のすべてに対して、それぞれZ(z)の値を送信する。
(4)すべての秘密分散装置100は、選択された他の秘密分散装置100(N’−1個存在する)から受け取ったすべてのZ(z)の和をZ(z)とし、新しい断片bkiを置換された断片aπ(k)iを用いて、
ki=aπ(k)i+Z(z
のように求める。
次に、参考文献3の再作成方法を、本件に適用したアルゴリズムを以下に示す。hは選択されなかった秘密分散装置を示す番号(1〜Nの中から選ばれなかったN−N’個の数のなかのいずれか)とする。また、Lij(z)=(z−z)/(z−z)とし、L(z)は、すべてのjについてのLij(z)の積とする。
(5)すべての秘密分散装置100は、i<jであるjと、選択されなかった秘密分散装置100のすべての組み合わせに対して、乱数vi,j (h)を生成する。
(6)すべての秘密分散装置100は、vi,j (h)を秘密分散装置100に送信する。
(7)すべての秘密分散装置100は、すべての選択されなかった秘密分散装置100について、j<iのすべての乱数vi,j (h)の和をV(h+)とし、i<jのすべての乱数vi,j (h)の和をV(h−)とし、値whiを、
hi=bki(z)+V(h+)−V(h−)
のように求め、秘密分散装置100に値whiを送信する。
(8)すべての秘密分散装置100は、受信したすべての値whiの和を新しい断片bkhとする。
上述のように、(1)〜(4)の処理で、すべての選択された秘密分散装置が、新しい断片を記録する。(5)〜(8)の処理で、すべての選択されなかった秘密分散装置が、新しい断片を記録する。
なお、(3)と(6)の処理を同時に行えば、処理の高速化を図ることができる。具体的には、(1)、(2)、(5)の処理をまず行い、(3)と(6)を同時に行い、(4)、(7)、(8)の処理を行えばよい。
[ソート]
図3に実施例1の秘密分散システムでの数値のソートの処理フローを示す。上述の方法によって初期の数値A,…,Aと対応つけることができない新しい数値A,…,Aを得ている(S101)。ソートも行う場合は、秘密分散装置100は、比較部210と交換部220も備える。比較部210,…,210は、2つの数値を選択し、当該2つの数値の大小を秘密計算によって比較する(S210)。
交換部220,…,220は、それぞれ比較部210,…,210での比較結果に基づいて、0組または1組または複数組の数値の断片を入れ替える(S220)。そして、全ての数値に対するソート処理が終わるまで、ステップS210とS220(比較、交換、組合せの変更などの必要な処理)を繰り返せばよい(S211,S212)。
ステップS210の比較結果は、全ての秘密分散装置の次の処理に必要な情報なので全ての秘密分散装置が知る情報である。しかし、ステップS101によって全ての秘密分散装置が初期の数値A,…,Aと対応できなくなった新しい数値A,…,Aに対して処理しているので、初期の数値A,…,Aに関する情報は漏れない。さらに、比較結果は、ソートの出力という公開情報から計算可能な情報でもある。そのため、本実施例のプロトコル全体で見ても、比較結果が開示されることは必要以上の情報を漏らしたことにはならない。
なお、より具体的には、ソートの部分(ステップS210,S220,S211,S212)には図4に示すクイックソートのアルゴリズムを適用すればよい。この場合もA[i]とA[j]とを比較する処理はA[i]とA[j]の値を秘匿したままで行い、比較結果は公開される。この方法の場合、比較回数は元のクイックソートと同じであり、平均O(N・logN)回である。また、この他にも、数値の大小比較の処理と配列の2つの要素を入れ替える処理で構成できるソーティングアルゴリズムにも本実施例は適用できる。
このように、本実施例の秘密分散システムを用いれば、比較と要素の入れ替えからなるソーティングアルゴリズムを比較回数を増やすことなく秘密計算で実現できる。
[限定シャッフルの変形例]
次に、Mを1に限定しない場合について説明する。Mは1以上の整数、mは1以上M以下の整数とする。A(1),…,A(M)はそれぞれK個の要素を持つベクトルであり、A(m)=(A (m),…,A (m))とする。また、ベクトルA(1),…,A(M)の各要素は対応付けられているとする。言い換えると、A (1),…,A (M)は対応付けられたk番目の数値群とする。本変形例では、対応つけられた数値群の対応を維持したまま数値群を限定シャッフルする。また、akn (m)を秘密分散装置100が記録する数値A (m)の断片とする。なお、上述の限定シャッフルはM=1の場合に相当するので、以下の説明はより一般的な限定シャッフルである。
秘密分散システムの構成は図1と同じであり、秘密分散の処理フローは図2と同じである。秘密分散装置100は、少なくとも断片置換部110と再分散部120と記録部190を備える。ただし、各構成部とその処理は以下のようになる。
記録部190は断片a1n (1),…,aKn (1),…,a1n (M),…,aKn (M)などを記録する。また、記録部190は、自身が記録している断片aknが数値Aの何番目の断片なのかに関する情報も記録する。
選択手段105は、N未満の数の秘密分散装置を選択する(S105)。例えば、N個の断片のうちN’個を集めれば数値を復元できる秘密分散であれば、断片置換手段がN’個以上N未満の秘密分散装置を選べばよい。この処理は同じである。
断片置換手段は、少なくとも断片置換部110,…,110を含んで構成される。そして、選択手段105に選択された秘密分散装置100(ただし、iは選択された秘密分散装置を示す番号)の断片置換部110間で{1,…,K}→{1,…,K}の全単射πを作成し、選択された秘密分散装置100の記録部190が記録する断片aπ(k)i (1),…,aπ(k)i (M)を対応付けられたk番目の数値群の断片にする(S110)。
再分散手段は、少なくとも再分散部120,…,120を含んで構成される。再分散手段は、断片置換手段によって置換された数値群Aπ(k) (1),…,Aπ(k) (M)に対応する断片aπ(k)i (1),…,aπ(k)i (M)(k番目に置換されている)を用いて再分散化して新しい断片bk1 (1),…,bkN (1),…,bk1 (M),…,bkN (M)を求め、数値B (1),…,B (M)の断片とする(S120)。つまり、Aπ(k) (m)=B (m)の関係が成り立つが、選ばれなかった秘密分散装置は全単射πを知らないので、Aπ(k) (m)=B (m)であることを知らない。なお、各秘密分散装置100の記録部190は、断片bkn (m)を記録するだけでなく、自身が記録しているk番目の断片である断片bkn (m)が数値B (m)の断片であるという情報も記録する。また、数値B (1),…,B (1),…,B (M),…,B (M)を新しい数値A (1),…,A (1),…,A (M),…,A (M)とし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。
このように、ベクトルの各要素の対応を維持した限定シャッフルを利用すれば、例えば、表形式をしたデータの秘密分散から、各行を1つの要素(対応付けられた数値群)として列方向のランダム置換を行うことができる。
[限定シャッフル]
実施例2の秘密分散システムの構成も図1に示す。なお、本実施例の秘密分散装置100は、点線で示された構成部も備えている。図5に実施例2の秘密分散システムでの秘密分散の処理フローを示す。本実施例の秘密分散システムは、ネットワーク1000に接続されたN個(Nは3以上の整数、nは1以上N以下の整数)の秘密分散装置100,…,100と選択手段105で構成される。ここで、A,…,Aを各秘密分散装置100が断片を分散して記録するK個の数値(Kは2以上の整数)、数値Aをk番目の数値(kは1以上K以下の整数)、aknを秘密分散装置100が記録する数値Aの断片とする。
本実施例の秘密分散システムは、選択手段105、初期情報分散手段、初期乗算手段、断片置換手段、再分散手段、確認分散手段、確認乗算手段、改ざん検出手段を備える。また、秘密分散装置100は、初期情報分散部130、初期乗算部140、断片置換部110、再分散部120、確認分散部150、確認乗算部160、改ざん検出部170、記録部190を備える。記録部190は断片a1n,…,aKnなどを記録する。また、記録部190は、自身が記録している断片aknが数値Aの何番目の断片なのかに関する情報も記録する。
選択手段105は実施例1と同じである。初期情報分散手段は、初期情報分散部130,…,130で構成される。そして、選択手段105に選択された秘密計算装置100の初期情報分散部130は、秘密分散装置100,…,100のどれも知らないK個の数値P,…,Pそれぞれの断片p11,…,pK1,…,p1n,…,pKn,…,p1N,…,pKNを秘密計算によって求め、秘密分散装置100に断片p1n,…,pKnを記録する(S130)。具体的には、選択手段105に選択された秘密分散装置から、2つ以上の秘密分散装置を選定する。そして、選定された秘密分散装置が作った値に基づいて、どの装置も知らない値の断片を作ればよい。例えば、2つの秘密分散装置100,100を選定し(ただし、i≠j)、秘密分散装置100が生成した数値の断片と、秘密分散装置100が生成した数値の断片を分散して記録する。そして、その2つの数値の和を秘密計算によって求め、結果が分からないように断片を分散して記録すれば、全ての秘密分散装置が知らない数値の断片を分散して記録できる。この例では、選定した秘密計算装置を2つとしたが、2つ以上でもかまわない。
初期乗算手段は、初期乗算部140,…,140で構成される。初期乗算部140,…,140は、S=P×Aである数値Sの断片sk1,…,skNを秘密計算によって求め、秘密分散装置100,…,100に分散して記録する(S140)。
断片置換手段と再分散手段は、実施例1と同じである。確認分散手段は、確認分散部150,…,150で構成される。確認分散部150,…,150は、k=1〜Kについて、Q=Pπ(k)である数値Qの断片qk1,…,qkNを秘密計算によって生成し、秘密分散装置100,…,100に分散して記録する(S150)。具体的には、ステップS130で選定された秘密分散装置が作った値に基づいて、どの装置も知らない値の別の断片を作ればよい。例えば、ステップS130で選定された秘密分散装置100が数値Pπ(k)用に生成した数値の別の断片(新しい断片)と、ステップS130で選定された秘密分散装置100が数値Pπ(k)用に生成した数値の別の断片(新しい断片)を分散して記録する。そして、その2つの数値の和を秘密計算によって求め、結果が分からないように断片を分散して記録すれば、Q=Pπ(k)であり、かつ、全ての秘密分散装置が知らない数値の断片を分散して記録できる。この例では、選定した秘密計算装置を2つとしたが、ステップS130と同じように2つ以上でもかまわない。
確認乗算手段は、確認乗算部160,…,160で構成される。確認乗算部160,…,160は、T=Q×Bである数値Tの断片tk1,…,tkNを秘密計算によって求め、秘密分散装置100,…,100に分散して記録する(S160)。
改ざん検出手段は、改ざん検出部170,…,170で構成される。改ざん検出部170,…,170は、k=1〜Kについて、T=Sπ(k)であることを確認する(S170)。tkn≠sπ(k)nの場合には、改ざんがあったとして異常終了する。また、数値B,…,Bを新しい数値A,…,Aとし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。
実施例2の秘密分散システムによれば、実施例1の秘密分散装置と同じ効果が得られると共に、数値A,…,Aと数値B,…,Bとの対応を分からなくする処理の途中に、他の秘密分散装置に改ざんした値を送信する不正がないことも確認できる。なお、ソートも行う場合は、秘密分散装置100は、比較部210と交換部220も備える。具体的なソートの処理については実施例1と同じである。
実施例1、2では、秘密分散装置の数をN(Nは3以上の整数)としていた。実施例3では、秘密分散システムを構成する秘密分散装置の数を3に限定し、より具体的に説明する。
[限定シャッフル]
図6に実施例3の秘密分散システムの機能構成例を示す。図7に実施例3の再分散部の詳細な構成の例を示す。図8に実施例3の秘密分散システムでの秘密分散の処理フローを示す。本実施例の秘密分散システムは、ネットワーク1000に接続された3つの秘密分散装置100α,100β,100γと選択手段105で構成される。ここで、K個の数値のk番目を数値A=akαβ+akβγ+akγα(ただし、Kは2以上の整数、kは1以上K以下の整数、(α,β,γ)は、(1,2,3)、(2,3,1)、(3,1,2)のいずれか)とし、その3つの断片を(akγα,akαβ)、(akαβ,akβγ)、(akβγ,akγα)とする。なお、選択手段105は、いずれかの秘密分散装置の内部に配置されてもよいし、単独の装置であってもよい。
本実施例の秘密分散システムは、選択手段105と断片置換手段と再分散手段を備える。各秘密分散装置100は、断片置換部110、再分散部120、記録部190を備えている(ただし、nはα、β、γのいずれか)。記録部190は、数値A,…,Aの断片などを記録する。
選択手段105は、2つの秘密分散装置を選択する。そして、選択手段105に選択された秘密分散装置の一方を第1の秘密分散装置100、他方を第2の秘密分散装置100、選択されなかった秘密分散装置を第3の秘密分散装置100とする(S105)。ここで、第1の秘密分散装置100が記録するk番目の断片をak1=(ak31,ak12)、第2の秘密分散装置100が記録するk番目の断片をak2=(ak12,ak23)、第3の秘密分散装置100が記録するk番目の断片をak3=(ak23,ak31)とする。
断片置換手段は、少なくとも断片置換部110α,110β,110γを含んで構成される。断片置換手段は、第1の秘密分散装置100または第2の秘密分散装置100で{1,…,K}→{1,…,K}の全単射πを作成し、第1の秘密分散装置100が記録する断片aπ(k)1をk番目の断片にし、第2の秘密分散装置100が記録する断片aπ(k)2をk番目の断片にする(S110)。実施例1で説明した通り、全単射πは、1〜Kを単にランダムに並べ替えたものであってもよい。なお、全単射πは、望ましくは一様にランダムに並び替えられたものであり、例えばFisher-Yates shuffleなどを用いて作成すればよい。
再分散手段は、少なくとも再分散部120α,120β,120γを含んで構成される。図7に示すように再分散部120は、第1乱数生成部121、第2乱数生成部122、第1計算部123、第2計算部124、第3計算部125、断片更新部126を備えている。
第1の秘密分散装置100の第1乱数生成部121は、k番目の断片の再分散化のために、ランダムな値であるbk31を生成し、第3の秘密分散装置100に送信する(S121)。第2の秘密分散装置100の第2乱数生成部122は、k番目の断片の再分散化のために、ランダムな値であるbk23を生成し、第3の秘密分散装置100に送信する(S122)。第1の秘密分散装置100の第1計算部123は、k番目の断片の再分散化のために、x=bk31−aπ(k)31を計算し、第2の秘密分散装置100に送信する(S123)。
第2の秘密分散装置100の第2計算部124は、k番目の断片の再分散化のために、y=bk23−aπ(k)23を計算し、第1の秘密分散装置100に送信する(S124)。第1の秘密分散装置100の第3計算部125と第2の秘密分散装置100の第3計算部125は、k番目の断片の再分散化のために、それぞれbk12=aπ(k)12−x−yを計算する(S125)。第1の秘密分散装置100の断片更新部126は(bk31,bk12)を断片bk1とし、第2の秘密分散装置100の断片更新部126は(bk12,bk23)を断片bk2とし、第3の秘密分散装置100の断片更新部126は(bk23,bk31)を断片bk3とする(S126)。なお、各秘密分散装置100の記録部190は、断片bknを記録するだけでなく、自身が記録しているk番目の断片である断片bknが数値Bの断片であるという情報も記録する。実施例1と同じように、断片bk1,bk2,bk3は、数値Bの断片である。つまり、ステップS121〜S126が、ステップS120に相当する。
また、数値B,…,Bを新しい数値A,…,Aとし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。そして、断片置換部が選ぶ秘密分散装置を変更しながらこの処理を繰り返し、全ての秘密分散装置が選ばれなかったことがある状態にすれば、全ての秘密分散装置が数値A,…,Aと対応つけることができない数値B,…,Bを得ることができる。本実施例では、断片置換手段が選択する秘密分散装置を、{100α,100β},{100β,100γ},{100γ,100α}のように選択すれば、全ての秘密分散装置が選ばれなかったことがある状態にできる。
したがって、実施例3の秘密分散システムは、実施例1と同様の効果が得られる。なお、ソートも行う場合は、秘密分散装置100は、比較部210と交換部220も備える。具体的なソートの処理については実施例1と同じである。
[限定シャッフルの変形例]
Mは1以上の整数、mは1以上M以下の整数とする。A(1),…,A(M)はそれぞれK個の要素を持つベクトルであり、A(m)=(A (m),…,A (m))とする。また、ベクトルA(1),…,A(M)の各要素は対応付けられているとする。言い換えると、A (1),…,A (M)は対応付けられたk番目の数値群である。本変形例では、対応つけられた数値群の対応を維持したまま数値群を限定シャッフルする。また、数値A (m)=akαβ (m)+akβγ (m)+akγα (m)(ただし、kは1以上K以下の整数、mは1以上M以下の整数、(α,β,γ)は、(1,2,3)、(2,3,1)、(3,1,2)のいずれか)とし、の3つの断片を(akγα (m),akαβ (m))、(akαβ (m),akβγ (m))、(akβγ (m),akγα (m))とする。なお、上述の限定シャッフルはM=1の場合に相当するので、以下の説明はより一般的な限定シャッフルである。
秘密分散システムの機能構成例は図6と同じであり、再分散部の詳細な構成例は図7と同じであり、秘密分散の処理フローは図8と同じである。秘密分散システムは、選択手段105と断片置換手段と再分散手段を備える。秘密分散装置100は、少なくとも断片置換部110と再分散部120と記録部190を備える(ただし、nはα、β、γのいずれか)。ただし、各構成部とその処理は以下のようになる。
記録部190は断片a1n (1),…,aKn (1),…,a1n (M),…,aKn (M)などを記録する。また、記録部190は、自身が記録している断片aknが数値Aの何番目の断片なのかに関する情報も記録する。
選択手段105は、2つの秘密分散装置を選択する。そして、選択手段105に選択された秘密分散装置の一方を第1の秘密分散装置100、他方を第2の秘密分散装置100、選択されなかった秘密分散装置を第3の秘密分散装置100とする(S105)。ここで、第1の秘密分散装置100が記録する数値A (m)の断片をak1 (m)=(ak31 (m),ak12 (m))、第2の秘密分散装置100が記録する数値A (m)の断片をak2 (m)=(ak12 (m),ak23 (m))、第3の秘密分散装置100が記録する数値A (m)の断片をak3 (m)=(ak23 (m),ak31 (m))とする。
断片置換手段は、少なくとも断片置換部110α,110β,110γを含んで構成される。断片置換手段は、第1の秘密分散装置100または第2の秘密分散装置100で{1,…,K}→{1,…,K}の全単射πを作成し、第1の秘密分散装置100が記録する断片aπ(k)1 (1),…,aπ(k)1 (M)を対応付けられたk番目の数値群の断片にし、第2の秘密分散装置100が記録する断片aπ(k)2 (1),…,aπ(k)2 (M)を対応付けられたk番目の数値群の断片にする(S110)。
再分散手段は、少なくとも再分散部120α,120β,120γを含んで構成される。図7に示すように再分散部120は、第1乱数生成部121、第2乱数生成部122、第1計算部123、第2計算部124、第3計算部125、断片更新部126を備えている。
第1の秘密分散装置100の第1乱数生成部121は、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk31 (1),…,bk31 (M)を生成し、第3の秘密分散装置100に送信する(S121)。第2の秘密分散装置100の第2乱数生成部122は、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk23 (1),…,bk23 (M)を生成し、第3の秘密分散装置100に送信する(S122)。第1の秘密分散装置100の第1計算部123は、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてx (m)=bk31 (m)−aπ(k)31 (m)を計算し、x (1),…,x (M)を第2の秘密分散装置100に送信する(S123)。
第2の秘密分散装置100の第2計算部124は、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてy (m)=bk23 (m)−aπ(k)23 (m)を計算し、y (1),…,y (M)を第1の秘密分散装置100に送信する(S124)。第1の秘密分散装置100の第3計算部125と第2の秘密分散装置100の第3計算部125は、対応付けられたk番目の数値群の断片の再分散化のために、それぞれm=1〜Mについてbk12 (m)=aπ(k)12 (m)−x (m)−y (m)を計算する(S125)。第1の秘密分散装置100の断片更新部126は(bk31 (m),bk12 (m))を断片bk1 (m)とし、第2の秘密分散装置100の断片更新部126は(bk12 (m),bk23 (m))を断片bk2 (m)とし、第3の秘密分散装置100の断片更新部126は(bk23 (m),bk31 (m))を断片bk3 (m)とする(S126)。なお、各秘密分散装置100の記録部190は、断片bkn (m)を記録するだけでなく、自身が記録しているk番目の断片である断片bkn (m)が数値B (m)の断片であるという情報も記録する。実施例1と同じように、断片bk1 (m),bk2 (m),bk3 (m)は、数値B (m)の断片である。つまり、ステップS121〜S126が、ステップS120に相当する。
また、数値B (1),…,B (1),…,B (M),…,B (M)を新しい数値A (1),…,A (1),…,A (M),…,A (M)とし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。
このように、ベクトルの各要素の対応を維持した限定シャッフルを利用すれば、例えば、表形式をしたデータの秘密分散から、各行を1つの要素(対応付けられた数値群)として列方向のランダム置換を行うことができる。
実施例4でも、秘密分散システムを構成する秘密分散装置の数を3に限定し、より具体的に説明する。また、実施例4では、実施例2と同じように不正検出機能を具備した例を説明する。
[限定シャッフル]
実施例4の秘密分散システムの構成も図6に示す。なお、本実施例の秘密分散装置100は、点線で示された構成部も備えている。図9に改ざん検出部の詳細な構造を示す。図10に実施例4の秘密分散システムでの秘密分散の処理フローを示す。本実施例の秘密分散システムは、ネットワーク1000に接続された3つの秘密分散装置100α,100β,100γと選択手段105で構成される。ここで、K個の数値のk番目を数値A=akαβ+akβγ+akγα(ただし、Kは2以上の整数、kは1以上K以下の整数、(α,β,γ)は、(1,2,3)、(2,3,1)、(3,1,2)のいずれか)とし、その3つの断片を(akγα,akαβ)、(akαβ,akβγ)、(akβγ,akγα)とする。
本実施例の秘密分散システムは、選択手段105、初期情報分散手段、初期乗算手段、断片置換手段、再分散手段、確認分散手段、確認乗算手段、改ざん検出手段を備える。秘密分散装置100は、初期情報分散部130、初期乗算部140、断片置換部110、再分散部120、確認分散部150、確認乗算部160、改ざん検出部170、記録部190を備える(ただし、nはα、β、γのいずれか)。記録部190は、数値A,…,Aの断片などを記録する。
選択手段105は、2つの秘密分散装置を選択する。そして、選択手段105に選択された秘密分散装置の一方を第1の秘密分散装置100、他方を第2の秘密分散装置100、選択されなかった秘密分散装置を第3の秘密分散装置100とする(S105)。ここで、第1の秘密分散装置100が記録するk番目の断片をak1=(ak31,ak12)、第2の秘密分散装置100が記録するk番目の断片をak2=(ak12,ak23)、第3の秘密分散装置100が記録するk番目の断片をak3=(ak23,ak31)とする。
初期情報分散手段は、初期情報分散部130α,130β,130γで構成される。初期情報分散部130α,130β,130γは、秘密分散装置100α,100β,100γのどれも知らないK個の数値P,…,Pそれぞれの断片pknを秘密計算によって求め、秘密分散装置100に記録する(S130)。例えば、第1の秘密分散装置100でK個のランダムな値R(1) ,…,R(1) を生成し、第2の秘密分散装置100でK個のランダムな値R(2) ,…,R(2) を生成する。そして、秘密分散装置100,100,100で、R(1) の断片(r(1) k31,r(1) k12)、(r(1) k12,r(1) k23)、(r(1) k23,r(1) k31)と、R(2) の断片(r(2) k31,r(2) k12)、(r(2) k12,r(2) k23)、(r(2) k23,r(2) k31)とを秘密分散して記録する。その後、秘密分散装置100,100,100で、P=R(1) +R(2) である数値Pの断片(pk31,pk12)、(pk12,pk23)、(pk23,pk31)を秘密計算によって求め、秘密分散装置100,100,100に分散して記録する。このような処理によって、全ての秘密分散装置100α,100β,100γが知らない数値の断片を分散して記録できる。
初期乗算手段は、初期乗算部140α,140β,140γで構成される。初期乗算部140α,140β,140γは、S=P×Aである数値Sの断片(skγα,skαβ)、(skαβ,skβγ)、(skβγ,skγα)を秘密計算によって求め、秘密分散装置100α,100β,100γに分散して記録する(S140)。
断片置換手段と再分散手段は、実施例3と同じである。断片置換手段と再分散手段によって、秘密分散装置100α,100β,100γに数値Bの断片として断片bk1、bk2、bk3が記録される。確認分散手段は、確認分散部150α,150β,150γで構成される。確認分散部150α,150β,150γは、k=1〜Kについて、Q=Pπ(k)である数値Qの断片(qkγα,qkαβ)、(qkαβ,qkβγ)、(qkβγ,qkγα)を秘密計算によって生成し、秘密分散装置100α,100β,100γに分散して記録する(S150)。例えば、ステップS130で第1の秘密分散装置100が生成した数値R(1) π(k)の別の断片(r’(1) π(k)31,r’(1) π(k)12)、(r’(1) π(k)12,r’(1) π(k)23)、(r’(1) π(k)23,r’(1) π(k)31)と、第2の秘密分散装置100が生成した数値R(2) π(k)の別の断片(r’(2) π(k)31,r’(2) π(k)12)、(r’(2) π(k)12,r’(2) π(k)23)、(r’(2) π(k)23,r’(2) π(k)31)とを秘密分散して記録する。その後、秘密分散装置100,100,100で、Q=R(1) π(k)+R(2) π(k)である数値Qの断片(qk31,qk12)、(qk12,qk23)、(qk23,qk31)を別の断片を用いて秘密計算によって求め、秘密分散装置100,100,100に分散して記録する。このような処理によって、Q=Pπ(k)であり、かつ、全ての秘密分散装置100α,100β,100γが知らない数値の断片を分散して記録できる。
確認乗算手段は、確認乗算部160α,160β,160γで構成される。確認乗算部160α,160β,160γは、T=Q×Bである数値Tの断片(tkγα,tkαβ)、(tkαβ,tkβγ)、(tkβγ,tkγα)を秘密計算によって求め、秘密分散装置100α,100β,100γに分散して記録する(S160)。
改ざん検出手段は、改ざん検出部170α,170β,170γで構成される。また、図9に示すように、改ざん検出部170は、第3乱数生成部171、第4乱数生成部172、第4計算部173、第5計算部174、第1確認部175、第6計算部176、第7計算部177、第2確認部178を備える。改ざん検出手段は、秘密分散装置100α,100β,100γが第1の秘密分散装置100、第2の秘密分散装置100、第3の秘密分散装置100のいずれの装置として動作するかにしたがって、以下のように処理を行う。
第1の秘密分散装置100の第3乱数生成部171は、ランダムな値であるuを生成し、第2の秘密分散装置100に送信する(S171)。第2の秘密分散装置100の第4乱数生成部172は、ランダムな値であるvを生成し、第1の秘密分散装置100に送信する(S172)。第1の秘密分散装置100の第4計算部173は、d=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置100に送信する(S173)。
第2の秘密分散装置100の第5計算部174は、e=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置100に送信する(S174)。第3の秘密分散装置100の第1確認部175は、d=eであることを確認し、異なっていれば処理を中止する(S175)。
第1の秘密分散装置100の第6計算部176は、f=sπ(k)31−tk31+uを計算し、第3の秘密分散装置100に送信する(S176)。第2の秘密分散装置100の第7計算部177は、g=sπ(k)23−tk23+vを計算し、第3の秘密分散装置100に送信する(S177)。第3の秘密分散装置100の第2確認部178は、f+g+d=0であることを確認し、異なっていれば処理を中止する(S178)。また、数値B,…,Bを新しい数値A,…,Aとし、断片置換手段で選択する秘密分散装置の組み合わせを変更すれば、この処理を繰り返すことができる(S111,S112)。
実施例4の秘密分散システムによれば、実施例3の秘密分散装置と同じ効果が得られると共に、数値A,…,Aと数値B,…,Bとの対応を分からなくする処理の途中に、他の秘密分散装置に改ざんした値を送信する不正がないことも確認できる。なお、ソートも行う場合は、秘密分散装置100は、比較部210と交換部220も備える。具体的なソートの処理については実施例1と同じである。
[秘密計算]
上述の説明では、秘密計算については1つの方法に限定しないことを前提としており、具体例は示さなかった。以下では、実施例3、4の秘密分散システムの各構成部が利用できる基本的な秘密計算の具体例を示す。なお、以下の説明では、秘密分散装置100α,100β,100γが分散して記録する数値Aの断片を(aγα,aαβ)、(aαβ,aβγ)、(aβγ,aγα)、数値Bの断片を(bγα,bαβ)、(bαβ,bβγ)、(bβγ,bγα)、数値Cの断片を(cγα,cαβ)、(cαβ,cβγ)、(cβγ,cγα)とする。
数値Aの秘密分散
(1)乱数aαβ,aβγを生成する。
(2)aγα=A−aαβ−aβγを計算し、断片を(aγα,aαβ)、(aαβ,aβγ)、(aβγ,aγα)とし、秘密分散装置100α,100β,100γに分散して記録する。
数値Aの復元
(1)秘密分散装置100αは秘密分散装置100βにaγαを送信し、秘密分散装置100γにaαβを送信する。秘密分散装置100βは秘密分散装置100γにaαβを送信し、秘密分散装置100αにaβγを送信する。秘密分散装置100γは秘密分散装置100αにaβγを送信し、秘密分散装置100βにaγαを送信する。
(2)秘密分散装置100αは秘密分散装置100βから受信したaβγと秘密分散装置100γから受信したaβγとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。秘密分散装置100βは秘密分散装置100γから受信したaγαと秘密分散装置100αから受信したaγαとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。秘密分散装置100γは秘密分散装置100αから受信したaαβと秘密分散装置100βから受信したaαβとが一致していれば、aαβ+aβγ+aγαを計算して数値Aを復元する。
C=A+Bの秘密計算
(1)秘密分散装置100αは(cγα,cαβ)=(aγα+bγα,aαβ+bαβ)を計算して記録し、秘密分散装置100βは(cαβ,cβγ)=(aαβ+bαβ,aβγ+bβγ)を計算して記録し、秘密分散装置100γは(cβγ,cγα)=(aβγ+bβγ,aγα+bγα)を計算して記録する。
C=A−Bの秘密計算
(1)秘密分散装置100αは(cγα,cαβ)=(aγα−bγα,aαβ−bαβ)を計算して記録し、秘密分散装置100βは(cαβ,cβγ)=(aαβ−bαβ,aβγ−bβγ)を計算して記録し、秘密分散装置100γは(cβγ,cγα)=(aβγ−bβγ,aγα−bγα)を計算して記録する。
C=A+Sの秘密計算(ただし、Sは既知の定数)
(1)秘密分散装置100αは(cγα,cαβ)=(aγα+S,aαβ)を計算して記録し、秘密分散装置100γは(cβγ,cγα)=(aβγ,aγα+S)を計算して記録する。秘密分散装置100βの処理はない。
C=ASの秘密計算(ただし、Sは既知の定数)
(1)秘密分散装置100αは(cγα,cαβ)=(aγαS,aαβS)を計算して記録し、秘密分散装置100βは(cαβ,cβγ)=(aαβS,aβγS)を計算して記録し、秘密分散装置100γは(cβγ,cγα)=(aβγS,aγαS)を計算して記録する。
C=ABの秘密計算
(1)秘密分散装置100αは、乱数r,r,cγαを生成し、cαβ=(aγα+aαβ)(bγα+bαβ)−r−r−cγαを計算する。そして、秘密分散装置100αは、秘密分散装置100βに(r,cαβ)を、秘密分散装置100γに(r,cγα)を送信する。
(2)秘密分散装置100βは、y=aαββγ+aβγαβ+rを計算し、秘密分散装置100γに送信する。
(3)秘密分散装置100γは、z=aβγγα+aγαβγ+rを計算し、秘密分散装置100αに送信する。
(4)秘密分散装置100βと秘密分散装置100γは、それぞれcβγ=y+z+aβγβγを計算する。
(5)秘密分散装置100αは(cγα,cαβ)を記録し、秘密分散装置100βは(cαβ,cβγ)を記録し、秘密分散装置100γは(cβγ,cγα)を記録する。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (14)

  1. N個の秘密分散装置で構成された秘密分散システムであって、
    Nを3以上の整数、nを1以上N以下の整数、Mを1以上の整数、mを1以上M以下の整数、Kを2以上の整数、kを1以上K以下の整数、数値A (1),…,A (1),…,A (M),…,A (M)を各秘密分散装置が断片を分散して記録するK×M個の数値、数値A (1),…,A (M)を対応付けられたk番目の数値群、akn (m)をn番目の秘密分散装置が記録する数値A (m)の断片、iをN個の秘密分散装置の中から選択された秘密分散装置を示すための1以上N以下の中の一部の整数とし、
    2以上N未満の数の秘密分散装置を選択する選択手段と、
    前記選択手段で選択された秘密分散装置の間で{1,…,K}→{1,…,K}の全単射πを作成し、選択されたi番目の秘密分散装置が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)i (1),…,aπ(k)i (M)をそれぞれ対応付けられたk番目の数値群の断片にする断片置換手段と、
    前記断片置換手段によって置換された数値Aπ(k) (1),…,Aπ(k) (M)に対応する断片aπ(k)i (1),…,aπ(k)i (M)を用いて再分散化して新しい断片bk1 (1),…,bkN (1),…,bk1 (M),…,bkN (M)を求め、数値B (1),…,B (M)の断片とする再分散手段と、
    を備える秘密分散システム。
  2. 請求項1記載の秘密分散システムであって、
    M=1である秘密分散システム。
  3. 請求項2記載の秘密分散システムであって、
    N個の秘密分散装置のどれも知らないK個の数値P,…,Pそれぞれの断片を秘密計算によって求め、n番目の秘密分散装置に断片p1n,…,pKnを記録する初期情報分散手段と、
    N個の秘密分散装置で、S=P×A (1)である数値Sの断片sk1,…,skNを秘密計算によって求め、N個の秘密分散装置に分散して記録する初期乗算手段と、
    k=1〜Kについて、Q=Pπ(k)である数値Qの断片qk1,…,qkNを秘密計算によって生成し、N個の秘密分散装置に分散して記録する確認分散手段と、
    N個の秘密分散装置で、T=Q×B (1)である数値Tの断片tk1,…,tkNを秘密計算によって求め、N個の秘密分散装置に分散して記録する確認乗算手段と、
    k=1〜Kについて、T=Sπ(k)であることを確認する改ざん検出手段、
    も備える秘密分散システム。
  4. 請求項1記載の秘密分散システムであって、
    N=3、(α,β,γ)を(1,2,3)と(2,3,1)と(3,1,2)のいずれかの組み合わせ、数値A (m)=akαβ (m)+akβγ (m)+akγα (m)の3つの断片を(akγα (m),akαβ (m))と(akαβ (m),akβγ (m))と(akβγ (m),akγα (m))、前記の3つの断片は3つの秘密分散装置に分散して記録されているとし、
    前記選択手段は、2つの秘密分散装置を選択し、選択された秘密分散装置の一方を第1の秘密分散装置、他方を第2の秘密分散装置、選択されなかった秘密分散装置を第3の秘密分散装置とし、
    前記断片置換手段は、第1の秘密分散装置が記録する数値A (m)の断片をak1 (m)=(ak31 (m),ak12 (m))、第2の秘密分散装置が記録する数値A (m)の断片をak2 (m)=(ak12 (m),ak23 (m))、第3の秘密分散装置が記録する数値A (m)の断片をak3 (m)=(ak23 (m),ak31 (m))とし、第1の秘密分散装置または第2の秘密分散装置で{1,…,K}→{1,…,K}の全単射πを作成し、第1の秘密分散装置が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)1 (1),…,aπ(k)1 (M)を対応付けられたk番目の数値群の断片にし、第2の秘密分散装置が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)2 (1),…,aπ(k)2 (M)を対応付けられたk番目の数値群の断片にし、
    前記再分散手段として、各秘密分散装置が、
    第1の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk31 (1),…,bk31 (M)を生成し、第3の秘密分散装置に送信する第1乱数生成部と、
    第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk23 (1),…,bk23 (M)を生成し、第3の秘密分散装置に送信する第2乱数生成部と、
    第1の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてx (m)=bk31 (m)−aπ(k)31 (m)を計算し、x (1),…,x (M)を第2の秘密分散装置に送信する第1計算部と、
    第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてy (m)=bk23 (m)−aπ(k)23 (m)を計算し、y (1),…,y (M)を第1の秘密分散装置に送信する第2計算部と、
    第1の秘密分散装置または第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてbk12 (m)=aπ(k)12 (m)−x (m)−y (m)を計算する第3計算部と、
    第1の秘密分散装置のときには(bk31 (m),bk12 (m))を断片bk1 (m)とし、第2の秘密分散装置のときには(bk12 (m),bk23 (m))を断片bk2 (m)とし、第3の秘密分散装置のときには(bk23 (m),bk31 (m))を断片bk3 (m)とする断片更新部と、
    を備え、断片bk1 (m)、bk2 (m)、bk3 (m)を数値B (m)の断片として記録する
    秘密分散システム。
  5. 請求項4記載の秘密分散システムであって、
    M=1である秘密分散システム。
  6. 請求項5記載の秘密分散システムであって、
    第1の秘密分散装置でK個のランダムな値R(1) ,…,R(1) を生成し、第2の秘密分散装置でK個のランダムな値R(2) ,…,R(2) を生成し、前記3つの秘密分散装置で、R(1) の断片(r(1) k31,r(1) k12)、(r(1) k12,r(1) k23)、(r(1) k23,r(1) k31)と、R(2) の断片(r(2) k31,r(2) k12)、(r(2) k12,r(2) k23)、(r(2) k23,r(2) k31)とを秘密分散して記録し、前記3つの秘密分散装置で、P=R(1) +R(2) である数値Pの断片(pk31,pk12)、(pk12,pk23)、(pk23,pk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する初期情報分散手段と、
    前記3つの秘密分散装置で、S=P×A (1)である数値Sの断片(sk31,sk12)、(sk12,sk23)、(sk23,sk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する初期乗算手段と、
    前記の数値R(1) π(k)の別の断片(r’(1) π(k)31,r’(1) π(k)12)、(r’(1) π(k)12,r’(1) π(k)23)、(r’(1) π(k)23,r’(1) π(k)31)と、前記の数値R(2) π(k)の別の断片(r’(2) π(k)31,r’(2) π(k)12)、(r’(2) π(k)12,r’(2) π(k)23)、(r’(2) π(k)23,r’(2) π(k)31)とを前記3つの秘密分散装置に分散して記録し、前記3つの秘密分散装置で、Q=R(1) π(k)+R(2) π(k)である数値Qの断片(qk31,qk12)、(qk12,qk23)、(qk23,qk31)を当該別の断片を用いて秘密計算によって求め、前記3つの秘密分散装置に分散して記録する確認分散手段と、
    前記3つの秘密分散装置で、T=Q×B (1)である数値Tの断片(tk31,tk12)、(tk12,tk23)、(tk23,tk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する確認乗算手段と、
    第1の秘密分散装置が記録する断片をsk1=(sk31,sk12)、tk1=(tk31,tk12)とし、第2の秘密分散装置が記録する断片をsk2=(sk12,sk23)、tk2=(tk12,tk23)とし、第3の秘密分散装置が記録する断片をsk3=(sk23,sk31)、tk3=(tk23,tk31)とし、
    各秘密分散装置が、
    第1の秘密分散装置のときに、ランダムな値であるuを生成し、第2の秘密分散装置に送信する第3乱数生成部と、
    第2の秘密分散装置のときに、ランダムな値であるvを生成し、第1の秘密分散装置に送信する第4乱数生成部と、
    第1の秘密分散装置のときに、d=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置に送信する第4計算部と、
    第2の秘密分散装置のときに、e=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置に送信する第5計算部と、
    第3の秘密分散装置のときに、d=eであることを確認し、異なっていれば処理を中止する第1確認部と、
    第1の秘密分散装置のときに、f=sπ(k)31−tk31+uを計算し、第3の秘密分散装置に送信する第6計算部と、
    第2の秘密分散装置のときに、g=sπ(k)23−tk23+vを計算し、第3の秘密分散装置に送信する第7計算部と、
    第3の秘密分散装置のときに、f+g+d=0であることを確認し、異なっていれば処理を中止する第2確認部と、
    を備える
    秘密分散システム。
  7. 請求項4記載の秘密分散システムの中の秘密分散装置であって、
    第1の秘密分散装置として選ばれたときには記録する数値A (m)の断片をak1 (m)=(ak31 (m),ak12 (m))、第2の秘密分散装置として選ばれたときには記録する数値A (m)の断片をak2 (m)=(ak12 (m),ak23 (m))、第3の秘密分散装置として選ばれたときには記録する数値A (m)の断片をak3 (m)=(ak23 (m),ak31 (m))とし、
    第1の秘密分散装置または第2の秘密分散装置として選ばれたときは、{1,…,K}→{1,…,K}の全単射πを作成し、対応付けられたπ(k)番目の数値群の断片を対応付けられたk番目の数値群の断片にする断片置換部と、
    第1の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk31 (1),…,bk31 (M)を生成し、第3の秘密分散装置に送信する第1乱数生成部と、
    第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk23 (1),…,bk23 (M)を生成し、第3の秘密分散装置に送信する第2乱数生成部と、
    第1の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてx (m)=bk31 (m)−aπ(k)31 (m)を計算し、x (1),…,x (M)を第2の秘密分散装置に送信する第1計算部と、
    第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてy (m)=bk23 (m)−aπ(k)23 (m)を計算し、y (1),…,y (M)を第1の秘密分散装置に送信する第2計算部と、
    第1の秘密分散装置または第2の秘密分散装置のときには、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてbk12 (m)=aπ(k)12 (m)−x (m)−y (m)を計算する第3計算部と、
    第1の秘密分散装置のときには(bk31 (m),bk12 (m))を断片bk1 (m)とし、第2の秘密分散装置のときには(bk12 (m),bk23 (m))を断片bk2 (m)とし、第3の秘密分散装置のときには(bk23 (m),bk31 (m))を断片bk3 (m)とする断片更新部と、
    を備える秘密分散装置。
  8. 請求項7記載の秘密分散装置であって、
    M=1である秘密分散装置。
  9. Kを2以上の整数、kを1以上K以下の整数、Mを1以上の整数、mを1以上M以下の整数、A (1),…,A (1),…,A (M),…,A (M)をK×M個の数値、(α,β,γ)を(1,2,3)と(2,3,1)と(3,1,2)のいずれかの組み合わせ、数値A (m)=akαβ (m)+akβγ (m)+akγα (m)の3つの断片を(akγα (m),akαβ (m))と(akαβ (m),akβγ (m))と(akβγ (m),akγα (m))、対応付けられたk番目の数値群をA (1),…,A (M)とし、前記断片を分散して記録する3つの秘密分散装置を用いた秘密分散方法であって、
    2つの秘密分散装置を選択し、選択された秘密分散装置の一方を第1の秘密分散装置、他方を第2の秘密分散装置、選択されなかった秘密分散装置を第3の秘密分散装置する選択ステップと、
    第1の秘密分散装置が記録する数値A (m)の断片をak1 (m)=(ak31 (m),ak12 (m))、第2の秘密分散装置が記録する数値A (m)の断片をak2 (m)=(ak12 (m),ak23 (m))、第3の秘密分散装置が記録する数値A (m)の断片をak3 (m)=(ak23 (m),ak31 (m))とし、第1の秘密分散装置または第2の秘密分散装置で{1,…,K}→{1,…,K}の全単射πを作成し、第1の秘密分散装置が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)1 (1),…,aπ(k)1 (M)を対応付けられたk番目の数値群の断片にし、第2の秘密分散装置が記録する対応付けられたπ(k)番目の数値群の断片aπ(k)2 (1),…,aπ(k)2 (M)を対応付けられたk番目の数値群の断片にする断片置換ステップと、
    第1の秘密分散装置が、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk31 (1),…,bk31 (M)を生成し、第3の秘密分散装置に送信する第1乱数生成ステップと、
    第2の秘密分散装置が、対応付けられたk番目の数値群の断片の再分散化のために、ランダムな値であるbk23 (1),…,bk23 (M)を生成し、第3の秘密分散装置に送信する第2乱数生成ステップと、
    第1の秘密分散装置が、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてx (m)=bk31 (m)−aπ(k)31 (m)を計算し、x (1),…,x (M)を第2の秘密分散装置に送信する第1計算ステップと、
    第2の秘密分散装置が、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてy (m)=bk23 (m)−aπ(k)23 (m)を計算し、y (1),…,y (M)を第1の秘密分散装置に送信する第2計算ステップと、
    第1の秘密分散装置と第2の秘密分散装置が、対応付けられたk番目の数値群の断片の再分散化のために、m=1〜Mについてbk12 (m)=aπ(k)12 (m)−x (m)−y (m)を計算する第3計算ステップと、
    第1の秘密分散装置が(bk31 (m),bk12 (m))を断片bk1 (m)とし、第2の秘密分散装置が(bk12 (m),bk23 (m))を断片bk2 (m)とし、第3の秘密分散装置が(bk23 (m),bk31 (m))を断片bk3 (m)とする断片更新ステップと、
    を有する秘密分散方法。
  10. 請求項9記載の秘密分散方法であって、
    M=1である秘密分散方法。
  11. 請求項10記載の秘密分散方法であって、
    第1の秘密分散装置がK個のランダムな値R(1) ,…,R(1) を生成し、第2の秘密分散装置がK個のランダムな値R(2) ,…,R(2) を生成し、前記3つの秘密分散装置がR(1) の断片(r(1) k31,r(1) k12)、(r(1) k12,r(1) k23)、(r(1) k23,r(1) k31)とR(2) の断片(r(2) k31,r(2) k12)、(r(2) k12,r(2) k23)、(r(2) k23,r(2) k31)とを秘密分散して記録し、前記3つの秘密分散装置がP=R(1) +R(2) である数値Pの断片(pk31,pk12)、(pk12,pk23)、(pk23,pk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する初期情報分散ステップと、
    前記3つの秘密分散装置が、S=P×A (1)である数値Sの断片(sk31,sk12)、(sk12,sk23)、(sk23,sk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する初期乗算ステップと、
    前記3つの秘密分散装置が、請求項10記載の秘密分散システムによって得られた断片bk1、bk2、bk3を数値B (1)の断片として記録する秘密分散更新ステップと、
    前記の数値R(1) π(k)の別の断片(r’(1) π(k)31,r’(1) π(k)12)、(r’(1) π(k)12,r’(1) π(k)23)、(r’(1) π(k)23,r’(1) π(k)31)と、前記の数値R(2) π(k)の別の断片(r’(2) π(k)31,r’(2) π(k)12)、(r’(2) π(k)12,r’(2) π(k)23)、(r’(2) π(k)23,r’(2) π(k)31)とを前記3つの秘密分散装置に分散して記録し、前記3つの秘密分散装置で、Q=R(1) π(k)+R(2) π(k)である数値Qの断片(qk31,qk12)、(qk12,qk23)、(qk23,qk31)を当該別の断片を用いて秘密計算によって求め、前記3つの秘密分散装置に分散して記録する確認分散ステップと、
    前記3つの秘密分散装置が、T=Q×B (1)である数値Tの断片(tk31,tk12)、(tk12,tk23)、(tk23,tk31)を秘密計算によって求め、前記3つの秘密分散装置に分散して記録する確認乗算ステップと、
    第1の秘密分散装置が記録する断片をsk1=(sk31,sk12)、tk1=(tk31,tk12)とし、第2の秘密分散装置が記録する断片をsk2=(sk12,sk23)、tk2=(tk12,tk23)とし、第3の秘密分散装置が記録する断片をsk3=(sk23,sk31)、tk3=(tk23,tk31)とし、
    第1の秘密分散装置が、ランダムな値であるuを生成し、第2の秘密分散装置に送信する第3乱数生成ステップと、
    第2の秘密分散装置が、ランダムな値であるvを生成し、第1の秘密分散装置に送信する第4乱数生成ステップと、
    第1の秘密分散装置が、d=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置に送信する第4計算ステップと、
    第2の秘密分散装置が、e=sπ(k)12−tk12−u−vを計算し、第3の秘密分散装置に送信する第5計算ステップと、
    第3の秘密分散装置が、d=eであることを確認し、異なっていれば処理を中止する第1確認ステップと、
    第1の秘密分散装置が、f=sπ(k)31−tk31+uを計算し、第3の秘密分散装置に送信する第6計算ステップと、
    第2の秘密分散装置が、g=sπ(k)23−tk23+vを計算し、第3の秘密分散装置に送信する第7計算ステップと、
    第3の秘密分散装置が、f+g+d=0であることを確認し、異なっていれば処理を中止する第2確認ステップと、
    を有する秘密分散方法。
  12. 請求項9から11のいずれかに記載の秘密分散方法であって、
    前記断片更新ステップで得られた断片bk1 (m)、bk2 (m)、bk3 (m)を新しい断片ak1 (m)、ak2 (m)、ak3 (m)とし、
    前記断片置換ステップで、あらかじめ定めた全ての組合せで前記秘密分散装置を選択するまで、前記の秘密分散方法を繰り返す
    ことを特徴とする秘密分散方法。
  13. 請求項12記載の秘密分散方法を用いた秘密ソート方法であって、
    請求項12記載の秘密分散方法によって断片を分散して記録した複数の数値に対して、
    3つの秘密分散装置が、2つの数値を選択し、当該2つの数値の大小を秘密計算によって比較する比較ステップと、
    秘密分散装置のそれぞれが、前記比較ステップの結果に基づいて数値の断片を入れ替える交換ステップと、
    を有する秘密ソート方法。
  14. 請求項1から6のいずれかに記載の秘密分散システムの各秘密分散装置としてコンピュータを機能させる秘密分散プログラム。
JP2012537700A 2010-10-06 2011-10-03 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム Active JP5411994B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012537700A JP5411994B2 (ja) 2010-10-06 2011-10-03 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2010226553 2010-10-06
JP2010226553 2010-10-06
JP2011192844 2011-09-05
JP2011192844 2011-09-05
JP2012537700A JP5411994B2 (ja) 2010-10-06 2011-10-03 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
PCT/JP2011/072770 WO2012046692A1 (ja) 2010-10-06 2011-10-03 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム

Publications (2)

Publication Number Publication Date
JP5411994B2 true JP5411994B2 (ja) 2014-02-12
JPWO2012046692A1 JPWO2012046692A1 (ja) 2014-02-24

Family

ID=45927688

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012537700A Active JP5411994B2 (ja) 2010-10-06 2011-10-03 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム

Country Status (5)

Country Link
US (1) US8989391B2 (ja)
EP (1) EP2608190B1 (ja)
JP (1) JP5411994B2 (ja)
CN (1) CN103141056B (ja)
WO (1) WO2012046692A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015107952A1 (ja) * 2014-01-17 2015-07-23 日本電信電話株式会社 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム
WO2015107951A1 (ja) * 2014-01-17 2015-07-23 日本電信電話株式会社 秘密計算方法、秘密計算システム、ソート装置及びプログラム

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012102203A1 (ja) * 2011-01-24 2012-08-02 日本電信電話株式会社 秘匿積和計算方法、秘匿積和計算システム、計算装置、及びそれらのプログラム
JP6011775B2 (ja) * 2012-04-23 2016-10-19 パナソニックIpマネジメント株式会社 分散装置、復元装置、分散方法、復元方法及び分散復元システム
EP2947642B1 (en) * 2013-01-17 2017-09-06 Nippon Telegraph and Telephone Corporation Secret computation system, arithmetic unit, secret computation method and program
WO2015114947A1 (ja) * 2014-01-28 2015-08-06 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算サーバ、登録者端末、利用者端末及びプログラム
JP5860556B1 (ja) * 2015-02-06 2016-02-16 日本電信電話株式会社 不整合検知方法、不整合検知システム、不整合検知装置、およびプログラム
JP5968484B1 (ja) * 2015-03-18 2016-08-10 日本電信電話株式会社 シェア復旧システム、シェア復旧方法、およびプログラム
JP5957126B1 (ja) * 2015-06-24 2016-07-27 日本電信電話株式会社 秘密計算装置、秘密計算方法、およびプログラム
CN105204782B (zh) * 2015-10-13 2018-12-11 中国联合网络通信集团有限公司 一种实现数据存储的方法及装置
SG11201805542TA (en) * 2016-02-23 2018-09-27 Nchain Holdings Ltd Secure multiparty loss resistant storage and transfer of cryptographic keys for blockchain based systems in conjunction with a wallet management system
CN109478381B (zh) * 2016-07-06 2021-12-14 日本电信电话株式会社 秘密计算系统、秘密计算装置、秘密计算方法以及程序
WO2018034079A1 (ja) * 2016-08-18 2018-02-22 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置、分散情報生成装置およびそれらの方法とプログラム
WO2019009180A1 (ja) * 2017-07-05 2019-01-10 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム、および記録媒体
US11514192B2 (en) * 2017-09-21 2022-11-29 Nippon Telegraph And Telephone Corporation Secure reading apparatus, secure writing apparatus, method thereof, and program for reading and writing data in a sequence without revealing an access position
CN111183469B (zh) * 2017-10-13 2023-02-28 日本电信电话株式会社 隐匿分类系统以及方法
CN111902854B (zh) * 2018-03-26 2023-08-01 日本电信电话株式会社 秘密重复排除滤波器生成系统、秘密重复排除系统、它们的方法、秘密计算装置以及记录介质
JP6973629B2 (ja) * 2018-04-20 2021-12-01 日本電信電話株式会社 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
US11281493B2 (en) 2018-05-30 2022-03-22 Texas Instruments Incorporated Real-time context specific task manager for multi-core communication and control system
US12143420B2 (en) 2019-11-28 2024-11-12 Nec Corporation Shuffling shares among nodes to detect incorrectness or frauds
US12160506B2 (en) 2019-11-28 2024-12-03 Nec Corporation Shuffling shares among nodes to detect incorrectness or frauds
AU2020472388B2 (en) * 2020-10-16 2024-02-15 Ntt, Inc. Secure computation system, secure computation apparatus, secure computation method, and program
CN114153808B (zh) * 2022-02-09 2022-05-10 支付宝(杭州)信息技术有限公司 一种基于秘密分享的排序方法和系统
CN114282255B (zh) * 2022-03-04 2022-05-31 支付宝(杭州)信息技术有限公司 一种基于秘密分享的排序序列合并方法和系统

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6263436B1 (en) * 1996-12-17 2001-07-17 At&T Corp. Method and apparatus for simultaneous electronic exchange using a semi-trusted third party
CA2369304A1 (en) * 2002-01-30 2003-07-30 Cloakware Corporation A protocol to hide cryptographic private keys
JP4602675B2 (ja) * 2004-02-10 2010-12-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム、並びに機密情報管理システム用端末プログラム
WO2005076518A1 (en) * 2004-02-10 2005-08-18 Ntt Communications Corporation Secret information management scheme based on secret sharing scheme
JP4708713B2 (ja) * 2004-02-10 2011-06-22 エヌ・ティ・ティ・コミュニケーションズ株式会社 機密情報管理システム、機密情報管理方法、および機密情報管理プログラム
JP2007300157A (ja) * 2006-04-27 2007-11-15 Toshiba Corp 秘密分散システム、装置及びプログラム
WO2008048713A2 (en) * 2006-05-05 2008-04-24 President And Fellows Of Harvard College Practical secrecy-preserving, verifiably correct and trustworthy auctions
EP2122530A2 (en) * 2006-12-15 2009-11-25 Hans Martin Boesgaard Sørensen Digital data authentication
US8930660B2 (en) * 2007-02-16 2015-01-06 Panasonic Corporation Shared information distributing device, holding device, certificate authority device, and system
US8457305B2 (en) * 2009-11-13 2013-06-04 Microsoft Corporation Generating genus 2 curves from invariants

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015107952A1 (ja) * 2014-01-17 2015-07-23 日本電信電話株式会社 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム
WO2015107951A1 (ja) * 2014-01-17 2015-07-23 日本電信電話株式会社 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP6009697B2 (ja) * 2014-01-17 2016-10-19 日本電信電話株式会社 秘密計算方法、秘密計算システム、ソート装置及びプログラム
JP6009698B2 (ja) * 2014-01-17 2016-10-19 日本電信電話株式会社 秘密計算方法、秘密計算システム、ランダム置換装置及びプログラム

Also Published As

Publication number Publication date
CN103141056A (zh) 2013-06-05
US20130182836A1 (en) 2013-07-18
EP2608190A4 (en) 2014-10-01
CN103141056B (zh) 2015-08-26
EP2608190B1 (en) 2016-05-11
EP2608190A1 (en) 2013-06-26
JPWO2012046692A1 (ja) 2014-02-24
WO2012046692A1 (ja) 2012-04-12
US8989391B2 (en) 2015-03-24

Similar Documents

Publication Publication Date Title
JP5411994B2 (ja) 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム
US11038679B2 (en) Secure multi-party computation method and apparatus, and electronic device
Farah et al. A novel method for designing S-box based on chaotic map and teaching–learning-based optimization
JP6095792B2 (ja) 秘密ビット分解装置、秘密モジュラス変換装置、秘密ビット分解方法、秘密モジュラス変換方法、プログラム
EP3096309B1 (en) Secret calculation method, secret calculation system, sorting device, and program
JP5486520B2 (ja) セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム
EP2947642A1 (en) Secure-computation system, computing device, secure-computation method, and program
JP5944841B2 (ja) 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム
JP2021515271A (ja) コンピュータにより実施される投票処理およびシステム
EP3389031A1 (en) Pre-calculation device, method, computer-readable recording medium, vector multiplication device, and method
JP5860557B1 (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
CN112819058A (zh) 一种具有隐私保护属性的分布式随机森林评估系统与方法
US20210157955A1 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
JP5438650B2 (ja) 不正検知方法、秘密計算システム、計算装置、計算プログラム
García-Hernández et al. Multi-objective configuration of a secured distributed cloud data storage
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
US20220413807A1 (en) Secure random number generation system, secure computation apparatus, secure random number generation method, and program
CN107210005B (zh) 矩阵/密钥生成装置、矩阵/密钥生成系统、矩阵结合装置、矩阵/密钥生成方法、程序
WO2018216512A1 (ja) 秘密改ざん検知システム、秘密改ざん検知装置、秘密改ざん検知方法、およびプログラム
CN120474679A (zh) 基于联邦学习的身份认证方法、装置、介质及程序产品
JP6059159B2 (ja) シェア変換システム、シェア変換方法、プログラム
JP5391212B2 (ja) セキュア検索システム、秘密検索装置、セキュア検索方法、セキュア検索プログラム
WO2023188258A1 (ja) 計算装置、計算方法、およびプログラム
JP6059160B2 (ja) シェア変換システム、シェア変換方法、プログラム
Juraev et al. Protection of Transaction Data of Financial Information Systems in Communication Networks Based on Sea80 New Stream Encryption Algorithm

Legal Events

Date Code Title Description
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: 20131029

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131108

R150 Certificate of patent or registration of utility model

Ref document number: 5411994

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350