JP5689845B2 - 秘密計算装置、秘密計算方法、およびプログラム - Google Patents

秘密計算装置、秘密計算方法、およびプログラム Download PDF

Info

Publication number
JP5689845B2
JP5689845B2 JP2012069049A JP2012069049A JP5689845B2 JP 5689845 B2 JP5689845 B2 JP 5689845B2 JP 2012069049 A JP2012069049 A JP 2012069049A JP 2012069049 A JP2012069049 A JP 2012069049A JP 5689845 B2 JP5689845 B2 JP 5689845B2
Authority
JP
Japan
Prior art keywords
vector
encryption
group
elements
encrypted
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
JP2012069049A
Other languages
English (en)
Other versions
JP2013200461A (ja
Inventor
浩気 濱田
浩気 濱田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012069049A priority Critical patent/JP5689845B2/ja
Publication of JP2013200461A publication Critical patent/JP2013200461A/ja
Application granted granted Critical
Publication of JP5689845B2 publication Critical patent/JP5689845B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号応用技術に関するものであり、特に表のデータを暗号化したまま、共通のキーをもとに表の結合を行う技術に関する。
暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1参照)。非特許文献1に記載された方法では、3個の秘密計算装置に数値の断片を分散させるという暗号化を行い、数値を復元すること無く、加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)などを実行し、それらの実行結果を3個の秘密計算装置に分散された状態、すなわち暗号化されたまま保持させる。
秘密計算による行列の結合演算を実現した方法として、非特許文献2の方法がある。非特許文献2の方法では、秘密計算によって、まず複数の表の直積(表の要素からなる集合の直積)を計算し、その後、得られた直積集合の要素からなる行列から結合後の表に含まれない行を削除することにより、秘密計算上での結合の演算を実現している。
千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, "軽量検証可能3パーティ秘匿関数計算の再考," In CSS, 2010. 志村正法, 遠藤つかさ, 宮崎邦彦, 吉浦裕, "安全で機能制限のないデータベースを実現するマルチパーティプロトコルを用いた関係代数演算," 情報処理学会研究報告, CSEC, Vol. 2008, No. 71, pp. 187-193, 2008.
しかし、従来の方法では、結合する表の個数がL、各表T(i)(i=1,...,L)の行数がそれぞれM(i)である場合、計算時間がO(Πi=1,...,L M(i))と膨大になってしまう。
本発明の目的は、従来よりも少ない計算時間で、秘密計算による行列の結合演算を実現する技術を提供することを目的とする。
まず、入力暗号化行列[T]の暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]をランダム置換し、置換暗号化行列[RT]を得る。ただし、N(i),M(i)が1以上の整数、Lが2以上の整数、i=1,...,L、n(i)=1,...,N(i)、各エントリEi,n(i)に対応するM(i)個の属性Ai,1,...,Ai,M(i)の属性値を要素とする属性ベクトルがVi,n(i)、属性ベクトルVi,1,...,Vi,N(i)からなる行列がT、属性ベクトルVi,n(i)の各要素の暗号文を要素とするベクトルが暗号化属性ベクトル[Vi,n(i)]、暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]からなる行列が入力暗号化行列[T]である。
次に、暗号化キーベクトル[k]の各要素[KEi,n(i)](n(i)=1,...,N(i))に対し、暗号化タグベクトル[t]の各要素[TEi,n(i)](n(i)=1,...,N(i))を対応付ける。ただし、何れかの属性A∈{Ai,1,...,Ai,M(i)}のすべてのエントリEi,1,...,Ei,N(i)に対応する属性値を要素とするベクトルがキーベクトルk、キーベクトルkに対応する置換暗号化行列[RT]の要素[KEi,n(i)]からなるベクトルが暗号化キーベクトル[k]、N(i)個の互いに異なる要素TEi,n(i)の暗号文[TEi,n(i)]を要素とするベクトルが暗号化タグベクトル[t]である。
次に、暗号化キーベクトル[k],...,[k]のすべての要素からなる暗号化結合キーベクトル[k]、および、暗号化タグベクトル[t],...,[t]のすべての要素からなる暗号化結合タグベクトル[t]を得る。
次に、グループベクトルgの要素GEi,1,...,GEi,N(i)(i=1,...,L)の暗号文[GEi,1],...,[GEi,N(i)]からなる暗号化グループベクトル[g]を生成する。ただし、暗号化結合キーベクトル[k]に含まれる属性値ATT(p)(p∈{1,...,P}、Pは正整数)に対応するL個の要素からなる集合がグループG(p)であり、グループG(p)にグループ値GV(p)が対応し、互いに異なるグループG(p)には互いに異なるグループ値GV(p)が対応する。いずれのグループG(p)にも属さない暗号化結合キーベクトル[k]の要素にはいずれのグループ値GV(p)とも異なる規定値が対応する。グループG(p)に属する要素[KEi,n(i,p)](n(i,p)∈{1,...,N(i)})に対応する要素GEi,n(i,p)がグループ値GV(p)、いずれのグループG(p)にも属さない要素[KEi,n(i,q)](n(i,q)≠n(i,p)、n(i,q)∈{1,...,N(i)})に対応する要素GEi,n(i,q)が規定値である。
次に、暗号化結合タグベクトル[t]および暗号化グループベクトル[g]の各要素の対応関係を保ちつつ、暗号化結合タグベクトル[t]および暗号化グループベクトル[g]の各要素をランダム置換し、置換暗号化グループベクトル[rt]および置換暗号化結合タグベクトル[rg]を得る。
次に、置換暗号化グループベクトル[rg]の復元値である復元グループベクトルrg、および置換暗号化結合タグベクトル[rt]の復元値である復元結合タグベクトルrtを用い、復元グループベクトルrgの要素GEi,n(i,p)に対応する復元結合タグベクトルrtの要素TEi,n(i,p)を得、置換暗号化行列[RT]から要素TEi,n(i,p)に対応する暗号化属性ベクトル[Vi,n(i,p)]を得、すべての暗号化属性ベクトル[Vi,n(i,p)]からなる暗号化行列[S]を出力する。
本発明では、各行列Tのキーベクトルkに対応する暗号化キーベクトル[k]を用い、結合行列の暗号文である暗号化行列[S]を構成する暗号化属性ベクトル[Vi,n(i,p)]を得てから暗号化行列[S]を生成する。そのため、結合される全ての表の直積を計算する従来の方法に比べて少ない計算時間で、秘密計算による行列の結合演算を行うことができる。
図1は、実施形態の秘密結合システムの構成を表す図である。 図2Aは、実施形態の秘密計算装置の構成を表す図である。図2Bは、実施形態の抽象化グループ計算部の具体例を表す図である。 図3は、実施形態の秘密計算装置の処理を説明するための図である。 図4は、抽象化グループ計算方法の具体例を説明するための図である。
図面を参照して本発明の実施形態を説明する。
<構成>
図1に例示するように、本形態の秘密結合システム1は、Q個(Qは2以上の整数)の秘密計算装置11−q(q=1,...,Q)、および生成装置12を有する。Q個の秘密計算装置11−q、および生成装置12は、ネットワークを通じた通信が可能に構成されている。
図2に例示するように、本形態の秘密計算装置11−qは、入力部111a−q、出力部111b−q、表シャッフル部112−q、タグ付け部113−q、ベクトル結合部114−q、抽象化グループ計算部115−q、タグシャッフル部116−q、行列結合部117−q、制御部118−q、および記憶部119−qを有する。図2Bに例示するように、本形態の抽象化グループ計算部115−qは、ソート部1151−q、連続検知部1152−q、代表計算部1153−q、およびグループ計算部1154−qを有する。
秘密計算装置11−qおよび生成装置12は、例えば、CPU(central processing unit)、RAM(random-access memory)などから構成される公知または専用のコンピュータに所定のプログラムが読み込まれることで構成される特別な装置である。秘密計算装置11−qおよび生成装置12は、それぞれ制御部118−qおよび128の制御のもとで各処理を実行する。秘密計算装置11−qおよび生成装置12は、入力データおよび各処理で得られたデータを記憶部119−qおよび129にそれぞれ格納する。秘密計算装置11−qおよび生成装置12は、それぞれ、記憶部119−qおよび129に格納されたデータを用いて各処理を実行する。
<方法>
本形態の各処理は、暗号化、復元、ならびに秘密計算による加算、乗算、等号判定、ランダム置換およびソートからなる。本形態の秘密計算による加算や乗算は、暗号文を入力とし、暗号文に対応する平文の加算や乗算結果の暗号文を出力する処理である。本形態の秘密計算による等号判定は、秘匿関数計算で等号判定を行う2つの値α,βの暗号文[α],[β]を入力とし、α=βの場合には値1の暗号文を、そうでない場合は値0の暗号文を出力する処理である。本形態の秘密計算によるランダム置換は、秘匿関数計算でランダム置換を行う暗号文の組[α]の平文αの各要素をランダムに置換した平文βの各要素を暗号化した暗号文の組[β]を計算し、[α]と[β]の各要素の対応が誰にもわからないようにする処理である。本形態の秘密計算によるソートは、秘匿関数計算でソートを行う暗号文の組[α]の平文αの各要素を指定したソートキーの値に従って整列(ソート)した平文βの各要素を暗号化した暗号文の組[β]を計算し、[α]と[β]の各要素の対応が誰にもわからないようにする処理である。
暗号化、復元、ならびに秘密計算による加算および乗算としては、例えば参考文献1「五十嵐大, 千田浩司, 濱田浩気, 高橋克巳, “軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理”, In SCIS, pp. 1-8, 2011.」に記載された方法を用いることができる。秘密計算による等号判定としては、例えば参考文献2「Ronald Cramer and Ivan Damgard, “Secure distributed linear algebra in a constant number of rounds,” In Joe Kilian, editor, CRYPTO, Vol. 2139 of LNCS, pp. 119-136. Springer, 2001.」の7.1に記載された方法を用いることができる。秘密計算によるランダム置換としては、例えば参考文献3「濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “3パーティ秘匿関数計算上のランダム置換プロトコル,” In CSS, pp. 1-6, 2010.」に記載された方法を用いることができる。秘密計算によるソートとしては、例えば参考文献4「濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “秘匿関数計算上の線形時間ソート”, In SCIS, pp. 1-7, 2011.」に記載された方法を用いることができる。参考文献1〜4に例示した各処理はよく知られた秘密分散に基づくものであり、暗号化は秘密分散、復元は所定個の分散値からの復元、その他の処理は秘密分散値の線形演算である。しかしながら、これらは本発明を限定するものではなく、論理回路を秘匿化することで秘密計算を行う方法、準同型関数暗号を用いた方法、その他の公知の秘密計算方法によって各処理が実行されてもよい。以下に本形態の秘密結合方法の詳細を説明する。
<生成装置での処理>
生成装置12には、結合演算の対象となるL個の表を表す行列T(i=1,...,L、Lが2以上の整数)が格納されている。本形態の行列Tは、N(i)(N(i)は1以上の整数)個の属性ベクトルVi,1,...,Vi,N(i)からなる。属性ベクトルVi,n(i)(n(i)=1,...,N(i))は、それぞれ、M(i)(M(i)は1以上の整数)個の属性Ai,1,...,Ai,M(i)の属性値を要素とするベクトル(レコード)である。各属性ベクトルVi,n(i)は各エントリEi,n(i)に対応する。ただし、n(i)は属性ベクトルVi,n(i)の順序や行列T内の位置を表すものではない。属性ベクトルVi,n(i)は、行列Tの行ベクトルであってもよいし、列ベクトルであってもよい。本形態では、属性ベクトルVi,n(i)が行列Tの行ベクトルである場合を例示する。
生成装置12は、行列Tを暗号化し、行列Tの暗号文である入力暗号化行列[T]を生成する。各行列Tに対応する入力暗号化行列[T]は例えばQ個に分散された暗号文の断片である。所定個数以上の入力暗号化行列[T]が与えられれば行列Tを復元できるが、所定個数未満の入力暗号化行列[T]からは行列Tの情報は得られない。例えば、参考文献1の方法で暗号化される場合、入力暗号化行列[T]は行列Tの各要素の秘密分散値を各要素とする行列となる。各入力暗号化行列[T]は、N(i)個の暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]から構成される。暗号化属性ベクトル[Vi,n(i)]は、属性ベクトルVi,n(i)の各要素の暗号文を要素とするベクトル(本形態では行ベクトル)である。L個の入力暗号化行列[T],...,[T]は、ネットワークを通じて各秘密計算装置11−qに送信される。
<秘密計算装置11−qでの処理>
各秘密計算装置11−qは、入力暗号化行列[T],...,[T]を入力として、予め指定された列をキーとした暗号化行列の結合を行い、新しい表を表す行列の暗号文[S]を生成して出力する。以下、この結合処理を説明する。
《表シャッフルステップ》
図3に例示するように、入力暗号化行列[T],...,[T]は、各秘密計算装置11−qの入力部111a−qに入力され、表シャッフル部112−qに入力される(ステップS1)。表シャッフル部112−qは、入力暗号化行列[T]ごとに独立に、暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]をランダム置換し、それによって置換暗号化行列[RT]を得て出力する。このランダム置換は、入力暗号化行列[T]を構成する暗号化属性ベクトルの順序を暗号化属性ベクトル単位でランダムに置換する処理(例えば、前述の「秘密計算によるランダム置換」)である(ステップS2)。
《タグ付けステップ》
タグ付け部113−qは、各置換暗号化行列[RT]に対し、N(i)個の互いに異なる要素TEi,1,...,TEi,N(i)(例えば0以外の要素)からなるタグベクトルtを生成する。本形態のタグベクトルtは、各置換暗号化行列[RT]の行数と同じ個数の要素を持つ列ベクトルである。本形態の各要素TEi,1,...,TEi,N(i)は0以外の整数であり、TE1,1,...,TE1,N(1),...,TEL,1,...,TEL,N(L)は互いに重複する値をとらない。
またタグ付け部113−qは、タグベクトルtの暗号文である暗号化タグベクトル[t]を生成する。本形態の暗号化タグベクトル[t]は、タグベクトルtの要素TEi,n(i)の暗号文[TEi,n(i)](n(i)=1,...,N(i))を要素とするN(i)次元ベクトルである。さらにタグ付け部113−qは、暗号化タグベクトル[t]の各要素[TEi,n(i)](n(i)=1,...,N(i))を、置換暗号化行列[RT]に含まれる暗号化キーベクトル[k]の各要素[KEi,n(i)](n(i)=1,...,N(i))に対応付けて出力する。ただし暗号化キーベクトル[k]は、行列Tのキーベクトルkに対応する置換暗号化行列[RT]の要素[KEi,n(i)]からなる。本形態では各置換暗号化行列[RT]の何れかの列ベクトルが暗号化キーベクトル[k]とされる。またキーベクトルkは、何れかの1個の属性A∈{Ai,1,...,Ai,M(i)}のすべてのエントリEi,1,...,Ei,N(i)に対応する属性値を要素とするベクトルである(ステップS3)。
《ベクトル結合ステップ》
ベクトル結合部114−qに、暗号化キーベクトル[k],...,[k]および暗号化タグベクトル[t],...,[t]が入力される。ベクトル結合部114−qは、暗号化キーベクトル[k],...,[k]のすべての要素からなる暗号化結合キーベクトル[k]、および、暗号化タグベクトル[t],...,[t]のすべての要素からなる暗号化結合タグベクトル[t]を得て出力する。言い換えると、ベクトル結合部114−qは、暗号化キーベクトル[k],...,[k]を連結して暗号化結合キーベクトル[k]を生成し、暗号化タグベクトル[t],...,[t]を連結して暗号化結合タグベクトル[t]を生成する。本形態では暗号化キーベクトル[k],...,[k]および暗号化タグベクトル[t],...,[t]は列ベクトルであるため、ベクトル結合部114−qは、暗号化キーベクトル[k],...,[k]を列方向につなげて暗号化結合キーベクトル[k]を得、暗号化タグベクトル[t],...,[t]を列方向につなげて暗号化結合タグベクトル[t]を得る(ステップS4)。
《抽象化グループ計算ステップ》
抽象化グループ計算部115−qに、暗号化結合キーベクトル[k]および暗号化結合タグベクトル[t]が入力される。抽象化グループ計算部115−qは、これらを用いて暗号化グループベクトル[g]を得て出力する。ただし、暗号化グループベクトル[g]は、グループベクトルgの要素GEi,1,...,GEi,N(i)(i=1,...,L)の暗号文[GEi,1],...,[GEi,N(i)]からなるベクトルである。また、グループベクトルgの要素GEi,1,...,GEi,N(i)は、以下を満たす要素である。
暗号化結合キーベクトル[k]に含まれる属性値ATT(p)(p∈{1,...,P}、Pは正整数)に対応するL個の要素からなる集合をグループG(p)とする。言い換えると、グループG(p)に属するL個の要素[KEi,n(i,p)](n(i,p)∈{1,...,N(i)})の復元値はすべて属性値ATT(p)である。グループG(p)にはグループ値GV(p)(例えば0以外の値)が割り当てられる。互いに異なるグループG(p)には、互いに異なるグループ値GV(p)が割り当てられる。いずれのグループG(p)にも属さない暗号化結合キーベクトル[k]の要素には、いずれのグループ値GV(p)とも異なる規定値(例えば0)が割り当てられる。グループG(p)に属する要素[KEi,n(i,p)](n(i,p)∈{1,...,N(i)})に対応する要素GEi,n(i,p)は、上記グループ値GV(p)である。いずれのグループG(p)にも属さない要素[KEi,n(i,q)](n(i,q)≠n(i,p)、n(i,q)∈{1,...,N(i)})に対応する要素GEi,n(i,q)は、上記規定値である。
[暗号化グループベクトルの生成方法の一例]
図4を用い、暗号化グループベクトル[g]の生成方法の一例を示す。以下の例では、要素TEi,n(i)が0以外に設定されることを前提とする。
まず、ソート部1151−qに暗号化結合キーベクトル[k]および暗号化結合タグベクトル[t]が入力される。ソート部1151−qは、これらの各要素の対応関係を保ちつつ、[k]および[t]の各要素に対し、[k]の要素に対応する属性値(復元値)をキーとしたソートを行い、ソートベクトル[sk]および[st]を得て出力する。言い換えると、ソート部1151−qは、([k],[t])を[k]の要素に対応する復元値をソートキーとしたソートを行い、([sk],[st])を得る。このソートは、例えば前述の「秘密計算によるソート」によって行われる(ステップS51)。
次に連続検知部1152−qが、ソートベクトル[sk]を入力とし、N個の要素[EE],...,[EE]からなる暗号化等号ベクトル[e]を得て出力する。すなわち連続検知部1152−qは、例えば、前述の「秘密計算による等号判定」により、ソートベクトル[sk]の要素[KE](n=1,...,N、N=N(1)+... +N(L))のうち、各属性値ATT(p)(p∈{1,...,P})にそれぞれ対応するL個の要素[KEr(p)],...,[KEr(p)+L−1](r(p)∈{1,...,N})を特定する。連続検知部1152−qは、特定された要素[KEr(p)],...,[KEr(p)+L−1]のうち要素[KEr(p)]に対応する要素[EEr(p)]をそれぞれ1とし、当該要素[EEr(p)](p=1,...,P)以外の要素をそれぞれ0とし、暗号化等号ベクトル[e]の要素[EE],...,[EE]を定める。
例えば、連続検知部1152−qは、秘密計算による等号判定により、ソートベクトル[sk]の各要素[KE](n=1,...,N、N=N(1)+... +N(L))を要素[KEn+L−1]と比較する。ここで、要素[KEn+L−1]が存在しないか、要素[KE]の復元値が要素[KEn+L−1]の復元値と相違する場合、連続検知部1152−qは、値0を暗号化して得られる値を要素[KE]とする。一方、要素[KE]の復元値が要素[KEn+L−1]の復元値と一致する場合、連続検知部1152−qは、値1を暗号化して得られる値を要素[KE]とする(ステップS52)。
次にソートベクトル[st]および暗号化等号ベクトル[e]が代表計算部1153−qに入力される。代表計算部1153−qは、ソートベクトル[st]の要素[TE]と暗号化等号ベクトル[e]の要素[EE]との乗算値を要素[XE](n=1,...,N)とする代表ベクトル[x]を得て出力する。本形態ではソートベクトル[st]および暗号化等号ベクトル[e]は列ベクトルであり、代表ベクトル[x]は、ソートベクトル[st]と暗号化等号ベクトル[e]との間の対応する要素同士の積を要素とするベクトルで表される。
[x]=[st](×)[e]
ただし(×)は、同一次元ベクトル間の対応する要素同士の乗算を行う演算子を表す(ステップS53)。
次に代表ベクトル[x]がグループ計算部1154−qに入力される。グループ計算部1154−qは、
Figure 0005689845

の復元値が[g][w]の復元値と等しくなる暗号化グループベクトル[g]を生成して出力する。ただし、[g][w]は、暗号化グループベクトル[g]のw+1番目の要素を表し、[x][j]は、代表ベクトル[x]のj+1番目の要素を表す。この処理は、例えば、上述の「秘密計算による加算」を用いて行われる(ステップS54/[暗号化グループベクトルの生成方法の一例]の説明終了)。
≪タグシャッフルステップ≫
図3に示すように、次にタグシャッフル部116−qに、ソートベクトル[st]および暗号化グループベクトル[g]が入力される。タグシャッフル部116−qは、ソートベクトル[st]および暗号化グループベクトル[g]の各要素の対応関係(暗号化結合タグベクトル[t]および暗号化グループベクトル[g]の各要素の対応関係)を保ちつつ、これらの各要素をランダム置換(例えば、秘密計算によるランダム置換)し、置換暗号化グループベクトル[rt]および置換暗号化結合タグベクトル[rg]を得て出力する。本形態では、ソートベクトル[st]、暗号化結合タグベクトル[t]、および暗号化グループベクトル[g]が列ベクトルであるため、タグシャッフル部116−qは、([st],[g])の行の対応を維持したまま〔([t],[g])の行の対応を維持したまま〕、各要素をランダム置換(例えば、秘密計算によるランダム置換)し、([rt],[rg])を得る(ステップS6)。
≪行列結合ステップ≫
次に、置換暗号化グループベクトル[rg]、置換暗号化結合タグベクトル[rt]、および置換暗号化行列[RT]が行列結合部117−qに入力される。行列結合部117−qは、置換暗号化グループベクトル[rg]および置換暗号化結合タグベクトル[rt]を復元し、置換暗号化グループベクトル[rg]の復元値である復元グループベクトルrg、および置換暗号化結合タグベクトル[rt]の復元値である復元結合タグベクトルrtを得る。行列結合部117−qは、復元グループベクトルrgおよび復元結合タグベクトルrtを用い、復元グループベクトルrgの要素GEi,n(i,p)=GV(p)(p∈{1,...,P})に対応する、復元結合タグベクトルrtの要素TEi,n(i,p)(p∈{1,...,P})を得る。さらに行列結合部117−qは、置換暗号化行列[RT]から要素TEi,n(i,p)に対応する暗号化属性ベクトル[Vi,n(i,p)](レコード)を得、得られたすべての暗号化属性ベクトル[Vi,n(i,p)](i=1,...,L、p∈{1,...,P})からなる暗号化行列[S]を得て出力する。例えば行列結合部117−qは、以下のように暗号化行列[S]を生成する(ステップS7)。
Figure 0005689845
出力部111b−qは暗号化行列[S]を出力する(ステップS8)。当該暗号化行列[S]は、ネットワークを介して生成装置12に送られる。生成装置12は、当該暗号化行列[S]から行列Sを復元する。
次に具体的な値を示しつつ、秘密計算装置11−qでの処理の実施例を説明する。
《表シャッフルステップ》
実施例ではL=3であり、以下の行列T,T,Tの暗号文である入力暗号化行列[T],[T],[T]が表シャッフル部112−qに入力される。
Figure 0005689845
表シャッフル部112−qは、入力暗号化行列[T],[T],[T]ごとに独立に、入力暗号化行列[T],[T],[T]の行ベクトルをランダム置換(秘密計算によるランダム置換)し、それによって以下の行列RT,RT,RTの暗号文である置換暗号化行列[RT],[RT],[RT]を得て出力する(ステップS2)。
Figure 0005689845

ただし、行列RTは第1列k=(2,4,5,1,6)を、行列RTは第1列k=(7,2,6,8)を、行列RTは第2列k=(1,5,6,2,7)を、それぞれキーとする。ただし、αはαの転置表す。
《タグ付けステップ》
タグ付け部113−qは、以下のタグベクトルt,t,tの暗号文である暗号化タグベクトル[t],[t],[t]を生成し、それぞれの要素をキーベクトルk,k,kの暗号文である暗号化キーベクトル[k],[k],[k]の各要素に対応付ける。タグ付け部113−qは、暗号化タグベクトル[t],[t],[t]を出力する(ステップS3)。
Figure 0005689845

Figure 0005689845

Figure 0005689845
《ベクトル結合ステップ》
ベクトル結合部114−qは、暗号化キーベクトル[k],[k],[k]および暗号化タグベクトル[t],[t],[t]をそれぞれ列方向に連結し、以下の結合キーベクトルkおよび結合タグベクトルtの暗号文である、暗号化結合キーベクトル[k]および暗号化結合タグベクトル[t]を得て出力する(ステップS4)。
Figure 0005689845
《抽象化グループ計算ステップ》
抽象化グループ計算部115−qのソート部1151−qは、([k],[t])から以下のベクトル(sk,st)の暗号文であるソートベクトル([sk],[st])を得て出力する(ステップS51)。連続検知部1152−qは、ソートベクトル[sk]から以下の等号ベクトルeの暗号文である暗号化等号ベクトル[e]を得て出力する(ステップS52)。代表計算部1153−qは、ソートベクトル[st]および暗号化等号ベクトル[e]から以下のベクトルxの暗号文である代表ベクトル[x]を得て出力する(ステップS53)。グループ計算部1154−qは、代表ベクトル[x]を用いて以下のグループベクトルgの暗号文である暗号化グループベクトル[g]を得て出力する(ステップS54)。
Figure 0005689845
≪タグシャッフルステップ≫
タグシャッフル部116−qは、([st],[g])の行の対応を維持したまま、これらの各要素をランダム置換(秘密計算によるランダム置換)し、以下のベクトルrt,rgの暗号文である([rt],[rg])を得て出力する(ステップS6)。
Figure 0005689845
≪行列結合ステップ≫
行列結合部117−qは、([rt],[rg])を復元してrt,rgを得る。行列結合部117−qは、復元グループベクトルrgの要素“15”,“22”に対応する、復元結合タグベクトルrtの要素“23”,“11”,“34”,“33”,“22”,“15”を得る。さらに行列結合部117−qは、置換暗号化行列[RT],[RT],[RT]から復元結合タグベクトルrtの要素“23”,“11”,“34”,“33”,“22”,“15”に対応する属性ベクトル(6,radix,1),(2,83,9),(2.6,2),(5.9,6),(2,merge,0),(6,39,0)に対応する暗号化属性ベクトルを得る。行列結合部117−qは、このように得られたすべての暗号化属性ベクトルから、以下の行列Sの暗号文である暗号化行列[S]を得て出力する。
Figure 0005689845
<本形態の特徴>
本形態では、暗号化された各表のキーに対応する暗号化結合キーベクトルを取り出し、当該暗号化結合キーベクトルに同じキーに対応する要素がL個(表の個数)存在する場合にそれらの要素を抽出し、抽出した要素に対応する各表のレコードの暗号文をつなぎ合わせることで表の結合を行う。暗号化結合キーベクトルの要素の個数はそれに対応する各表の大きさの和と一致し、計算時間も各表のソートに要する時間の和に比例する。具体的には、本形態では、各表T(i)(i=1,...,L)の行数がそれぞれM(i)で、表のソートにO(M(i) log M(i))の計算時間を要する場合、O(Σi=1,...,L M(i)log M(i))の計算時間で表の結合を行うことができる。
また本形態では、表シャッフル部で入力暗号化行列を構成する暗号化属性ベクトルをランダム置換し、それによって得られた置換暗号化行列に暗号化タグベクトルを対応付け、暗号化タグベクトルを用いて結合されるレコードを取り出して暗号化行列を結合する。これにより、入力暗号化行列の要素と暗号化行列の要素との対応関係をかく乱できるため秘匿性が高い。
また本形態では、タグ付け部でタグベクトルが暗号化されるため、タグ付け部よりも後の処理が別の装置で分散処理される場合であっても秘匿性が保たれる。また、タグシャッフル部で暗号化結合タグベクトルおよび暗号化グループベクトルの各要素をランダム置換することとしたため、タグシャッフル部よりも後の処理が別の装置で分散処理される場合であっても秘匿性が保たれる。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、上記実施形態で説明した行と列とを入れ替えて、同様な処理が実行されてもよい。すなわち、上記実施形態では、暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]が入力暗号化行列[T]の行ベクトルであり、かつ、暗号化キーベクトル[k]が置換暗号化行列[RT]の何れかの列ベクトルであった。しかしながら、暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]が入力暗号化行列[T]の列ベクトルであり、かつ、暗号化キーベクトル[k]が置換暗号化行列[RT]の何れかの行ベクトルであってもよい。
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、秘密計算装置を構成する機能構成が複数の装置に分散配置されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、コンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
11 秘密計算装置
12 生成装置

Claims (6)

  1. N(i),M(i)が1以上の整数、Lが2以上の整数、i=1,...,L、n(i)=1,...,N(i)、各エントリEi,n(i)に対応するM(i)個の属性Ai,1,...,Ai,M(i)の属性値を要素とする属性ベクトルがVi,n(i)、前記属性ベクトルVi,1,...,Vi,N(i)からなる行列がT、前記属性ベクトルVi,n(i)の各要素の暗号文を要素とするベクトルが暗号化属性ベクトル[Vi,n(i)]、前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]からなる行列が入力暗号化行列[T]であり、前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]をランダム置換し、置換暗号化行列[RT]を得る表シャッフル部と、
    何れかの属性A∈{Ai,1,...,Ai,M(i)}のすべてのエントリEi,1,...,Ei,N(i)に対応する属性値を要素とするベクトルがキーベクトルk、前記キーベクトルkに対応する前記置換暗号化行列[RT]の要素[KEi,n(i)]からなるベクトルが暗号化キーベクトル[k]、N(i)個の互いに異なる要素TEi,n(i)の暗号文[TEi,n(i)]を要素とするベクトルが暗号化タグベクトル[t]であり、前記暗号化キーベクトル[k]の各要素[KEi,n(i)](n(i)=1,...,N(i))に対し、前記暗号化タグベクトル[t]の各要素[TEi,n(i)](n(i)=1,...,N(i))を対応付けるタグ付け部と、
    前記暗号化キーベクトル[k],...,[k]のすべての要素からなる暗号化結合キーベクトル[k]、および、前記暗号化タグベクトル[t],...,[t]のすべての要素からなる暗号化結合タグベクトル[t]を得るベクトル結合部と、
    前記暗号化結合キーベクトル[k]に含まれる属性値ATT(p)(p∈{1,...,P}、Pは正整数)に対応するL個の要素からなる集合がグループG(p)であり、前記グループG(p)にグループ値GV(p)が対応し、互いに異なる前記グループG(p)には互いに異なる前記グループ値GV(p)が対応し、いずれの前記グループG(p)にも属さない前記暗号化結合キーベクトル[k]の要素にはいずれの前記グループ値GV(p)とも異なる規定値が対応し、要素GEi,1,...,GEi,N(i)(i=1,...,L)からなるベクトルがグループベクトルg、前記グループG(p)に属する前記要素[KEi,n(i,p)](n(i,p)∈{1,...,N(i)})に対応する前記要素GEi,n(i,p)が前記グループ値GV(p)、いずれの前記グループG(p)にも属さない前記要素[KEi,n(i,q)](n(i,q)≠n(i,p)、n(i,q)∈{1,...,N(i)})に対応する前記要素GEi,n(i,q)が前記規定値であり、前記要素GEi,1,...,GEi,N(i)の暗号文[GEi,1],...,[GEi,N(i)]からなる暗号化グループベクトル[g]を生成する抽象化グループ計算部と、
    前記暗号化結合タグベクトル[t]および前記暗号化グループベクトル[g]の各要素の対応関係を保ちつつ、前記暗号化結合タグベクトル[t]および前記暗号化グループベクトル[g]の各要素をランダム置換し、置換暗号化グループベクトル[rt]および置換暗号化結合タグベクトル[rg]を得るタグシャッフル部と、
    前記置換暗号化グループベクトル[rg]の復元値である復元グループベクトルrg、および前記置換暗号化結合タグベクトル[rt]の復元値である前記復元結合タグベクトルrtを用い、前記復元グループベクトルrgの要素GEi,n(i,p)に対応する前記復元結合タグベクトルrtの要素TEi,n(i,p)を得、前記置換暗号化行列[RT]から前記要素TEi,n(i,p)に対応する暗号化属性ベクトル[Vi,n(i,p)]を得、すべての前記暗号化属性ベクトル[Vi,n(i,p)]からなる暗号化行列[S]を出力する行列結合部と、
    を有する秘密計算装置。
  2. 請求項1の秘密計算装置であって、
    前記要素TEi,n(i)が0以外であり、
    前記抽象化グループ計算部は、
    前記暗号化結合キーベクトル[k]および前記暗号化結合タグベクトル[t]の各要素の対応関係を保ちつつ、前記暗号化結合キーベクトル[k]および前記暗号化結合タグベクトル[t]の各要素に対し、前記暗号化結合キーベクトル[k]の要素に対応する属性値をキーとしたソートを行い、ソートベクトル[sk]および[st]を得るソート部と、
    前記ソートベクトル[sk]の要素[KE](n=1,...,N、N=N(1)+... +N(L))のうち、同一の前記属性値ATT(p)(p∈{1,...,P})に対応するL個の要素[KEr(p)],...,[KEr(p)+L−1](r(p)∈{1,...,N})を特定し、前記要素[KEr(p)](p=1,...,P)に対応する要素[EEr(p)]をそれぞれ1とし、前記要素[EEr(p)](p=1,...,P)以外の要素を0としたN個の要素[EE],...,[EE]からなる暗号化等号ベクトル[e]を得る連続検知部と、
    前記ソートベクトル[st]の要素[TE]と前記暗号化等号ベクトル[e]の要素[EE]との乗算値を要素[XE](n=1,...,N)とする代表ベクトル[x]を得る代表計算部と、
    前記暗号化グループベクトル[g]のw+1番目の要素が[g][w]であり、代表ベクトル[x]のj+1番目の要素が[x][j]であり、
    Figure 0005689845

    の復元値が[g][w]の復元値と等しくなる前記暗号化グループベクトル[g]を生成するグループ計算部と、
    を有する秘密計算装置。
  3. 請求項1または2の秘密計算装置であって、
    前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]が前記入力暗号化行列[T]の行ベクトルであり、かつ、前記暗号化キーベクトル[k]が前記置換暗号化行列[RT]の何れかの列ベクトルであるか、または、前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]が前記入力暗号化行列[T]の列ベクトルであり、かつ、前記暗号化キーベクトル[k]が前記置換暗号化行列[RT]の何れかの行ベクトルである、秘密計算装置。
  4. N(i),M(i)が1以上の整数、Lが2以上の整数、i=1,...,L、n(i)=1,...,N(i)、各エントリEi,n(i)に対応するM(i)個の属性Ai,1,...,Ai,M(i)の属性値を要素とする属性ベクトルがVi,n(i)、前記属性ベクトルVi,1,...,Vi,N(i)からなる行列がT、前記属性ベクトルVi,n(i)の各要素の暗号文を要素とするベクトルが暗号化属性ベクトル[Vi,n(i)]、前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]からなる行列が入力暗号化行列[T]であり、表シャッフル部において、前記暗号化属性ベクトル[Vi,1],...,[Vi,N(i)]をランダム置換し、置換暗号化行列[RT]を得る表シャッフルステップと、
    何れかの属性A∈{Ai,1,...,Ai,M(i)}のすべてのエントリEi,1,...,Ei,N(i)に対応する属性値を要素とするベクトルがキーベクトルk、前記キーベクトルkに対応する前記置換暗号化行列[RT]の要素[KEi,n(i)]からなるベクトルが暗号化キーベクトル[k]、N(i)個の互いに異なる要素TEi,n(i)の暗号文[TEi,n(i)]を要素とするベクトルが暗号化タグベクトル[t]であり、タグ付け部において、前記暗号化キーベクトル[k]の各要素[KEi,n(i)](n(i)=1,...,N(i))に対し、前記暗号化タグベクトル[t]の各要素[TEi,n(i)](n(i)=1,...,N(i))を対応付けるタグ付けステップと、
    ベクトル結合部において、前記暗号化キーベクトル[k],...,[k]のすべての要素からなる暗号化結合キーベクトル[k]、および、前記暗号化タグベクトル[t],...,[t]のすべての要素からなる暗号化結合タグベクトル[t]を得るベクトル結合ステップと、
    前記暗号化結合キーベクトル[k]に含まれる属性値ATT(p)(p∈{1,...,P}、Pは正整数)に対応するL個の要素からなる集合がグループG(p)であり、前記グループG(p)にグループ値GV(p)が対応し、互いに異なる前記グループG(p)には互いに異なる前記グループ値GV(p)が対応し、いずれの前記グループG(p)にも属さない前記暗号化結合キーベクトル[k]の要素にはいずれの前記グループ値GV(p)とも異なる規定値が対応し、要素GEi,1,...,GEi,N(i)(i=1,...,L)からなるベクトルがグループベクトルg、前記グループG(p)に属する前記要素[KEi,n(i,p)](n(i,p)∈{1,...,N(i)})に対応する前記要素GEi,n(i,p)が前記グループ値GV(p)、いずれの前記グループG(p)にも属さない前記要素[KEi,n(i,q)](n(i,q)≠n(i,p)、n(i,q)∈{1,...,N(i)})に対応する前記要素GEi,n(i,q)が前記規定値であり、抽象化グループ計算部において、前記要素GEi,1,...,GEi,N(i)の暗号文[GEi,1],...,[GEi,N(i)]からなる暗号化グループベクトル[g]を生成する抽象化グループ計算ステップと、
    タグシャッフル部において、前記暗号化結合タグベクトル[t]および前記暗号化グループベクトル[g]の各要素の対応関係を保ちつつ、前記暗号化結合タグベクトル[t]および前記暗号化グループベクトル[g]の各要素をランダム置換し、置換暗号化グループベクトル[rt]および置換暗号化結合タグベクトル[rg]を得るタグシャッフルステップと、
    行列結合部において、前記置換暗号化グループベクトル[rg]の復元値である復元グループベクトルrg、および前記置換暗号化結合タグベクトル[rt]の復元値である前記復元結合タグベクトルrtを用い、前記復元グループベクトルrgの要素GEi,n(i,p)に対応する前記復元結合タグベクトルrtの要素TEi,n(i,p)を得、前記置換暗号化行列[RT]から前記要素TEi,n(i,p)に対応する暗号化属性ベクトル[Vi,n(i,p)]を得、すべての前記暗号化属性ベクトル[Vi,n(i,p)]からなる暗号化行列[S]を出力する行列結合ステップと、
    を有する秘密計算方法。
  5. 請求項の秘密計算方法であって、
    前記要素TEi,n(i)が0以外であり、
    前記抽象化グループ計算ステップは、
    前記暗号化結合キーベクトル[k]および前記暗号化結合タグベクトル[t]の各要素の対応関係を保ちつつ、前記暗号化結合キーベクトル[k]および前記暗号化結合タグベクトル[t]の各要素に対し、前記暗号化結合キーベクトル[k]の要素に対応する属性値をキーとしたソートを行い、ソートベクトル[sk]および[st]を得るソートステップと、
    前記ソートベクトル[sk]の要素[KE](n=1,...,N、N=N(1)+... +N(L))のうち、同一の前記属性値ATT(p)(p∈{1,...,P})に対応するL個の要素[KEr(p)],...,[KEr(p)+L+1](r(p)∈{1,...,N})を特定し、前記要素[KEr(p)](p=1,...,P)に対応する要素[EEr(p)]をそれぞれ1とし、前記要素[EEr(p)](p=1,...,P)以外の要素を0としたN個の要素[EE],...,[EE]からなる暗号化等号ベクトル[e]を得る連続検知ステップと、
    前記ソートベクトル[st]の要素[TE]と前記暗号化等号ベクトル[e]の要素[EE]との乗算値を要素[XE](n=1,...,N)とする代表ベクトル[x]を得る代表計算ステップと、
    前記暗号化グループベクトル[g]のw+1番目の要素が[g][w]であり、代表ベクトル[x]のj+1番目の要素が[x][j]であり、
    Figure 0005689845

    の復元値が[g][w]の復元値と等しくなる前記暗号化グループベクトル[g]を生成するグループ計算ステップと、
    を有する秘密計算方法。
  6. 請求項1から3の何れかの秘密計算装置としてコンピュータを機能させるためのプログラム。
JP2012069049A 2012-03-26 2012-03-26 秘密計算装置、秘密計算方法、およびプログラム Active JP5689845B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012069049A JP5689845B2 (ja) 2012-03-26 2012-03-26 秘密計算装置、秘密計算方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012069049A JP5689845B2 (ja) 2012-03-26 2012-03-26 秘密計算装置、秘密計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2013200461A JP2013200461A (ja) 2013-10-03
JP5689845B2 true JP5689845B2 (ja) 2015-03-25

Family

ID=49520746

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012069049A Active JP5689845B2 (ja) 2012-03-26 2012-03-26 秘密計算装置、秘密計算方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5689845B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3246900B1 (en) * 2015-01-15 2019-07-31 Nippon Telegraph and Telephone Corporation Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
US11250004B2 (en) * 2016-09-27 2022-02-15 Nippon Telegraph And Telephone Corporation Secure equijoin system, secure equijoin device, secure equijoin method, and program
KR101982237B1 (ko) * 2017-03-06 2019-05-24 고려대학교 산학협력단 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3784055B2 (ja) * 2001-10-03 2006-06-07 インターナショナル・ビジネス・マシーンズ・コーポレーション リストマッチング方法、ネットワークシステム、そのサーバ及び情報端末
JP4300838B2 (ja) * 2003-03-25 2009-07-22 沖電気工業株式会社 分散計算装置及び分散計算システム
JP4849541B2 (ja) * 2006-10-24 2012-01-11 日本電信電話株式会社 個別情報を秘匿するクロス集計処理方法およびクロス集計装置、並びにプログラム

Also Published As

Publication number Publication date
JP2013200461A (ja) 2013-10-03

Similar Documents

Publication Publication Date Title
JP6934963B2 (ja) データを暗号化する方法およびシステム
US10074293B2 (en) Secret calculation method, secret calculation system, sorting device, and program
US20130182836A1 (en) Secret sharing system, secret sharing apparatus, secret sharing method, secret sorting method, secret sharing program
WO2019208484A1 (ja) 秘密集約総和システム、秘密計算装置、秘密集約総和方法、およびプログラム
JP5907902B2 (ja) 秘密計算による表の等結合システム、方法
JP6575532B2 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
WO2019225401A1 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP6605746B2 (ja) 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム
JP5689845B2 (ja) 秘密計算装置、秘密計算方法、およびプログラム
WO2019208486A1 (ja) 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
WO2019208485A1 (ja) 秘密集約最大値システム、秘密集約最小値システム、秘密計算装置、秘密集約最大値方法、秘密集約最小値方法、およびプログラム
JP5689826B2 (ja) 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム
JP5480828B2 (ja) 秘密ソートシステム、秘密ソート装置、秘密ソート方法、秘密ソートプログラム
US11200346B2 (en) Secure computation for reading multiple elements from a secure text array
JP5670366B2 (ja) 匿名データ提供システム、匿名データ装置、それらが実行する方法、およびプログラム
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
JP5498406B2 (ja) マッチングシステム、マッチングシステムの方法
JP2014164144A (ja) 秘密表除算装置及び方法
WO2019221108A1 (ja) 秘密クロス集計システム、秘密計算装置、秘密クロス集計方法、およびプログラム
CN114374518B (zh) 具有交集计数的psi获取交集信息的方法、装置及存储介质
EP3246900B1 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program
CN105917400A (zh) 元素复制装置、元素复制方法、以及程序
WO2023281693A1 (ja) 秘密計算システム、装置、方法及びプログラム
US20240184577A1 (en) Secret calculation system, apparatus, method and program
WO2023281694A1 (ja) 秘密計算システム、装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141015

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141028

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141224

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150129

R150 Certificate of patent or registration of utility model

Ref document number: 5689845

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150