JPWO2015107780A1 - 要素複製装置、要素複製方法、およびプログラム - Google Patents

要素複製装置、要素複製方法、およびプログラム Download PDF

Info

Publication number
JPWO2015107780A1
JPWO2015107780A1 JP2015557727A JP2015557727A JPWO2015107780A1 JP WO2015107780 A1 JPWO2015107780 A1 JP WO2015107780A1 JP 2015557727 A JP2015557727 A JP 2015557727A JP 2015557727 A JP2015557727 A JP 2015557727A JP WO2015107780 A1 JPWO2015107780 A1 JP WO2015107780A1
Authority
JP
Japan
Prior art keywords
elements
secret
vector
text
secret text
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015557727A
Other languages
English (en)
Other versions
JP6067890B2 (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
Application granted granted Critical
Publication of JP6067890B2 publication Critical patent/JP6067890B2/ja
Publication of JPWO2015107780A1 publication Critical patent/JPWO2015107780A1/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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Storage Device Security (AREA)
  • Document Processing Apparatus (AREA)

Abstract

h=2,…,Mについて、第1集合に含まれる複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、第1集合に含まれる複製元以外の要素を零にして得られる、複数個の要素a5(1),…,a5(N)を含む集合である第2集合または第2集合の秘匿文を得る。ただし、複製元の要素a(f(h))よりも順序が前であって複製元の要素a(f(h))に順序が最も近い複製元の要素a(f(h−1))の加法逆元が−a(f(h−1))である。また、第2集合または第2集合の秘匿文を用い、1番目の要素b(1)=a5(1)とi=2,…,N番目の要素b(i)=b(i−1)+a5(i)とを含む集合である第3集合または第3集合の秘匿文を得る。

Description

本発明は、集合に含まれた要素を効率よく複製する技術に関する。
秘匿化された数値を復元することなく特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1等参照)。非特許文献1の方法では、3つの秘密計算装置に数値の断片を分散させるという秘匿化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元することなく、加減算,定数和,乗算,定数倍,論理演算(否定,論理積,論理和,排他的論理和),データ形式変換(整数,二進数)等の演算結果を3つの秘密計算装置に分散された状態、すなわち秘匿化されたまま保持させることができる。
表に従ってそれらの要素を秘密計算上で写像する方法として、非特許文献2の方法がある。非特許文献2の方法では、秘匿化された表の要素(値)を同一の列内に複製する写像が秘密計算上で実現されている。
千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, "軽量検証可能3パーティ秘匿関数計算の再考," In CSS, 2010. 濱田浩気, 五十嵐大, 千田浩司, "秘匿計算上の一括写像アルゴリズム," 電子情報通信学会論文誌, A, 基礎・境界, Vol. 96, No. 4, pp. 157-165, apr 2013.
しかしながら、従来技術では、要素の複製が行われる列の大きさをNとすると、要素を同一の列内に複製するためにO(N)回,O(log N)段の乗算を要していた。このことは、秘匿化された表の要素を同一の列内に秘密計算上で複製する場合だけではなく、順序付けされたN個の要素を含む集合の要素を同一の集合内の要素として複製する場合であれば同様である。
本発明の課題は、順序付けされた要素を含む集合の要素を複製する場合の演算コストを低減することである。
上記の課題を解決するために、h=2,…,Mについて、第1集合に含まれる複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、第1集合に含まれる複製元以外の要素を零にして得られる、複数個の要素a(1),…,a(N)を含む集合である第2集合または第2集合の秘匿文を得、第2集合または第2集合の秘匿文を用い、1番目の要素b(1)=a(1)とi=2,…,N番目の要素b(i)=b(i−1)+a(i)とを含む集合である第3集合または第3集合の秘匿文を得る。
ただし、第1集合は、順序付けされた複数個の要素a(1),…,a(N)を含む集合である。複数個の要素a(1),…,a(N)からなる集合が複数個の複製元の要素a(f(1)),…,a(f(M))を含む。複製元の要素a(f(h))よりも順序が前であって複製元の要素a(f(h))に順序が最も近い複製元の要素a(f(h−1))の加法逆元が−a(f(h−1))である。第2集合の1番目の要素がa(1)であり、第2集合のi=2,…,N番目の要素がa(i)である。
本発明では、演算量が小さな加法演算で集合の要素を複製することができるため、順序付けされた要素を含む集合の要素を複製する場合の演算コストを低減させることができる。
図1は、実施形態の秘密計算システムの構成を例示するためのブロック図である。 図2Aは、第1実施形態およびその変形例の要素複製装置の構成を例示するためのブロック図である。図2Bは、第1実施形態およびその変形例の事前計算の処理を例示するためのフロー図である。図2Cは、第1実施形態およびその変形例の要素複製の処理を例示するためのフロー図である。 図3Aは、第2実施形態およびその変形例の要素複製装置の構成を例示するためのブロック図である。図3Bは、第2実施形態のソート部の構成を例示するためのブロック図である。 図4Aは、第2実施形態およびその変形例の要素複製の処理を例示するためのフロー図である。図4Bは、図4AのステップS214およびS214’の処理を例示するためのフロー図である。図4Cは、図4BのステップS2143の処理を例示するためのフロー図である。
以下、本発明の実施形態を説明する。
[概要]
まず、各実施形態の概要を説明する。
各実施形態では、h=2,…,Mについて、第1集合に含まれる複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、第1集合に含まれる複製元以外の要素を零にして得られる、複数個の要素a(1),…,a(N)を含む集合である第2集合または第2集合の秘匿文を得、第2集合または第2集合の秘匿文を用い、1番目の要素b(1)=a(1)とi=2,…,N番目の要素b(i)=b(i−1)+a(i)とを含む集合である第3集合または第3集合の秘匿文を得る。
ここで、第3集合は、或る順序に従って、第1集合に含まれる「複製元の要素」を、その要素よりも順序が後であって次の複製元の要素よりも前までのすべての「複製元ではない要素」に複製し、「最後の複製元の要素」を、それよりも後のすべての「複製元ではない要素」に複製したものとなる。第1集合に含まれる複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、複製元以外の要素を零にして得られる第2集合またはその秘匿文を計算しておくことで、累積的な加法演算によって上述の第3集合またはその秘匿文を計算できる。加法演算の演算量は、従来技術で用いられる乗算等の乗法演算に比べて非常に小さい。そのため、順序付けされた要素を含む集合の要素を複製する場合の演算コストを従来よりも低減させることができる。
なお、「第1集合」とは、順序付けされた複数個の要素a(1),…,a(N)(ただし、Nは2以上の整数であり、例えば3以上の整数)を含む集合を意味する。第1集合は、N個の要素a(1),…,a(N)からなるN次元ベクトルであってもよいし、N+Λ次元ベクトル(ただし、Λは1以上の整数)に含まれるN個の要素a(1),…,a(N)からなる集合であってもよいし、N個以上の要素を持つ行列に含まれるN個の要素a(1),…,a(N)からなる集合であってもよいし、それら以外の集合であってもよい。複数個の要素a(1),…,a(N)の間には順序が定められている(すなわち、複数個の要素a(1),…,a(N)は順序付けされている)。この順序は予め定められたものであってもよいし、処理を行うたびに定められるものであってもよい。この順序の定め方には限定はなく、異なる要素に異なる順序が対応するのであれば、どのような順序が定められてもよい。例えば、第1集合が第1,…,N要素をそれぞれa(1),…,a(N)とするN次元のベクトル(a(1),…,a(N))である場合、要素a(n)にn番目(ただし、n∈{1,…,N})の順序が対応してもよいし、要素a(n)にN−n+1番目の順序が対応してもよい。
これらの複数個の要素a(1),…,a(N)からなる集合{a(1),…,a(N)}は、複数個の複製元の要素a(f(1)),…,a(f(M))を含む(ただし、2≦M≦N、例えばM<N)。「複製元の要素」とは、複製元となる要素、すなわち複製される要素を意味する。各要素a(n)(ただし、n∈{1,…,N})は、複製元の要素a(f(m))(ただし、m∈{1,…,M})であるか、または、複製元ではない要素である。言い換えると、{a(f(1)),…,a(f(M))}⊆{a(1),…,a(N)}であり、例えば、{a(f(1)),…,a(f(M))}⊂{a(1),…,a(N)}である。複製元の要素a(f(1)),…,a(f(M))は、要素a(1),…,a(N)の順序関係を維持する。すなわち、複製元の要素a(f(1)),…,a(f(M))には、要素a(1),…,a(N)の順序に従った順序が対応する。例えば、N=10,M=4であり、要素a(1),…,a(10)の順序がそれぞれ第1,…,10番目であり、複製元の要素がa(1),a(4),a(5),a(9)である場合、集合{a(1),a(4),a(5),a(9)}内での複製元の要素a(1),a(4),a(5),a(9)の順序はそれぞれ第1,2,3,4番目となる。また、複製元の要素a(f(h))(ただし、h∈{2,…,M})よりも順序が前であって複製元の要素a(f(h))に順序が最も近い複製元の要素をa(f(h−1))と表現する。言い換えると、複製元の要素のみからなる集合内における順序が、複製元の要素a(f(h))の直前である複製元の要素をa(f(h−1))と表現する。
各要素には少なくとも加法演算が定義されており、その加法演算を「+」と表現する。また、各要素には少なくとも加法逆元が定義されており、要素νの加法逆元を「−ν」と表現する。すなわち、上述のa(f(h))−a(f(h−1))は、要素a(f(h))と加法逆元−a(f(h−1))との加法演算を表し、b(i−1)+a(i)は、要素b(i−1)と要素a(i)との加法演算を表す。加法演算の例は、加算、排他的論理和、加算結果θに対する整数Pを法とした剰余演算θ mod P(ただし、Pは2以上の整数)などである。例えば、加法演算が加算である場合、a(f(h))−a(f(h−1))はa(f(h))からa(f(h−1))を減じた減算値であり、b(i−1)+a(i)は、要素b(i−1)と要素a(i)との加算値である。また、加法単位元を「零」または「0」と表現する。また、加法生成元を「1」と表現する。
本形態における「αの秘匿文」とは、秘密計算が可能な方法でαが秘匿化されて得られる情報を意味する。周知の秘密分散や暗号化などが秘匿化の例であり、そのうち、周知の線形秘密分散や準同型性暗号などが「秘密計算が可能な秘匿化方法」の例である。これらの方式では、例えば、αとαとの間に二項演算○が定義されており、α○α=αが成立する場合、αの秘匿文E(α)とαの秘匿文E(α)とを用いてαの秘匿文E(α)=E(α)○E(α)を計算することができる。同様に、例えば、αに単項演算○が定義されており、○α=αが成立する場合、αの秘匿文E(α)を用いてαの秘匿文E(α)=○E(α)を計算することができる。これらの計算のために秘匿文E(α)やE(α)を復元する必要はない。秘密計算による秘匿化,復元,加算,減算,乗算,論理演算には、例えば、非特許文献1や非特許文献2に開示された周知技術を用いることができる。秘密計算によるランダム置換には、例えば、非特許文献2や参考文献1(Sven Laur, Jan Willemson, and Bingsheng Zhang, “Round-efficient oblivious database manipulation,” In Xuejia Lai, Jianying Zhou, and Hui Li, editors, ISC, Vol. 7001 of LNCS, pp. 262-277. Springer, 2011.)等に開示された周知技術を用いることができる。秘密計算による安定ソートには、例えば、非特許文献2や参考文献2(濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “秘匿関数計算上の線形時間ソート,” In SCIS, pp. 1-7, 2011.)等に開示された周知技術を用いることができる。その他、例えば、参考文献3(千田浩司, 谷口展郎, 山本剛, 岡崎聖人, 塩野入理, 金井敦, “エルガマル暗号に基づく秘匿回路計算の実装と応用”, CSS2005, pp. 475 - 480, 2005.)等の技術も利用できる。
なお、複製元の要素a(f(1)),…,a(f(M))を含む集合である第5集合または第5集合の秘匿文から、事前に前述の要素a(f(h))−a(f(h−1))を含む集合である第4集合または第4集合の秘匿文が得られる場合には、第1演算部は、この第4集合または第4集合の秘匿文を用い、第2集合または第2集合の秘匿文を得てもよい(事前計算方式)。例えば、要素a(1),…,a(N)の順序に沿った順序付けがなされた複製元の要素a(f(1)),…,a(f(M))を含む第6集合に含まれる複製元の要素a(f(h))をa(f(h))−a(f(h−1))にした集合である第4集合または第4集合の秘匿文が事前に得られる場合には、第1演算部は、この第4集合または第4集合の秘匿文を用い、第2集合または第2集合の秘匿文を得てもよい。これにより、演算コストをさらに低減できる。この方式は、例えば、第1集合または第1集合の秘匿文が、第5集合もしくは第5集合の秘匿文、または第6集合もしくは第6集合の秘匿文(以下「第5集合等」)から得られる場合、すなわち、第1集合または第1集合の秘匿文よりも第5集合等が先に得られる場合(例えば、非特許文献2の方式)に適したものである。
そうでない場合、第1演算部が、第1集合または第1集合の秘匿文を用い、第2集合または第2集合の秘匿文を得てもよい(事後計算方式)。例えば、第1演算部は、第1集合または第1集合の秘匿文を用い、複製元であるか否かをソート条件として第1集合に含まれる要素a(1),…,a(N)の安定ソートを行って得られる、要素a(1),…,a(N)を含み、かつ、要素a(f(1)),…,a(f(M))の順序が連続した集合である第7集合または第7集合の秘匿文を得、第7集合または第7集合の秘匿文を用い、h=2,…,Mについて、第7集合に含まれる複製元の要素a(f(h))をa(f(h))−a(f(h−1))にした集合である第8集合または第8集合の秘匿文を得、第8集合または第8集合の秘匿文を用い、第8集合の要素をソートして複製元以外の要素を零にして得られる集合である第2集合、または第2集合の秘匿文を得てもよい。
この場合、第1演算部は、例えば、第1集合の秘匿文を用い、秘密計算によって第7集合の秘匿文を得、要素a(1),…,a(N)の安定ソートに応じて要素a(1),…,a(N)それぞれの順序を表す要素p(a(1)),…,p(a(N))をソートして得られる要素を含む集合である第9集合の秘匿文を得、第7集合の秘匿文を用い、秘密計算によって第8集合の秘匿文を得、第8集合の秘匿文および第9集合の秘匿文を用い、秘密計算によって、第8集合の要素と第9集合の要素との対応関係を維持しつつ、第8集合の要素の順序および第9集合の要素の順序をランダム置換して得られる、第8集合の要素の順序が並び替えられた集合である第10集合および第9集合の要素の順序が並び替えられた集合である第11集合にそれぞれ対応する、第10集合の秘匿文および第11集合の秘匿文を得、第11集合の秘匿文の復元結果および第10集合の秘匿文を用い、第10集合の要素をソートして複製元以外の要素を零にして得られる集合である第2集合の秘匿文を得てもよい。
ここで、第8集合の秘匿文は、各要素の内容は秘匿されているものの、複製元の要素に対応するa(f(h))−a(f(h−1)の秘匿文の順序が連続している。そのため、第9集合の秘匿文が復元され、複製元の要素に対応するa(f(h))−a(f(h−1)の秘匿文の順序を表す要素が復元されてしまうと、第1集合のいずれの要素が複製元の要素であったのかについての情報がある程度漏洩してしまう。これに対し、上述のように秘密計算でランダム置換を行ってから順序を表す要素を得ることにすれば、このような情報が漏洩することはない。
なお、各実施形態において「第2集合の秘匿文」および「第3集合の秘匿文」を得る場合、第1演算部は、秘密計算によって第2集合の秘匿文を得、第2演算部は、第2集合の秘匿文を用い、秘密計算によって第3集合の秘匿文を得る。
以下、図面を参照して各実施形態を詳細に説明する。
各実施形態では、ある情報αの秘匿文を[α]と表記する。例えば、秘密分散によって秘匿化された[α]は秘密分散の断片(シェア)であり、暗号化によって秘匿化された[α]は暗号文である。ベクトルβの第s要素をβ(s)と表記し、ベクトルβの各要素β(s)を秘匿化したベクトル全体を[β]と表記し、ベクトルβの秘匿文[β]と呼ぶ。
また、各実施形態では、要素a(1),…,a(N)を第1,…,N要素とするN次元のベクトルaを第1集合とし、要素a(1),…,a(N)を第1,…,N要素とするN次元のベクトルaを第2集合とし、要素b(1),…,b(N)を第1,…,N要素とするN次元のベクトルbを第3集合とした例を説明する。これらのN次元のベクトルの各要素は、第1,…,N要素としてそれぞれ順序付けされている。以下にN=10、M=4の場合のベクトルa,a,bを例示する。
Figure 2015107780

ただし、ベクトルaの第1,第4,第5,第9要素であるw,x,y,zがそれぞれ複製元の要素であり、その他の要素*が複製元ではない要素である。なお「*」は任意の要素を表す。また、この例では2≦M<Nであるが、2≦M≦Nでも本実施形態の処理を行うことはできる。
[第1実施形態]
本形態では、前述した事前計算方式の具体例を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム1は、1個以上の要素複製装置11−1〜Kを有する。ただし、秘密分散によって秘匿化を行う場合にはKは2以上の整数であり、暗号化によって秘匿計算を行う場合にはKは1以上の整数である。図2Aに例示するように、本形態の要素複製装置11−k(ただし、k∈{1,…,K})は、記憶部111−kと加法逆元演算部113−kと入力情報演算部114−k(第1演算部)と累積加法演算部115−k(第2演算部)と制御部116−kとを有する。図2Bに例示するように、本形態の入力情報演算部114−kは、複製元配置部1141−kと複製元情報生成部1142−kと乗法演算部1143−kとを有する。なお、要素複製装置11−kは、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)やRAM(random-access memory)・ROM(read-only memory)等のメモリ等を有する汎用または専用のコンピュータに所定のプログラムが読み込まれることで構成される装置であり、制御部116−kの制御のもとで各処理を実行する。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
<事前計算>
本形態では、ベクトルa(第1集合)が要素複製装置11−kに入力されるのではなく、複製元の要素a(f(1)),…,a(f(M))のみからなるベクトルdの秘匿文[d](第5集合の秘匿文または第6集合の秘匿文)が要素複製装置11−kに入力され、記憶部111−kに格納されているものとする。なお、ベクトルdの各要素a(f(1)),…,a(f(M))は、ベクトルaの要素a(1),…,a(N)の順序に沿った順序付けがなされたベクトルである。本形態の例の場合、ベクトルdの第j要素d(j)はd(j)=a(f(j))(ただし、j∈{1,…,M})である。なお、ベクトルaの大きさNおよび要素a(1),…,a(N)の順序は事前に定められている(本形態では、a(1),…,a(N)がN次元ベクトルの第1,…,N要素)。
図2Bに例示するように、加法逆元演算部113−k(図2A)は、記憶部111−kからベクトルdの秘匿文[d]を抽出し、秘密計算によって、ベクトルdに含まれる複製元の要素a(f(h))をa(f(h))−a(f(h−1))(ただし、h∈{2,…,M})にし、複製元の要素a(f(1))をそのまま維持したベクトルd(第4集合)の秘匿文[d]を得る。すなわち、ベクトルdの要素d(h)(ただし、h∈{2,…,M})は、要素d(h)=d(h)−d(h−1)であり、ベクトルdの要素d(1)は、d(1)=d(1)である(ステップS113)。加法逆元演算部113−kは、ベクトルdの秘匿文[d]を出力し、ベクトルdの秘匿文[d]は記憶部111−kに格納される(ステップS111)。なお、式(1)で例示したベクトルaの場合、ベクトルa,d,dの関係は以下のようになる。
Figure 2015107780
<要素複製>
図2Cを用いて本形態の要素複製の処理を説明する。入力情報演算部114−kは、記憶部111−kからベクトルd(第4集合)の秘匿文[d]を抽出する。入力情報演算部114−kは、ベクトルdの秘匿文[d]を用い、秘密計算によって、h=2,…,Mについて、ベクトルaの複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、複製元以外の要素を零にして得られる、要素a(1),…,a(N)を第1,…,N要素とするN次元のベクトルであるベクトルa(第2集合)の秘匿文[a]を得る。本形態の例の場合、ベクトルaの要素a(1),…,a(N)の順序が予め定められており、各複製元の要素a(f(h))の順序(ベクトルaでの位置)も定められている。入力情報演算部114−kは、これに従ってベクトルaの各複製元の要素a(f(h))の位置に要素a(f(h))−a(f(h−1))を配置し、その他の位置に零を配置したN次元のベクトルであるベクトルaの秘匿文[a]を得て出力する(ステップS114)。
累積加法演算部115−kは、ベクトルa(第2集合)の秘匿文[a]を用い、秘密計算によって、第1要素がb(1)=a(1)であり、第i=2,…,N要素がb(i)=b(i−1)+a(i)であるN次元ベクトルであるベクトルb(第3集合)の秘匿文[b]を得て出力する(ステップS115)。累積加法演算部115−kは、例えば、まずb(1)=a(1)の秘匿文[b(1)]を得る秘密計算を行い、その後、i=2からiを1ずつ増加させながら、各i=2,…,Nについてb(i)=b(i−1)+a(i)の秘匿文[b(i)]を得る秘密計算を行って、ベクトルbの秘匿文[b]を得る。
例えば、式(1)に例示したベクトルaの場合、上述したベクトルa,bの関係は以下のようになる。
Figure 2015107780
[第1実施形態の変形例1]
第1実施形態では、ベクトルaの要素a(1),…,a(N)の順序に沿った順序付けがなされたベクトルdの秘匿文[d]が要素複製装置11−kに入力され、記憶部111−kに格納されている例を示した。本変形例では、複製元の要素a(f(1)),…,a(f(M))のみからなるが、これらがベクトルaの要素a(1),…,a(N)の順序に沿った順序となっていないベクトルdの秘匿文[d]が要素複製装置11−kに入力され、記憶部111−kに格納されている場合の処理を説明する。
本変形例の秘密計算システム1’の要素複製装置11’−kは、第1実施形態の要素複製装置11’−kにソート部112’−kを加えたものである(図1および図2A)。ソート部112’−kは、記憶部111−kからベクトルdの秘匿文[d]を抽出し、秘密計算によってベクトルdの秘匿文[d]をソートし、ベクトルaの要素a(1),…,a(N)の順序に沿った順序付けがなされたベクトルdの秘匿文[d]を得て出力する(図2B/ステップS112’)。ベクトルdの秘匿文[d]は加法逆元演算部113−kに入力される。その他は第1実施形態で説明した通りである。例えば、式(1)に例示したベクトルaの場合、ベクトルa,d,d,dの関係は以下のようになる。
Figure 2015107780
[第1実施形態の変形例2]
第1実施形態および第1実施形態の変形例1では、ベクトルの秘匿文を処理対象として秘密計算を行った。しかしながら、公開してよいベクトルについては、ベクトルの秘匿文を処理対象とすることに代えて平文であるベクトルを処理対象とし、秘密計算を行うことに代えて平文であるベクトルに対する演算を行ってもよい。例えば、ベクトルdを公開してよい場合には、ソート部112’−kがベクトルdをソートしてベクトルdを得てもよい。例えば、ベクトルdを公開してよい場合には、加法逆元演算部113−kがベクトルdを用いてベクトルdを計算し、入力情報演算部114−kがベクトルdをそのまま用いてもよい。その他、例えば、加法逆元演算部113−kがベクトルdを用いてベクトルaを計算してもよいし、累積加法演算部115−kがベクトルaを用いてベクトルbを計算してもよい。その他、演算結果のベクトルを秘匿化して出力してもよい。
[第2実施形態]
本形態では、前述した事後計算方式の具体例を説明する。
<構成>
図1に例示するように、本形態の秘密計算システム2は、1個以上の要素複製装置12−1〜Kを有する。図3Aに例示するように、本形態の要素複製装置21−k(ただし、k∈{1,…,K})は、記憶部211−kと順序情報生成部212−kと入力情報演算部214−k(第1演算部)と累積加法演算部115−k(第2演算部)と制御部116−kとを有する。入力情報演算部214−kは、安定ソート部2141−kと加法逆元演算部2142−kとソート部2143−kと乗法演算部2144−kとを有する。図3Bに例示するように、ソート部2143−kは、ランダム置換部2143a−kと復元部2143b−kと順序復元部2143c−kとを有する。なお、累積加法演算部115−kは第1実施形態で説明したものと同じである。要素複製装置21−kは、例えば、汎用または専用のコンピュータに所定のプログラムが読み込まれることで構成される装置であり、制御部216−kの制御のもとで各処理を実行する。
<要素複製>
図4Aを用いて本形態の要素複製の処理を説明する。
前提として、ベクトルa(第1集合)の秘匿文[a]と、ベクトルaの要素a(1),…,a(N)が複製元の要素であるか否かを表すベクトルcの秘匿文[c]とが要素複製装置21−kに入力され、記憶部211−kに格納されているとする。なお、ベクトルcの第n要素はφ(a(n))である。ただし、a(n)が複製元の要素であるときφ(a(n))=1であり、φ(a(n))が複製元の要素でないときφ(a(n))=0である。例えば、式(1)に例示したベクトルaの場合、ベクトルa,cの関係は以下のようになる。
Figure 2015107780
まず、順序情報生成部212−k(図3A)は、ベクトルaの各要素a(n)(ただし、n∈{1,…,N})の順序(位置)の目印となるベクトルpの秘匿文[p]を生成して出力する(ステップS212)。ベクトルpは、互いに異なるN個の要素p(a(n))(ただし、n∈{1,…,N})(例えば、予め定められた要素)からなるN次元のベクトルであればよく、例えば、p(a(n))=n−1(ただし、n∈{1,…,N})とすればよい。ベクトルpの秘匿文[p]は記憶部211−kに格納される。例えば、ベクトルaが式(1)に例示したものであり、p(a(n))=n−1である場合、ベクトルa,c,pの関係は以下のようになる。
Figure 2015107780
入力情報演算部214−kは、記憶部211−kからベクトルa(第1集合)の秘匿文[a]とベクトルpの秘匿文[p]とベクトルcの秘匿文[c]を抽出し、秘密計算によってベクトルa(第2集合)の秘匿文[a]を得て出力する(ステップS214)。
《ステップS214の詳細》
図4Bを用いてステップS214の詳細を説明する。
本形態では、まず、安定ソート部2141−kが、記憶部211−kからベクトルaの秘匿文[a]とベクトルpの秘匿文[p]とを抽出する。安定ソート部2141−kは、抽出したベクトルaの秘匿文[a]とベクトルpの秘匿文[p]を用い、秘密計算によって、複製元であるか否かをソート条件としてベクトルaに含まれる要素a(1),…,a(N)の安定ソートを行って得られるベクトルa(第7集合)の秘匿文[a]と、この要素a(1),…,a(N)の安定ソートに応じてベクトルpの要素p(a(1)),…,p(a(N))をソートして得られる要素からなるベクトルp(第9集合)の秘匿文[p]とを得て出力する(ステップS2141)。ただし、ベクトルaは、要素a(1),…,a(N)のみを含み、かつ、複製元の要素a(f(1)),…,a(f(M))の順序が連続したベクトルとなる。すなわち、ベクトルaは要素a(1),…,a(N)のみを含み、かつ、ベクトルaの第η,…,η+M−1要素が複製元の要素a(f(1)),…,a(f(M))であり、かつ、それ以外の要素が複製元ではない要素である。ただし、ηは1以上N+1−M以下の整数である。また、「第η要素」とはη番目の要素を意味する。例えば、ベクトルaの第1,…,M要素が複製元の要素a(f(1)),…,a(f(M))であり、かつ、それ以外の要素が複製元ではない要素であってもよいし、ベクトルaの第N−M+1,…,N要素が複製元の要素a(f(1)),…,a(f(M))であり、かつ、それ以外の要素が複製元ではない要素であってもよい。この安定ソートはベクトルaの要素a(n)とベクトルpの要素p(a(n))との対応を保ったまま行われる。言い換えると、要素a(n)と要素p(a(n))との対応関係が保持される。例えば、この安定ソートによって要素a(n)がベクトルaのn’番目(ただし、nは1以上N以下の整数)の要素となる場合、要素a(n)に対応する要素p(a(n))はベクトルpのn’番目の要素となる関係にある。ただし、これは平文での要素の順序であり、必ずしも秘匿化された要素がこの順序であるとは限らない。例えば、ベクトルaが式(1)に例示したものであり、p(a(n))=n−1であり、ベクトルaの第1,…,M要素が複製元の要素a(f(1)),…,a(f(M))であり、かつ、それ以外の要素が複製元ではない要素である場合、ベクトルa,pの関係は以下のようになる。
Figure 2015107780
加法逆元演算部2142−kは、ベクトルa(第7集合)の秘匿文[a]を用い、秘密計算によって、ベクトルaに含まれる要素a(1),a(2),…,a(N)を要素a(1)=a(1),a(2)=a(2)−a(1),…,a(N)=a(N)−a(N−1)にしたN次元のベクトルであるベクトルa(第8集合)の秘匿文[a]を得て出力する(ステップS2142)。例えば、式(2)に例示したベクトルaの場合、ベクトルp,a,aの関係は以下のようになる。
Figure 2015107780
ソート部2143−kは、ベクトルa(第8集合)の秘匿文[a]およびベクトルp(第9集合)の秘匿文[p]を用い、秘密計算によって、ベクトルaの要素をソートして得られるN次元のベクトルであるベクトルaの秘匿文[a]を得て出力する(ステップS2143)。ただし、ベクトルaは、ベクトルaの要素の順序を、ベクトルaの要素の順序に対応する元の順序に並び替えて得られるベクトルである。すなわち、ベクトルaは、ベクトルaの要素a(f(h))−a(f(h−1))をベクトルaの複製元の要素a(f(h))の順序にし、ベクトルaの要素a(f(1))をベクトルaの複製元の要素a(f(1))の順序にし、ベクトルaのその他の要素をそれに対応するベクトルaの元の順序に戻して得られるベクトルである。
《ステップS2143の詳細》
図4Cを用い、ステップS2143の詳細を説明する。
ソート部2143−kのランダム置換部2143a−kは、ベクトルa(第8集合)の秘匿文[a]およびベクトルp(第9集合)の秘匿文[p]を用い、秘密計算によって、ベクトルaの要素a(n)とベクトルpの要素p(n)との対応関係を維持しつつ(ただし、n∈{1,…,N})、ベクトルaの要素a(1),…,a(N)の順序およびベクトルpの要素p(1),…,p(N)の順序をランダム置換して得られる、N次元のベクトルa(第10集合)およびN次元のベクトルp(第11集合)にそれぞれ対応する、ベクトルaの秘匿文[a]およびベクトルpの秘匿文[p]を得て出力する(ステップS2143a)。ただし、ベクトルaはベクトルaの要素a(1),…,a(N)の順序が並び替えられたものであり、ベクトルpはベクトルpの要素p(1),…,p(N)の順序が並び替えられたものである。言い換えると、ランダム置換部2143a−kは、ベクトルa(第8集合)の秘匿文[a]およびベクトルp(第9集合)の秘匿文[p]を用い、秘密計算によって、ベクトルaの秘匿文[a]およびベクトルpの秘匿文[p]を得て出力する。ベクトルaはベクトルaの要素a(1),…,a(N)の順序をランダム置換して得られるものであり、ベクトルpはベクトルpの要素p(1),…,p(N)の順序をランダム置換して得られるものである。この処理では要素a(n)と要素p(n)との対応関係が維持される。例えば、このランダム置換によって要素a(n)がベクトルaのn’番目の要素となる場合、要素p(n)はベクトルpのn’番目の要素となる関係にある。ただし、これは平文での要素の順序であり、必ずしも秘匿化された要素がこの順序であるとは限らない。式(3)に例示したベクトルp,aの場合、ベクトルp,aの関係は、例えば以下のようになる。
Figure 2015107780
復元部2143b−kは、ベクトルpの秘匿文[p]からベクトルpを復元して出力する(ステップs2143b)。
順序復元部2143c−kは、ベクトルaの秘匿文[a]を用い、秘密計算によって、ベクトルaの要素をベクトルpに従ってソートして得られるN次元のベクトルであるベクトルaの秘匿文[a]を得て出力する(ステップS2143c)。ベクトルaは、ベクトルaの要素をベクトルaの要素の順序に対応する元の順序に並び替えて得られるベクトルである。この順序はベクトルpの要素から判断できる(式(4)参照)。すなわち、ベクトルpの要素の順序をベクトルpの要素の順序に並び替えるソートによって、ベクトルaの要素を並び替えて得られるN次元のベクトルがベクトルaである。式(4)に例示したベクトルp,aの場合、ベクトルaは、例えば以下のようになる(《ステップS2143の詳細》の説明終わり)。
Figure 2015107780
乗法演算部2144−kが、ベクトルaの秘匿文[a]およびベクトルcの暗号文[c]を用い、秘密計算によって、ベクトルaの要素a(n)とベクトルcの要素c(n)との乗法演算結果(例えば、乗算結果や乗算結果の剰余)を要素a(n)(ただし、n∈{1,…,N})として得られるベクトルa(第2集合)の秘匿文[a]を得て出力する(ステップS2144)。なお、要素a(n)はベクトルaのn番目の要素であり、要素c(n)はベクトルcのn番目の要素であり、要素a(n)はベクトルaのn番目の要素である。この処理は、ベクトルaの複製元ではない要素を零にしたベクトルaの秘匿文[a]を得る処理である。例えば、式(1)に例示したベクトルaに対応するベクトルc、および式(5)に例示したベクトルaの場合、ベクトルa,c,aの関係は以下のようになる(《ステップS214の詳細》の説明終わり)。
Figure 2015107780
ベクトルaの秘匿文[a]は、累積加法演算部115−kに入力され、第1実施形態で説明した処理が実行され、ベクトルbの秘匿文[b]が得られる。例えば、式(6)のベクトルaの場合、ベクトルa,bの関係は以下のようになる。
Figure 2015107780
[第2実施形態の変形例1]
第2実施形態では、ソート部2143−kが、秘密計算によってランダム置換を含むソートを行った。本変形例では、これに代えて、秘密計算によってランダム置換を含まないソートを行う。その他は、第2実施形態と同じである。
本変形例の秘密計算システム2’の要素複製装置21’−kの入力情報演算部214−kは、第2実施形態のソート部2143−kに代えて、ソート部2143’−kを備えるものである(図3A)。ソート部2143’−kは、ベクトルa(第8集合)の秘匿文[a]およびベクトルp(第9集合)の秘匿文[p]を用い、秘密計算によって、ベクトルaの要素をソートして得られるN次元のベクトルであるベクトルaの秘匿文[a]を得て出力する(ステップS2143’)。ただし、ステップS2143と異なり、ソート部2143’−kは、前述のステップS2143a,S2143bを実行せずに、ベクトルpの秘匿文[p]を用い、ベクトルaの秘匿文[a]を得て出力する。ソート部2143’−kは、ベクトルpの秘匿文[p]から復元したベクトルpを用い、秘密計算によってベクトルaの秘匿文[a]を得てもよいし、ベクトルpの秘匿文[p]を復元することなく、秘密計算によってベクトルaの秘匿文[a]を得てもよい。
[第2実施形態の変形例2]
第2実施形態および第2実施形態の変形例1では、ベクトルの秘匿文を処理対象として秘密計算を行った。しかしながら、公開してよいベクトルについては、ベクトルの秘匿文を処理対象とすることに代えて平文であるベクトルを処理対象とし、秘密計算を行うことに代えて平文であるベクトルに対する演算を行ってもよい。例えば、順序情報生成部212−kがベクトルpを出力してもよいし、安定ソート部2141−kがベクトルa,pの安定ソートを行ってベクトルa,pを得て出力してもよいし、加法逆元演算部2142−kがベクトルaからベクトルaを得て出力してもよいし、ソート部2143−kや2143’−kがベクトルa,pを用いてベクトルaを得て出力してもよいし、乗法演算部2144−kがベクトルベクトルa,cを用いてベクトルaを得て出力してもよい。
[特徴]
以上のように、複製元の要素を、当該複製元の要素とその一つ前の複製元の要素の加法逆元との加法演算結果(例えば減算結果)に置き換えておくことで、複製の処理を多くの処理を非常に軽い演算である加法演算(例えば加算)で実現できる。その結果、従来よりも演算コストを低減させることができる。なお、ベクトルaまたは秘匿文[a]からベクトルaまたは秘匿文[a]を得るためには乗算等の乗算演算が1段必要であるが、その段数はNに依存しない。特に、第1実施形態のように複製元の要素に対して事前処理が行える場合には、要素複製時の複製に要する計算はO(N)回の加算演算のみとなる。
[変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
本発明は、例えば、表計算分野等に利用でき、特に、秘匿化された表の一部の要素を秘匿化したままで複製する計算を行うソフトウェア分野(暗号技術分野)等に利用できる。例えば、暗号技術分野で利用される集合の要素複製処理(表計算処理等)に本発明を利用できる。
秘密計算システム 1,1’,2,2’
要素複製装置 11−k,11’−k,21−k,21’−k
秘匿化された数値を復元することなく特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1等参照)。非特許文献1の方法では、3つの秘密計算装置に数値の断片を分散させるという秘匿化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元することなく、加減算,定数加算,乗算,定数倍,論理演算(否定,論理積,論理和,排他的論理和),データ形式変換(整数,二進数)等の演算結果を3つの秘密計算装置に分散された状態、すなわち秘匿化されたまま保持させることができる。
<事前計算>
本形態では、ベクトルa(第1集合)が要素複製装置11−kに入力されるのではなく、複製元の要素a(f(1)),…,a(f(M))のみからなるベクトルdの秘匿文[d](第5集合の秘匿文または第6集合の秘匿文)が要素複製装置11−kに入力され、記憶部111−kに格納されているものとする。なお、ベクトルdの各要素a(f(1)),…,a(f(M))は、ベクトルaの要素a(1),…,a(N)の順序に沿った順序付けがなされている。本形態の例の場合、ベクトルdの第j要素d(j)はd(j)=a(f(j))(ただし、j∈{1,…,M})である。なお、ベクトルaの大きさNおよび要素a(1),…,a(N)の順序は事前に定められている(本形態では、a(1),…,a(N)がN次元ベクトルの第1,…,N要素)。
本変形例の秘密計算システム1’の要素複製装置11’−kは、第1実施形態の要素複製装置11−kにソート部112’−kを加えたものである(図1および図2A)。ソート部112’−kは、記憶部111−kからベクトルdの秘匿文[d]を抽出し、秘密計算によってベクトルdの秘匿文[d]をソートし、ベクトルaの要素a(1),…,a(N)の順序に沿った順序付けがなされたベクトルdの秘匿文[d]を得て出力する(図2B/ステップS112’)。ベクトルdの秘匿文[d]は加法逆元演算部113−kに入力される。その他は第1実施形態で説明した通りである。例えば、式(1)に例示したベクトルaの場合、ベクトルa,d,d,dの関係は以下のようになる。
Figure 2015107780
加法逆元演算部2142−kは、ベクトルa(第7集合)の秘匿文[a]を用い、秘密計算によって、ベクトルaに含まれる要素a(1),a(2),…,a(N)を要素a(1)=a(1),a(2)=a(2)−a(1),…,a(N)=a(N)−a(N−1)にしたN次元のベクトルであるベクトルa(第8集合)の秘匿文[a]を得て出力する(ステップS2142)。例えば、式(2)に例示したベクトル の場合、ベクトルp,a,aの関係は以下のようになる。
Figure 2015107780
復元部2143b−kは、ベクトルpの秘匿文[p]からベクトルpを復元して出力する(ステップ2143b)。
乗法演算部2144−kが、ベクトルaの秘匿文[a]およびベクトルcの秘匿文[c]を用い、秘密計算によって、ベクトルaの要素a(n)とベクトルcの要素c(n)との乗法演算結果(例えば、乗算結果や乗算結果の剰余)を要素a(n)(ただし、n∈{1,…,N})として得られるベクトルa(第2集合)の秘匿文[a]を得て出力する(ステップS2144)。なお、要素a(n)はベクトルaのn番目の要素であり、要素c(n)はベクトルcのn番目の要素であり、要素a(n)はベクトルaのn番目の要素である。この処理は、ベクトルaの複製元ではない要素を零にしたベクトルaの秘匿文[a]を得る処理である。例えば、式(1)に例示したベクトルaに対応するベクトルc、および式(5)に例示したベクトルaの場合、ベクトルa,c,aの関係は以下のようになる(《ステップS214の詳細》の説明終わり)。
Figure 2015107780
[第2実施形態の変形例2]
第2実施形態および第2実施形態の変形例1では、ベクトルの秘匿文を処理対象として秘密計算を行った。しかしながら、公開してよいベクトルについては、ベクトルの秘匿文を処理対象とすることに代えて平文であるベクトルを処理対象とし、秘密計算を行うことに代えて平文であるベクトルに対する演算を行ってもよい。例えば、順序情報生成部212−kがベクトルpを出力してもよいし、安定ソート部2141−kがベクトルa,pの安定ソートを行ってベクトルa,pを得て出力してもよいし、加法逆元演算部2142−kがベクトルaからベクトルaを得て出力してもよいし、ソート部2143−kや2143’−kがベクトルa,pを用いてベクトルaを得て出力してもよいし、乗法演算部2144−kがベクトルa,cを用いてベクトルaを得て出力してもよい。

Claims (8)

  1. 第1集合が、順序付けされた複数個の要素a(1),…,a(N)を含む集合であり、前記複数個の要素a(1),…,a(N)からなる集合が複数個の複製元の要素a(f(1)),…,a(f(M))を含み、複製元の要素a(f(h))よりも順序が前であって前記複製元の要素a(f(h))に順序が最も近い複製元の要素a(f(h−1))の加法逆元が−a(f(h−1))であり、h=2,…,Mについて、前記第1集合に含まれる前記複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、前記第1集合に含まれる複製元以外の要素を零にして得られる、複数個の要素a(1),…,a(N)を含む集合である第2集合または前記第2集合の秘匿文を得る第1演算部と、
    前記第2集合の1番目の要素がa(1)であり、前記第2集合のi=2,…,N番目の要素がa(i)であり、前記第2集合または前記第2集合の秘匿文を用い、1番目の要素b(1)=a(1)とi=2,…,N番目の要素b(i)=b(i−1)+a(i)とを含む集合である第3集合または前記第3集合の秘匿文を得る第2演算部と、
    を有する要素複製装置。
  2. 請求項1の要素複製装置であって、
    前記複製元の要素a(f(1)),…,a(f(M))を含む集合である第5集合または前記第5集合の秘匿文から、事前に前記要素a(f(h))−a(f(h−1))を含む集合である第4集合または前記第4集合の秘匿文が得られており、かつ、前記第1演算部が、前記第4集合または前記第4集合の秘匿文を用い、前記第2集合または前記第2集合の秘匿文を得るか、または、
    前記第1演算部が、前記第1集合または前記第1集合の秘匿文を用い、前記第2集合または前記第2集合の秘匿文を得る、要素複製装置。
  3. 請求項1または2の要素複製装置であって、
    前記要素a(1),…,a(N)の順序に沿った順序付けがなされた前記複製元の要素a(f(1)),…,a(f(M))を含む第6集合に含まれる前記複製元の要素a(f(h))をa(f(h))−a(f(h−1))にした集合である第4集合または前記第4集合の秘匿文が事前に得られており、
    前記第1演算部は、前記第4集合または前記第4集合の秘匿文を用い、前記第2集合または前記第2集合の秘匿文を得る、要素複製装置。
  4. 請求項1または2の要素複製装置であって、
    前記第1演算部は、
    前記第1集合または前記第1集合の秘匿文を用い、複製元であるか否かをソート条件として前記第1集合に含まれる前記要素a(1),…,a(N)の安定ソートを行って得られる、前記要素a(1),…,a(N)を含み、かつ、前記要素a(f(1)),…,a(f(M))の順序が連続した集合である第7集合または前記第7集合の秘匿文を得、
    前記第7集合または前記第7集合の秘匿文を用い、h=2,…,Mについて、前記第7集合に含まれる要素a(1),a(2),…,a(N)を要素a(1)=a(1),a(2)=a(2)−a(1),…,a(N)=a(N)−a(N−1)にした集合である第8集合または前記第8集合の秘匿文を得、
    前記第8集合または前記第8集合の秘匿文を用い、前記第8集合の要素をソートして複製元以外の要素を零にして得られる集合である前記第2集合、または前記第2集合の秘匿文を得る、要素複製装置。
  5. 請求項4の要素複製装置であって、
    前記第1演算部は、
    前記第1集合の秘匿文を用い、秘密計算によって前記第7集合の秘匿文を得、
    前記要素a(1),…,a(N)の安定ソートに応じて前記要素a(1),…,a(N)それぞれの順序を表す要素p(a(1)),…,p(a(N))をソートして得られる要素を含む集合である第9集合の秘匿文を得、
    前記第7集合の秘匿文を用い、秘密計算によって前記第8集合の秘匿文を得、
    前記第8集合の秘匿文および前記第9集合の秘匿文を用い、秘密計算によって、前記第8集合の要素と前記第9集合の要素との対応関係を維持しつつ、前記第8集合の要素の順序および前記第9集合の要素の順序をランダム置換して得られる、前記第8集合の要素の順序が並び替えられた集合である第10集合および前記第9集合の要素の順序が並び替えられた集合である第11集合にそれぞれ対応する、第10集合の秘匿文および第11集合の秘匿文を得、
    前記第11集合の秘匿文の復元結果および前記第10集合の秘匿文を用い、前記第10集合の要素をソートして複製元以外の要素を零にして得られる集合である前記第2集合の秘匿文を得る、要素複製装置。
  6. 請求項1の要素複製装置であって、
    前記第1演算部は、秘密計算によって前記第2集合の秘匿文を得、
    前記第2演算部は、前記第2集合の秘匿文を用い、秘密計算によって前記第3集合の秘匿文を得る、要素複製装置。
  7. 第1集合が、順序付けされた複数個の要素a(1),…,a(N)を含む集合であり、前記複数個の要素a(1),…,a(N)からなる集合が複数個の複製元の要素a(f(1)),…,a(f(M))を含み、複製元の要素a(f(h))よりも順序が前であって前記複製元の要素a(f(h))に順序が最も近い複製元の要素a(f(h−1))の加法逆元が−a(f(h−1))であり、第1演算部で、h=2,…,Mについて、前記第1集合に含まれる前記複製元の要素a(f(h))を要素a(f(h))−a(f(h−1))にし、前記第1集合に含まれる複製元以外の要素を零にして得られる、複数個の要素a(1),…,a(N)を含む集合である第2集合または前記第2集合の秘匿文を得る第1ステップと、
    前記第2集合の1番目の要素がa(1)であり、前記第2集合のi=2,…,N番目の要素がa(i)であり、第2演算部で、前記第2集合または前記第2集合の秘匿文を用い、1番目の要素b(1)=a(1)とi=2,…,N番目の要素b(i)=b(i−1)+a(i)とを含む集合である第3集合または前記第3集合の秘匿文を得る第2ステップと、
    を有する要素複製方法。
  8. 請求項1の要素複製装置としてコンピュータを機能させるためのプログラム。
JP2015557727A 2014-01-17 2014-11-28 要素複製装置、要素複製方法、およびプログラム Active JP6067890B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014006618 2014-01-17
JP2014006618 2014-01-17
PCT/JP2014/081546 WO2015107780A1 (ja) 2014-01-17 2014-11-28 要素複製装置、要素複製方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP6067890B2 JP6067890B2 (ja) 2017-01-25
JPWO2015107780A1 true JPWO2015107780A1 (ja) 2017-03-23

Family

ID=53542684

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015557727A Active JP6067890B2 (ja) 2014-01-17 2014-11-28 要素複製装置、要素複製方法、およびプログラム

Country Status (5)

Country Link
US (1) US10050775B2 (ja)
EP (1) EP3096308B1 (ja)
JP (1) JP6067890B2 (ja)
CN (1) CN105917400B (ja)
WO (1) WO2015107780A1 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11480991B2 (en) * 2018-03-12 2022-10-25 Nippon Telegraph And Telephone Corporation Secret table reference system, method, secret calculation apparatus and program
WO2019225401A1 (ja) 2018-05-25 2019-11-28 日本電信電話株式会社 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
CN112395623B (zh) * 2019-08-19 2023-09-29 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和电子设备

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5731090A (en) * 1980-07-31 1982-02-19 Matsushita Electric Ind Co Ltd Pattern distance calculation devices
US8650634B2 (en) * 2009-01-14 2014-02-11 International Business Machines Corporation Enabling access to a subset of data
WO2012067214A1 (ja) * 2010-11-15 2012-05-24 日本電気株式会社 情報処理装置、情報処理方法、及び、プログラム
CN102426690B (zh) * 2011-07-30 2013-08-07 成都信息工程学院 一种数字图像秘密分享及恢复方法

Also Published As

Publication number Publication date
JP6067890B2 (ja) 2017-01-25
CN105917400A (zh) 2016-08-31
WO2015107780A1 (ja) 2015-07-23
EP3096308B1 (en) 2019-09-25
US20160330016A1 (en) 2016-11-10
EP3096308A1 (en) 2016-11-23
CN105917400B (zh) 2019-03-15
US10050775B2 (en) 2018-08-14
EP3096308A4 (en) 2018-01-10

Similar Documents

Publication Publication Date Title
US11164484B2 (en) Secure computation system, secure computation device, secure computation method, and program
WO2016208437A1 (ja) 秘密計算装置、秘密計算方法、およびプログラム
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
EP3863003B1 (en) Hidden sigmoid function calculation system, hidden logistic regression calculation system, hidden sigmoid function calculation device, hidden logistic regression calculation device, hidden sigmoid function calculation method, hidden logistic regression calculation method, and program
JP6534778B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6067890B2 (ja) 要素複製装置、要素複製方法、およびプログラム
JP2016146530A (ja) 秘密公開方法、秘密公開システム、秘密公開装置、およびプログラム
JP2014164145A (ja) 秘密集合演算装置及び方法
JP6585846B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6367959B2 (ja) 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム
JP6825119B2 (ja) 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP2014164144A (ja) 秘密表除算装置及び方法
JPWO2020031281A1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP6981473B2 (ja) 秘密読み書き装置、秘密読み書き方法、およびプログラム
JP7205623B2 (ja) 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム
Wang et al. Towards Bootstrapping-free Homomorphic Encryption based GRU Network for Text Classification
Wijayanto et al. Reduce Rounding Off Errors in Information Dispersal Algorithm
CN116894254A (zh) 使用同态加密运算的装置和方法
JPWO2019176520A1 (ja) 秘密計算装置、秘密計算方法、プログラム、および記録媒体
Sun A Novel Matrix-Encoding Method for Privacy-Preserving Neural Networks (Inference)

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161116

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161221

R150 Certificate of patent or registration of utility model

Ref document number: 6067890

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150