JP7205623B2 - 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム - Google Patents

秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム Download PDF

Info

Publication number
JP7205623B2
JP7205623B2 JP2021524633A JP2021524633A JP7205623B2 JP 7205623 B2 JP7205623 B2 JP 7205623B2 JP 2021524633 A JP2021524633 A JP 2021524633A JP 2021524633 A JP2021524633 A JP 2021524633A JP 7205623 B2 JP7205623 B2 JP 7205623B2
Authority
JP
Japan
Prior art keywords
value
calculation
generate
vector
secure
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
JP2021524633A
Other languages
English (en)
Other versions
JPWO2020246018A1 (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
Publication of JPWO2020246018A1 publication Critical patent/JPWO2020246018A1/ja
Application granted granted Critical
Publication of JP7205623B2 publication Critical patent/JP7205623B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • G06F17/12Simultaneous equations, e.g. systems of linear equations
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Operations Research (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Description

この発明は、数値計算技術に関し、特に、秘密計算で連立一次方程式を効率よく解く方法に関する。
対称正定値行列を係数とする連立一次方程式を解くアルゴリズムとして、共役勾配法という方法が知られている。共役勾配法では、反復計算により連立方程式の解の近似値を計算する(例えば、非特許文献1参照)。
通常、共役勾配法は浮動小数点数を用いて計算される。秘密計算で共役勾配法を行う場合も、浮動小数点数を使うことで計算することができる。しかしながら、秘密計算では浮動小数点数の計算コストが大きいため、浮動小数点数を使った秘密計算による共役勾配法は計算コストが非常に大きくなってしまう。
秘密計算で実数を扱う方法には、浮動小数点数の他に固定小数点数を扱うものがある。固定小数点数は浮動小数点数よりも計算コストが小さいため、固定小数点数で実現できれば共役勾配法の計算コストを小さくすることができる。
しかしながら、共役勾配法を固定小数点数で実現する場合、計算途中の値でオーバーフローが起こる場合がある。オーバーフローが起こると正しい計算結果が得られなくなるため、オーバーフローが起こらないように共役勾配法を計算できることが望ましい。
この発明の目的は、上記のような技術的課題に鑑みて、共役勾配法を固定小数点数で実現する場合にオーバーフローが起きる確率を低減することである。
上記の課題を解決するために、この発明の一態様の秘密共役勾配法計算システムは、Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを行列Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、複数の秘密計算装置を含み、集合Xの秘匿値とベクトルbの秘匿値とを入力とし、Ax=bの解x→*の近似解x kを求める。
秘密計算装置は、初期化部と第一計算部と第二計算部と第三計算部と第四計算部と第五計算部と第六計算部と第七計算部と第八計算部と第九計算部とを含む。
初期化部は、次式を秘密計算により計算してベクトルp 0, r 0と値ρ0それぞれの秘匿値を生成する。
Figure 0007205623000001
第一計算部は、次式を秘密計算により計算してベクトルa i-1の秘匿値を生成する。
Figure 0007205623000002
第二計算部は、次式を秘密計算により計算して値γi-1の秘匿値を生成する。
Figure 0007205623000003
第三計算部は、次式を秘密計算により計算して値αi-1の秘匿値を生成する。
Figure 0007205623000004
第四計算部は、次式を秘密計算により計算してベクトルd iの秘匿値を生成する。
Figure 0007205623000005
第五計算部は、次式を秘密計算により計算してベクトルx iの秘匿値を生成する。
Figure 0007205623000006
第六計算部は、次式を秘密計算により計算してベクトルr iの秘匿値を生成する。
Figure 0007205623000007
第七計算部は、次式を秘密計算により計算して値ρiの秘匿値を生成する。
Figure 0007205623000008
第八計算部は、次式を秘密計算により計算して値βiの秘匿値を生成する。
Figure 0007205623000009
第九計算部は、次式を秘密計算により計算してベクトルp iの秘匿値を生成する。
Figure 0007205623000010
この発明によれば、共役勾配法の計算途中の値を小さく押さえることができるため、共役勾配法を固定小数点数で実現する場合にオーバーフローが起きる可能性が低減する。
図1は、秘密共役勾配法計算システムの機能構成を例示する図である。 図2は、秘密計算装置の機能構成を例示する図である。 図3は、秘密共役勾配法計算方法の処理手続きを例示する図である。 図4は、コンピュータの機能構成を例示する図である。
はじめに、この明細書における表記方法および用語の定義について説明する。
<表記方法>
文中で使用する記号「」(上付き矢印)は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。数式中においてはこれらの記号は本来の位置、すなわち文字の真上に記述している。例えば、「a」は数式中では次式で表される。
Figure 0007205623000011
例えば「a」のように、文字の直後に上付き矢印が記載された記号(数式中では、文字の真上に矢印が記載された記号)は、列ベクトルを表す。
T(上付き添え字のT)は転置を表す。
a→Tbは、ベクトルaとベクトルbの内積を表す。
<秘密計算>
暗号化された数値を復元することなく特定の演算結果を得る方法として、秘密計算と呼ばれる方法がある(例えば、参考文献1参照)。参考文献1に記載された方法では、3つの秘密計算装置に数値の断片を分散させるという暗号化を行い、3つの秘密計算装置が協調計算を行うことにより、数値を復元することなく、加減算、定数加算、乗算、定数倍、論理演算(否定、論理積、論理和、排他的論理和)、データ形式変換(整数、二進数)の結果を3つの秘密計算装置に分散された状態、すなわち暗号化されたまま保持させることができる。
〔参考文献1〕千田浩司、濱田浩気、五十嵐大、高橋克巳、“軽量検証可能3パーティ秘匿関数計算の再考”、CSS、2010年
<共役勾配法>
非特許文献1に記載された従来の共役勾配法についてより詳しく説明する。共役勾配法は、d次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合Xと、d次元ベクトルbとを入力とし、Ax=bの解x→*=A-1bの近似値を反復計算により計算する方法である。具体的には、近似解の初期値であるベクトルx 0を任意の値とし、以下の各値をi=1から順に計算していき、十分に大きなkについてベクトルx kを近似解として出力する。なお、kは、最大でd程度とし、所望の近似の精度に応じて設定される。例えば、d=100とすると、k=10程度に設定すればよい。また、各値の計算は次式の順番どおりに計算する必要はなく、計算可能な範囲で順番を入れ替えても構わないし、複数の値を並列に計算してもよい。
Figure 0007205623000012
ここで、fは集合Xとd次元ベクトルxからAxを計算する関数である。集合Xと関数fの具体例としては、以下のようなものが挙げられる。ただし、nは任意の自然数である。
・X={A}, f(X, x)=Ax
・Bをd行n列の行列とし、X={B}, f(X, x)=BBTx
・Bをd行n列の行列、Cを対角成分が正のd次対角行列とし、X={B, C}, f(X, x)=BCBTx
共役勾配法を秘密計算で行う場合、入出力の値を所定の秘密分散により秘匿した値とし、上記の各値の計算を、例えば上記参考文献1に記載された秘密計算の各演算を組み合わせて実現すればよい。すなわち、集合Xとベクトルbとをそれぞれ秘密分散した秘匿値を入力とし、上記の各値を秘密計算により元の値を秘匿したまま計算し、復元すると近似解x kとなる秘匿値を出力する。
<発明のポイント>
本発明では、|D|<1かつD≠0を満たす(言い換えると、絶対値が1未満であり、かつ、0以外である)任意の値Dを設定し、共役勾配法においてa i-1, γi-1, d i, ρiの各値を計算する際に、各値のD倍の値を計算してa i-1, γi-1, d i, ρiの各値とする。これにより、共役勾配法を計算する際に大きくなりやすい途中の値を小さく抑えることができるため、オーバーフローが起こる確率が低減する。本発明では、特に、計算途中の値の大きさは変更するが、最終的に得られる解が変化しないように構成したことがポイントである。
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[実施形態]
図1を参照して、実施形態の秘密共役勾配法計算システムの構成例を説明する。秘密共役勾配法計算システム100は、例えば、図1に示すように、N(≧2)台の秘密計算装置11, …, 1Nを含む。本実施形態では、秘密計算装置11, …, 1Nはそれぞれ通信網9へ接続される。通信網9は、接続される各装置が相互に通信可能なように構成された回線交換方式もしくはパケット交換方式の通信網であり、例えばインターネットやLAN(Local Area Network)、WAN(Wide Area Network)などを用いることができる。なお、各装置は必ずしも通信網9を介してオンラインで通信可能である必要はない。例えば、秘密計算装置11, …, 1Nへ入力する情報を磁気テープやUSBメモリなどの可搬型記録媒体に記憶し、その可搬型記録媒体から秘密計算装置11, …, 1Nへオフラインで入力するように構成してもよい。
図2を参照して、実施形態の秘密共役勾配法計算システム100に含まれる秘密計算装置1n(n=1, …, N)の構成例を説明する。秘密計算装置1nは、例えば、図2に示すように、入力部11、初期化部12、第一計算部13、第二計算部14、第三計算部15、第四計算部16、第五計算部17、第六計算部18、第七計算部19、第八計算部20、第九計算部21、反復制御部22、および出力部23を含む。この秘密計算装置1n(n=1, …, N)が他の秘密計算装置1n'(n'=1, …, N、ただしn≠n')と協調しながら後述する各ステップの処理を行うことにより本実施形態の秘密共役勾配法計算方法が実現される。
秘密計算装置1nは、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。秘密計算装置1nは、例えば、中央演算処理装置の制御のもとで各処理を実行する。秘密計算装置1nに入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて中央演算処理装置へ読み出されて他の処理に利用される。秘密計算装置1nの各処理部は、少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
図3を参照して、実施形態の秘密共役勾配法計算システム100が実行する秘密共役勾配法計算方法の処理手続きを説明する。
ステップS11において、各秘密計算装置1nの入力部11へ集合Xの秘匿値とベクトルbの秘匿値とが入力される。集合Xは、d次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合である。ベクトルbは、d次元のベクトルである。入力部11は、集合Xの秘匿値とベクトルbの秘匿値とを初期化部12へ出力する。
ステップS12において、各秘密計算装置1nの初期化部12は、近似解の初期値x 0を任意の値とし(すなわち、任意の値が設定されたベクトルx 0を生成し)、次式を秘密計算により計算してベクトルp 0, r 0と値ρ0それぞれの秘匿値を生成する。また、初期化部12は、反復処理のインデックスiをi=1に初期化する。
Figure 0007205623000013
初期化部12は、ベクトルp 0の秘匿値を第一計算部13、第二計算部14、第四計算部16、および第九計算部21へ出力する。また、ベクトルr 0の秘匿値を第六計算部18へ出力する。さらに、値ρ0の秘匿値を第三計算部15および第八計算部20へ出力する。そして、インデックスiを反復制御部22へ出力する。
ステップS13において、各秘密計算装置1nの第一計算部13は、次式を秘密計算により計算してベクトルa i-1の秘匿値を生成する。すなわち、従来の共役勾配法で求めるベクトルa i-1の各値をD倍してベクトルa i-1の各値とする。第一計算部13は、ベクトルa i-1の秘匿値を第二計算部14および第六計算部18へ出力する。
Figure 0007205623000014
ステップS14において、各秘密計算装置1nの第二計算部14は、次式を秘密計算により計算して値γi-1の秘匿値を生成する。すなわち、従来の共役勾配法で求める値γi-1をD倍して値γi-1とする。第二計算部14は、値γi-1の秘匿値を第三計算部15へ出力する。
Figure 0007205623000015
ステップS15において、各秘密計算装置1nの第三計算部15は、次式を秘密計算により計算して値αi-1の秘匿値を生成する。第三計算部15は、値αi-1の秘匿値を第四計算部16および第六計算部18へ出力する。
Figure 0007205623000016
ステップS16において、各秘密計算装置1nの第四計算部16は、次式を秘密計算により計算してベクトルd iの秘匿値を生成する。すなわち、従来の共役勾配法で求めるベクトルd iの各値をD倍してベクトルd iの各値とする。第四計算部16は、ベクトルd iの秘匿値を第五計算部17へ出力する。
Figure 0007205623000017
ステップS17において、各秘密計算装置1nの第五計算部17は、次式を秘密計算により計算してベクトルx iの秘匿値を生成する。第五計算部17は、ベクトルx iの秘匿値を出力部23へ出力する。
Figure 0007205623000018
ステップS18において、各秘密計算装置1nの第六計算部18は、次式を秘密計算により計算してベクトルr iの秘匿値を生成する。第六計算部18は、ベクトルr iの秘匿値を第七計算部19へ出力する。
Figure 0007205623000019
ステップS19において、各秘密計算装置1nの第七計算部19は、次式を秘密計算により計算して値ρiの秘匿値を生成する。すなわち、従来の共役勾配法で求める値ρiをD倍して値ρiとする。第七計算部19は、値ρiの秘匿値を第八計算部20へ出力する。
Figure 0007205623000020
ステップS20において、各秘密計算装置1nの第八計算部20は、次式を秘密計算により計算して値βiの秘匿値を生成する。第八計算部20は、値βiの秘匿値を第九計算部21へ出力する。
Figure 0007205623000021
ステップS21において、各秘密計算装置1nの第九計算部21は、次式を秘密計算により計算してベクトルp iの秘匿値を生成する。第九計算部21は、ベクトルp iの秘匿値を第一計算部13、第二計算部14、および第四計算部16へ出力する。
Figure 0007205623000022
ステップS22-1において、各秘密計算装置1nの反復制御部22は、iがk以上となっているか否か、すなわちi≧kの真偽を判定する。ただし、kは十分に大きな所定の整数である。i≧kが偽、すなわちi<kであれば、ステップS22-2へ処理を進める。i≧kが真であれば、ステップS23へ処理を進める。ステップS22-2において、各秘密計算装置1nの反復制御部22は、iをインクリメント、すなわちi=i+1を計算し、ステップS13へ処理を戻す。言い換えると、反復制御部22は、i=1, …, kの各iについて第一計算部13から第九計算部21までを繰り返し実行する制御を行う。
ステップS23において、各秘密計算装置1nの出力部23は、ベクトルx kの秘匿値をAx=bの解x→*=A-1bの近似値の秘匿値として出力する。
[変形例]
上述の実施形態では、共役勾配法を秘密計算で実現する場合に本発明を適用する構成を説明した。しかしながら、本発明は秘密計算だけでなく入出力を平文として1台のコンピュータが共役勾配法を計算する場合にも適用することができる。この場合、変形例の共役勾配法計算装置は、実施形態の秘密計算装置1nと同様に、入力部11、初期化部12、第一計算部13、第二計算部14、第三計算部15、第四計算部16、第五計算部17、第六計算部18、第七計算部19、第八計算部20、第九計算部21、反復制御部22、および出力部23を備え、各処理部の計算を平文で行うように構成する。すなわち、変形例の共役勾配法計算装置は、平文の集合Xと平文のベクトルbとを入力とし、従来の共役勾配法で計算するa i-1, γi-1, d i, ρiの各値をD倍してa i-1, γi-1, d i, ρiの各値とし、平文の近似解x kを出力すればよい。
<本発明によって生じる効果>
共役勾配法では、行列の次元dが大きくなるにつれて、計算途中の値が大きくなる。例えば、行列Aを縦横にk個、ベクトルbを縦にk個それぞれ並べた場合、a i, γi, αi, d i, x i, ρiの各値は,それぞれ並べる前のk倍、k2倍、k-1倍、k-1倍、k-1倍、k倍になり、a i, γiiの各値が元の値よりも大きくなる。
実施形態の構成では、近似解の値を変えることなく、|D|<1かつD≠0を満たす任意のDについて、共役勾配法を計算する際に出現する残差の二乗和ρiをD倍、行列と基底ベクトルの積a iをD倍、行列に関する基底ベクトルの二乗和γiをD2倍、残差の二乗和と基底ベクトルの比αiを1/D倍にすることができ、a i, γiiの各値を小さく抑えることができる。
本発明によれば、上述の例のように、例えば、行列Aを縦横にk個、ベクトルbを縦にk個それぞれ並べた場合にも、D=1/kと設定することで、a i, γi, αi, d i, x i, ρiの各値は、それぞれ並べる前の1倍、1倍、1倍、k-1倍、k-1倍、1倍とすることができる。これにより、解の値を変えることなく、途中の値を元の値以下に押さえることができるため、オーバーフローが起こる確率が低減する。
以上、この発明の実施の形態について説明したが、具体的な構成は、これらの実施の形態に限られるものではなく、この発明の趣旨を逸脱しない範囲で適宜設計の変更等があっても、この発明に含まれることはいうまでもない。実施の形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムを図4に示すコンピュータの記憶部1020に読み込ませ、制御部1010、入力部1030、出力部1040などに動作させることにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記憶装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (6)

  1. Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを集合Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、
    複数の秘密計算装置を含み、上記集合Xの秘匿値と上記ベクトルbの秘匿値とを入力とし、Ax=bの解x→*の近似解x kを求める秘密共役勾配法計算システムであって、
    上記秘密計算装置は、
    次式を秘密計算により計算してベクトルp 0, r 0と値ρ0それぞれの秘匿値を生成する初期化部と、
    Figure 0007205623000023

    次式を秘密計算により計算してベクトルa i-1の秘匿値を生成する第一計算部と、
    Figure 0007205623000024

    次式を秘密計算により計算して値γi-1の秘匿値を生成する第二計算部と、
    Figure 0007205623000025

    次式を秘密計算により計算して値αi-1の秘匿値を生成する第三計算部と、
    Figure 0007205623000026

    次式を秘密計算により計算してベクトルd iの秘匿値を生成する第四計算部と、
    Figure 0007205623000027

    次式を秘密計算により計算してベクトルx iの秘匿値を生成する第五計算部と、
    Figure 0007205623000028

    次式を秘密計算により計算してベクトルr iの秘匿値を生成する第六計算部と、
    Figure 0007205623000029

    次式を秘密計算により計算して値ρiの秘匿値を生成する第七計算部と、
    Figure 0007205623000030

    次式を秘密計算により計算して値βiの秘匿値を生成する第八計算部と、
    Figure 0007205623000031

    次式を秘密計算により計算してベクトルp iの秘匿値を生成する第九計算部と、
    Figure 0007205623000032

    を含む秘密共役勾配法計算システム。
  2. Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを集合Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、
    上記集合Xの秘匿値と上記ベクトルbの秘匿値とを入力とし、Ax=bの解x→*の近似解x kを求める秘密共役勾配法計算システムで用いられる秘密計算装置であって、
    次式を秘密計算により計算してベクトルp 0, r 0と値ρ0それぞれの秘匿値を生成する初期化部と、
    Figure 0007205623000033

    次式を秘密計算により計算してベクトルa i-1の秘匿値を生成する第一計算部と、
    Figure 0007205623000034

    次式を秘密計算により計算して値γi-1の秘匿値を生成する第二計算部と、
    Figure 0007205623000035

    次式を秘密計算により計算して値αi-1の秘匿値を生成する第三計算部と、
    Figure 0007205623000036

    次式を秘密計算により計算してベクトルd iの秘匿値を生成する第四計算部と、
    Figure 0007205623000037

    次式を秘密計算により計算してベクトルx iの秘匿値を生成する第五計算部と、
    Figure 0007205623000038

    次式を秘密計算により計算してベクトルr iの秘匿値を生成する第六計算部と、
    Figure 0007205623000039

    次式を秘密計算により計算して値ρiの秘匿値を生成する第七計算部と、
    Figure 0007205623000040

    次式を秘密計算により計算して値βiの秘匿値を生成する第八計算部と、
    Figure 0007205623000041

    次式を秘密計算により計算してベクトルp iの秘匿値を生成する第九計算部と、
    Figure 0007205623000042

    を含む秘密計算装置。
  3. Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを集合Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、
    上記集合Xと上記ベクトルbとを入力とし、Ax=bの解x→*の近似解x kを求める共役勾配法計算装置であって、
    次式を計算してベクトルp 0, r 0と値ρ0を生成する初期化部と、
    Figure 0007205623000043

    次式を計算してベクトルa i-1を生成する第一計算部と、
    Figure 0007205623000044

    次式を計算して値γi-1を生成する第二計算部と、
    Figure 0007205623000045

    次式を計算して値αi-1を生成する第三計算部と、
    Figure 0007205623000046

    次式を計算してベクトルd iを生成する第四計算部と、
    Figure 0007205623000047

    次式を計算してベクトルx iを生成する第五計算部と、
    Figure 0007205623000048

    次式を計算してベクトルr iを生成する第六計算部と、
    Figure 0007205623000049

    次式を計算して値ρiを生成する第七計算部と、
    Figure 0007205623000050

    次式を計算して値βiを生成する第八計算部と、
    Figure 0007205623000051

    次式を計算してベクトルp iを生成する第九計算部と、
    Figure 0007205623000052

    を含む共役勾配法計算装置。
  4. Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを集合Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、
    複数の秘密計算装置を含み、上記集合Xの秘匿値と上記ベクトルbの秘匿値とを入力とし、Ax=bの解x→*の近似解x kを求める秘密共役勾配法計算システムが実行する秘密共役勾配法計算方法であって、
    各秘密計算装置の初期化部が、次式を秘密計算により計算してベクトルp 0, r 0と値ρ0それぞれの秘匿値を生成し、
    Figure 0007205623000053

    各秘密計算装置の第一計算部が、次式を秘密計算により計算してベクトルa i-1の秘匿値を生成し、
    Figure 0007205623000054

    各秘密計算装置の第二計算部が、次式を秘密計算により計算して値γi-1の秘匿値を生成し、
    Figure 0007205623000055

    各秘密計算装置の第三計算部が、次式を秘密計算により計算して値αi-1の秘匿値を生成し、
    Figure 0007205623000056

    各秘密計算装置の第四計算部が、次式を秘密計算により計算してベクトルd iの秘匿値を生成し、
    Figure 0007205623000057

    各秘密計算装置の第五計算部が、次式を秘密計算により計算してベクトルx iの秘匿値を生成し、
    Figure 0007205623000058

    各秘密計算装置の第六計算部が、次式を秘密計算により計算してベクトルr iの秘匿値を生成し、
    Figure 0007205623000059

    各秘密計算装置の第七計算部が、次式を秘密計算により計算して値ρiの秘匿値を生成し、
    Figure 0007205623000060

    各秘密計算装置の第八計算部が、次式を秘密計算により計算して値βiの秘匿値を生成し、
    Figure 0007205623000061

    各秘密計算装置の第九計算部が、次式を秘密計算により計算してベクトルp iの秘匿値を生成する、
    Figure 0007205623000062

    秘密共役勾配法計算方法。
  5. Xをd次元の実対称正定値行列Aとd次元ベクトルとの積を計算するための値の集合とし、bをd次元ベクトルとし、fを集合Xとd次元ベクトルxからAxを計算する関数とし、kをd以下の整数とし、iを1からkまでの各整数とし、x 0を任意の値が設定されたd次元ベクトルとし、Dを絶対値が1未満かつ0以外の値とし、
    上記集合Xと上記ベクトルbとを入力とし、Ax=bの解x→*の近似解x kを求める共役勾配法計算装置が実行する共役勾配法計算方法であって、
    初期化部が、次式を計算してベクトルp 0, r 0と値ρ0を生成し、
    Figure 0007205623000063

    第一計算部が、次式を計算してベクトルa i-1を生成し、
    Figure 0007205623000064

    第二計算部が、次式を計算して値γi-1を生成し、
    Figure 0007205623000065

    第三計算部が、次式を計算して値αi-1を生成し、
    Figure 0007205623000066

    第四計算部が、次式を計算してベクトルd iを生成し、
    Figure 0007205623000067

    第五計算部が、次式を計算してベクトルx iを生成し、
    Figure 0007205623000068

    第六計算部が、次式を計算してベクトルr iを生成し、
    Figure 0007205623000069

    第七計算部が、次式を計算して値ρiを生成し、
    Figure 0007205623000070

    第八計算部が、次式を計算して値βiを生成し、
    Figure 0007205623000071

    第九計算部が、次式を計算してベクトルp iを生成する、
    Figure 0007205623000072

    共役勾配法計算方法。
  6. 請求項2に記載の秘密計算装置または請求項3に記載の共役勾配法計算装置としてコンピュータを機能させるためのプログラム。
JP2021524633A 2019-06-07 2019-06-07 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム Active JP7205623B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/022701 WO2020246018A1 (ja) 2019-06-07 2019-06-07 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020246018A1 JPWO2020246018A1 (ja) 2020-12-10
JP7205623B2 true JP7205623B2 (ja) 2023-01-17

Family

ID=73653099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021524633A Active JP7205623B2 (ja) 2019-06-07 2019-06-07 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム

Country Status (6)

Country Link
US (1) US20220318338A1 (ja)
EP (1) EP3982350B1 (ja)
JP (1) JP7205623B2 (ja)
CN (1) CN113924610B (ja)
AU (1) AU2019449126B2 (ja)
WO (1) WO2020246018A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7568084B2 (ja) 2021-06-02 2024-10-16 日本電信電話株式会社 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227939A (ja) 2005-02-17 2006-08-31 Matsushita Electric Ind Co Ltd 演算装置
JP2011145999A (ja) 2010-01-18 2011-07-28 Canon Inc 連立一次方程式の計算方法及び装置
US20150234781A1 (en) 2014-02-20 2015-08-20 International Business Machines Corporation Conjugate gradient solvers for linear systems
JP2018124681A (ja) 2017-01-30 2018-08-09 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4354609B2 (ja) * 1999-07-16 2009-10-28 パナソニック株式会社 有限体上の連立方程式求解装置及び逆元演算装置
JP2008269329A (ja) * 2007-04-20 2008-11-06 Murata Mfg Co Ltd 連立一次方程式の解を反復的に決定する方法
JP5448863B2 (ja) * 2010-01-15 2014-03-19 日本電信電話株式会社 鍵生成装置、鍵生成方法、プログラム及び記録媒体
JP5761043B2 (ja) * 2012-01-19 2015-08-12 富士通株式会社 名寄せ処理方法、装置及びプログラム
JP5860378B2 (ja) * 2012-10-16 2016-02-16 日本電信電話株式会社 秘密計算システム、集約関数装置、秘密計算方法、およびプログラム
JP5907902B2 (ja) * 2013-01-21 2016-04-26 日本電信電話株式会社 秘密計算による表の等結合システム、方法
US11200346B2 (en) * 2016-07-06 2021-12-14 Nippon Telegraph And Telephone Corporation Secure computation for reading multiple elements from a secure text array
JP6534778B2 (ja) * 2016-07-06 2019-06-26 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6532843B2 (ja) * 2016-07-21 2019-06-19 日本電信電話株式会社 秘匿計算システム、第一秘匿計算装置、第二秘匿計算装置、秘匿回路生成方法、秘匿回路評価方法、プログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006227939A (ja) 2005-02-17 2006-08-31 Matsushita Electric Ind Co Ltd 演算装置
JP2011145999A (ja) 2010-01-18 2011-07-28 Canon Inc 連立一次方程式の計算方法及び装置
US20150234781A1 (en) 2014-02-20 2015-08-20 International Business Machines Corporation Conjugate gradient solvers for linear systems
JP2018124681A (ja) 2017-01-30 2018-08-09 富士通株式会社 演算処理装置、情報処理装置、方法、およびプログラム

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANG, Pi Sheng et al.,Analysis of Conjugate Gradient Algorithms for Adaptive Filtering,IEEE Transactions on Signal Processing,IEEE,2000年,Vol. 48, NO. 2,pp. 409-418
MAFI, Ramin et al.,A Parallel Computing Platform for Real-Time Haptic Interaction with Deformable Bodies,IEEE Transactions on Haptics,IEEE,2010年,Vol. 3, No. 3,pp. 211-223,特に3.1

Also Published As

Publication number Publication date
JPWO2020246018A1 (ja) 2020-12-10
EP3982350A1 (en) 2022-04-13
EP3982350A4 (en) 2022-12-28
WO2020246018A1 (ja) 2020-12-10
AU2019449126B2 (en) 2022-10-27
US20220318338A1 (en) 2022-10-06
EP3982350B1 (en) 2023-12-13
AU2019449126A1 (en) 2022-01-06
CN113924610B (zh) 2024-02-20
CN113924610A (zh) 2022-01-11

Similar Documents

Publication Publication Date Title
JP7067632B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
JP6766182B2 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
JP7092206B2 (ja) 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム
WO2018135563A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
EP4016506B1 (en) Softmax function secret calculation system, softmax function secret calculation device, softmax function secret calculation method, neural network secret calculation system, neural network secret learning system, and program
WO2018008545A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP7205623B2 (ja) 秘密共役勾配法計算システム、秘密計算装置、共役勾配法計算装置、秘密共役勾配法計算方法、共役勾配法計算方法、およびプログラム
JP6977882B2 (ja) 秘密一括近似システム、秘密計算装置、秘密一括近似方法、およびプログラム
WO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
JP6825119B2 (ja) 秘密読み込み装置、秘密書き込み装置、それらの方法、およびプログラム
JP6981473B2 (ja) 秘密読み書き装置、秘密読み書き方法、およびプログラム
JP7173328B2 (ja) 秘密除算システム、秘密計算装置、秘密除算方法、およびプログラム
WO2022254599A1 (ja) 秘密共役勾配法計算方法、秘密共役勾配法計算システム、秘密計算装置、およびプログラム
JP7318721B2 (ja) 近似関数計算装置、方法及びプログラム
JP7331951B2 (ja) 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
WO2023135635A1 (ja) 秘密乱数計算システム、秘密乱数計算装置、秘密乱数計算方法、秘密クラスタ計算システム、秘密クラスタ計算装置、秘密クラスタ計算方法、プログラム
JP7359225B2 (ja) 秘密最大値計算装置、方法及びプログラム
WO2023233622A1 (ja) 秘密計算装置、秘密計算方法、プログラム
JP6758632B2 (ja) 正確検定計算装置、正確検定計算方法、およびプログラム
US20230102267A1 (en) Secure computation apparatus, secure computation method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221031

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221212

R150 Certificate of patent or registration of utility model

Ref document number: 7205623

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150