JP2014081475A - 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム - Google Patents

秘密計算システム、集約関数装置、秘密計算方法、およびプログラム Download PDF

Info

Publication number
JP2014081475A
JP2014081475A JP2012228906A JP2012228906A JP2014081475A JP 2014081475 A JP2014081475 A JP 2014081475A JP 2012228906 A JP2012228906 A JP 2012228906A JP 2012228906 A JP2012228906 A JP 2012228906A JP 2014081475 A JP2014081475 A JP 2014081475A
Authority
JP
Japan
Prior art keywords
secret
value
quantile
key
group
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
JP2012228906A
Other languages
English (en)
Other versions
JP5860378B2 (ja
Inventor
Hiroki Hamada
浩気 濱田
Masaru Igarashi
大 五十嵐
Koji Senda
浩司 千田
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 JP2012228906A priority Critical patent/JP5860378B2/ja
Publication of JP2014081475A publication Critical patent/JP2014081475A/ja
Application granted granted Critical
Publication of JP5860378B2 publication Critical patent/JP5860378B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】入力データを明かすことなくグループごとの分位数の計算を行う。
【解決手段】秘密計算システム1はM台の集約関数装置21,…,2Mを含む。集約関数装置2mは、グループを表すキーkを秘匿化した秘匿キーと対応する値vを秘匿化した秘匿値[v]とを含む秘匿情報を入力とする。集約関数装置2mは秘匿情報を値vの昇順に安定ソートし、さらにキーkの昇順に安定ソートする。集約関数装置2mは秘匿情報にグループ毎の値vの昇順の順番を示す索引[c]を付加し、グループ毎の値vの降順の順番を示す索引[d]を付加する。集約関数装置2mは索引[c]と索引[d]とに基づいて値vそれぞれがグループ毎の分位数であるか否かを示す分位数判定値[f]を求める。
【選択図】図1

Description

この発明は、暗号応用技術に関するものであり、特に入力データを明かすことなくグループ毎の分位数の計算を行う秘密計算技術に関する。
近年、個人に関する様々な情報を容易に取得できる環境が整い、データ分析技術の進歩と相まって、個人に関する情報の活用への期待が高まっている。その一方で、個人情報保護やプライバシの観点から個人に関する情報は極めて慎重な取扱いが必要とされ、データの保護と活用をどう両立させるかが問題となっている。この問題の解決のため、データを秘匿したまま明かすことなく計算する様々な方法が提案されている。
暗号化された数値を復元すること無く特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、非特許文献1参照)。非特許文献1に記載された方法では、3台の秘密計算装置に数値の断片を分散させるという暗号化を行い、数値を復元すること無く、加減算、定数和、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3台の秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。
秘密計算上でグループごとの統計値の計算を実現した方法として、例えば非特許文献2に記載された方法がある。非特許文献2の方法では、まず入力のグループを表す属性値でソートを行ってグループ分けをし、続いて各レコードを一つ前に参照したレコードと同一のグループであるかどうかを確認しながらグループごとの統計値を計算することにより、秘密計算上でのグループごとの統計値の計算を実現している。
千田浩司, 濱田浩気, 五十嵐大, 高橋克巳, "軽量検証可能3パーティ秘匿関数計算の再考", CSS 2010. 五十嵐大, 千田浩司, 濱田浩気, 高橋克巳, "軽量検証可能3パーティ秘匿関数計算の効率化及びこれを用いたセキュアなデータベース処理", SCIS 2011.
しかしながら、従来の秘密計算技術では計算可能な統計値が二項演算の反復で書けることが必要であり、中央値や四分位数を含む分位数の計算には適用することができないという課題があった。
この発明の目的は、入力データを明かすことなくグループごとの分位数の計算を行うことができる秘密計算技術を提供することである。
上記の課題を解決するために、この発明の秘密計算システムは、少なくとも1台の集約関数装置を含み、a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、秘匿化方式Sによりキーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、グループ毎のa/(a+b)分位数を求める。
集約関数装置は、整列部と第1階段計算部と第2階段計算部と分位数判定部とを備える。整列部は、秘匿情報を、秘匿化方式Sにより秘匿値[v]を用いて値vの昇順に安定ソートをし、さらに秘匿化方式Sにより秘匿キー[k]を用いてキーkの昇順に安定ソートをし、整列済み秘匿情報を生成する。第1階段計算部は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する。第2階段計算部は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する。分位数判定部は、索引[c]と索引[d]とに基づいて、値v1,…,vNそれぞれがグループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める。
この発明の秘密計算技術によれば、入力データを明かすことなくグループごとの分位数の計算を行うことができる。
秘密計算システムの機能構成を例示する図である。 集約関数装置の機能構成を例示する図である。 秘密計算方法の処理フローを例示する図である。
実施形態の説明に先立ち、この明細書における表記方法および用語の定義について説明する。
<表記方法>
この発明で扱う値はすべて有限環ZN上の値とする。ベクトルaの第i要素をaiで参照する。a∈ZNを暗号化や秘密分散などの手段で秘匿化した値をaの秘匿文と呼び、[a]と表記する。また、aを秘匿文[a]の平文と呼ぶ。ベクトルvの各要素を秘匿化したベクトルを[v]と表記する。
Figure 2014081475
は、天井関数であり、・以上の最小の整数を意味している。
Figure 2014081475
は床関数であり、・以下の最大の整数を意味する。
Figure 2014081475
は値aと値bの論理積を表す。
Figure 2014081475
は値aと値bの論理和を表す。
Figure 2014081475
は値aの否定を表す。
<秘匿化方式>
この発明では公知の秘匿化方式を用いる。秘匿化方式には、例えば暗号化や秘密分散などの手法が含まれる。この発明で用いる秘匿化方式は、秘密計算上で加算、減算、乗算、等号判定、比較、安定ソートの各演算が可能である必要があるが、これらの演算が可能であればどのような秘匿化方式であってもよい。
この発明において秘密計算上の加算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x+yの秘匿文[x+y]を計算する演算である。秘密計算上の減算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x-yの秘匿文[x-y]を計算する演算である。秘密計算上の乗算とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x*yの秘匿文[x*y]を計算する演算である。秘密計算上の等号判定とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x=yの場合には1の秘匿文[1]を、x≠yの場合には0の秘匿文[0]を計算する演算である。秘密計算上の比較とは、2つの値x,y∈ZNの秘匿文[x],[y]を入力とし、x<yの場合には1の秘匿文[1]を、その他の場合には0の秘匿文[0]を計算する演算である。秘密計算上の安定ソートとは、ソート対象とするベクトルvの秘匿文[v]とソートを行う際に基準とするキーのベクトルkの秘匿文[k]を入力とし、キーの値の順に従って整列し、整列の前後で各要素の対応が誰にもわからないように計算される演算である。ただし、整列に際して安定が保たれる、すなわち指定した列の値が同じ場合には元の順序が保たれるものとする。
この発明で適用可能な秘匿化方式について、具体的に例示する。例えば、秘匿化と復号と加算と減算と乗算は上述の非特許文献2に記載された方法を用いることができる。等号判定と比較は、例えば「Takashi Nishide, Kazuo Ohta, “Multiparty computation for interval, equality, and comparison without bit-decomposition protocol”, PKC, pp. 343-360, 2007.(参考文献1)」に記載された方法を用いることができる。安定ソートは、例えば「濱田浩気, 五十嵐大, 千田浩司, 高橋克巳, “秘匿関数計算上の線形時間ソート”, SCIS 2011.(参考文献2)」に記載された方法を用いることができる。したがって、非特許文献2と参考文献1と参考文献2に記載された方法を組み合わせることで、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式を実現することができる。
この発明では秘密計算を実行する装置の台数は制限されないが、適用する秘匿化方式によって最低限必要な装置の台数が決定される。例えば、「Craig Gentry, “Fully homomorphic encryption using ideal lattices”, STOC 2009, pp. 169-178.(参考文献3)」などに記載されている完全準同型暗号を用いれば、1台の装置上で復号することなく加算と乗算を行うことが可能である。加算と乗算ができるとき、復号することなく等号判定と比較を行う方法が、「Ivan Damgard, Matthias Fitzi, Eike Kiltz, Jesper Buus Nielsen, Tomas Toft, “Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation”, TCC 2006, pp. 285-304.(参考文献4)」などに記載されている。比較ができるとき、復号することなくソートを行う方法が、「Kenneth E. Batcher, “Sorting Networks and Their Applications”, AFIPS Spring Joint Computing Conference 1968, pp. 307-314.(参考文献5)」などに記載されている。また、ソートが可能であれば安定ソートとすることが可能であることは一般的に知られている(例えば、「Wikipedia, “Sorting algorithm”, [online], [平成24年10月3日検索], インターネット<URL:http://en.wikipedia.org/wiki/Sorting_algorithm#Stability>(参考文献6)」参照)。したがって、1台の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献3と参考文献4と参考文献5の方法を組み合わせればよい。
また、2台の装置で復号することなく任意の関数を計算する方法が「Andrew Chi-Chih Yao, “How to Generate and Exchange Secrets (Extended Abstract)”, FOCS 1986, pp. 162-167.(参考文献7)」などに記載されており、その入力を秘密分散による分散値とすることで、2台の装置上で復号することなく加算と乗算を行うことが可能である。したがって、2台の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献7と参考文献4と参考文献5の方法を組み合わせればよい。
また、3台以上の装置上で復号することなく加算と乗算を行う方法は「Ronald Cramer, Ivan Damgard, Ueli M. Maurer, “General Secure Multi-party Computation from any Linear Secret-Sharing Scheme”, EUROCRYPT 2000, pp.316-334.(参考文献8)」などに記載されている線形秘密分散を用いれば可能である。したがって、3台以上の装置上で加算と減算と乗算と等号判定と比較と安定ソートの秘密計算を実現するためには、参考文献8と参考文献4と参考文献5の方法を組み合わせればよい。
なお、この発明では秘密計算上の論理積(∧)と論理和(∨)と否定(¬)の各論理演算も利用するが、これらの論理演算は一般的に加算と減算と乗算を組み合わせることで実現できる。例えば、値aと値bの論理積は、a∧b:=a*bにより実現できる。値aと値bの論理和は、a∨b:=a+b-a*bにより実現できる。値aの否定は、¬a:=1-aにより実現できる。また、この発明では秘密計算上の等号否定(≠)も利用するが、この演算は一般的に等号判定と否定を組み合わせることで実現できる。例えば、値aと値bの等号否定は、a≠b:=¬(a=b)により実現できる。
<中央値、分位数>
中央値とは、ある集合の真ん中の点の値である。集合の大きさnが奇数の場合には、中央値は(n+1)/2番目の要素の値である。nが偶数の場合には、n/2番目とn/2+1番目の中間に真ん中の点があるため複数の定義が存在するが、この発明ではnの偶奇に関わらず、
Figure 2014081475
番目を小さい方の中央値と呼び、
Figure 2014081475
番目を大きい方の中央値と呼び、単に中央値と書いた場合には小さい方の中央値を表していることとする。
ある集合をp:1-p(0<p≦1)に内分する点の値をp分位数と呼ぶ。中央値と同様に分位数にも複数の定義が存在するが、この発明では、
Figure 2014081475
番目の点の値をp分位数と呼ぶこととする。
<発明のポイント>
上述の通り、従来の秘密計算技術では、二項演算の反復で書ける統計値に関してのみグループごとの統計値を秘匿したまま計算することができた。一方で中央値や四分位数などの分位数計算を二項演算の反復で記述することは自明ではなく、従来技術では分位数計算を秘密計算で求めることはできなかった。
この発明では、最初にグループ内で昇順、降順に番号付けを行い、この番号をそれぞれb倍、a倍した値の大小関係が逆転する箇所がグループ内で上からa:bに内分する箇所になるという性質を用いる。大小関係が逆転する箇所は各レコードとその前後の大小関係を見れば検出可能であるため、効率よく任意の分位数を見つけ出すことができる。
[実施形態]
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<構成>
図1を参照して、この実施形態の秘密計算システム1の構成例を説明する。秘密計算システム1は、少なくとも1台の集約関数装置2を含む。集約関数装置2の台数は、適用する秘匿化方式によって異なり、1台であっても複数台であってもよい。集約関数装置2の台数と適用可能な秘匿化方式についての詳細は上述の説明を参照されたい。以降の説明ではM台の集約関数装置21,…,2Mを含む構成を例として説明している。M台の集約関数装置21,…,2Mはネットワーク9に接続される。ネットワーク9は、接続される各装置が相互に通信可能なように構成されていればよく、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などで構成することができる。なお、各装置は必ずしもネットワークを介してオンラインで通信可能である必要はない。例えば、集約関数装置21,…,2Mへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体からオフラインで入力するように構成してもよい。
図2を参照して、秘密計算システム1に含まれる集約関数装置2の構成例を説明する。集約関数装置2は、制御部101、メモリ102、入力部11、整列部12、第1階段計算部13、第2階段計算部14、分位数判定部15、出力部16を備える。集約関数装置2は、さらに秘匿情報記憶部19を備えてもよい。集約関数装置2は、例えば、CPU(Central Processing Unit)、RAM(Random Access Memory)等を有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。集約関数装置2は制御部101の制御のもとで各処理を実行する。集約関数装置2に入力されたデータや各処理で得られたデータはメモリ102に格納され、メモリ102に格納されたデータは必要に応じて読み出されて他の処理に利用される。秘匿情報記憶部19は、例えば、RAM(Random Access Memory)などの主記憶装置、ハードディスクや光ディスクもしくはフラッシュメモリなどの半導体メモリ素子により構成される補助記憶装置、リレーショナルデータベースやキーバリューストアなどのミドルウェア、などにより構成することができる。
<処理>
図3を参照して、この実施形態の秘密計算システム1の動作例について手続きの順に従って詳細に説明する。
集約関数装置2m(1≦m≦M)の備える入力部11へ秘匿キー[k]=([k1],…,[kN])と秘匿値[v]=([v1],…,[vN])とを含む秘匿情報が入力される(ステップS11)。秘匿キー[k]は、グループを表すキーk=(k1,…,kN)を所定の秘匿化方式Sにより秘匿化したベクトルである。秘匿値[v]は、キーk=(k1,…,kN)に対応する値v=(v1,…,vN)を所定の秘匿化方式Sにより秘匿化したベクトルである。所定の秘匿化方式Sは、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートの各演算が可能な秘匿化方式である。秘匿化方式Sについての詳細は上述の説明を参照されたい。
入力部11へ入力された秘匿情報は整列部12へ入力される。もしくは、集約関数装置2mが秘匿情報記憶部19を備えるように構成し、入力部11に入力された秘匿情報を秘匿情報記憶部19へ記憶するようにしても構わない。この場合には、任意の契機により整列部12が秘匿情報記憶部19から秘匿情報を読み込むように構成すればよい。
整列部12は、秘匿情報を、秘匿化方式Sにより秘匿値[v]を用いて値vの昇順に安定ソートする。続いて、秘匿化方式Sにより秘匿キー[k]を用いてキーkの昇順に安定ソートする(ステップS12)。これにより秘匿情報は、キーkの値(すなわち、グループ)は同じレコードが連続し、値vは同じグループの中で昇順に整列した状態になる。このように整列された秘匿情報を、以降の説明では整列済み秘匿情報と呼ぶ。
整列済み秘匿情報は第1階段計算部13に入力される。第1階段計算部13は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの昇順の順番を示すベクトルである索引[c]=([c1],…,[cN])を付加する(ステップS13)。整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードのとき、ci=j-1で表すことができる。索引[c]の付加はどのような方法で行なってもよいが、以下に示す「階段+の計算」アルゴリズムを用いれば、計算量を少なくすることができ効率的に処理を行うことができる。
Figure 2014081475
整列済み秘匿情報は第2階段計算部14に入力される。第2階段計算部14は、秘匿キー[k]を用いて、整列済み秘匿情報にグループ毎の値vの降順の順番を示すベクトルである索引[d]=([d1],…,[dN])を付加する(ステップS14)。整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードのとき、di=j-1で表すことができる。索引[d]の付加はどのような方法で行なってもよいが、以下に示す「階段−の計算」アルゴリズムを用いれば、計算量を少なくすることができ効率的に処理を行うことができる。
Figure 2014081475
この実施形態では、第1階段計算部13と第2階段計算部14が順に処理を行うものとして説明したが、第1階段計算部13の処理と第2階段計算部14の処理はいずれを先に行なってもよい。すなわち第2階段計算部14により索引[d]を付加した後に第1階段計算部13により索引[c]を付加してもよい。また、第1階段計算部13の処理と第2階段計算部14の処理を同時に並列に行なっても構わない。
索引[c]と索引[d]が付加された整列済み秘匿情報は分位数判定部15へ入力される。分位数判定部15は、索引[c]と索引[d]とに基づいて分位数判定値[f]=([f1],…,[fN])を求める(ステップS15)。分位数判定値[f]=([f1],…,[fN])は、値v1,…,vNそれぞれが属するグループ毎のa/(a+b)分位数であるか否かを示す真偽値のベクトルf=(f1,…,fN)を秘匿化方式Sにより秘匿化したベクトルである。分位数の判定には、整列済み秘匿情報のi番目のレコードが同じグループ内のj番目のレコードであるとき、b*cjとa*djの大小関係が逆転するjがそのグループを上からa:bに内分する位置を表す、という性質を利用する。すなわち、p:1-pに内分する点であるp分位数を求める場合には、(1-p)*cjとp*djの大小関係が逆転するjを求め、jに対応するiについてfi=1とする。その他の場合にはfn=0(n≠i)とする。
より一般化してa/(a+b)分位数を求める場合を具体的に説明する。上述の通り、a/(a+b)分位数の定義は複数存在する。例えば、次式で表されるi番目の要素の値をa/(a+b)分位数とする定義がある。ただし、ngはグループの要素数である。この定義を以下の説明では第一の定義とする。
Figure 2014081475
第一の定義でa/(a+b)分位数を求める場合には、次式を満たすiを求めればよい。fi=1とし、fn=0(n≠i)とする。
Figure 2014081475
また、次式で表されるi番目の要素の値をa/(a+b)分位数とする定義がある。ただし、ngはグループの要素数である。この定義を以下の説明では第二の定義とする。
Figure 2014081475
第二の定義でa/(a+b)分位数を求める場合には、次式を満たすiを求めればよい。fi=1とし、fn=0(n≠i)とする。
Figure 2014081475
小さい方の中央値を求める場合には、第一の定義でa/(a+b)分位数を求めた式においてa=1,b=1とすればよい。もしくは、次式を満たすiを求めてもよい。後者であれば比較の処理を等号判定に置き換えることができるため、より効率良く計算することができる。
Figure 2014081475
大きい方の中央値を求める場合には、第二の定義でa/(a+b)分位数を求めた式においてa=1,b=1とすればよい。もしくは、次式を満たすiを求めてもよい。後者であれば比較の処理を等号判定に置き換えることができるため、より効率良く計算することができる。
Figure 2014081475
分位数判定部15が生成する分位数判定値[f]=([f1],…,[fN])は、出力部16を介して出力される(ステップS16)。
<効果>
上記のように、この発明の秘密計算技術は、入力を復号すること無く加算と減算と乗算と等号判定と比較と安定ソートの各演算を行うことができる秘匿化方式Sを用いており、これらの演算を組み合わせることで秘密計算上の分位数計算を実現する。
したがってこの発明の秘密計算技術によれば、入力された秘匿文を復号することなくグループ毎の分位数計算を行うことができる。
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
1 秘密計算システム
2 集約関数装置
9 ネットワーク
11 入力部
12 整列部
13 第1階段計算部
14 第2階段計算部
15 分位数判定部
16 出力部
19 秘匿情報記憶部
101 制御部
102 メモリ

Claims (7)

  1. 少なくとも1台の集約関数装置を含み、a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める秘密計算システムであって、
    前記集約関数装置は、
    前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列部と、
    前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算部と、
    前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算部と、
    前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定部と、
    を備えることを特徴とする秘密計算システム。
  2. 請求項1に記載の秘密計算システムであって、
    前記分位数判定部は、
    i=1,…,Nについて、a*(di+1+1)とb*ci+1の大小関係とb*ciとa*(di+1)の大小関係とに基づいて、前記値viがグループ毎のa/(a+b)分位数であるか否かを判定し、前記分位数判定値[f]=([f1],…,[fN])を求める
    ことを特徴とする秘密計算システム。
  3. 請求項2に記載の秘密計算システムであって、
    前記分位数判定部は、
    i=1,…,Nについて、次式を満たすか否かを判定し、次式を満たすiについて、前記分位数判定値[fi]をa/(a+b)分位数であるものとして設定する
    Figure 2014081475

    ことを特徴とする秘密計算システム。
  4. 請求項2に記載の秘密計算システムであって、
    前記分位数判定部は、
    i=1,…,Nについて、次式を満たすか否かを判定し、次式を満たすiについて、前記分位数判定値[fi]をa/(a+b)分位数であるものとして設定する
    Figure 2014081475

    ことを特徴とする秘密計算システム。
  5. a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める集約関数装置であって、
    前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列部と、
    前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算部と、
    前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算部と、
    前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定部と、
    を備えることを特徴とする集約関数装置。
  6. a,b,Nを正の整数として、秘密計算上の加算と減算と乗算と等号判定と比較と安定ソートが可能な秘匿化方式Sによりグループを表すキーk=(k1,…,kN)を秘匿化した秘匿キー[k]=([k1],…,[kN])と、前記秘匿化方式Sにより前記キーkに対応する値v=(v1,…,vN)を秘匿化した秘匿値[v]=([v1],…,[vN])とを含む秘匿情報を用いて、前記グループ毎のa/(a+b)分位数を求める秘密計算方法であって、
    集約関数装置が、前記秘匿情報を、前記秘匿化方式Sにより前記秘匿値[v]を用いて前記値vの昇順に安定ソートをし、さらに前記秘匿化方式Sにより前記秘匿キー[k]を用いて前記キーkの昇順に安定ソートをし、整列済み秘匿情報を生成する整列ステップと、
    前記集約関数装置が、前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの昇順の順番を示す索引[c]=([c1],…,[cN])を付加する第1階段計算ステップと、
    前記集約関数装置が、前記秘匿キー[k]を用いて、前記整列済み秘匿情報に前記グループ毎の前記値vの降順の順番を示す索引[d]=([d1],…,[dN])を付加する第2階段計算ステップと、
    前記集約関数装置が、前記索引[c]と前記索引[d]とに基づいて、前記値v1,…,vNそれぞれが前記グループ毎のa/(a+b)分位数であるか否かを示す分位数判定値[f]=([f1],…,[fN])を求める分位数判定ステップと、
    を含むことを特徴とする秘密計算方法。
  7. 請求項5に記載の集約関数装置としてコンピュータを機能させるためのプログラム。
JP2012228906A 2012-10-16 2012-10-16 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム Active JP5860378B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012228906A JP5860378B2 (ja) 2012-10-16 2012-10-16 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012228906A JP5860378B2 (ja) 2012-10-16 2012-10-16 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JP2014081475A true JP2014081475A (ja) 2014-05-08
JP5860378B2 JP5860378B2 (ja) 2016-02-16

Family

ID=50785716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012228906A Active JP5860378B2 (ja) 2012-10-16 2012-10-16 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム

Country Status (1)

Country Link
JP (1) JP5860378B2 (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016114309A1 (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
WO2019203262A1 (ja) * 2018-04-20 2019-10-24 日本電信電話株式会社 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
WO2019208486A1 (ja) * 2018-04-26 2019-10-31 日本電信電話株式会社 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
CN112074890A (zh) * 2018-04-25 2020-12-11 日本电信电话株式会社 秘密聚合最大值系统、秘密聚合最小值系统、秘密计算装置、秘密聚合最大值方法、秘密聚合最小值方法以及程序
CN112119442A (zh) * 2018-05-25 2020-12-22 日本电信电话株式会社 秘密聚合函数计算系统、秘密计算装置、秘密聚合函数计算方法、以及程序
CN113518991A (zh) * 2019-01-10 2021-10-19 日本电信电话株式会社 秘密数组访问装置、秘密数组访问方法以及程序
CN113924610A (zh) * 2019-06-07 2022-01-11 日本电信电话株式会社 秘密共轭梯度法计算系统、秘密计算装置、共轭梯度法计算装置、秘密共轭梯度法计算方法、共轭梯度法计算方法、以及程序
WO2022264237A1 (ja) * 2021-06-14 2022-12-22 日本電信電話株式会社 累積計算装置、累積計算方法、及びプログラム

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176193A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘匿関数計算方法及び装置、並びにプログラム
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008176193A (ja) * 2007-01-22 2008-07-31 Nippon Telegr & Teleph Corp <Ntt> 秘匿関数計算方法及び装置、並びにプログラム
JP2012154968A (ja) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> セキュア集合関数システム、秘密集合関数装置、セキュア集合関数処理方法、セキュア集合関数プログラム

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016114309A1 (ja) * 2015-01-15 2016-07-21 日本電信電話株式会社 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
JPWO2016114309A1 (ja) * 2015-01-15 2017-09-21 日本電信電話株式会社 行列・キー生成装置、行列・キー生成システム、行列結合装置、行列・キー生成方法、プログラム
AU2019256936B2 (en) * 2018-04-20 2021-07-22 Nippon Telegraph And Telephone Corporation Secure aggregate order system, secure computation apparatus, secure aggregate order method, and program
AU2019256936C1 (en) * 2018-04-20 2021-12-23 Nippon Telegraph And Telephone Corporation Secure aggregate order system, secure computation apparatus, secure aggregate order method, and program
CN112005287B (zh) * 2018-04-20 2023-08-18 日本电信电话株式会社 秘密聚合排名系统、秘密计算装置、秘密聚合排名方法、以及记录介质
CN112005287A (zh) * 2018-04-20 2020-11-27 日本电信电话株式会社 秘密聚合排名系统、秘密计算装置、秘密聚合排名方法、以及程序
EP3783589A4 (en) * 2018-04-20 2022-01-05 Nippon Telegraph And Telephone Corporation SECRET AGGREGATION RANK SYSTEM, SECURE COMPUTER DEVICE, SECRET AGGREGATION CLASSIFICATION, AND PROGRAM
WO2019203262A1 (ja) * 2018-04-20 2019-10-24 日本電信電話株式会社 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
JPWO2019203262A1 (ja) * 2018-04-20 2021-04-22 日本電信電話株式会社 秘密集約順位システム、秘密計算装置、秘密集約順位方法、およびプログラム
CN112074890A (zh) * 2018-04-25 2020-12-11 日本电信电话株式会社 秘密聚合最大值系统、秘密聚合最小值系统、秘密计算装置、秘密聚合最大值方法、秘密聚合最小值方法以及程序
CN112074890B (zh) * 2018-04-25 2024-03-22 日本电信电话株式会社 秘密聚合最大值系统和方法、秘密聚合最小值系统和方法、秘密计算装置、以及记录介质
CN112005288A (zh) * 2018-04-26 2020-11-27 日本电信电话株式会社 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及程序
AU2019259262B2 (en) * 2018-04-26 2021-07-22 Nippon Telegraph And Telephone Corporation Secure aggregate median system, secure computation apparatus, secure aggregate median method, and program
WO2019208486A1 (ja) * 2018-04-26 2019-10-31 日本電信電話株式会社 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
JPWO2019208486A1 (ja) * 2018-04-26 2021-04-22 日本電信電話株式会社 秘密集約中央値システム、秘密計算装置、秘密集約中央値方法、およびプログラム
EP3786927A4 (en) * 2018-04-26 2022-01-19 Nippon Telegraph And Telephone Corporation SECURE AVERAGE AGGREGATION SYSTEM, SECURE CALCULATION METHOD, SECURE AVERAGE AGGREGATION METHOD AND PROGRAM
US11316674B2 (en) 2018-04-26 2022-04-26 Nippon Telegraph And Telephone Corporation Secure aggregate median system, secure computation apparatus, secure aggregate median method, and program
CN112005288B (zh) * 2018-04-26 2023-08-04 日本电信电话株式会社 秘密聚合中值系统、秘密计算装置、秘密聚合中值方法、以及记录介质
CN112119442A (zh) * 2018-05-25 2020-12-22 日本电信电话株式会社 秘密聚合函数计算系统、秘密计算装置、秘密聚合函数计算方法、以及程序
CN113518991A (zh) * 2019-01-10 2021-10-19 日本电信电话株式会社 秘密数组访问装置、秘密数组访问方法以及程序
CN113924610A (zh) * 2019-06-07 2022-01-11 日本电信电话株式会社 秘密共轭梯度法计算系统、秘密计算装置、共轭梯度法计算装置、秘密共轭梯度法计算方法、共轭梯度法计算方法、以及程序
CN113924610B (zh) * 2019-06-07 2024-02-20 日本电信电话株式会社 秘密共轭梯度法计算系统及方法、秘密计算装置、共轭梯度法计算装置及方法、以及记录介质
WO2022264237A1 (ja) * 2021-06-14 2022-12-22 日本電信電話株式会社 累積計算装置、累積計算方法、及びプログラム

Also Published As

Publication number Publication date
JP5860378B2 (ja) 2016-02-16

Similar Documents

Publication Publication Date Title
JP5860378B2 (ja) 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
CN105900164B (zh) 秘密计算方法、秘密计算系统、拣选装置以及记录介质
Dwork et al. Toward practicing privacy
EP3316235A1 (en) Secret calculation device, secret calculation method, and program
Liu et al. Revfrf: Enabling cross-domain random forest training with revocable federated learning
Zhao et al. Privacy-preserving tensor-based multiple clusterings on cloud for industrial IoT
JP6583970B2 (ja) 秘密乱数合成装置、秘密乱数合成方法、およびプログラム
Hamza et al. Towards secure big data analysis via fully homomorphic encryption algorithms
JPWO2019225401A1 (ja) 秘密集約関数計算システム、秘密計算装置、秘密集約関数計算方法、およびプログラム
JP6605746B2 (ja) 秘密等結合システム、秘密等結合装置、秘密等結合方法、プログラム
CN109328377A (zh) 秘密计算系统、秘密计算装置、秘密计算方法、以及程序
Ying et al. Reliable policy updating under efficient policy hidden fine-grained access control framework for cloud data sharing
Ibarrondo et al. Banners: Binarized neural networks with replicated secret sharing
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
Tang et al. Robust semi-quantum private comparison protocols against collective noises with decoherence-free states
Miranda-López et al. 2Lbp-RRNS: two-levels RRNS with backpropagation for increased reliability and privacy-preserving of secure multi-clouds data storage
CN109416894A (zh) 秘密计算系统、秘密计算装置、秘密计算方法以及程序
JP6367959B2 (ja) 部分文字列位置検出装置、部分文字列位置検出方法及びプログラム
Liu et al. Secure and fast decision tree evaluation on outsourced cloud data
JP6337133B2 (ja) 非減少列判定装置、非減少列判定方法及びプログラム
WO2018131129A1 (ja) 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム
JP7233265B2 (ja) 署名装置、検証装置、署名方法、検証方法、署名プログラム及び検証プログラム
Lapworth Parallel encryption of input and output data for HPC applications
CN105917400A (zh) 元素复制装置、元素复制方法、以及程序
US10469257B2 (en) Matrix and key generation device, matrix and key generation system, matrix coupling device, matrix and key generation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151111

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151218

R150 Certificate of patent or registration of utility model

Ref document number: 5860378

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150