JP2024081261A - プログラム、算出方法および情報処理装置 - Google Patents
プログラム、算出方法および情報処理装置 Download PDFInfo
- Publication number
- JP2024081261A JP2024081261A JP2022194747A JP2022194747A JP2024081261A JP 2024081261 A JP2024081261 A JP 2024081261A JP 2022194747 A JP2022194747 A JP 2022194747A JP 2022194747 A JP2022194747 A JP 2022194747A JP 2024081261 A JP2024081261 A JP 2024081261A
- Authority
- JP
- Japan
- Prior art keywords
- value
- information
- secret
- upper limit
- parameter
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
Description
本発明はプログラム、算出方法および情報処理装置に関する。
データを暗号化したまま計算する技術として、秘密計算が知られている。秘密計算は秘匿計算ともいわれる。秘密計算により、個人や組織などが公開したくない秘密情報を、他者に知られることなくデータ分析や機械学習に利用可能になる。秘密計算では、クライアントの秘密情報を暗号化してサーバに分散させて保存する秘密分散と呼ばれる手法が用いられることがある。
例えば、秘密の値sをランダムな多項式fによりn個の断片(シェア)に分散し、また、任意のk個の断片から秘密の値sを復元する、シャミア(Shamir)の秘密分散法を用いる秘密計算装置の提案がある。ただし、nは2以上の整数であり、kはn≧kを満たす整数である。kはシャミア閾値といわれる。
なお、個別データを確率的なノイズの加算により秘匿するプライバシー保護技術において、入力値に加算するノイズ値を、入力値の値域を変化させない有界ノイズ値とするノイズ加算装置の提案がある。
また、信頼できるイニシャライザを使用せずに、秘密分散機構を使用して2つの行列の行列積の要素を計算するため方法の提案もある。
また、データ処理モデルの学習に使用するデータをパーティ間で分散するために秘密分散を用いることで、データのプライバシーを保護しながら、データ処理モデルのモデルパラメータを協調的に決定可能にする方法の提案もある。
また、データ処理モデルの学習に使用するデータをパーティ間で分散するために秘密分散を用いることで、データのプライバシーを保護しながら、データ処理モデルのモデルパラメータを協調的に決定可能にする方法の提案もある。
更に、秘密情報を暗号化するシェア計算に用いる乱数係数多項式を、シャミアによる提案方法から変更することで、秘密の漏洩を困難にする方法の提案もある。
Adi Shamir, "How to share a secret", Communications of the ACM, Volume 22 Issue 11, pp. 612-613, November 1979
Katrine Tjell, Rafael Wisniewski, "Privacy in Distributed Computations based on Real Number Secret Sharing", [online], July 2021, arXiv:2107.00911[cs.CR]、[令和4年11月10日検索]、インターネット<URL:https://arxiv.org/pdf/2107.00911.pdf>
秘密分散では、秘密情報の暗号化に用いられる乱数値の生成用パラメータを適切に決定することが難しいという問題がある。例えば、秘密情報の値に対して乱数値が小さ過ぎると、秘密情報を暗号化した値を基に単独のノードで秘密情報の値が推定され得る。一方、乱数値が大き過ぎると、秘密情報を暗号化した値が過大になることで秘密計算の際に桁落ちが発生し、秘密計算の結果を正しく得られない可能性がある。
1つの側面では、本発明は、乱数値の生成用パラメータを適切に決定することを目的とする。
1つの態様では、コンピュータに次の処理を実行させるプログラムが提供される。コンピュータは、秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、秘密情報と複数の分散情報それぞれとの相互情報量に対して許容される上限値を取得する。コンピュータは、上限値に基づいて、暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する。
また、1つの態様では、コンピュータが実行する算出方法が提供される。また、1つの態様では、記憶部と処理部とを有する情報処理装置が提供される。
1つの側面では、乱数値の生成用パラメータを適切に決定できる。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10は、ノード21,22,…とネットワーク30を介して通信する。情報処理装置10は、コンピュータと呼ばれてもよい。ノード21,22は、情報処理装置またはコンピュータと呼ばれてもよい。
情報処理装置10は、ノード21,22,…とネットワーク30を介して通信する。情報処理装置10は、コンピュータと呼ばれてもよい。ノード21,22は、情報処理装置またはコンピュータと呼ばれてもよい。
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、例えば、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、DSP(Digital Signal Processor)などのプロセッサである。処理部12は、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの電子回路を含んでもよい。プロセッサは、例えば、RAM(Random Access Memory)などの揮発性半導体メモリに記憶されたプログラムを実行する。プログラムは、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性ストレージに保存されていてもよい。プロセッサの集合が、マルチプロセッサまたは単に「プロセッサ」と呼ばれてもよい。
処理部12は、シャミアの秘密分散の手法に基づいて、秘密情報sから複数の分散情報[s]1,[s]2,…を生成し、ノード21,22,…に分散して配置する。秘密情報sは、ユーザが秘密にしておきたい情報である。秘密情報sは、処理部12による処理に応じて記憶部11に保持される。j番目のノードに対する分散情報は[s]jと表される。jはn以下の整数である。分散情報[s]jは、シェアと呼ばれてもよい。処理部12は、分散情報[s]jを、式(1)により計算する。
pjは、j番目のノードに割り当てられた定数である。c1,c2,…,ck-1は、それぞれpj,pj
2,…,pj
k-1に乗じる乱数値である。乱数値の発生に用いられる確率分布には、例えば正規分布が用いられる。このように、処理部12は、乱数値を用いて式(1)により秘密情報sを暗号化することで、分散情報[s]jを生成する。
分散情報[s]1,[s]2,…は、ノード21,22,…に分散して配置されるが、k個のノードが結託しなければ秘密情報sの復元はできない。具体的には、k個のノードそれぞれが保持する分散情報[s]jの値および定数pjの値を既知の値とし、秘密情報sの値およびc1,c2,…,ck-1を未知の値としたk元連立一次方程式を解くことで、秘密情報sの値を得られる。
ここで、処理部12は、式(1)の乱数値c1,c2,…,ck-1を、秘密情報sと分散情報[s]jとの相互情報量に基づいて決定する。相互情報量は、2つの確率変数の間の情報量をビット数で表現する指標である。相互情報量は、2つの確率変数の間の相互に依存し合う情報量、または、2つの確率変数の間の相互に影響し合う情報量ともいわれる。
分散情報[s]jによる秘密漏洩の情報理論的な大きさは、秘密情報sの確率分布における確率変数Sと、ノードに送信する分散情報[s]j(暗号化された数値)の確率分布における確率変数[S]jとに対する相互情報量I(S;[S]j)により計算される。このため、相互情報量I(S;[S]j)を測ることで、起き得る情報漏洩の最悪のケースをビット数で評価可能である。
一例として、秘密情報sが{0,1,2,3}の何れかの値を同じ確率でとる場合を考える。この場合、秘密情報sは、4通り、すなわち、2ビットの情報量をもつといえる。相互情報量I(S;[S]j)=1ビットであるとする。これは、分散情報[s]jがわかった状況では、秘密情報sに関する情報が1ビット得られることを示す。この場合、最悪のケースでは、分散情報[s]jを送られたノードが、1ビット相当の情報(例えば、秘密情報sが{0,1}の何れかであること)まで推定できてしまう恐れがある。
そこで、処理部12は、所定の保証値(ビット数)を超える情報量に相当する情報の推定がされないことを、相互情報量に対して許容される上限値として当該保証値を予め定めることで保証する。保証値は、漏洩しても問題ない情報量、または、漏洩を許容する情報量を示す値であるといえる。上記の例の場合、1ビットの情報も漏らしたくないのであれば、保証値を1.0未満の値に設定すればよい。
秘密情報sを確率変数S、シェア[s]jを確率変数[S]j、式(2)のb(pj)の確率変数をB(pj)とする。
この場合、相互情報量I(S;[S]j)の上限値は以下の式(3)により計算される。
h(・)は、確率変数に対するエントロピーを表す。また、h(・|・)は、条件付きエントロピーである。logの底は2である。σsは、秘密情報sの確率変数Sの標準偏差である。σsは、ユーザにより予め与えられてもよいし、記憶部11に蓄積された過去の秘密情報の値から処理部12により計算されてもよい。σB(p_j)は、b(pj)の確率変数B(pj)の標準偏差である。ここで、p_jは、数式中における、pの左下に添え字jを付した記号を示す。σは、cj’(j’=1,2,…,k-1)の標準偏差である。αは、相互情報量I(S;[S]j)に対して許容される上限値、すなわち、保証値を示す。
式(3)の3行目と4行目との関係には、最大エントロピーの定理が用いられている。具体的には、2つの確率変数S,B(pj)は独立であるため、(S+B(pj))の分散V[S+B(pj)]は、それぞれの分散の和となる。すなわち、V[S+B(pj)]=V[S]+V[B(pj)]=σS
2+σB(p_j)
2である。V[S]=σS
2は、確率変数Sの分散である。V[B(pj)]=σB(p_j)
2は、確率変数B(pj)の分散である。最大エントロピーの定理より、分散V[S+B(pj)]をもつもので、最大エントロピーをもつものは正規分布であり、当該エントロピーの値は、4行目のlog(…)/2のような形で書ける。したがって、式(3)の4行目の不等式が成立する。
式(3)によれば、相互情報量I(S;[S]j)が保証値α以下になるように、乱数値cj’の生成用のパラメータであるσを決定できる。具体的には、処理部12は、漏洩しても問題ない保証値αの指定を受け付ける。そして、処理部12は、n個のノードに割り振られたpj(j=1,…,n)に対し、式(3)を変形して得られるσ2=f(α)の形の式(4)により、保証値αを用いて最大のσを計算する。
ただし、処理部12は、pj=1の場合、式(4)の分母「pj
2(1-pj
2(k-1))」の部分を、1/(k-1)とする。max演算子は、中括弧{・}内のpjの複数の値に対応する複数の計算結果(候補値)のうちの最大値を選択することを示す。式(4)の右辺がf(α)に相当する。処理部12は、σ2の平方根としてσを取得できる。
処理部12は、式(4)により得られたσを標準偏差σ(または分散σ2)として用いて、例えば平均値0の正規分布などに従う乱数値c1,c2,…,ck-1を生成する。処理部12は、生成した乱数値c1,c2,…,ck-1を用いて、式(1)により、n個のノードに配置するn個の分散情報[s]1,[s]2,…を生成する。そして、処理部12は、n個の分散情報[s]1,[s]2,…を、それぞれノード21,22,…に送信する。
このように、情報処理装置10によれば、秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、秘密情報と複数の分散情報それぞれとの相互情報量に対して許容される上限値が取得される。当該上限値に基づいて、当該暗号化に用いられる乱数値の分布幅を示すパラメータσの値が算出される。
これにより、情報処理装置10は、乱数値の生成用パラメータσを適切に決定できる。
例えば、情報処理装置10は、当該パラメータσにより、情報漏洩の理論保証の条件を満たす適度な大きさをもつ乱数値を生成できる。すなわち、情報処理装置10は、乱数値が小さくなり過ぎることを抑制でき、単独のノードで分散情報から保証値(上記の上限値)より大きい情報量に相当する情報が漏洩する可能性を低減できる。また、情報処理装置10は、乱数値が大きくなり過ぎることを抑制でき、当該乱数値から生成される分散情報を用いた秘密計算において桁落ちを発生しにくくすることができる。また、情報処理装置10は、乱数値が大きくなり過ぎることを抑制することで、当該乱数値から生成される分散情報の値自体で桁落ちが発生する可能性も低減できる。更に、情報処理装置10は、乱数値の生成用パラメータσを簡便に計算でき、分散情報の生成に伴う計算コストを低減できる。
例えば、情報処理装置10は、当該パラメータσにより、情報漏洩の理論保証の条件を満たす適度な大きさをもつ乱数値を生成できる。すなわち、情報処理装置10は、乱数値が小さくなり過ぎることを抑制でき、単独のノードで分散情報から保証値(上記の上限値)より大きい情報量に相当する情報が漏洩する可能性を低減できる。また、情報処理装置10は、乱数値が大きくなり過ぎることを抑制でき、当該乱数値から生成される分散情報を用いた秘密計算において桁落ちを発生しにくくすることができる。また、情報処理装置10は、乱数値が大きくなり過ぎることを抑制することで、当該乱数値から生成される分散情報の値自体で桁落ちが発生する可能性も低減できる。更に、情報処理装置10は、乱数値の生成用パラメータσを簡便に計算でき、分散情報の生成に伴う計算コストを低減できる。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理システムの例を示す図である。
第2の実施の形態の情報処理システムは、クライアント装置100およびサーバ装置200,200a,200b,…を有する。クライアント装置100およびサーバ装置200,200a,200b,…は、ネットワーク40に接続される。ネットワーク40は、例えばインターネット、WAN(Wide Area Network)またはLAN(Local Area Network)などである。
クライアント装置100は、シャミアの秘密分散を行うコンピュータである。クライアント装置100は、秘密情報を暗号化することで、サーバ装置200,200a,200b,…それぞれに配置するシェアを生成し、生成したシェアを、当該シェアに対応するサーバ装置に送信する。
サーバ装置200,200a,200b,…は、シェアを保持する。サーバ装置200,200a,200b,…が保持するシェアは、所定の秘密計算に用いられる。秘密計算により、秘密情報が暗号化されたまま、データ分析や機械学習などに利用される。
なお、第2の実施の形態の情報処理システムは、クライアント装置100を含む複数のクライアント装置を有してもよい。また、サーバ装置200,200a,200b,…は、物理的なコンピュータ(物理マシン)により実現されてもよい。サーバ装置200,200a,200b,…は、物理マシンが備えるプロセッサやRAMなどのリソースを用いて当該物理マシン上に実現される仮想的なコンピュータ(仮想マシン)により実現されてもよい。
クライアント装置100は、第1の実施の形態の情報処理装置10の一例である。サーバ装置200,200a,200b,…は、第1の実施の形態のノード21,22,…の一例である。
図3は、クライアント装置のハードウェア例を示す図である。
クライアント装置100は、プロセッサ101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。クライアント装置100が有するこれらのユニットは、クライアント装置100の内部でバスに接続されている。プロセッサ101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
クライアント装置100は、プロセッサ101、RAM102、HDD103、GPU104、入力インタフェース105、媒体リーダ106および通信インタフェース107を有する。クライアント装置100が有するこれらのユニットは、クライアント装置100の内部でバスに接続されている。プロセッサ101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
プロセッサ101は、プログラムの命令を実行する演算装置である。プロセッサ101は、例えばCPUである。プロセッサ101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、プロセッサ101は複数のプロセッサコアを含んでもよい。また、クライアント装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
RAM102は、プロセッサ101が実行するプログラムやプロセッサ101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、クライアント装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、クライアント装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
GPU104は、プロセッサ101からの命令に従って、クライアント装置100に接続されたディスプレイ111に画像を出力する。ディスプレイ111としては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
入力インタフェース105は、クライアント装置100に接続された入力デバイス112から入力信号を取得し、プロセッサ101に出力する。入力デバイス112としては、マウス、タッチパネル、タッチパッド、トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、クライアント装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、プロセッサ101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
通信インタフェース107は、ネットワーク40に接続され、ネットワーク40を介して他の情報処理装置と通信する。通信インタフェース107は、スイッチやルータなどの有線通信装置に接続される有線通信インタフェースでもよいし、基地局やアクセスポイントなどの無線通信装置に接続される無線通信インタフェースでもよい。
サーバ装置200,200a,200b,…もクライアント装置100と同様のハードウェアにより実現される。
図4は、スクランブルの例を示す図である。
図4は、スクランブルの例を示す図である。
クライアント装置100は、式(1)で示されるように、乱数ノイズに相当するc1p+c2pj
2+…+ck-1pj
k-1により秘密情報sにスクランブルをかけ、当該秘密情報sを暗号化する。以下では、秘密情報sを、単に秘密sという。
シャミアの秘密分散では、数値である秘密に乱数ノイズでスクランブルをかけた値、すなわち、シェアを各サーバ装置に送信するが、秘密に対して乱数ノイズが小さいと、秘密の数値と殆ど差がない数値をサーバ装置に送信してしまう。
図4(A)は、乱数ノイズが小さ過ぎる場合を例示する。分布50は、秘密の値の分布の例を示す。分布51は、分布50をもつ秘密の値を乱数ノイズでスクランブルすることで生成されるシェアの値の分布の例を示す。例えば、秘密sが{99,100,101}の何れかの値しかとらないとする。このとき、例えば-0.1~0.1の範囲の乱数ノイズr1によってスクランブルをかけた値s+r1は、分布51で示されるように{98.9~99.1,99.9~100.1,100.9~101.1}の何れかの値になる。この場合、あるサーバ装置に複数回のシェア送信があると、当該サーバ装置は、シェアの値について一定のパターンを知ることができてしまう。その結果、当該サーバ装置により秘密の推定が可能になる。
図4(B)は、乱数ノイズが適切である場合を例示する。分布52は、乱数ノイズr1の範囲よりも大きい適度な範囲の乱数ノイズr2によってスクランブルをかけた値s+r2の分布を示す。分布52で示されるように、秘密sに対し、適切な乱数ノイズr2でスクランブルをかけることで、サーバ装置側でシェアの値のパターンを特定しにくくなり、秘密sの推定が困難になる。
図5は、シェアの計算例を説明する図である。
グラフ60は、クライアント装置C1,…,Ci,…,Cmおよびサーバ装置S1,S2,…,Snそれぞれを示すノードと、クライアント装置によるシェアの配置先のサーバ装置を示す有向エッジとを含む。クライアント装置C1は、クライアント装置100に相当する。サーバ装置S1,S2,…,Snは、n個のサーバ装置200,200a,…に相当する。サーバ装置Sjは、サーバ装置200,200a,…のうちのj番目のサーバ装置を示す。
グラフ60は、クライアント装置C1,…,Ci,…,Cmおよびサーバ装置S1,S2,…,Snそれぞれを示すノードと、クライアント装置によるシェアの配置先のサーバ装置を示す有向エッジとを含む。クライアント装置C1は、クライアント装置100に相当する。サーバ装置S1,S2,…,Snは、n個のサーバ装置200,200a,…に相当する。サーバ装置Sjは、サーバ装置200,200a,…のうちのj番目のサーバ装置を示す。
一例として、秘密sのサーバ装置Sjへのシェア[s]jが、[s]j=s+c1pj+c2pj
2であるとする。c1,c2は、正規分布N(μ,σ2)に従う乱数値である。μは平均値である。σは標準偏差である。また、クライアント装置100(C1)がサーバ装置200,200a(S1,S2)をシェアの配置先にするものとする。
p1=10のとき、[s]1=s+10c1+100c2である。
p2=0.1のとき、[s]2=s+0.1c1+0.01c2である。
クライアント装置100の秘密sがs=0または1であるとする。
p2=0.1のとき、[s]2=s+0.1c1+0.01c2である。
クライアント装置100の秘密sがs=0または1であるとする。
(第1の例)
標準偏差σが小さいと、乱数ノイズ(=c1pj+c2pj 2)が非常に小さくなり、サーバ装置が単独で秘密sを推定可能になる。
標準偏差σが小さいと、乱数ノイズ(=c1pj+c2pj 2)が非常に小さくなり、サーバ装置が単独で秘密sを推定可能になる。
乱数値が従う正規分布について、μ=0.0、σ=1.0のとき、生成される乱数値の95%が-2.0~+2.0の範囲の値になる。したがって、サーバ装置200a(S2)は、[s]2=-0.22~0.22または0.78~1.22の値をとる複数回のシェアの受信によって、シェアの確率分布を得ることができ、秘密の推定につながる。
なお、s=0または1に対し、シェア[s]1では、秘密sが乱数ノイズで埋もれるため、サーバ装置200(S1)は、秘密の推定が困難になる。
(第2の例)
サーバ装置200a(S2)に対して乱数ノイズが小さくならないように、標準偏差σを大きくし過ぎると、[s]2では、乱数ノイズで秘密sを隠せる一方で、[s]1が大きくなり過ぎ、秘密計算における桁落ちリスクにつながる。
(第2の例)
サーバ装置200a(S2)に対して乱数ノイズが小さくならないように、標準偏差σを大きくし過ぎると、[s]2では、乱数ノイズで秘密sを隠せる一方で、[s]1が大きくなり過ぎ、秘密計算における桁落ちリスクにつながる。
乱数値が従う正規分布について、μ=0.0、σ=10000.0のとき、生成される乱数値の95%が-20000.0~+20000.0の範囲の値になる。したがって、[s]2=-2200~+2200(s=0のとき)、-2199~+2201(s=1のとき)の値をとり、サーバ装置200aでの秘密sの推定は困難になる。
一方で、[s]1=-2200000~+2200000(s=0のとき)、-2199999~+2200001(s=1のとき)の値をとる。このような極端に大きいシェアの値は、秘密計算における積の計算で、比較的大きい値の積を計算することになるため、秘密計算の途中で非常に大きい値が発生して桁落ちを起こす恐れがある。桁落ちが生じると、秘密計算の結果を正しく得られなくなる。また、kが大きくなるとpの冪は非常に大きい値になるため、シェアの値自体が非常に大きくなり、シェア単独でも桁落ちしてしまう恐れがある。
そこで、クライアント装置100は、乱数ノイズが適度な大きさになるように、乱数値cj’(j’=1,…,k-1)の生成用のパラメータであるσを適切に決定する機能を提供する。
図6は、クライアント装置の機能例を示す図である。
クライアント装置100は、全サーバ設定値記憶部121、過去秘密データ記憶部122、秘密データ標準偏差記憶部123、秘密保証値記憶部124、ノイズパラメータ記憶部125、秘密データ記憶部126、サーバ設定値受信部130、秘密データ標準偏差計算部140、ノイズパラメータ調整部150、シェア計算部160およびシェア送信部170を有する。
クライアント装置100は、全サーバ設定値記憶部121、過去秘密データ記憶部122、秘密データ標準偏差記憶部123、秘密保証値記憶部124、ノイズパラメータ記憶部125、秘密データ記憶部126、サーバ設定値受信部130、秘密データ標準偏差計算部140、ノイズパラメータ調整部150、シェア計算部160およびシェア送信部170を有する。
全サーバ設定値記憶部121、過去秘密データ記憶部122、秘密データ標準偏差記憶部123、秘密保証値記憶部124、ノイズパラメータ記憶部125および秘密データ記憶部126には、RAM102またはHDD103の記憶領域が用いられる。サーバ設定値受信部130、秘密データ標準偏差計算部140、ノイズパラメータ調整部150、シェア計算部160およびシェア送信部170は、RAM102に記憶されたプログラムがプロセッサ101により実行されることで実現される。
全サーバ設定値記憶部121は、サーバ装置200,…,200xそれぞれのサーバ設定値p1,…,pnを記憶する。ここで、サーバ装置200xは、n個目のサーバ装置である。
過去秘密データ記憶部122は、ユーザの過去の秘密データを記憶する。過去の秘密データは、当該ユーザにより作成された前回までの秘密に相当する。過去の秘密データは、前回までの全ての秘密でもよいし、直近の所定期間内の秘密でもよい。
秘密データ標準偏差記憶部123は、ユーザの過去の秘密データから計算される秘密データ標準偏差σsを記憶する。
秘密保証値記憶部124は、保証値αを記憶する。保証値αは、漏洩しても問題ない情報量がユーザにより予め定められる。例えば、前述のように、1ビットの情報量も漏洩させたくない場合、αは1ビット未満(例えば、α=0.5など)に設定される。
秘密保証値記憶部124は、保証値αを記憶する。保証値αは、漏洩しても問題ない情報量がユーザにより予め定められる。例えば、前述のように、1ビットの情報量も漏洩させたくない場合、αは1ビット未満(例えば、α=0.5など)に設定される。
ノイズパラメータ記憶部125は、p1,…,pn,σs,αに基づいて式(4)により計算されるノイズパラメータσを記憶する。ノイズパラメータσは、シェア計算に用いられるノイズ値の分布幅を示す。
秘密データ記憶部126は、今回の秘密データ、すなわち、秘密sを記憶する。
サーバ設定値受信部130は、サーバ装置200,…,200xそれぞれからサーバ設定値p1,…,pnを受信し、全サーバ設定値記憶部121に格納する。
サーバ設定値受信部130は、サーバ装置200,…,200xそれぞれからサーバ設定値p1,…,pnを受信し、全サーバ設定値記憶部121に格納する。
秘密データ標準偏差計算部140は、過去秘密データ記憶部122に記憶される過去の秘密データの値に基づいて秘密データ標準偏差σsを計算し、秘密データ標準偏差記憶部123に格納する。
ノイズパラメータ調整部150は、全サーバ設定値記憶部121に記憶されるp1,…,pn、秘密データ標準偏差記憶部123に記憶されるσsおよび秘密保証値記憶部124に記憶されるαに基づいて、式(4)によりノイズパラメータσを計算する。式(4)により計算されるσ2の平方根がσとなる。なお、式(4)に用いられるkの値はノイズパラメータ調整部150に予め与えられる。ノイズパラメータ調整部150は、計算したσを、ノイズパラメータ記憶部125に格納する。
具体的には、ノイズパラメータ調整部150は、式(4)に基づき、複数のサーバ設定値それぞれに対して、秘密sと各シェア[s]jとの相互情報量(式(3)のI(S;[S]j))が、保証値αに等しくなるように複数のサーバ設定値に対応する、ノイズパラメータσの複数の候補値を算出する。1つの候補値は、式(4)のmax演算子の中括弧{・}の中の1つのpjに対する計算結果に相当する。ノイズパラメータ調整部150は、式(4)のmax演算子で示されるように、算出した複数の候補値のうちの最大値をノイズパラメータσの値として選択する。
シェア計算部160は、ノイズパラメータ記憶部125に記憶されるσに基づいて乱数値c1,…,ck-1を生成する。シェア計算部160は、生成した乱数値c1,…,ck-1、全サーバ設定値記憶部121に記憶されるp1,…,pnおよび秘密データ記憶部126に記憶される秘密sに基づいて、式(1)によりシェア[s]1,…,[s]nを生成する。
シェア送信部170は、シェア[s]1,…,[s]nを、それぞれ対応するサーバ装置200,…,200xに送信する。
図7は、サーバ装置の機能例を示す図である。
図7は、サーバ装置の機能例を示す図である。
サーバ装置200は、サーバ設定値記憶部211、シェア記憶部212、サーバ設定値送信部220およびシェア受信部230を有する。サーバ設定値記憶部211およびシェア記憶部212には、サーバ装置200のRAMまたはHDDの記憶領域が用いられる。サーバ設定値送信部220およびシェア受信部230は、当該RAMに記憶されたプログラムが、サーバ装置200のプロセッサにより実行されることで実現される。
なお、サーバ装置200以外のサーバ装置200a,…,200xもサーバ装置200と同様の機能を有する。
サーバ設定値記憶部211は、サーバ装置200に対応するサーバ設定値p1を記憶する。サーバ設定値p1は、サーバ設定値記憶部211に予め設定される。
サーバ設定値記憶部211は、サーバ装置200に対応するサーバ設定値p1を記憶する。サーバ設定値p1は、サーバ設定値記憶部211に予め設定される。
シェア記憶部212は、サーバ装置200に対応するシェア[s]1を記憶する。
サーバ設定値送信部220は、サーバ設定値記憶部211に記憶されるサーバ設定値p1を、クライアント装置100に送信する。
サーバ設定値送信部220は、サーバ設定値記憶部211に記憶されるサーバ設定値p1を、クライアント装置100に送信する。
シェア受信部230は、サーバ装置200に対応するシェア[s]1をクライアント装置100から受信し、シェア記憶部212に格納する。
次に、クライアント装置100の処理手順を説明する。
次に、クライアント装置100の処理手順を説明する。
図8は、ノイズパラメータ算出処理の例を示すフローチャートである。
(S10)サーバ設定値受信部130は、サーバ装置ごとのサーバ設定値(p1,…,pn)を取得し、全サーバ設定値記憶部121に保存する。
(S10)サーバ設定値受信部130は、サーバ装置ごとのサーバ設定値(p1,…,pn)を取得し、全サーバ設定値記憶部121に保存する。
(S11)ノイズパラメータ調整部150は、保証値αを取得し、秘密保証値記憶部124に保存する。保証値αは、ユーザにより予め指定される。
(S12)秘密データ標準偏差計算部140は、過去秘密データ記憶部122に記憶される過去の秘密データを基に、当該過去の秘密データの統計量である標準偏差σs、すなわち、秘密データ標準偏差σsを計算し、秘密データ標準偏差記憶部123に保存する。
(S12)秘密データ標準偏差計算部140は、過去秘密データ記憶部122に記憶される過去の秘密データを基に、当該過去の秘密データの統計量である標準偏差σs、すなわち、秘密データ標準偏差σsを計算し、秘密データ標準偏差記憶部123に保存する。
(S13)ノイズパラメータ調整部150は、保証値αとサーバ設定値pj(j=1,…,n)と標準偏差σsとを基に、式(4)を用いてノイズパラメータσを計算し、ノイズパラメータ記憶部125に保存する。ノイズパラメータ調整部150は、式(4)を基に、pjの各値に対してσ(またはσ2)の候補値を算出し、pjの各値に対する候補値のうちの最大値(または当該最大値の平方根)をノイズパラメータσの値として選択する。そして、ノイズパラメータ算出処理が終了する。
図9は、秘密分散処理の例を示すフローチャートである。
(S20)シェア計算部160は、ノイズパラメータ記憶部125に記憶されるノイズパラメータσをシェア生成用の乱数生成に用いる標準偏差として取得する。
(S20)シェア計算部160は、ノイズパラメータ記憶部125に記憶されるノイズパラメータσをシェア生成用の乱数生成に用いる標準偏差として取得する。
(S21)シェア計算部160は、乱数値cj’(j’=1,…,k-1)を標準偏差σによる正規分布に従って生成し、式(1)によりpj(j=1,…,n)に対して秘密sに乱数ノイズを加えることで、サーバ装置Sjへのシェア[s]jを生成する。
(S22)シェア送信部170は、各サーバ装置Sjに対して、シェア[s]jを送信する。そして、秘密分散処理が終了する。なお、各サーバ装置Sjのシェア受信部230は、クライアント装置100からシェア[s]jを受信し、シェア記憶部212に保存する。
図10は、秘密分散処理の例を示す図である。
グラフ70では、Cのノードがクライアント装置100を示し、S1,…,Sj,…,Snのノードがサーバ装置200,…,200xを示す。j(j=1,…,n)番目のサーバ装置のサーバ設定値は、定数pjである。j番目のサーバ装置の秘密sに対するシェアは[s]jである。
グラフ70では、Cのノードがクライアント装置100を示し、S1,…,Sj,…,Snのノードがサーバ装置200,…,200xを示す。j(j=1,…,n)番目のサーバ装置のサーバ設定値は、定数pjである。j番目のサーバ装置の秘密sに対するシェアは[s]jである。
ここで、n=3の場合を例示する。例えば、S1,S2,S3のノードは、それぞれサーバ装置200,200a,200bに相当する。また、サーバ装置200のサーバ設定値p1=10とする。サーバ装置200aのサーバ設定値p2=0.1とする。サーバ装置200bのサーバ設定値p3=1.0とする。サーバ装置200に送信されるシェアは[s]1である。サーバ装置200aに送信されるシェアは[s]2である。サーバ装置200bに送信されるシェアは[s]3である。
クライアント装置100の秘密sは、{0,1,2,3}の何れかの値を同じ確率でとるものとする。この場合、秘密データ標準偏差σsの2乗により計算される分散σs
2は、σs
2=5/4である。
また、各サーバ装置により1ビット以上の情報量の取得が起きないように、クライアント装置100は保証値α=0.5に設定するものとする。
例えば、秘密分散処理の前に、クライアント装置100は次のようにノイズパラメータ算出処理を実行する。
例えば、秘密分散処理の前に、クライアント装置100は次のようにノイズパラメータ算出処理を実行する。
サーバ設定値受信部130は、サーバ装置200,200a,200bごとのサーバ設定値p1=10,p2=0.1,p3=1.0を取得し、全サーバ設定値記憶部121に保存する。
ノイズパラメータ調整部150は、保証値α=0.5を取得し、秘密保証値記憶部124に保存する。保証値αは、ユーザにより予め指定される。ノイズパラメータ調整部150は、例えば過去秘密データ記憶部122や秘密データ記憶部126に記憶される値の値域を基に、予め定められた基準に従って、保証値α=0.5としてもよい。
ノイズパラメータ調整部150は、分散σs
2、保証値αおよびサーバ設定値p1,p2,p3を用いて式(4)のσを計算する。具体的には、ノイズパラメータ調整部150は、式(4)に各数値を代入した式(5)によってσ2を計算する。
ノイズパラメータ調整部150は、分散σ2=123.7624の平方根である標準偏差σ=11.12を、ノイズパラメータとする。ノイズパラメータ調整部150は、計算したノイズパラメータσを、ノイズパラメータ記憶部125に保存する。
そして、クライアント装置100は、次のように秘密分散処理を行う。
シェア計算部160は、ノイズパラメータ記憶部125に記憶されたノイズパラメータσをシェア生成用の乱数生成に用いる標準偏差として取得する。
シェア計算部160は、ノイズパラメータ記憶部125に記憶されたノイズパラメータσをシェア生成用の乱数生成に用いる標準偏差として取得する。
シェア計算部160は、乱数値cj’(j’=1,2)を正規分布N(0,σ2)に従って生成する。例えば、c1=13.1、c2=-27.4であるとする。
この場合、シェア計算部160は、乱数値c1,c2を用いて、式(6)のようにシェア[s]1,[s]2,[s]3を計算する。
この場合、シェア計算部160は、乱数値c1,c2を用いて、式(6)のようにシェア[s]1,[s]2,[s]3を計算する。
シェア送信部170は、サーバ装置200,200a,200b(Sj,j=1,2,3)に対して、シェア[s]jを送信する。
サーバ装置200,200a,200bそれぞれのシェア受信部230は、クライアント装置100からシェア[s]jを受信し、シェア記憶部212に保存する。
サーバ装置200,200a,200bそれぞれのシェア受信部230は、クライアント装置100からシェア[s]jを受信し、シェア記憶部212に保存する。
第2の実施の形態のクライアント装置100によれば、秘密を暗号化する際に用いる乱数ノイズを適切に選ぶことにより、情報漏洩が発生する可能性を低減し、かつ、シェア計算時の桁落ちや秘密計算時の桁落ちの問題が生じる可能性を低減することができる。
また、前述の非引用文献2の方法では、シェア計算に積和を計算する必要があり、非引用文献1のシャミアの方法に比べて計算量が増大し得る。具体的には、非引用文献2の方法では、シェアの計算に、ラグランジュ基本多項式(Lagrange basis polynomials)が用いられ、当該多項式の積和の計算にかかる計算コストが大きいという問題がある。
一方、クライアント装置100によれば、式(4)に基づいてノイズパラメータを生成し、式(1)によりシェアを計算する。このため、非引用文献2の方法のような複雑な多項式を用いるよりも、クライアント装置100は、シェアを簡便に計算でき、シェアの計算にかかる計算コストを低減できる。
なお、上記の例では、ノイズパラメータ調整部150は、秘密保証値記憶部124に予め格納された保証値αを用いてノイズパラメータσを計算するものとした。一方、秘密保証値記憶部124は、保証値αを決定するための基準(あるいはポリシー)を示す基準情報を予め保持してもよい。その場合、ノイズパラメータ調整部150は、秘密保証値記憶部124に記憶された基準情報に基づいて保証値αを決定してもよい。
図11は、保証値を決定するための基準情報の例を示す図である。
基準情報124aは、ユーザごとの保証値αの決定基準を示す。基準情報124aは、例えば秘密保証値記憶部124に予め格納される。基準情報124aは、RAM102やHDD103における、秘密保証値記憶部124以外の記憶領域に格納されてもよい。
基準情報124aは、ユーザごとの保証値αの決定基準を示す。基準情報124aは、例えば秘密保証値記憶部124に予め格納される。基準情報124aは、RAM102やHDD103における、秘密保証値記憶部124以外の記憶領域に格納されてもよい。
基準情報124aは、ユーザおよび保証値決定基準の項目を含む。ユーザの項目には、秘密情報を扱うユーザの識別情報が登録される。保証値決定基準の項目には、当該ユーザに対する保証値の決定基準が登録される。
例えば、基準情報124aは、ユーザ「U1」に対して、保証値決定基準「1ビット未満」のレコードを有する。このレコードは、ユーザU1の秘密情報に対して、1ビットの情報漏洩も許容されないことを示す。この場合、ノイズパラメータ調整部150は、ユーザU1の扱う秘密情報に対して、例えば前述のα=0.5のように、α<1の値を設定する。α(ユーザU1の例ではα=0.5)の決定方法として、保証値決定基準で示される限界値(ユーザU1の例では1(ビット))から所定値(例えば0.5)を減算した値とする、限界値の所定割合(例えば1/2)の値とするなどの方法が考えられる。
また、基準情報124aは、ユーザ「U2」に対して、保証値決定基準「秘密情報の情報量の10%未満」のレコードを有する。このレコードは、ユーザU2の秘密情報に対して、当該秘密情報の情報量のうちの10%未満の情報量であれば、漏洩しても問題ないことを示す。この場合、ノイズパラメータ調整部150は、ユーザU2の扱う秘密情報に対して、当該秘密情報の情報量yに対して、α<0.1×yの値(例えば、α=0.05×yなど)を設定する。
また、基準情報124aは、ユーザ「U3」に対して、保証値決定基準「秘密情報の情報量の3%以下」のレコードを有する。このレコードは、ユーザU3の秘密情報に対して、当該秘密情報の情報量のうちの3%以下の情報量であれば、漏洩しても問題ないことを示す。この場合、ノイズパラメータ調整部150は、ユーザU3の扱う秘密情報に対して、当該秘密情報の情報量zに対して、α≦0.03×zの値を設定する。例えば、ノイズパラメータ調整部150は、ユーザU3に対して、α=0.03×zと決定してもよい。
このように、クライアント装置100は、基準情報124aにより、保証値αを効率的に決定することもできる。例えば、クライアント装置100は、ユーザごとのポリシーに従って、秘密情報の情報量に応じた保証値αを適切に決定可能になる。なお、保証値決定基準は、ユーザ単位に限らず、各サーバ装置などが提供するサービス単位や、ユーザとサービスとの組単位など、他の単位に対して定められてもよい。
以上説明したように、クライアント装置100は、例えば次の処理を行う。
プロセッサ101は、秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、秘密情報と複数の分散情報それぞれとの相互情報量に対して許容される上限値を取得する。プロセッサ101は、当該上限値に基づいて、秘密情報の暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する。
プロセッサ101は、秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、秘密情報と複数の分散情報それぞれとの相互情報量に対して許容される上限値を取得する。プロセッサ101は、当該上限値に基づいて、秘密情報の暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する。
これにより、クライアント装置100は、乱数値の生成用パラメータを適切に決定できる。例えば、クライアント装置100は、秘密情報に関して、取得した上限値を超える情報量の情報漏洩が発生する可能性を低減し、かつ、分散情報の計算時の桁落ちや秘密計算時の桁落ちの問題が生じる可能性を低減することができる。秘密計算の過程での桁落ちを抑制することで、秘密計算の結果を正しく得られるようになる。前述のシェアは、分散情報の一例である。標準偏差として用いられるノイズパラメータσまたは分散に相当するσ2は、乱数値の分布幅を示すパラメータの一例である。例えば、乱数値の分布幅を示すパラメータは、式(4)で計算されたσに所定値を加算するなどして調整された値でもよい。サーバ装置200,200a,…は複数のノードの一例である。
また、プロセッサ101は、過去の秘密情報の値の標準偏差に基づいて、乱数値の分布幅を示すパラメータの値を算出する。
これにより、クライアント装置100は、秘密情報の値の傾向に応じて、乱数値の生成用パラメータを適切に決定できる。秘密データ標準偏差σsは、過去の秘密情報の値の標準偏差に相当する。
これにより、クライアント装置100は、秘密情報の値の傾向に応じて、乱数値の生成用パラメータを適切に決定できる。秘密データ標準偏差σsは、過去の秘密情報の値の標準偏差に相当する。
また、プロセッサ101は、複数のノードに対応する複数のノード設定値それぞれに対して、秘密情報と複数の分散情報それぞれとの相互情報量が、取得した上限値となるように複数のノード設定値に対応する、上記パラメータの複数の候補値を算出する。プロセッサ101は、算出した複数の候補値のうちの最大値を暗号化に用いるパラメータの値として選択する。
これにより、クライアント装置100は、複数のノードに対して、乱数値の生成用パラメータを適切に決定できる。すなわち、クライアント装置100は、複数のノードそれぞれで情報漏洩が発生する可能性を低減し、かつ、分散情報の計算時の桁落ちや秘密計算時の桁落ちの問題が生じる可能性を低減することができる。なお、前述のサーバ装置ごとのサーバ設定値pjは、ノード設定値の一例である。
また、プロセッサ101は、乱数値の分布幅を示すパラメータの値を用いて複数の乱数値を生成し、秘密情報と複数の乱数値とに基づいて複数の分散情報を生成する。
これにより、クライアント装置100は、複数の分散情報を簡便に生成できる。例えば、前述の非特許文献2の方法に比べて、複数の分散情報の生成のための計算コストを低減できる。
これにより、クライアント装置100は、複数の分散情報を簡便に生成できる。例えば、前述の非特許文献2の方法に比べて、複数の分散情報の生成のための計算コストを低減できる。
また、プロセッサ101は、秘密情報と複数の分散情報それぞれとの相互情報量に対して許容される上限値の取得では、秘密情報に対して漏洩しても問題ないとされる情報量の基準を示す基準情報に基づいて、当該上限値を決定してもよい。
これにより、プロセッサ101は、基準情報に基づいて、当該上限値を効率的に決定できる。前述の基準情報124aにおける保証値決定基準は、秘密情報に対して漏洩しても問題ないとされる情報量の基準の一例である。
なお、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、プロセッサ101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10 情報処理装置
11 記憶部
12 処理部
21,22 ノード
30 ネットワーク
11 記憶部
12 処理部
21,22 ノード
30 ネットワーク
Claims (8)
- コンピュータに、
秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、前記秘密情報と前記複数の分散情報それぞれとの相互情報量に対して許容される上限値を取得し、
前記上限値に基づいて、前記暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する、
処理を実行させるプログラム。 - 前記算出では、過去の秘密情報の値の標準偏差に基づいて、前記パラメータの値を算出する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。 - 前記算出では、前記複数のノードに対応する複数のノード設定値それぞれに対して前記相互情報量が前記上限値となるように、前記複数のノード設定値に対応する、前記パラメータの複数の候補値を算出し、算出した前記複数の候補値のうちの最大値を前記暗号化に用いる前記パラメータの値として選択する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。 - 前記パラメータの値を用いて複数の乱数値を生成し、前記秘密情報と前記複数の乱数値とに基づいて前記複数の分散情報を生成する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。 - 前記取得では、前記秘密情報に対して漏洩しても問題ないとされる情報量の基準を示す基準情報に基づいて、前記上限値を決定する、
処理を前記コンピュータに実行させる請求項1記載のプログラム。 - 前記パラメータは、標準偏差または分散である、
請求項1記載のプログラム。 - コンピュータが、
秘密情報の暗号化により複数のノードに対応する複数の分散情報を生成する場合に、前記秘密情報と前記複数の分散情報それぞれとの相互情報量に対して許容される上限値を取得し、
前記上限値に基づいて、前記暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する、
算出方法。 - 秘密情報の暗号化により生成される、複数のノードに対応する複数の分散情報それぞれと前記秘密情報との相互情報量に対して許容される上限値を記憶する記憶部と、
前記上限値に基づいて、前記暗号化に用いられる乱数値の分布幅を示すパラメータの値を算出する処理部と、
を有する情報処理装置。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022194747A JP2024081261A (ja) | 2022-12-06 | 2022-12-06 | プログラム、算出方法および情報処理装置 |
| EP23195089.0A EP4383641A1 (en) | 2022-12-06 | 2023-09-04 | Program, method, and information processing device for calculating secret shares |
| US18/461,178 US20240187224A1 (en) | 2022-12-06 | 2023-09-05 | Computer-readable recording medium storing program, calculation method, and information processing device |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2022194747A JP2024081261A (ja) | 2022-12-06 | 2022-12-06 | プログラム、算出方法および情報処理装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2024081261A true JP2024081261A (ja) | 2024-06-18 |
Family
ID=87930227
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2022194747A Pending JP2024081261A (ja) | 2022-12-06 | 2022-12-06 | プログラム、算出方法および情報処理装置 |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US20240187224A1 (ja) |
| EP (1) | EP4383641A1 (ja) |
| JP (1) | JP2024081261A (ja) |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7577543B2 (en) * | 2005-03-11 | 2009-08-18 | Honeywell International Inc. | Plugged impulse line detection |
| CN103419513B (zh) * | 2012-05-15 | 2015-09-02 | 北大方正集团有限公司 | 一种随机图像的处理方法及一种印刷设备控制系统 |
| JP6021178B2 (ja) | 2012-10-17 | 2016-11-09 | 日本電信電話株式会社 | ノイズ加算装置、ノイズ加算方法、およびプログラム |
| SG11202001591UA (en) * | 2017-08-30 | 2020-03-30 | Inpher Inc | High-precision privacy-preserving real-valued function evaluation |
| CN110366722A (zh) | 2018-10-17 | 2019-10-22 | 阿里巴巴集团控股有限公司 | 不利用可信初始化器的秘密共享 |
| US10936960B1 (en) | 2019-08-09 | 2021-03-02 | Advanced New Technologies Co., Ltd. | Determining model parameters using secret sharing |
| EP4080488B1 (en) | 2019-12-19 | 2024-02-28 | Nippon Telegraph And Telephone Corporation | Secret random number generation system, secret calculation device, secret random number generation method, and program |
-
2022
- 2022-12-06 JP JP2022194747A patent/JP2024081261A/ja active Pending
-
2023
- 2023-09-04 EP EP23195089.0A patent/EP4383641A1/en not_active Withdrawn
- 2023-09-05 US US18/461,178 patent/US20240187224A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| EP4383641A1 (en) | 2024-06-12 |
| US20240187224A1 (en) | 2024-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210273798A1 (en) | Secure multi-party computation method and apparatus, and electronic device | |
| KR102149996B1 (ko) | 특정 식별 정보 노출없이 식별자간 링크를 설정하기 위한 시스템 및 방법 | |
| JP5771158B2 (ja) | 時系列データのプライバシー保護アグリゲーション | |
| CN110214325B (zh) | 数据屏蔽的方法和系统 | |
| CN105122721B (zh) | 用于管理针对加密数据的托管安全计算的方法和系统 | |
| JP5411994B2 (ja) | 秘密分散システム、秘密分散装置、秘密分散方法、秘密ソート方法、秘密分散プログラム | |
| EP3573039B1 (en) | Secure computing system, secure computing device, secure computing method, and program | |
| EP2947642A1 (en) | Secure-computation system, computing device, secure-computation method, and program | |
| US12204682B2 (en) | Data processing method, apparatus, and system, device, and medium | |
| JP2023008395A (ja) | マルチパーティ型準同型暗号によるセキュアでロバストな連合学習システム及び連合学習方法 | |
| US11381381B2 (en) | Privacy preserving oracle | |
| US10069631B2 (en) | Fault-tolerant aggregation of encrypted data in a star network | |
| KR101553986B1 (ko) | 분산 데이터 저장, 복원 시스템 및 방법 | |
| JP7089303B2 (ja) | 推論装置、処理システム、推論方法及び推論プログラム | |
| US20200202018A1 (en) | Smart privacy and controlled exposure on blockchains | |
| WO2025007525A1 (zh) | 神经网络模型加密方法、解密方法、装置、设备及介质 | |
| Mashatan et al. | The complex path to quantum resistance: Is your organization prepared? | |
| JP4849541B2 (ja) | 個別情報を秘匿するクロス集計処理方法およびクロス集計装置、並びにプログラム | |
| Sundar et al. | Quantum cryptography based cloud security model (QC-CSM) for ensuring cloud data security in storage and accessing | |
| Pennekamp et al. | Revisiting the privacy needs of real-world applicable company benchmarking | |
| Mashatan et al. | The complex path to quantum resistance | |
| US20220292362A1 (en) | Secret softmax function calculation system, secret softmax calculation apparatus, secret softmax calculation method, secret neural network calculation system, secret neural network learning system, and program | |
| JP7327511B2 (ja) | 秘密乱数生成システム、秘密計算装置、秘密乱数生成方法、およびプログラム | |
| US20220413807A1 (en) | Secure random number generation system, secure computation apparatus, secure random number generation method, and program | |
| JP2024081261A (ja) | プログラム、算出方法および情報処理装置 |