JP2022523182A - モジュラー整数を使用したセキュアなマルチパーティ計算のための算術 - Google Patents

モジュラー整数を使用したセキュアなマルチパーティ計算のための算術 Download PDF

Info

Publication number
JP2022523182A
JP2022523182A JP2021548139A JP2021548139A JP2022523182A JP 2022523182 A JP2022523182 A JP 2022523182A JP 2021548139 A JP2021548139 A JP 2021548139A JP 2021548139 A JP2021548139 A JP 2021548139A JP 2022523182 A JP2022523182 A JP 2022523182A
Authority
JP
Japan
Prior art keywords
value
modular representation
lift
secret
mathematical
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
Application number
JP2021548139A
Other languages
English (en)
Inventor
ゲオルギエバ,マリヤ
ギャマ,ニコラス
ジェチェフ,ディミタル
Original Assignee
インファー,インク.
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 インファー,インク. filed Critical インファー,インク.
Publication of JP2022523182A publication Critical patent/JP2022523182A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Operations Research (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

セキュアなマルチパーティ計算は、バックエンドでモジュラー整数表現を使用して実数演算を実装する。実施の一部として、第1のモジュラー表現において複数のパーティによって共同で記憶された秘密共有値は、より大きな最上位ビットを有する第2のモジュラー表現にキャストされる。パーティは、範囲が2等分に分割された、第1の表現における秘密共有マスキング値を使用して、その秘密共有値と秘密共有マスキング値との和をマスクして、明らかにする。パーティは、マスキング値を含む範囲の半分を識別する秘密共有ビットを、和とともに使用して、第2のモジュラー形式で秘密共有値を表す秘密共有のセットを共同で構築する。以前の作業とは対照的に、開示された解決策は、効率性またはセキュリティを犠牲にすることなく、ゼロではないエラーの確率を排除する。【選択図】図4

Description

関連出願
本出願の主題は、2019年2月22日出願の米国仮特許出願第62809543号に関連しており、その全体が参照により本明細書に組み込まれる。本出願の主題はまた、2018年8月30日に出願され、2019年3月7日に世界知的財産機関国際公開第WO2019046651A2号として公開された特許協力条約出願第PCT/US2018/048963号に関連しており、その全体が参照により本明細書に組み込まれる。
プライバシー保護マルチパーティ計算(MPC)技術により、多数のパーティが、入力を秘密にしながら、共有または明らかにされた出力を生成する機能を共同で評価することができる。このような計算は、例えば、入力データが、それらのデータを開示することができない別個のプライベートデータソースから来るが、機密データに基づいた公開結果が必要な場合に、医療および金融において使用される。
MPCは通常、多数の参加者間で時間的および地理的に分割される。参加者は、それぞれが別個のコンピューティングシステムを表し、典型的には、k個のパーティおよび1つの信頼できるディーラーを含む。本明細書で使用されるように、パーティおよびプレイヤーという用語は、互換的に使用され、マルチパーティ計算に参加している個々のパーティコンピュータシステムを指している。
計算を実装するためのコードのコンパイル後、信頼できるディーラーは、まず、MPCのオフライン段階を実行する。オフライン段階では、信頼できるディーラーは、マスク(マスキングデータ、トリプレットとも呼ばれる)を生成し、各パーティがそのマスクの共有のみを知っており、いずれも共有の合計によって表される平文マスク値を知らないように、これらのマスクの共有をパーティに分配する。マスクの決定は、典型的には、マスクがデータに関連して適切に構成されるように、統計分析の観点から操作されることが予想されるデータに依存する。
次いで、k個のパーティは、定義されたMPCプロトコルに従ってパーティがメッセージを交換またはブロードキャストすることができる同期ステップを用いて、MPCのオンライン段階を共同で実行する。オンライン段階は、信頼できるディーラーがアクセスすることができないファイアウォール環境で実行することができる。
MPCは、平文擬似コード(plaintext pseudocode)の分配等価物(distrobuted equivalent)であり得、これは、MPCフレンドリーな基本動作の単一の静的割り当て(SSA)グラフとして説明することができる。SSAグラフのノードは平文変数であり、各パーティは変数のローカルビュー(または秘密共有)を得る。このローカルビューをMPCコンテナとして示す。MPCフレンドリーな基本操作は、MPCコンテナおよび任意選択的にいくつかの静的パラメータを入力として取り、MPCコンテナを出力として生成するビルトインと呼ばれる。
図1は、マルチパーティ計算のk個のパーティに対するMPCコンテナの概略を示す。全体的に、MPCコンテナは、SSA内の1つの変数、すなわち、公開(すべてのパーティによって知られているが、信頼できるディーラーによって知られていない)または秘密共有
Figure 2022523182000002
(各パーティがその共有のみを知っている)、1つのマスク
Figure 2022523182000003
(ディーラーによって知られ、すべてのパーティ間で共有されている秘密)、および任意選択的なマスク値a=x+λ(すべてのパーティによって知られているが、典型的にはディーラーによって知られていない)のいずれかであり得る平文値xに関するすべての情報を保持する。注記:二重四角括弧表記
Figure 2022523182000004
は、秘密共有値を示すために本明細書で使用される。
局所的に、各パーティは、以下のようにフィールドを有する構造であり得る、MPCコンテナのトレースを有する:
-公開値x(コンテナが公開されている場合)
-公開価値の1つのシェアx
-コンテナのマスクの1つのシェアλ
-マスク値a(コンテナがマスクされ、明らかにされている場合)。
K個のコンテナの結合を分析すると、次のようになる:コンテナの平文の値は、定義上、すべてのシェアの合計Σxであり、コンテナが公開されている場合、すべてのパーティは平文の値を知っており、各パーティはこの値xを事前設定している。この場合、MPCプロトコルで他のフィールドを使用する必要はない。コンテナのマスクはλ=Σλである。マスクの値は、(オフライン段階中に)信頼できるディーラーのみが知っている。オンライン段階中、実際のマスクを知っている、または学習しているパーティはいない。マスク値aはλ+xに等しい。特殊なマスクアンドリビール動作は、各パーティにそのx+λをブロードキャストするように指示し、これにより、各パーティは、同じフィールドa=x+λを共同で再構築し、記憶することができるようになる。ビルトインに現れる全ての他の技術的またはローカル変数は、エフェメラル変数と呼ばれる。
2つの以前の作業は、MPCの文脈において実数を表すために、浮動小数点表示とは対照的に、固定小数点整数表現の使用を提案している。以前の作業の最初のものは、以下、P.MohasselおよびY.Zhangにより「SecureML」と称され、2017 IEEE Symposium on Security and Privacy,SP 2017,San Jose,CA,USA、2017年5月22~26日、19~38ページ、2017において”SecureML:A system for scalable privacy-preserving machine learning”と題される。以前の作業の2番目のものは、以下、P.MohasselとP.Rindalにより「ABY」と称され、Proceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security,CCS 2018,Toronto,ON,Canada、2018年10月15~19日、35~52ページ、2018において“ABY”と題される.
modReal表現。これらの作業では、実数演算は、固定サイズの整数型(例えば、int64、すなわち、整数モジュロ264)に対する加算、減算およびラウンド分割の評価を通じて、実装される。例えば、2つの30ビット整数xおよびyを乗算し、結果のうちの30個の最上位ビットを保持するために(浮動小数点乗算に類似して)、最初にxyを計算し(オーバーフローなしで積を64ビット整数に適合させることによって)、次いで、結果を30ビット右シフトすることができる。2つの作業は、x=centermod(x+...+x)となるように、これらの動作を、
Figure 2022523182000005
(いくつかの整数qについて)としてk個のパーティ(secureMLではk=2、ABYではk≧3)の間で平文
Figure 2022523182000006
が秘密共有されるMPC設定に適合させる。署名された数学的リフトcentermod(x)は、
Figure 2022523182000007
となるように一意の整数
Figure 2022523182000008
であると定義される。算術共有に対する実数のこの特定の表現をmodReal表現と呼ぶ。
SecureML,Section4.1,subsection title:“Arithmetic Operations on Shared Decimal Numbers”は、次のように示唆している。各数の
Figure 2022523182000009
ビットが数の分数部を表すように定義されるように、(小数点以降の2進数字)共通整数表現に記憶された2つの2進10進数xおよびyの固定小数点積を考える。この場合、
Figure 2022523182000010
は、整数バックエンドを使用してネイティブに表すことができる整数となる。ただし、積z=x’y’は、いくつかの整数
Figure 2022523182000011
に対して乗算が
Figure 2022523182000012
において行われたとして、表現の分数部に最大
Figure 2022523182000013
ビットを有することになる。しかしながら、特にMPCの状況において、小数点の後に追加の2進数字を維持することは、実用的ではない場合がある。SecureMLは、最後の
Figure 2022523182000014
ビットを無視または切り捨てることによって、結果の分数部を表すビット数を減らすことを示唆している。たとえば、積は
Figure 2022523182000015
のように表すことができ、ここで、
Figure 2022523182000016
であり、結果が
Figure 2022523182000017
のみを含むと考える。
その後、secureMLは上記の切り捨て技法を秘密共有値
Figure 2022523182000018
に拡張する。事実上、
Figure 2022523182000019
のそれぞれの秘密シェアを保持する2つのパーティは、それぞれの個々のシェアを切り捨てることができる。その後、高い確率で、2つの切り捨てられたシェアがzの切り捨て
Figure 2022523182000020
を再構築できることが定理1で示される。Xとxが非常に小さいxの2つの秘密シェアである場合、非常に高い確率で、2つのシェアxとx2つの反対側の半円mod内
Figure 2022523182000021
にある。2つのパーティでのみ機能する解決策は、シェアを切り捨てるためにローカル手順に依存するが、結果として生じる秘密共有値が誤っている確率はゼロではない。
ABYは、§5.1.1におけるsecureMLの2パーティ切り捨て技法の制限に取り組み、§5.2.2は、MPC設定で3つ以上のパーティに及ぶ切り捨てのための追加技法を提示する。しかしながら、繰り返しになるが、これら追加技法は、実際には無視できない確率で失敗する可能性がある。
2つの以前の作業では、ビーバートリプレットモジュロqを使用して乗算が実施され、各シェアに対して局所的にラウンドを実施することができ(
Figure 2022523182000022
によって境界付けられた平文値の小さなエラーを犠牲にして)、各シェアにおいて局所的に加算を行うことができる。分割のための2つのバリアントが提案される:最初のバリアントは、secureMLにおいて、2つのパーティ間の通信がない2つのパーティ解決策であり、2つ目のバリアントは、ABYにおいて、k個のパーティに対するビーバートリプレットベース解決策である。どちらの場合でも、除算の結果はほとんどの場合正しいが、いくつかの小さいがゼロではない確率で、検出できない巨大なオーバーフローが発生する。M個の整数要素および共有モジュロqの平文範囲のオーバーフロー確率は、M/qである。2つの30ビット整数を乗算する上述の例では、オーバーフロー確率は261/264=1/8であり、精度を20ビットに低下させると241/264に低下する。オーバーフローが発生すると、オーバーフローは大きくなる(secureML以降、オーバーフローの振幅は緩和されたが、それでも、新しいABYの改訂版では、結果の最上位ビットが変更される)。したがって、これらの間違った値を含む任意の集計関数が影響を受ける。オーバーフローの確率は係数あたりであるため、(ロジスティック回帰、線形回帰、ニューラルネットなどのほとんどのML使用ケースの場合のように)N個の係数のベクトルまたはマトリクスに計算を行うと、少なくとも1つの破壊的オーバーフローの存在がNによって乗算され、無視できないものになる。
数百万の係数を扱うために、2つの以前の作業によって提案された2つの可能な対策は、精度を低下させる(64ビットのバックエンドで最大10ビットの精度を提供する)か、バックエンドサイズを例えば128ビットに増加させる(4~16倍遅くする)かのいずれかである。なお、10ビットの固定小数点精度は、平文の正確な分布(例えば、特徴スケールの入力、シグモイドの出力など)を知っている数値的に安定した使用ケースでは十分であること。しかし、秘密平文分布の不確実性のために、固定小数点指数が実数値よりも4または5ビット高いと推定される場合、大きなアンダーフロー状況に遭遇することもある。
セキュアなマルチパーティ計算の文脈において、第1のモジュラー表現において多数のパーティによって共同で記憶された秘密共有値は、より大きな最上位ビットを有する第2のモジュラー表現にキャストされる。キャストには、信頼できるディーラーが、範囲が2つに分かれているマスキング値をパーティと秘密共有することを含む。パーティは、マスキング値を使用して、秘密共有値とマスキング値の合計をマスクし、明らかにする。信頼できるディーラーは、マスキング値を含む範囲の半分を少し符号化するビットを、パーティと秘密共有する。パーティは、合計とともに秘密共有ビットを使用して、第2のモジュラー形式で秘密共有値を表す秘密共有のセットを共同で再構築する。以前の作業とは対照的に、開示された解決策は、効率性またはセキュリティを犠牲にすることなく、ゼロではないエラーの確率を排除する。この方法は、以下の詳細な説明のセクション3.1にさらに詳細に記載されている。
方法は、秘密共有値に対してマルチパーティ計算を実施するように構成されたセキュアなマルチパーティコンピューティングシステム(SMPCS)によって実施され得、SMPCSは、信頼できるディーラーコンピューティングシステムおよびセキュアなネットワーク化通信における複数のパーティコンピューティングシステムを含む。本方法は、秘密共有値を第1のモジュラー表現から第2のモジュラー表現にキャストするためのものであり、第1のモジュラー表現は、第1のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、第2のモジュラー表現は、第2のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、第2のモジュラー表現の最上位ビット位置は、第1のモジュラー表現の最上位ビット位置よりも大きい。
一実施形態によれば、パーティコンピューティングシステムの各々は、第1のモジュラー表現の秘密共有値のそれぞれの秘密シェアを記憶する。信頼できるディーラーコンピューティングシステムは、マスキング値を記憶し、マスキング値が第1のモジュラー表現内のパーティコンピューティングシステム間で秘密共有されるように、第1のモジュラー表現におけるマスキング値のそれぞれの秘密シェアをパーティコンピューティングシステムの各々に通信する。信頼できるディーラーコンピューティングシステムは、マスキング値が存在するサブ範囲を決定することであって、サブ範囲が、第1のモジュラー表現の範囲を表す複数の所定の非重複サブ範囲から選択される、決定すること、決定されたサブ範囲を数値サブ範囲識別子に符号化すること、数値サブ範囲識別子がパーティコンピューティングシステム間で秘密共有されるように、パーティコンピューティングシステムの各々に、数値サブ範囲識別子のそれぞれの秘密シェアを通信することを行う。信頼できるディーラーコンピューティングシステムは、マスキング値に対して少なくとも第1の数学的リフトを実施することによって、第1の変換において、マスキング値を変換されたマスキング値に変換する。信頼できるディーラーコンピューティングシステムは、変換されたマスキング値が第2のモジュラー表現においてパーティコンピューティングシステム間で秘密共有されるように、第2のモジュラー表現の変換されたマスキング値のそれぞれの秘密シェアをパーティコンピューティングシステムの各々に通信する。パーティコンピューティングシステムは、秘密共有値の秘密シェアまたはマスキング値の秘密シェアを明らかにすることなく、秘密共有値とマスキング値との和をマスク値として共同で計算し、明らかにする。
SMPCSは、第2の変換において、マスク値に対して少なくとも第2の数学的リフトを実施することによって、マスク値を第1の変換されたマスク値に変換する。SMPCSは、第3の変換において、マスク値に対して少なくとも第3の数学的リフトを実施することによって、マスク値を第2の変換されたマスク値に変換し、第1の数学的リフト、第2の数学的リフト、および第3の数学的リフトは、それぞれ互いに異なる。パーティコンピューティングシステムは、パーティコンピューティングシステムの各々が、第1の変換されたマスク値、第2の変換されたマスク値、各パーティコンピューティングシステムについて、数値サブ範囲識別子のそれぞれの秘密シェア、および各パーティコンピューティングシステムについて、変換されたマスキング値のそれぞれの秘密シェア、に基づき、第2のモジュラー表現の秘密共有値のそれぞれの秘密シェアを計算するように、パーティコンピューティングシステムが、第2のモジュラー表現の秘密共有値を共同で計算する。
第1の数学的リフトおよび第2の数学的リフトが、第1のモジュラー表現の範囲の4分の1ずれた値を互いに対して生成し、第2の数学的リフトおよび第3の数学的リフトが、第1のモジュラー表現の範囲の半分ずれた値を互いに対して生成する、方法が行われ得る。
第1の数学的リフト、第2の数学的リフト、および第3の数学的リフトは、
Figure 2022523182000023
によってパラメータ化されたquartermodリフトであって、(Mmsb-1)が第1のモジュラー表現の最上位ビット位置である、quartermodリフトと、
Figure 2022523182000024
によってパラメータ化されたquartermodリフトと、
Figure 2022523182000025
によってパラメータ化されたposmodリフトからなる群からそれぞれ選択される、方法が行われ得る。
第1の数学的リフトが、
Figure 2022523182000026
によってパラメータ化されたマスキング値に対するquartermodリフトであり、第2の数学的リフトが、
Figure 2022523182000027
によってパラメータ化されたマスキング値に対するcentermodリフトであり、第3の数学的リフトが、
Figure 2022523182000028
によってパラメータ化されたマスキング値に対するposmodリフトであり、(Mmsb-1)が、第1のモジュラー表現の最上位ビット位置である、方法が行われ得る。
によってパラメータ化されたxに対するquartermodリフトが
Figure 2022523182000029
となるように一意のリアル(unique real)
Figure 2022523182000030
として定義され、2によってパラメータ化されたxに対するcentermodリフトが
Figure 2022523182000031
となるように一意のリアル
Figure 2022523182000032
として定義され、2によってパラメータ化されたxに対するposmodリフトが
Figure 2022523182000033
となるように一意のリアル
Figure 2022523182000034
として定義される、方法が行われ得る。
第1の変換は、第1の数学的リフトの結果を、
Figure 2022523182000035
の最も近い倍数にラウンドすることであって、p’lsbは第2のモジュラー表現の最下位ビット位置である、ラウンドすること、およびラウンドのモジュロ
Figure 2022523182000036
を取ることであって、(M’msb-1)は、第2のモジュラー表現の最上位ビット位置である、取ることをさらに含み、第2の変換は、第2の数学的リフトの結果を
Figure 2022523182000037
の最も近い倍数にラウンドすること、およびラウンドのモジュロ
Figure 2022523182000038
を取ることをさらに含み、第3の変換は、第3の数学的リフトの結果を
Figure 2022523182000039
の最も近い倍数にラウンドすること、およびラウンドのモジュロ
Figure 2022523182000040
を取ることをさらに含む、方法が行われ得る。
第1の変換、第2の変換、および第3の変換は、それぞれ、関連する数学的リフトの結果を
Figure 2022523182000041
に投影することを含み、(M’msb-1)が、第2のモジュラー表現の最上位ビット位置である、方法が行われ得る。
「複数の所定の非重複サブ範囲」が、2つの等しいサイズのサブ範囲からなり、数値サブ範囲識別子が、数字0および1からなる群から選択される、方法が行われ得る。
秘密共有された数値サブ範囲識別子が、第2のモジュラー表現において秘密共有値を計算する際に使用するために、第1の変換されたマスク値と第2の変換されたマスク値との間で選択するために、パーティコンピューティングシステムによって共同で使用される、方法が行われ得る。
第1のモジュラー表現および第2のモジュラー表現が、実数の固定小数点整数表現である、方法が行われ得る。
方法は、秘密共有値に対してマルチパーティ計算を実施するように構成されたSMPCSによって実施され得、SMPCSは、セキュアなネットワーク化通信における複数のパーティコンピューティングシステムを含む。本方法は、秘密共有値を第1のモジュラー表現から第2のモジュラー表現にキャストするためのものであり、第1のモジュラー表現は、第1のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、第2のモジュラー表現は、第2のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、第2のモジュラー表現の最上位ビット位置は、第1のモジュラー表現の最上位ビット位置よりも大きい。
一実施形態によれば、パーティコンピューティングシステムの各々は、第1のモジュラー表現に秘密共有値のそれぞれの秘密シェアを記憶する。SMPCSは、マスキング値がパーティコンピューティングシステム間で共有されるように、マスキング値のそれぞれの秘密シェアをパーティコンピューティングシステムの各々に通信する。SMPCSは、パーティコンピューティングシステムの各々に、マスキング値が存在するサブ範囲の指示のそれぞれの秘密シェアを通信し、サブ範囲は、第1のモジュラー表現の範囲を表す複数の所定の非重複サブ範囲から選択され、その結果、サブ範囲指示は、パーティコンピューティングシステム間で秘密共有される。SMPCSは、マスキング値に対して少なくとも第1の数学的リフトを実施することによって、第1の変換において、マスキング値を変換されたマスキング値に変換する。SMPCSは、変換されたマスキング値が第2のモジュラー表現においてパーティコンピューティングシステム間で秘密共有されるように、第2のモジュラー表現の変換されたマスキング値のそれぞれの秘密シェアをパーティコンピューティングシステムの各々に通信する。パーティコンピューティングシステムは、秘密共有値の秘密シェアまたはマスキング値の秘密シェアを明らかにすることなく、秘密共有値とマスキング値との和をマスク値として共同で計算し、明らかにする。SMPCSは、第2の変換において、マスク値に対して少なくとも第2の数学的リフトを実施することによって、マスク値を第1の変換されたマスク値に変換する。SMPCSは、第3の変換において、マスク値に対して少なくとも第3の数学的リフトを実施することによって、マスク値を第2の変換されたマスク値に変換し、第1の数学的リフト、第2の数学的リフト、および第3の数学的リフトは、それぞれ互いに異なる。パーティコンピューティングシステムは、パーティコンピューティングシステムの各々が、第1の変換されたマスク値、第2の変換されたマスク値、各パーティコンピューティングシステムについて、サブ範囲指示のそれぞれの秘密シェア、および各パーティコンピューティングシステムについて、変換されたマスキング値のそれぞれの秘密シェア、に基づき、第2のモジュラー表現の秘密共有値のそれぞれの秘密シェアを計算するように、パーティコンピューティングシステムが、第2のモジュラー表現の秘密共有値を共同で計算する。
第1の変換、第2の変換、および第3の変換は、それぞれ、関連する数学的リフトの結果を
Figure 2022523182000042
に投影することを含み、(M’msb-1)が、第2のモジュラー表現の最上位ビット位置である、方法が行われ得る。
「複数の所定の非重複サブ範囲」が、2つの等しいサイズのサブ範囲からなり、数値サブ範囲識別子が、数字0および1からなる群から選択される、方法が行われ得る。
秘密共有された数値サブ範囲識別子が、第2のモジュラー表現において秘密共有値を計算する際に使用するために、第1の変換されたマスク値と第2の変換されたマスク値との間で選択するために、パーティコンピューティングシステムによって共同で使用される、方法が行われ得る。
第1のモジュラー表現および第2のモジュラー表現が、実数の固定小数点整数表現である、方法が行われ得る。
それぞれの初期モジュラー表現に記憶された第1の秘密共有値と、それぞれの初期モジュラー表現に記憶された第2の秘密共有値との乗算を行うための方法は、第1の秘密共有値と、第2の秘密共有値との両方が共通のモジュラー表現に記憶されるように、第1の秘密共有値と、第2の秘密共有値とのうちの少なくとも1つを、キャストするための前述の方法のいずれか1つに従い、共通のモジュラー表現にキャストすることと、共通のモジュラー表現における第1の秘密共有値および第2の秘密共有値に対してビーバー乗算を実施するとと、を含むことができる。
それぞれの初期モジュラー表現にそれぞれ記憶される複数の秘密共有値と、対応する複数の静的係数とを結合するための方法は、複数の秘密共有値の全てが共通のモジュラー表現に記憶されるように、複数の秘密共有値のうちの少なくとも1つを、キャストするための前述の方法のいずれか1つに従い、共通のモジュラー表現にキャストすることと、共通のモジュラー表現に記憶された複数の秘密共有値と、対応する複数の静的係数との線形結合を実施することと、を含むことができる。
秘密共有値に対する連続関数を評価する方法は、秘密共有値に基づき、複数の確定済みフーリエ級数からフーリエ級数を選択することであって、複数の確定済みフーリエ級数の各々が、連続関数のドメインの関連するサブ間隔上の連続関数を近似するように構成されている、選択することと、選択に基づき、キャストするための前述の方法のいずれか1つに従い、秘密共有値を、第1のモジュラー表現から第2のモジュラー表現にキャストすることと、選択されたフーリエ級数を使用して、第2のモジュラー表現における秘密共有値上の連続関数の値を近似することと、を含むことができる。
システムは、前述の方法のいずれか1つを実施するように構成されている、複数のコンピュータシステムを含むことができる。
非一時的コンピュータ可読媒体は、複数のコンピュータシステムによって実行されると、複数のコンピュータシステムに、前述の方法のいずれか1つを実施させるように、コンピュータコードで符号化され得る。
MPCコンテナの概略を示す図である。 固定小数点表示におけるビット間の関係を示す図である。 クラス間で表現をキャストするための4つのキャスト演算を示す図である。 例示的な入力値に対する4つのキャスト演算のそれぞれの例示的な適用を示す図である。 Lift演算のオフライン段階の擬似コードの実装を示す図である。 Lift演算のオンライン段階の疑似コードの実装を示す図である。 shareRefresh演算のオフライン段階の疑似コードの実装を示す図である。 shareRefresh演算のオンライン段階の疑似コードの実装例を示す図である。 モジュラー表現における2つの秘密共有値に対するビーバー乗算演算の疑似コードの実装を示す図である。 ビーバー乗算動作の概略を示す図である。 モジュラー表現における1つの秘密共有値および1つの公開値に対するビーバー乗算演算の疑似コードの実装を例示する。 ビーバー乗算演算の概略を示す図である。 クリーニングステップを実施することができる例示的な入力を示す図である。 ModReal表現を伴う線形結合演算の擬似コードの実装を示す図である。 線形結合演算の概略を示す図である。 信頼できるディーラーモデルのための通信チャネルを示す図である。 誠実だが好奇心旺盛なモデルのための通信チャネルを示す図である。 オンライン段階中のパーティ間の通信チャネルの概略を示す図である。 本明細書に開示する構成要素を実装するように適宜構成され得る汎用コンピュータアーキテクチャを示す図である。
以下の説明では、それに従って本開示の発明の対象が実施され得る、様々な実施形態について述べる。実施形態によっては、1つの/ある/別の実施形態などといった表現を使用して記述されることがあり、そのうちの複数の場合が、必ずしも同じ実施形態を指すわけではない。このような場合に関連する特定の特徴、構造、または特性は、特に断りのない限り、様々な実施形態において、任意の好適な方式で組み合わせられ得る。例として、本開示は、実施形態のためのいくつかのオプションまたは可能性のセットまたはリストを示してもよく、そのような場合、本開示は、セットまたはリスト内のアイテムのすべての明らかに実行可能な組み合わせおよび/または順列を具体的に企図する。
1 概要
本開示では、マルチパーティ計算(MPC)設定におけるモジュラー整数表現を使用して、高い数値精度で実数演算を実施するための新規の技術を提示する。特に、第1のモジュラー表現に記憶された秘密共有値を第2のモジュラー表現にキャストするための方法を開示する。以前の作業とは対照的に、開示された解決策は、線形回帰およびロジスティック回帰などの機械学習技術にとって重要である、効率性およびセキュリティを犠牲にすることなく、エラーを有利に排除する。
MPCに対してフル閾値セキュリティモデルを採用し、計算をオフライン段階とオンライン段階に分ける。オフライン段階(入力データとは無関係)は、信頼できるディーラーまたは誠実だが好奇心旺盛なディーラーのいずれかによって実施され得る。この段階のより強力なモデルと検証可能性は、忘れられた転送や切り取り選択などの標準的な技術を介して達成することができる。オンライン段階では、結果の加算共有が計算される。
私たちの作業では、以前の作業と同じ共有の定義を維持しているが、オーバーフローを完全に排除する小さな項(M/q≦1/2)を追加することで、トリプレット(マスキング値)の定義を変更する。この方法は、オンライン段階中に1回の通信を維持し、全体的な実行時間を保持するわずかな2進演算だけを追加する。新しい方法は常に正しく、セキュリティは無条件であり、任意の数のパーティに対して機能する。
簡単にまとめると、ABYにおけるオーバーフローは、例えば、除算演算中に、ランダムマスクr′modq(オフライン段階中に選択される)およびマスク値a=x′-r′modqから小さな平文x∈Zを再構築する必要があるという事実に由来する。後者は、クラスmodqと互換性のない除算演算を適用する前に、オンライン段階中に明らかにされる。そのためには、r′とaの両方が[-q/2,q/2]で暗黙的に整数にリフトされる。より正確には、ABY §5.1.1、5.1.2では、これらの2つの暗黙的なセンタ化されたリフトは、1)
Figure 2022523182000043
がランダムであるトリプレットr=r′/2の定義において、および2)明らかに
Figure 2022523182000044
かつ局所的な計算(x′-r′)/2の演算において、の2つの演算中に生ずる。これらの2つのリフトは、a-r′がリアルを超えてx′に等しいというさらなる仮定と常に互換性があるとは限らない(均等性は、小さい確率で+qまたは-qだけ異なる場合がある)。新しい設定では、無条件のセキュリティを保証するr’の全範囲を保持する。依然として、群
Figure 2022523182000045
を2等分し、オフライン段階中、r′を含む半群を符号化する追加のビットを秘密共有し、秘密共有ビットを同じトリプレットに追加する。各半群は、パーティが両方のリフトを計算し、次いで、オンライン段階中に共有ビットを使用して、正しいリフトを気づかずに選択することができるように、a~r’について異なるリフトに対応する。
2平文値および秘密共有の表現
2.1 浮動小数点表示および固定小数点表示
平文の実数xは、
Figure 2022523182000046
として浮動小数点の形式で表すことができる。
-仮数mは、1/2≦|m|<1、および
-指数e∈Z(データ依存)となるように正規化される。
この表現は、mとeの両方が平文値xに依存するという意味で、明らかにデータ依存である。特に、指数eの値は正確に
Figure 2022523182000047
である。浮動小数点表示は、指数eを決定するために、xのサイズに関する情報を必要とするため、この値eがマルチパーティ計算の前にコンパイラによって知られていないため、データに依存し、MPCフレンドリーではない。
平文の実数xは、
Figure 2022523182000048
として固定小数点(整数)形式で表すこともできる。
仮数mは、1/2≦|m|<1、および
指数e∈Z(公開値)となるように正規化される。
マルチパーティ計算を開始する前のコンパイラの視点から、指数は、公開と見なされるか、または公開として扱われることができるが、仮数は、私的として扱われることができる。コンパイラは、計算の前に秘密数xを知らないため、コンパイラがmに対して上記の正規化を保証する正確なeを決定することは不可能である。次の2つの例に示すように、オーバーフローまたはアンダーフローを容易に起こす可能性があるため、この表現も適していない。
オーバーフローX=10.1()とy=10()の2つの数(2進)を掛けるとする。これらの両方は、指数2を有する。しかしながら、結果の事前計算された公開指数がまだ2である場合、計算は、x×y=101(2)のため、オーバーフローする。したがって、オーバーフローを回避するには、少なくとも3の指数が必要となる。
アンダーフロー仮数のビット数がバインドされ(4ビット)、x=1.1()×1.1()=10.01(2)を計算したいとするシナリオを仮定する。この制限で、事前に計算された指数が2ではなく3であった場合、精度は失われ、つまり、結果は10.01(2)ではなく010.0(2)になる。
したがって、プログラム内の各値について指数に十分に良いバインドを保管する中間的な方法を採用する。このバインドは、特定の統計分析によって、専用コンパイラを介して、静的に推定され得る。この方法は、秘密値そのものを明らかにすることなく、秘密値について可能な限り正確に公開バインドを保持する。その観点から、実数表現は、固定小数点と浮動小数点の両方の特徴を組み合わせることによってハイブリッドとなる。
コンパイラの観点からは、指数は公的であると見なすことができるが、仮数は私的であると見なすことができる。しかしながら、コンパイラは確かに秘密数xを知らないので、コンパイラがmについて上記の正規化を保証する正確な指数eを判定することは不可能である。
2.2 リアルのハイブリッド平文表現
固定小数点(整数)表示で実数を表すための次のパラメータを導入する。
-plsbは、最下位ビットのビット位置を示し、
-(pmsb-1)は、最上位ビットのビット位置を示し、
-ρ=pmsb-plsbは、平文の数値ウィンドウ、すなわち固定小数点精度を表す。
パラメータpmsbおよびplsb動作されると予想されるデータの統計分析に基づいて、コンパイラによって決定され得る。実際には、制限因子は、数値ウィンドウρのサイズ(すなわち、仮数mのビット数、等価的に、コンパイラによって保持される指数バインドと、保持されるべき小数部分の二進数桁の数との差)である。Ρが小さいほど、バックエンドで算術が効率的になる。したがって、静的解析は、以下の2つの条件を確保する必要がある。
-静的に決定されたバインドは、オーバーフローを回避するのに十分である。
-バインドは、精度の損失を避けるために、できる限り正確である(ρの制限を考慮)。
定義1(実数の整数表現)パラメータpmsbおよびplsbが与えられた場合、これらのパラメータを使用して表される平文値のクラスは、
Figure 2022523182000049
によって示され、
Figure 2022523182000050
であると定義される。
例えば、x=1は、pmsb=1を有し、x=3は、pmsb=2を有する。なお、クラス
Figure 2022523182000051
は厳密には[ステップ
Figure 2022523182000052
において2]と
Figure 2022523182000053
の間のすべての実数(この場合は有理数)を表す。なお、Plsbはしばしば負である(正確な整数部分と、少数部分から数ビットの精度を計算したい場合)が、一般的に、これである必要はない。負のplsbは、小数部分のビットを検討していることを意味する。Ρ=pmsb-plsbは、数値を表すのに必要なビット数を本質的に示している。負のplsbが多いほど、フロートの精度が高くなり、それを表すのに必要なビットが多くなる。
実施例1pmsb=40およびplsb=-10について、Ρ40-(-10)=50である。この場合、最下位ビットは位置-10にあり、最上位ビットは位置39にあり、最下位非分数ビットは位置0にある。
実施例2Plsb=-2およびpmsb=5について、数値は1011.1()として2進値で表され、
Figure 2022523182000054
では01011.10(2)として表される。この場合、2つの分数ビットは、ビット位置-2および-1を占め、非分数ビットは、位置0~4を占める。
与えられた実数は、多くの異なる平文クラスに属することができることに注意する(すなわち、上記の例の11.5は
Figure 2022523182000055
に属しているが、
Figure 2022523182000056

Figure 2022523182000057
にも属している)。
図2は、固定小数点表示におけるビットpmsbとplsbとの関係、およびアンダーフローおよびオーバーフロー条件において影響を受けるであろう、関連するビットを示す。
平文オーバーフローセット(Plaintext overflow)
Figure 2022523182000058
は群でもリングでもなく、特に、加法、減法、乗法などの実算術演算の下では安定していない。たとえば、数値3は
Figure 2022523182000059
に属すが、3+3、-3-3、および3×3はすべてバインド
Figure 2022523182000060
を超えている。より一般的には、式の結果が出力された平文セットの
Figure 2022523182000061
を超える場合には、平文オーバーフローと呼ぶ。
平文オーバーフローのリスクを回避するために、pmsbが少なくともlog(x)であることを確実にする。しかし、変数のパラメータpmsbとplsbは、コンパイル時に(値xの実数値を知る前に)指定する必要があるため、リスクを軽減するには、pmsbをすべての可能な値の上限に設定する必要がある。これにより、変数に実数値を割り当てるときにオーバーフローが発生しないことが確実にされる。これはまた、実際(または浮動小数点)の精度が、固定小数点の精度pmsb-plsbよりも常に小さいことを意味している。
平文アンダーフロー。固定指数が大きすぎる場合、平文情報を完全に失う可能性がある。例えば、x=1×10-3およびy=6×10-6、xy=6×10-6である場合、浮動小数点数表示については、1小数桁が、積の仮数を表すのに十分であり、計算された指数は、
Figure 2022523182000062
である。
一方、固定小数点の世界では、入力の平文パラメータが、4小数桁の精度に対応する(pmsb、plsb)=(0、-14)に設定されている場合、一般的な誤りは、積pmsbが、2つの入力pmsbの和であると仮定することであり、ここでは、同じ14ビットの固定小数点の精度の結果を期待することであり、パラメータ(pmsb、plsb)=(0、-14)では、この場合、結果は、次のように計算される。0.0010×0.0060=0.0000で、結果が完全に失われる。このようなケースは平文アンダーフローと呼ばれ、この例では効果的に14ビットの固定小数点の精度があるが、計算された結果は浮動小数点の観点から完全に間違っている。
2.3 ModReal-実数のモジュラー表現
ModReal表現は、例えば、64ビットまたは128ビットの整数に基づくことができる、モジュラー整数表現の実算術を指している。この表現は、小数点の後に固定数の二進数字を含む、実数の固定小数点表示を有するコンピュータプロセッサの固定小数点ユニットを使用することができる。
マルチパーティ計算においてセキュリティを達成するために、特定のサイズの平文値は、典型的には、より大きなパラメータを有する値のクラスに属する値を共有するために秘密共有される。さらに、秘密シェアは、より大きなクラスからの値によってマスクされる。これらのより大きな秘密共有クラスは、2つの整数Mmsbおよびplsbによってパラメータ化される。すべての場合において、平文の最下位位置と一致するため、同じ記号plsbを自発的に使用するが、秘密共有されたデータに使用されるパラメータMmsbは、通常、対応する平文に使用されるpmsbよりも大きくなる。
-plsbは、マスク/共有の最下位ビットのビット位置を示す。
-(Mmsb-1)は、マスク/共有の最上位ビットのビット位置を示す。
定義2(実数のモジュラー表現)パラメータMmsbとplsbが与えられると、実数の秘密共有のモジュラー表現に使用されるクラスは、有限アーベル群として定義される。
Figure 2022523182000063
なお、
Figure 2022523182000064

Figure 2022523182000065
に対して同類形態(アーベル群として)であり、使用する自然な
Figure 2022523182000066
-モジュール構造を有する。
最終的に、MPC計算の情報理論的セキュリティ特性を達成することを可能にするクラス
Figure 2022523182000067
の重要な特性(すべての実数
Figure 2022523182000068
のセットとは異なり)は、均一分布を認めることである。
実施例。Plsb=-2およびpmsb=6の場合、数値x=11.5=12+1+2+8は、2進数で1011.1として表され、
Figure 2022523182000069
では001011.10として表される。反対の数値x′=-11.5=52.5=1/2+4+16+32mod64は2進数で110100.1として表され、
Figure 2022523182000070
では110100.10として表される。なお、xとx′の整数部分のビットは反対である。最初のビットは数字の符号を与え、最初のビットが0の場合、数字は正、それ以外の場合は負である。
2.4 ModReal数学リフト
秘密共有の考えを定義する前に、全体を通して使用されるトーラス
Figure 2022523182000071
(正の整数Mに対して)から
Figure 2022523182000072
(実数)へのいくつかの自然なリフトを提示する。ここで、リフトとは、自然全射の一部を意味する
Figure 2022523182000073
整数2でパラメータ化された、
Figure 2022523182000074
から
Figure 2022523182000075
への4つの数学的リフトを次のように定義する。

Figure 2022523182000076
は、
Figure 2022523182000077
となるように一意の実数
Figure 2022523182000078
として定義される

Figure 2022523182000079
は、
Figure 2022523182000080
となるように一意のリアル
Figure 2022523182000081
として定義される

Figure 2022523182000082
は、
Figure 2022523182000083
となるように一意のリアル
Figure 2022523182000084
として定義される

Figure 2022523182000085
は、
Figure 2022523182000086
として定義される。この差は、xがどの半空間に属するかによって、0または2のいずれかである。
2.5 共有のモジュラー表現
モジュラー表現は、秘密共有された実数の共有を表すために有利に使用され得る。
定義3(秘密共有のモジュラー表現)一実施形態において、数字
Figure 2022523182000087
は、以下の場合に、
Figure 2022523182000088
としてクラス
Figure 2022523182000089
で秘密共有される、
Figure 2022523182000090
MPC共有の非モジュラー表現に対するモジュラー表現の利点は、例によって示され得る。
実施例1。まず、上記の非モジュラークラス
Figure 2022523182000091
を使用して、各共有の非モジュラー表現のケースを考える。平文整数42は、
Figure 2022523182000092
において[33,97、-88]として、または
Figure 2022523182000093
において[164301、-806845,642586]として、3つのパーティ間で秘密共有され得る。正確な平文整数を再計算するには、3つのシェアすべてが必要である。しかしながら、第1のシナリオでは、最初の2つのシェアの和は、2=128と比較してかなり大きく、平文整数が正であることを強く示している。問題は、より大きな表現を犠牲にして、より大きなpmsbを使用する2番目の実施例で緩和される。
実施例2:次に、
Figure 2022523182000094
において[33,97,40]として3つのパーティ間で秘密共有される同じ整数42を考える。正確な整数の平文を再計算するには、3つのシェアすべてが必要であるが、今回は、
Figure 2022523182000095
がグループであり、均一分布を有するため、最初の2つのシェアは、平文の値に関する情報を全く提供しない。そのような共有のセキュリティは、kのうちk-1のパーティの連合にとっては情報理論的である。
3 キャスト演算(Casting Operations)
モジュラー整数の形態で表される秘密共有された実数に対する加算や乗算などの基本的な算術演算をサポートするために、まず、互換性のあるクラス(平文クラスと秘密共有クラス)で2つのオペランドをキャストできることを確実にする必要がある。したがって、キャスト演算が、所与のセットのパラメータに対する表現を、別のセットのパラメータに対する表現に効率的に変換することを可能にすることが重要である。このセクションでは、所与のクラス
Figure 2022523182000096
からのモジュラー共有のセットを、異なるパラメータM’msb、p’lsbを持つ別のクラス
Figure 2022523182000097
からのモジュラー共有の別のセットに変換する方法を説明する。キャスト演算は、パラメータplsbおよびMmsbを減少または増加させるかに応じて、通信を必要とする場合も必要としない場合もある。
図3は、パラメータplsbおよびMmsbのいずれかを増加または減少させるかに応じて、クラス間の表現をキャストするための4つのキャスト演算を示す。これらの4つのキャスト演算には、Extend、Round、Project、およびLiftが含まれる(Liftは上記の4つの自然リフトとは異なる)。
図4は、例示的な入力値に対する4つのキャスト演算のそれぞれの例示的な適用を示す。例示される実施例では、平文値x=1011.1(2)に対するモジュラー共有は、
Figure 2022523182000098
においてモジュラーシェアx=001000.10およびx=000011.00を有する2つのパーティ間で秘密共有される。この実施例は、シェアxが異なるパラメータplsbまたはMmsbを持つ別のモジュラー数にどのようにキャストされるかを示している。簡単化のため、演算はスカラーで提示されるが、より一般的に、これらの演算はすべて、任意のベクトル/行列/テンソルの各係数に対して独立して実施されるべきである。
Extend(p’lsb<plsb):拡張キャスト演算は、各入力共有に追加の最下位ビットを追加し、新しい最下位ビットを新しい表現において0に設定して、表現の新しいビットを埋める。Extend演算は、パーティ間の通信を必要としない。
Round(p’lsb>plsb):Roundキャスト演算は、各入力共有から最下位ビットを削除する。Roundキャスト演算は、共有を保有するパーティ間の通信の有無にかかわらず、実装することができる。Roundキャスト演算が通信なしで実装されている場合、各パーティは、それぞれの共有から最下位ビットをローカルに除去するためにroundする。この実装は、キャリー関連のエラーにより、平文のp’lsb最下位ビットが正しいことを保証するものではない。しかしながら、Roundキャスト演算は、秘密共有の合計が、p’lsbが正しい平文の値になることを確実にするために、パーティ間に通信を有して実装することができる。shareRefreshと呼ばれる、精度を維持するRoundキャスト演算のそのような実装を以下に示すが、実行時間、メモリ、および通信の点でより高価である。
Project(M’msb<Mmsb):パーティ間の通信も必要としないProjectキャスト演算は、次の自然な全射準同型に従って共有を変換する。
Figure 2022523182000099
Lift(M’msb>Mmsb):Liftキャスト演算は、オフラインおよびオンライン段階だけでなく、パーティ間の通信を必要とする。100%の場合正しく結果を計算するLiftキャスト演算の実装を以下に示す。この実装は、動作が確率的であり、失敗の確率がゼロではない以前の作業に対して改善される。
以下では、一実施形態によるLiftキャスト演算の実施形態をオンライン段階およびオフライン段階について説明する。p’lsb=plsbと必ずしも仮定しないことで、わずかにより一般的な方法で行われる。これは、多くの場合、2つの別々のものではなく、通信を必要とする、単一の演算にLiftとshareRefreshといったキャスト演算を合併することができるという実用的な利点がある。
3.1 整数モジュラー表現における秘密共有に対するLiftキャスト演算の実装
このセクションでは、第1のモジュラークラス
Figure 2022523182000100
からの共有のセットを第2のモジュラークラス
Figure 2022523182000101
の共有の別のセットに変換またはキャストする方法を説明し、このとき、第2のクラスのM’msbは、第1のクラスのMmsbよりも大きく、第2のクラスのp’lsbは、第1のクラスのplsbよりも小さく、等しく、または大きくてもよい。整数モジュラー表現の秘密共有に対するこの特定のキャスト演算を、Lift(上記のより一般的な自然リフトと区別するために大文字にする)と呼ぶ。一実施形態において、Lift演算は、部分的にオフライン(パーティ間の通信なし)で、および部分的にオンライン(パーティ間の通信あり)で、信頼できるディーラーを含むマルチパーティ計算のためのシステムにおいて実行される。
一実施形態によれば、Lift演算は、以下のようにマスクされ明らかにされた、秘密共有されたMPCコンテナ(上記の背景技術のセクションで紹介したことを思い出す)に動作する。

Figure 2022523182000102
を用いた平文
Figure 2022523182000103
の秘密共有
Figure 2022523182000104

Figure 2022523182000105
においてその合計λが一様にランダムであり、パーティによって知られていないマスク共有
Figure 2022523182000106
-すべてのパーティによって明らかにされ、知られているマスクされた値
Figure 2022523182000107
Lift演算の目標は、同じ平文xの秘密共有
Figure 2022523182000108
を計算することであり、M’msbはMmsbよりも大きい。
定義4。
Figure 2022523182000109
とする範囲
Figure 2022523182000110
を非交和
Figure 2022523182000111
として区分し、
Figure 2022523182000112
である、
選択変数またはビットを次のように定義する。
Figure 2022523182000113

特に、bλ=0は
Figure 2022523182000114
と等価であり、次のように書き換えることができる
Figure 2022523182000115
同様に、bλ=1は
Figure 2022523182000116
と等価であり、次のように書き換えることができる
Figure 2022523182000117
キャスト演算は、quartermod(λ):λ∈Iまたはλ∈Iについて、ビットbλに符号化され得る、これらの2つの可能性を利用する。
Figure 2022523182000118
とすると、2つの数学的リフトを考えることができる(ともに
Figure 2022523182000119
において)。
Figure 2022523182000120
秘密共有された値xがx∈[-N/4,N/4]の範囲内であることを要求することができ、この条件を満たされると、次の等式を観察することができる。
Figure 2022523182000121
またはより簡潔に
Figure 2022523182000122
この式を次のように論理的に書き換えることができる。
λの値に応じて、値と
Figure 2022523182000123
の間で効果的に選択するために、
Figure 2022523182000124
xについて共有モジュロ
Figure 2022523182000125
を得るためには(第二クラスへのxのマスキングの解除)、上記の等式を自然な全射
Figure 2022523182000126
を介してトーラス
Figure 2022523182000127
に投影することができる。信頼できるディーラーは、quartermod(λ)の画像
Figure 2022523182000128
を事前に計算し、秘密共有することができるため、パーティは、上記の式(1)に基づくνと合わせて、オンライン段階で
Figure 2022523182000129
の知識から回復することができる
Figure 2022523182000130
これは、より具体的には、以下のように行うことができる。J∈{0,1}について、
Figure 2022523182000131
とする。パーティは、明らかになったマスク値aに基づいて、(a-a)を決定することができる。信頼できるディーラーは、bλを事前計算し、パーティ間で
Figure 2022523182000132
として秘密共有する。bλの秘密共有は
Figure 2022523182000133
で行うことができるが、(a-a)の2進表現の最上位のM’msb-Mmsbビットを除くすべてのビットが常にゼロになることに留意する。したがって、信頼できるディーラーは、パーティが
Figure 2022523182000134
の共有および(a-a)に対して乗算を実施するために、より小さいモジュラークラス
Figure 2022523182000135
を使用してビットbλを秘密共有することで十分である。
要約すると、信頼できるディーラーは次のことを行う必要がある。
1.ランダムなマスクを生成する
Figure 2022523182000136
2.選択ビットbλを計算し、
Figure 2022523182000137
で秘密共有する
3.そのλの特定のリフトUを
Figure 2022523182000138
で計算し、
Figure 2022523182000139
で秘密共有する。より正確に言えば、
Figure 2022523182000140
ここで、関数
Figure 2022523182000141
は、実数zと整数
Figure 2022523182000142
を取り、zを
Figure 2022523182000143
の最も近い整数倍にラウンドし、υは、
Figure 2022523182000144
において
Figure 2022523182000145
として秘密共有され得る。
コンピューティングのオンライン段階では、パーティは、
Figure 2022523182000146
にリフトaおよびaを使用し、上記のcentermod(x)+quartermod(λ)の計算において、気づかない選択のために最上位M’Msb-Mmsbビットのみを抽出する。
3.1.1 Lift演算の擬似コードの実装
図5は、一実施形態による、Lift演算のオフライン段階の疑似コードの実装を示す。図6は、本実施形態によるLift演算のオンライン段階の疑似コード実装を示す。
上述したroundTo関数に加えて、図5および図6に示すLift演算は、クラスの値および仕様を入力とし、クラスの提供された仕様の表現において合計が入力値となる複数の秘密共有を出力する秘密共有関数を利用する。
図6に示す演算のオンライン段階に関して、演算
Figure 2022523182000147

Figure 2022523182000148
次のように定義する。

Figure 2022523182000149
末尾にMmsb-p’lsbのゼロで拡張される。
この定義では、関数msb(x)は、xのN個の最上位ビットを出力する。
3.2 shareRefresh演算
定義5.(Mmsb,plsb)および(M’msb,p’lsb)をM’msb≦Mmsbとなるような2対のパラメータとする。地図
Figure 2022523182000150
が次のように定義される:
Figure 2022523182000151
について、z
Figure 2022523182000152
および設定されたパラメータにおける任意の代表である
Figure 2022523182000153
これは次のように書き換えられることが観察され得る。
Figure 2022523182000154
注記:この表記
Figure 2022523182000155
は、数値xを最も近い整数にラウンドすることを示すために使用される。
命題1。定義5は明確に定義されており、すなわち、代表zの選択に依存しない。
証明。Z∈Mparamsおよびz、z
Figure 2022523182000156
におけるzの2つの代表とする。定義により、
Figure 2022523182000157
となるような
Figure 2022523182000158
が存在する。p’lsb≦M’msb≦Mmsbのため、
Figure 2022523182000159
である。特に、
Figure 2022523182000160
である。M’msb≦Mmsbのため、
Figure 2022523182000161
が得られる。
ここから、paramsとparams’は命題1の前提を満たすものと想定する。
一実施形態において、shareRefresh演算は、部分的にはオフライン(パーティ間の通信なし)で、部分的にはオンライン(パーティ間の通信あり)で実行される。図7は、一実施形態による、shareRefresh演算のオフライン段階の疑似コードの実装を示す。図8は、本実施形態によるshareRefresh演算のオンライン段階の疑似コードの実装を示す。
4 ビーバー乗算
4.1 ModRealバックエンドでの乗算
2つの秘密共有
Figure 2022523182000162
間の乗算は、
Figure 2022523182000163
において定義され、このとき、
Figure 2022523182000164
は、出力パラメータと呼ばれる。これらのパラメータは、通常、静的解析中にコンパイラによって決定される。
4.2 パラメータ計算式
以下の式は、続くビーバー乗算演算の図および説明と併せて使用される様々なパラメータの計算を示す。
Figure 2022523182000165
4.3 モジュラーバックエンドでのビーバー乗算(秘密-秘密)
図9は、一実施形態による、モジュラー表現における2つの秘密共有値に対するビーバー乗算演算の疑似コードの実装を示す。図10は、ビーバー乗算演算の概略を示す。
4.4 モジュラーバックエンドでのビーバーの乗算(秘密-公開)
図11は、一実施形態による、モジュラー表現における1つの秘密共有値および1つの公開値に対するビーバー乗算演算の疑似コードの実装を示す。図12は、ビーバー乗算演算の概略を示す。
5 線形組合せ
(1),...,c(n)を、倍精度浮動小数点数として与えられた公開実数とし、
Figure 2022523182000166
を対応するパラメータ
Figure 2022523182000167
を有する秘密共有とするここで
Figure 2022523182000168
において、素数pについて、v(m)は、整数
Figure 2022523182000169
のp進付値を示す実際には、これらの整数は、64ビット符号付き整数として表すことができる。公開ベクトル
Figure 2022523182000170
は、係数の近似である。上記24の選択は、タイプフロート32の平文に類似させるためのものであり、それによって、仮数は、24ビットとなる。
目標は、
Figure 2022523182000171
の秘密シェアを、対応するパラメータ
Figure 2022523182000172
で計算することである。入力共有は、浮動小数点表現またはモジュラー表現のいずれかで同時にあると仮定する。一実施形態において、混合された入力は、サポートされておらず、明示的なキャストを必要とする。しかしながら、出力バックエンドは、入力バックエンドとは異なってもよい(例えば、浮動小数点表現での入力を有し、モジュラー表現での出力を有してもよい)。
5.1 デフォルト出力パラメータ
出力に対して平文パラメータが利用可能でない場合、コンパイラの統計分析器は、結果の統計を推定するために、以下の伝播式を使用してもよい:すべての平文が、平均および分散
Figure 2022523182000173
の独立変数である場合、Var(x(i))、出力の平均および分散
Figure 2022523182000174

Figure 2022523182000175

となる。なお、最後の式は、独立変数に対してのみ真である。一実施形態において、合計の分散について以下の推定値を使用する:
Figure 2022523182000176
この伝播式に基づいて、コンパイラは、出力コンテナについて妥当なpmsb、plsbを既に推定し、次いで、Mmsb>pmsbを割り当てて、計算の正確性およびセキュリティを確保することができる。コンパイラが独立性の仮定を行うことができない場合、結果の統計を推定するために、例えば偽の値へのシミュレーションなど、他の手法を使用するべきである。
5.2 クリーニングステップ
一実施形態において、線形組合せを実行する前に、コンパイラは、以下のように線形組合せ入力を事前処理する:全ての1≦i≦nについて、
-α(i)=0のすべてのインデックスiを削除する。
-次のすべてのインデックスiを削除する。
Figure 2022523182000177
これは、項が無視可能であり、廃棄することができることを意味する。なお、項を1つずつ動的に削除する場合、上記の不等式の右辺は変化しない(削除された項は、最大値に等しいplsbを持つことはできない)。
図13は、クリーニングステップが実施され得る例示的な入力を示す。この例では、pmsb位置が、残りの間隔の最大plsb位置の左側にあるため、ラベル1との間隔は、無視できるものとして廃棄されるべきである。
さらに、
Figure 2022523182000178
を残りのインデックスセットとすることで、以下の基準に従ってテストすることができる(出力パラメータは、入力パラメータウィンドウと交差する必要がある)。
-不等式を確実にする
Figure 2022523182000179
それ以外の場合は、結果が無視できるか、ゼロであることを宣言する。
-以下の不等式を確実にする
Figure 2022523182000180
さもなければ、未定義の挙動が得られる。
5.3 線形結合ビルトイン:ModRealケース
一実施形態において、コンパイラは、線形結合のための2つの作業パラメータ、
Figure 2022523182000181
を提供する。これらは、次の性質を満たすように選択される。
-入力のModReal共有クラス
Figure 2022523182000182
へのリフトは、オーバーフローなしで、十分な精度を維持しながら個々のスカラー積
Figure 2022523182000183
が計算され得ることを確実にする(後者は正確に定義される必要がある)。
-すべての個々の項(スカラー積、n個)のすべての秘密シェア(k個)の合計は、オーバーフローなしでこのクラスで計算され得る(後者は正確に定義される必要がある)。
これにより、以下のデフォルトのパラメータ選択が合理的になる。
Figure 2022523182000184
各1≦i≦nについて、i番目の入力コンテナは、まず、パラメータ
Figure 2022523182000185
および
Figure 2022523182000186
でModReal数字にキャストされる。
Figure 2022523182000187
のとき、リフトトリプレットが必要となる(コンテナのマスクλと、2つのエフェメラルな事前計算されたデータb、νを伴う。次に、
Figure 2022523182000188
による乗算は、他の値とともに蓄積されるパラメータ
Figure 2022523182000189
のシリアライズ可能な値を生成する。最後に、合計を出力パラメータにキャストする。
図14は、一実施形態による、ModReal表現による線形結合演算の疑似コードの実装を示す。図15は、線形結合演算の概略を示す。
6 実数値関数のフーリエ近似
通常、複素数値関数f(x)のフーリエ近似が次の形で与えられる。
Figure 2022523182000190
このとき、Tは周期であり
Figure 2022523182000191
である。係数aは一般の複素数であるが、f(x)が実数値関数の場合、n>0について
Figure 2022523182000192
となる。すると、
Figure 2022523182000193
となる。
これにより、以下の変換が得られる。
Figure 2022523182000194
フーリエ項は、n=0.1,…,についてトリプル(c,n,φ)となり、このとき
Figure 2022523182000195
は実係数であり、φは位相である。
一例として、以下のシグモイド関数
Figure 2022523182000196
を考える。次いで、実数値関数f(x)=σ(x)-1/2は、奇数であり、これは、位相φが全て、π/2に等しいことを意味する。
6.1 フーリエ級数評価:ModRealケース
ここで、
Figure 2022523182000197
および秘密シェア
Figure 2022523182000198
に対する式(2)をどう評価するかを説明する。
マスク
Figure 2022523182000199
を思い出されたい。
信頼できるディーラーは、まず、マスクλ、対応するビットbλを計算し、次いで、n=0,1,...,Nに関するベクトル
Figure 2022523182000200
を計算し、秘密共有する(オフライン段階で)。
次いで、オンライン計算は、以下のように実行される:
1.
Figure 2022523182000201
の要素として
Figure 2022523182000202
を計算する。
2.
Figure 2022523182000203
およびbλの秘密共有を使用して、正しいリフト
Figure 2022523182000204
を計算する。これは、
Figure 2022523182000205
のため可能である。
3.n=0.1、…Nについてe2πna/Tを計算する(これには、元の
Figure 2022523182000206
だけでなく、リフトaが必要である)。
4.
Figure 2022523182000207
の秘密シェアを計算する。これは、特定の平文クラスのローカル乗算が決定されることを必要とする。
結果の平文パラメータを決定するために、計算全体がηビットの最大数値ウィンドウ内で発生するという制約を課す(例えば、バックエンドで64ビット整数のみを使用したい場合、η=64)。
まず、
Figure 2022523182000208
は、微小バインド、すなわち、
Figure 2022523182000209
を用いて推定することができる。
最適な
Figure 2022523182000210
を得るために、pを数値ウィンドウ、つまり、
Figure 2022523182000211
とする。
Figure 2022523182000212
とすると、制約は不等式によって与えられる。
2p+ε+2≦η、
すなわち、
Figure 2022523182000213
これは、計算の出力に対して最大数値ウィンドウを決定する必要があることを意味する。この不等式がなぜ成立するかを知るには、積の乗算ごとにpビットの精度が必要な場合、
Figure 2022523182000214
したがって、2pである。これらの項のεの合計を取って、モジュラー共有クラスの2つの追加ビットを加える必要がある。したがって、
Figure 2022523182000215
これに加え、コンパイラは、フーリエ級数ビルトインのための作業パラメータを提供する必要がある。

Figure 2022523182000216

Figure 2022523182000217
作業パラメータを決定するには、最下位ビット位置を決定することから始める(これは、十分な精度を保証するために行う)。以下の式が妥当である。

Figure 2022523182000218

Figure 2022523182000219
この選択には、いくつかの正当化が必要である:パラメータ
Figure 2022523182000220
は、e2πina/Tの計算において、サイズpの数値ウィンドウを持っていることを確実にする。実際、その量の最上位ビット位置は0であるため、小数部分には少なくともp個の2進数字が必要である。しかし、計算は、ビーバーへの両方の入力には同じ数値ウィンドウが必要である、つまり、マップとして見ることができる乗算が必要であると仮定する。
Figure 2022523182000221
7 通信モデル
図16Aおよび16Bは、マルチパーティ計算(MPC)のオフライン段階中のコンピューティングシステム間の通信チャネルの概略を示す。図16Aは、信頼できるディーラーモデルのための通信チャネルを示し、図16Bは、誠実だが好奇心旺盛なモデルのためのチャネルを示す。信頼できるディーラーモデルでは、ディーラーは、プライベートチャネルを介して数値マスキングデータ(トリプレットとも呼ばれる)を各パーティに送る。誠実だが好奇心旺盛なモデルでは、パーティは、パーティ全員の間で共有している、プライベート放送チャネルにアクセスすることができ、各パーティは、ディーラーと追加のプライベートチャネルを共有する。プライベートチャネルは、破線で示されている。この信頼できるディーラーモデルでは、ディーラーはマスキングデータを生成し、プライベートチャネルを使用して、データのそれぞれのシェアを、各パーティに送る(一方向矢印)。誠実だが好奇心旺盛なモデルでは、パーティは、数値マスキングデータの生成のための共同し、このために、ディーラーがアクセスできない、追加のプライベート放送チャネルを必要とする。3つのパーティだけが示されているが、モデルは、任意の数のパーティ拡張することができる。
図17は、一実施形態によるオンライン段階中のパーティ間の通信チャネルの概略を示す。パーティは、実線で示される公開放送チャネルを介してマスク値を送受信する。オンライン段階は、信頼できるディーラーモデルと誠実だが好奇心旺盛なモデルとで同じであり、ディーラーは不在である。
本明細書に開示される方法は、信頼できるディーラーモデルに関して説明される場合もあるが、これらの方法は、誠実であるが好奇心旺盛なモデルと使用することもできる。
8 コンピュータ実装形態
本明細書に開示されている実施形態の構成要素は、方法、プロセス、アプリケーション、プログラム、モジュラー、エンジン、機能などと呼ばれる場合があり、非一時的コンピュータ可読媒体に命令として具体化された専用ソフトウェアを使用して、1つ以上のコンピュータまたはコンピュータシステムを構成することによって実装され得る。1つ以上のコンピュータまたはコンピュータシステムは、ネットワーク化コンピュータシステムとして、有線ネットワークおよび/または無線ネットワークを通して、任意選択的にネットワーク化され得る1つ以上のスタンドアローンコンピュータ、クライアントコンピュータおよび/またはサーバコンピュータとすることができるか、またはそれらを含むことができる。
専用ソフトウェアは、その1つ以上のインスタンスを含み得、それぞれは、例えば、クライアントソフトウェア、サーバソフトウェア、デスクトップアプリケーションソフトウェア、アプリソフトウェア、データベースソフトウェア、オペレーティングシステムソフトウェア、およびドライバソフトウェアのうちの1つ以上を含み得る。クライアントソフトウェアは、システムを、1つ以上のサーバおよび/またはデータベースに対する要求を送信し、情報を受信するクライアントとして動作させるように構成される。サーバソフトウェアは、システムを、1つ以上のクライアントに対する要求を受信し、情報を送信する1つ以上のサーバとして動作させるように構成され得る。デスクトップアプリケーションソフトウェアおよび/またはアプリソフトウェアは、デスクトップおよび/またはポータブルコンピュータ上でデスクトップアプリケーションまたはアプリを動作することができる。データベースソフトウェアは、データおよび/または情報を記憶し、データを取得、記憶、および/または更新するためのクライアントソフトウェアによる要求に応答するために、システム上の1つ以上のデータベースを動作させるように構成され得る。オペレーティングシステムソフトウェアおよびドライバソフトウェアは、コンピュータまたはコンピュータシステムの他のソフトウェアによって使用されるハードウェアまたはプロセスへのインターフェースとして、プラットフォームおよび/またはドライバとしてオペレーティングシステムを提供するように構成され得る。例として、本明細書に開示される実施形態によって作成、使用、または動作される任意のデータは、コンピュータシステム上で動作するデータベースに記憶され、そこからアクセスされ、および/または修正され得る。
図18は、様々な実施形態による、開示されている構成要素を実装するように適宜構成され得る一般的なコンピュータアーキテクチャ1800を示す。コンピューティングアーキテクチャ1800は、コンピュータ1801、ネットワーク1818、および1つ以上のリモートコンピュータ1830など、様々なよくあるコンピューティング要素を含み得る。ただし、本明細書に開示されている実施形態は、この一般的なコンピューティングアーキテクチャ1800による実装形態に限られるものではない。
図18を参照するに、コンピュータ1801は、例えば、サーバ、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはモバイルコンピューティングデバイスなど、様々な汎用コンピュータのいずれかとすることができる。コンピュータ1801は、プロセッシングユニット1802、システムメモリ1804、およびシステムバス1806を含み得る。
プロセッシングユニット1802は、互いに独立して動作することができる、1つ以上の処理コアをそれぞれ含み得る様々な市販のコンピュータプロセッサのいずれかとする、または、それらのうちの1つ以上を含むことができる。コンピュータには、グラフィックスプロセッシングユニット1803などの付加的共プロセッシングユニットも備わっていることがある。
システムメモリ1804は、動的ランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)または他のランダムアクセスメモリ素子など、揮発性素子を含み得る。システムメモリ1804は、読み取り専用メモリまたはフラッシュメモリなど、不揮発性素子も含み得るか、または代替として、それらを含み得る。
コンピュータ1801は、ディスクドライブ、ソリッドステートディスク、またはリムーバブルメモリカードなど、ローカル不揮発性二次記憶域1808を含み得る。ローカル記憶域1808は、1つ以上のリムーバブルおよび/または非リムーバブル記憶ユニットを含み得る。ローカル記憶域1808は、コンピュータ上で実行する様々なアプリケーションを開始し、管理するオペレーティングシステムを記憶するために使用され得る。ローカル記憶域1808は、本明細書に開示されている実施形態の構成要素を実装するように構成され、またオペレーティングシステム下で1つ以上のアプリケーションとして実行され得る、専用ソフトウェアを記憶するためにも使用され得る。
コンピュータ1801は、通信デバイス1812も含み得、この通信デバイスを通して、コンピュータは、有線および/または無線のコンピュータネットワーク1818上で、1つ以上のリモートコンピュータ1830などの他のデバイスと通信する。通信デバイス1812は、例えば、有線コンピュータネットワーク上でデータを通信するためのネットワークインタフェースを含み得る。通信デバイス1812は、例えば、Wi-Fi、Bluetooth、および/または移動電話網上の通信向けの1つ以上の無線送信機を含み得る。
コンピュータ1801は、コンピュータネットワーク1818を通してネットワーク記憶域1820にアクセスすることもできる。ネットワーク記憶域は、例えば、ローカルネットワークに位置するネットワークアタッチドストレージデバイス、または1つ以上のリモートデータセンタでホストされるクラウドベース記憶域を含み得る。オペレーティングシステムおよび/または専用ソフトウェアは、代替として、ネットワーク記憶域1820に記憶され得る。
コンピュータ1801は、キーボード、マウス、タッチスクリーン、カメラ、マイクロホン、加速度計、温度計、磁気計、または任意の他のセンサなど、様々な入力デバイス1814を備え得る。ディスプレイ、スピーカ、プリンタ、偏心回転質量振動モータなどの出力デバイス1816も含まれ得る。
様々な記憶域1808、通信デバイス1812、出力デバイス1816、および入力デバイス1814は、コンピュータのハウジング内に統合され得るか、またはコンピュータ上の様々な入力/出力インタフェースデバイスを通して接続され得、この場合、参照番号1808、1812、1814、および1816は、場合によって、デバイスへの接続用のインターフェースを示すか、またはデバイスそのものを示すことがある。
以上の態様のいずれも、コンピュータシステムとして、このようなコンピュータシステムによって行われるプロセスとして、このようなコンピュータシステムのいずれかの個々の構成要素として、または、コンピュータプログラム命令が記憶されるコンピュータ記憶域を含む製造品として、1つ以上のインスタンスにおいて具体化され得、コンピュータプログラム命令は、1つ以上のコンピュータによって処理されると、このようなコンピュータシステムまたはこのようなコンピュータシステムのいずれかの個々の構成要素を提供するように、1つ以上のコンピュータを構成する。サーバ、コンピュータサーバ、ホスト、またはクライアントデバイスはそれぞれ、コンピュータまたはコンピュータシステムとして具体化され得る。コンピュータシステムは、通信ネットワークを通してつなげられる多数のコンピュータによって作業が実施される、分散型コンピューティング環境において実施され得る。分散型コンピューティング環境では、コンピュータプログラムは、ローカルおよびリモート両方のコンピュータ記憶媒体に位置され得る。
本明細書に記載したものなどの、また1つ以上のコンピュータ上で動作する、コンピュータシステムの各構成要素は、コンピュータの1つ以上のプロセッシングユニットと、1つ以上のプロセッシングユニットによって処理される1つ以上のコンピュータプログラムとを使用して実装され得る。コンピュータプログラムは、命令がコンピュータ内の1つ以上のプロセッシングユニットによって処理される、プログラムモジュールなどのコンピュータ実行可能命令および/またはコンピュータ解釈式命令を含む。通常、このような命令は、プロセッシングユニットによって処理されると、プロセッシングユニットに、データに対して作業を行うように命令するか、または、様々な構成要素もしくはデータ構造を実装するようにプロセッサまたはコンピュータを構成する、ルーチン、プログラム、オブジェクト、構成要素、データ構造などを定義する。
モジュール、エンジン、プロセス、機能などと呼ばれることがある本明細書に開示されている実施形態の構成要素は、例えば、専用ハードウェアロジックコンポーネントを使用することによって、専用ソフトウェアを用いて汎用コンピューティングリソースを構成することによって、または、専用ハードウェアと構成済み汎用コンピューティングリソースとの組合せによって、ハードウェアにおいて実装され得る。使用され得る図示の種類のハードウェアロジックコンポーネントは、例えば、フィールドプログラマブルゲートアレイ(FPGA:Field-Programmable Gate Array)、特定用途向け集積回路(ASIC:Application-Specific Integrated Circuit)、特定用途向け標準製品(ASSP:Application-Specific Standard Product)、システムオンチップシステム(SOC:System-on-a-chip system)、および複雑なプログラマブルロジックデバイス(CPLD:Complex Programmable Logic Device)を含む。
9 結びのコメント
ある実施形態に関して主題を説明したが、本明細書に示されている様々な特徴および利点を提供することもしないこともある他の実施形態が、本開示によって考えられるとして理解されるべきである。上記の具体的な実施形態は、単に例として開示され、本特許の主題の範囲は、以下の特許請求の範囲によって規定される。特許請求の範囲では、「based upon(~に基づく)」という用語は、結果または効果をもたらす際、直接的および/または間接的に、また場合によっては他の要因と合わせて、ある要因が考慮される状況を含むものとする。特許請求の範囲では、一部分というのは、あるもののうちの1つもないよりも大きく、あるものの全部までを含むものとし、あるものの暗号化は、そのものの一部分の暗号化を含むものとする。方法クレーム(特許範囲)では、いずれの参照文字も単に説明の便宜上使用され、方法を行う際の特定の順番を示すものではない。

Claims (20)

  1. 秘密共有値に対してマルチパーティ計算を実施するように構成されたセキュアなマルチパーティコンピューティングシステムによって実施される方法であって、前記セキュアなマルチパーティコンピューティングシステムが、信頼できるディーラーコンピューティングシステム、およびセキュアなネットワーク化通信における複数のパーティコンピューティングシステムを含み、前記方法が、秘密共有値を第1のモジュラー表現から第2のモジュラー表現にキャストするためのものであり、前記方法が、
    前記パーティコンピューティングシステムの各々が、前記第1のモジュラー表現の前記秘密共有値のそれぞれの秘密シェアを記憶することであって、
    前記第1のモジュラー表現は、前記第1のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有する、記憶することと、
    前記信頼できるディーラーコンピューティングシステムが、マスキング値を記憶し、前記マスキング値が前記第1のモジュラー表現内の前記パーティコンピューティングシステム間で秘密共有されるように、前記第1のモジュラー表現における前記マスキング値のそれぞれの秘密シェアを前記パーティコンピューティングシステムの各々に通信することと、
    前記信頼できるディーラーコンピューティングシステムが、
    前記マスキング値が存在するサブ範囲を決定することであって、前記サブ範囲が、前記第1のモジュラー表現の前記範囲を表す複数の所定の非重複サブ範囲から選択される、決定すること、
    前記決定されたサブ範囲を数値サブ範囲識別子に符号化すること、
    前記数値サブ範囲識別子が前記パーティコンピューティングシステム間で秘密共有されるように、前記パーティコンピューティングシステムの各々に、前記数値サブ範囲識別子のそれぞれの秘密シェアを通信すること、を行うことと、
    前記信頼できるディーラーコンピューティングシステムが、前記マスキング値に対して少なくとも第1の数学的リフトを実施することによって、第1の変換において、前記マスキング値を変換されたマスキング値に変換することと、
    前記信頼できるディーラーコンピューティングシステムが、前記変換されたマスキング値が、前記第2のモジュラー表現において前記パーティコンピューティングシステム間で秘密共有されるように、前記第2のモジュラー表現の前記変換されたマスキング値のそれぞれの秘密シェアを前記パーティコンピューティングシステムの各々に通信することであって、
    前記第2のモジュラー表現は、前記第2のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、前記第2のモジュラー表現の前記最上位ビット位置は、前記第1のモジュラー表現の前記最上位ビット位置よりも大きい、通信することと、
    前記パーティコンピューティングシステムが、前記秘密共有値の前記秘密シェアまたは前記マスキング値の前記秘密シェアを明らかにすることなく、前記秘密共有値と前記マスキング値との和をマスク値として共同で計算し、明らかにすることと、
    第2の変換において、前記マスク値に対して少なくとも第2の数学的リフトを実施することによって、前記マスク値を第1の変換されたマスク値に変換することと、
    第3の変換において、前記マスク値に対して少なくとも第3の数学的リフトを実施することによって、前記マスク値を第2の変換されたマスク値に変換することと、を行うことであって、
    前記第1の数学的リフト、前記第2の数学的リフト、および前記第3の数学的リフトは、それぞれ互いに異なる、行うことと、
    前記パーティコンピューティングシステムの各々が、
    前記第1の変換されたマスク値、
    前記第2の変換されたマスク値、
    各パーティコンピューティングシステムについて、前記数値サブ範囲識別子の前記それぞれの秘密シェア、および
    各パーティコンピューティングシステムについて、前記変換されたマスキング値の前記それぞれの秘密シェア、に基づき、前記第2のモジュラー表現の前記秘密共有値のそれぞれの秘密シェアを計算するように、前記パーティコンピューティングシステムが、前記第2のモジュラー表現の前記秘密共有値を共同で計算することと、を含む、方法。
  2. 前記第1の数学的リフトおよび前記第2の数学的リフトは、前記第1のモジュラー表現の前記範囲の4分の1ずれた値を互いに対して生成し、
    前記第2の数学的リフトおよび前記第3の数学的リフトは、前記第1のモジュラー表現の前記範囲の2分の1ずれた値を互いに対して生成する、請求項1に記載の方法。
  3. 前記第1の数学的リフト、前記第2の数学的リフト、および前記第3の数学的リフトは、それぞれ、
    Figure 2022523182000222

    によってパラメータ化されたquartermodリフトであって、(Mmsb-1)が前記第1のモジュラー表現の前記最上位ビット位置である、前記quartermodリフトと、
    Figure 2022523182000223

    によってパラメータ化されたcentermodリフトと、
    Figure 2022523182000224

    によってパラメータ化されたposmodリフトと、からなる群から選択される、請求項1に記載の方法。
  4. 前記第1の数学的リフトは、
    Figure 2022523182000225

    によってパラメータ化された前記マスキング値に対するquartermodリフトであり、
    前記第2の数学的リフトは、
    Figure 2022523182000226

    によってパラメータ化された前記マスク値に対するcentermodリフトであり、
    前記第3の数学的リフトは、
    Figure 2022523182000227

    によってパラメータ化された前記マスク値に対するposmodリフトであり、
    (Mmsb-1)は、前記第1のモジュラー表現の前記最上位ビット位置である、請求項1に記載の方法。
  5. によってパラメータ化されたxに対するquartermodリフトは
    Figure 2022523182000228

    となるように一意のリアル
    Figure 2022523182000229

    として定義され、
    によってパラメータ化されたxに対するcentermodリフトは
    Figure 2022523182000230

    となるように一意のリアル
    Figure 2022523182000231

    として定義され、
    によってパラメータ化されたx対するposmodリフトは、
    Figure 2022523182000232

    となるように一意のリアル
    Figure 2022523182000233

    として定義される、請求項4に記載の方法。
  6. 前記第1の変換は、
    前記第1の数学的リフトの結果を、
    Figure 2022523182000234

    の最も近い倍数にラウンドすることであって、p’lsbは、前記第2のモジュラー表現の前記最下位ビット位置である、ラウンドすることと、
    前記ラウンドのモジュロ
    Figure 2022523182000235

    を取ることであって、(M’msb-1)は、前記第2のモジュラー表現の前記最上位ビット位置である、取ることと、をさらに含み、
    前記第2の変換は、
    前記第2の数学的リフトの結果を
    Figure 2022523182000236

    の最も近い倍数にラウンドすることと、
    前記ラウンドのモジュロ
    Figure 2022523182000237

    を取ることと、をさらに含み、
    前記第3の変換は、
    前記第3の数学的リフトの結果を
    Figure 2022523182000238

    の最も近い倍数にラウンドすることと、
    前記ラウンドのモジュロ
    Figure 2022523182000239

    を取ることと、をさらに含む、請求項5に記載の方法。
  7. 前記第1の変換、前記第2の変換、および前記第3の変換は、それぞれ、関連する前記数学的リフトの結果を
    Figure 2022523182000240

    に投影することを含み、(M’msb-1)が前記第2のモジュラー表現の前記最上位ビット位置である、請求項1に記載の方法。
  8. 前記「複数の所定の非重複サブ範囲」は、2つの等しいサイズのサブ範囲からなり、前記数値サブ範囲識別子は、数値0および1からなる群から選択される、請求項1に記載の方法。
  9. 前記秘密共有された数値サブ範囲識別子は、前記第2のモジュラー表現において前記秘密共有値を計算する際に使用するために、前記第1の変換されたマスク値と前記第2の変換されたマスク値との間で選択するために前記パーティコンピューティングシステムによって共同で使用される、請求項8に記載の方法。
  10. 前記第1のモジュラー表現および前記第2のモジュラー表現が、実数の固定小数点整数表現である、請求項1に記載の方法。
  11. 秘密共有値に対してマルチパーティ計算を実施するように構成されたセキュアなマルチパーティコンピューティングシステムによって実施される方法であって、前記セキュアなマルチパーティコンピューティングシステムが、セキュアなネットワーク化通信における複数のパーティコンピューティングシステムを含み、前記方法が、秘密共有値を第1のモジュラー表現から第2のモジュラー表現にキャストするためのものであり、前記方法が、
    前記パーティコンピューティングシステムの各々が、前記第1のモジュラー表現の前記秘密共有値のそれぞれの秘密シェアを記憶することであって、
    前記第1のモジュラー表現は、前記第1のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有する、記憶することと、
    マスキング値が前記パーティコンピューティングシステム間で秘密共有されるように、前記パーティコンピューティングシステムの各々に、前記マスキング値のそれぞれの秘密シェアを通信することと、
    前記パーティコンピューティングシステムの各々に、前記マスキング値が存在するサブ範囲の指示のそれぞれの秘密シェアを通信することであって、前記サブ範囲は、前記サブ範囲の指示が前記パーティコンピューティングシステム間で秘密共有されるように、前記第1のモジュラー表現の前記範囲を表す複数の所定の非重複サブ範囲から選択される、通信することと、
    前記マスキング値に対して少なくとも第1の数学的リフトを実施することによって、第1の変換において、前記マスキング値を変換されたマスキング値に変換することと、
    前記変換されたマスキング値が、前記第2のモジュラー表現において前記パーティコンピューティングシステム間で秘密共有されるように、前記第2のモジュラー表現の前記変換されたマスキング値のそれぞれの秘密シェアを、前記パーティコンピューティングシステムの各々に通信することであって、
    前記第2のモジュラー表現は、前記第2のモジュラー表現の最上位ビット位置および最下位ビット位置によって画定される範囲を有し、前記第2のモジュラー表現の前記最上位ビット位置は、前記第1のモジュラー表現の前記最上位ビット位置よりも大きい、通信することと、
    前記パーティコンピューティングシステムが、前記秘密共有値の前記秘密シェアまたは前記マスキング値の前記秘密シェアを明らかにすることなく、前記秘密共有値と前記マスキング値との和をマスク値として共同で計算し、明らかにすることと、
    第2の変換において、前記マスク値に対して少なくとも第2の数学的リフトを実施することによって、前記マスク値を第1の変換されたマスク値に変換することと、
    第3の変換において、前記マスク値に対して少なくとも第3の数学的リフトを実施することによって、前記マスク値を第2の変換されたマスク値に変換すること、を行うことであって、
    前記第1の数学的リフト、前記第2の数学的リフト、および前記第3の数学的リフトは、それぞれ互いに異なる、行うことと、
    前記パーティコンピューティングシステムの各々が、
    前記第1の変換されたマスク値、
    前記第2の変換されたマスク値、
    各パーティコンピューティングシステムについて、前記サブ範囲の指示の前記それぞれの秘密シェア、および
    各パーティコンピューティングシステムについて、前記変換されたマスキング値の前記それぞれの秘密シェア、に基づき、前記第2のモジュラー表現の前記秘密共有値のそれぞれの秘密シェアを計算するように、前記パーティコンピューティングシステムが、前記第2のモジュラー表現の前記秘密共有値を共同で計算することと、を含む、方法。
  12. 前記第1の変換、前記第2の変換、および前記第3の変換は、それぞれ、関連する前記数学的リフトの結果を
    Figure 2022523182000241

    に投影することを含み、(M’msb-1)が前記第2のモジュラー表現の前記最上位ビット位置である、請求項11に記載の方法。
  13. 前記「複数の所定の非重複サブ範囲」は、2つの等しいサイズのサブ範囲からなり、前記数値サブ範囲識別子は、数値0および1からなる群から選択される、請求項11に記載の方法。
  14. 前記秘密共有された数値サブ範囲識別子は、前記第2のモジュラー表現において前記秘密共有値を計算する際に使用するために、前記第1の変換されたマスク値と前記第2の変換されたマスク値との間で選択するために前記パーティコンピューティングシステムによって共同で使用される、請求項13に記載の方法。
  15. 前記第1のモジュラー表現および前記第2のモジュラー表現が、実数の固定小数点整数表現である、請求項11に記載の方法。
  16. それぞれの初期モジュラー表現に記憶された第1の秘密共有値と、それぞれの初期モジュラー表現に記憶された第2の秘密共有値との乗算を実施するための方法であって、
    請求項11に記載の方法に従い、前記第1の秘密共有値および前記第2の秘密共有値の両方が共通のモジュラー表現に記憶されるように、前記第1の秘密共有値および前記第2の秘密共有値のうちの少なくとも1つを前記共通のモジュラー表現にキャストすることと、
    前記共通のモジュラー表現における前記第1の秘密共有値および前記第2の秘密共有値に対してビーバー乗算を実施することと、を備える、方法。
  17. それぞれの初期モジュラー表現にそれぞれ記憶される複数の秘密共有値と、対応する複数の静的係数とを結合するための方法であって、
    請求項11に記載の方法に従い、前記複数の秘密共有値の全てが共通のモジュラー表現に記憶されるように、前記複数の秘密共有値のうちの少なくとも1つを前記共通のモジュラー表現にキャストすることと、
    前記共通のモジュラー表現に記憶された前記複数の秘密共有値と、前記対応する複数の静的係数との線形結合を実施することと、を備える、方法。
  18. 秘密共有値に対する連続関数を評価するための方法であって、
    前記秘密共有値に基づき、複数の確定済みフーリエ級数からフーリエ級数を選択することであって、前記複数の確定済みフーリエ級数の各々が、前記連続関数のドメインの関連するサブ間隔上の前記連続関数を近似するように構成されている、選択することと、
    前記選択に基づき、請求項11に記載の方法に従って、前記秘密共有値を第1のモジュラー表現から第2のモジュラー表現にキャストすることと、
    前記選択されたフーリエ級数を使用して、前記第2のモジュラー表現における前記秘密共有値上の前記連続関数の値を近似することと、を備える、方法。
  19. 複数のコンピュータシステムを備えるシステムであって、前記複数のコンピュータシステムが、請求項1~18のいずれか一項に記載の方法を実施するように構成されている、システム。
  20. 複数のコンピュータシステムによって実行されると、前記複数のコンピュータシステムに、請求項1~18のいずれか一項に記載の方法を実施させる、コンピュータコードで符号化された非一時的コンピュータ可読媒体。
JP2021548139A 2019-02-22 2020-02-24 モジュラー整数を使用したセキュアなマルチパーティ計算のための算術 Pending JP2022523182A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201962809543P 2019-02-22 2019-02-22
US62/809,543 2019-02-22
PCT/US2020/019551 WO2020172683A1 (en) 2019-02-22 2020-02-24 Arithmetic for secure multi-party computation with modular integers

Publications (1)

Publication Number Publication Date
JP2022523182A true JP2022523182A (ja) 2022-04-21

Family

ID=69846600

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021548139A Pending JP2022523182A (ja) 2019-02-22 2020-02-24 モジュラー整数を使用したセキュアなマルチパーティ計算のための算術

Country Status (10)

Country Link
US (2) US11050558B2 (ja)
EP (1) EP3928462A1 (ja)
JP (1) JP2022523182A (ja)
KR (1) KR20210127168A (ja)
CN (1) CN113841356B (ja)
AU (1) AU2020225657A1 (ja)
CA (1) CA3128241A1 (ja)
IL (1) IL285484B1 (ja)
SG (1) SG11202108072QA (ja)
WO (1) WO2020172683A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3072638A1 (en) 2017-08-30 2019-03-07 Inpher, Inc. High-precision privacy-preserving real-valued function evaluation
JP2022523182A (ja) 2019-02-22 2022-04-21 インファー,インク. モジュラー整数を使用したセキュアなマルチパーティ計算のための算術
CN113761469B (zh) * 2021-08-10 2024-05-17 支付宝(杭州)信息技术有限公司 一种保护数据隐私的最高位进位计算方法
CN114584396B (zh) * 2022-04-25 2024-01-26 北京原语科技有限公司 一种多方安全计算协议的数据转换方法
CN115225264A (zh) * 2022-06-17 2022-10-21 上海富数科技有限公司广州分公司 一种安全多方计算方法、装置、电子设备及存储介质
US20240184522A1 (en) * 2022-10-19 2024-06-06 TripleBlind, Inc. Fast secure multiparty comparison optimized for common computing architectures
CN116248266B (zh) * 2022-12-16 2023-11-14 北京海泰方圆科技股份有限公司 基于秘密分享的安全多方计算方法及系统
CN116108473B (zh) * 2023-04-10 2023-06-27 极术(杭州)科技有限公司 多方安全计算中的数据处理方法及装置

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181017B1 (en) * 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7945784B1 (en) * 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
US20090327141A1 (en) * 2007-04-18 2009-12-31 Rabin Michael O Highly efficient secrecy-preserving proofs of correctness of computation
KR100966071B1 (ko) * 2007-12-18 2010-06-28 한국전자통신연구원 겹선형 사상을 이용한 다자간 키 공유 방법 및 그 시스템
WO2011047085A2 (en) * 2009-10-13 2011-04-21 Certimix, Inc. Method and apparatus for efficient and secure creating transferring, and revealing of messages over a network
FR2960727B1 (fr) 2010-05-26 2016-04-15 Oberthur Technologies Procede d'evaluation d'une fonction
US9077539B2 (en) 2011-03-09 2015-07-07 Microsoft Technology Licensing, Llc Server-aided multi-party protocols
WO2012158621A1 (en) 2011-05-13 2012-11-22 Indiana University Reaserch And Technology Coporation Secure and scalable mapping of human sequencing reads on hybrid clouds
US9281941B2 (en) * 2012-02-17 2016-03-08 International Business Machines Corporation Homomorphic evaluation including key switching, modulus switching, and dynamic noise management
US9252942B2 (en) 2012-04-17 2016-02-02 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
WO2013172790A1 (en) 2012-05-16 2013-11-21 Nanyang Technological University Methods for determining a result of applying a function to an input and evaluation devices
US8839410B2 (en) * 2012-11-20 2014-09-16 Sap Ag Type-system for mixed protocol secure computation
KR20150122162A (ko) * 2013-03-04 2015-10-30 톰슨 라이센싱 프라이버시 보호 카운팅을 위한 방법 및 시스템
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
US9450938B1 (en) * 2013-03-13 2016-09-20 Hrl Laboratories, Llc Information secure proactive multiparty computation (PMPC) protocol with linear bandwidth complexity
WO2014174516A1 (en) * 2013-04-25 2014-10-30 B.G. Negev Technologies And Applications Ltd. Accumulating automata and cascaded equations automata for non-interactive and perennial secure multi-party computation
US10003460B2 (en) * 2013-10-10 2018-06-19 Nippon Telegraph And Telephone Corporation Secret quotient transfer device, secret bit decomposition device, secret modulus conversion device, secret quotient transfer method, secret bit decomposition method, secret modulus conversion method, and programs therefor
WO2015166216A1 (en) 2014-05-02 2015-11-05 Barclays Bank Plc Transaction authentication
US10333696B2 (en) * 2015-01-12 2019-06-25 X-Prime, Inc. Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US10467389B2 (en) 2015-01-15 2019-11-05 Secretskydbltd Secret shared random access machine
US9813243B1 (en) * 2015-03-30 2017-11-07 EMC IP Holding Company LLC Methods and apparatus for password-based secret sharing schemes
US10749671B2 (en) * 2015-04-03 2020-08-18 Nec Corporation Secure computation system, server apparatus, secure computation method, and program
US9813234B2 (en) 2015-05-11 2017-11-07 The United States of America, as represented by the Secretery of the Air Force Transferable multiparty computation
US10791123B2 (en) * 2015-11-25 2020-09-29 Yaron Gvili Selectivity in privacy and verification with applications
WO2017094009A1 (en) 2015-12-03 2017-06-08 Dyadic Security Ltd Securing sql based databases with cryptographic protocols
US10972260B2 (en) * 2015-12-10 2021-04-06 Nec Corporation Pre-calculation device, method, computer-readable recording medium, vector multiplication device, and method
US9929860B1 (en) * 2015-12-30 2018-03-27 Emc Corporation Methods and apparatus for generalized password-based secret sharing
US9954684B2 (en) 2016-02-29 2018-04-24 PreVeil LLC Secure sharing
WO2017179059A1 (en) 2016-04-14 2017-10-19 B. G. Negev Technologies And Applications Ltd., At Ben-Gurion University Self-stabilizing secure and heterogeneous systems
JP6973385B2 (ja) 2016-05-13 2021-11-24 日本電気株式会社 認証システム、認証方法およびプログラム
US11042358B2 (en) 2016-08-18 2021-06-22 Nec Corporation Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor
CN110089071B (zh) * 2016-11-04 2023-02-17 诺基亚技术有限公司 安全的分布式数据处理
US20190386814A1 (en) * 2016-11-07 2019-12-19 Sherjil Ahmed Systems and Methods for Implementing an Efficient, Scalable Homomorphic Transformation of Encrypted Data with Minimal Data Expansion and Improved Processing Efficiency
US10360390B2 (en) * 2016-12-14 2019-07-23 Sap Se Oblivious order-preserving encryption
US10547592B2 (en) * 2017-01-19 2020-01-28 Hewlett Packard Enterprise Development Lp Computing a global sum that preserves privacy of parties in a multi-party environment
WO2018135563A1 (ja) * 2017-01-20 2018-07-26 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
US10565524B2 (en) * 2017-01-31 2020-02-18 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data
EP3602422B1 (en) * 2017-03-22 2022-03-16 Visa International Service Association Privacy-preserving machine learning
DE102017209014A1 (de) * 2017-05-30 2018-12-06 Robert Bosch Gmbh Verfahren und Vorrichtung zum Anfügen von Transaktionen an eine Blockkette
US10910087B2 (en) * 2017-06-27 2021-02-02 Hyunghoon Cho Secure secret-sharing-based crowdsourcing for large-scale association studies of genomic and phenotypic data
EP3439233B1 (en) * 2017-07-31 2020-12-30 Koninklijke Philips N.V. Distributing a computation output
US20200151356A1 (en) * 2017-08-11 2020-05-14 Duality Technologies, Inc. System and method for fast and efficient searching of encrypted ciphertexts
EP4325770A3 (en) * 2017-08-15 2024-04-24 nChain Licensing AG Threshold ecdsa for securing bitcoin wallet
CA3072638A1 (en) 2017-08-30 2019-03-07 Inpher, Inc. High-precision privacy-preserving real-valued function evaluation
JP6974804B2 (ja) * 2017-12-05 2021-12-01 日本電気株式会社 秘密等号判定システム、秘密等号判定方法および秘密等号判定プログラム
US11606203B2 (en) * 2017-12-14 2023-03-14 Robert Bosch Gmbh Method for faster secure multiparty inner product with SPDZ
WO2019133858A1 (en) * 2017-12-29 2019-07-04 Bonnie Berger Leighton Realizing private and practical pharmacological collaboration
WO2019170908A1 (en) * 2018-03-09 2019-09-12 Koninklijke Philips N.V. Batch-wise verification of multiparty computations
US10797868B2 (en) * 2018-05-31 2020-10-06 Irdeto B.V. Shared secret establishment
US11201734B2 (en) * 2018-06-04 2021-12-14 Robert Bosch Gmbh Method and system for fault tolerant and secure multiparty computation with SPDZ
US11580417B2 (en) * 2018-07-10 2023-02-14 City University Of Hong Kong System and method for processing data and managing information
US11087223B2 (en) * 2018-07-11 2021-08-10 International Business Machines Corporation Learning and inferring insights from encrypted data
CN109120398B (zh) * 2018-08-03 2021-07-27 河南师范大学 一种基于区块链系统的秘密共享方法与装置
US11334547B2 (en) * 2018-08-20 2022-05-17 Koninklijke Philips N.V. Data-oblivious copying from a first array to a second array
US10885205B2 (en) * 2018-10-31 2021-01-05 Nec Corporation Of America Secure multiparty computation
US20220141000A1 (en) * 2019-02-12 2022-05-05 Nec Corporation Information processing apparatus, secure computation method, and program
JP2022523182A (ja) * 2019-02-22 2022-04-21 インファー,インク. モジュラー整数を使用したセキュアなマルチパーティ計算のための算術

Also Published As

Publication number Publication date
US20210058241A1 (en) 2021-02-25
CN113841356A (zh) 2021-12-24
CN113841356B (zh) 2024-06-04
EP3928462A1 (en) 2021-12-29
IL285484B1 (en) 2024-03-01
KR20210127168A (ko) 2021-10-21
SG11202108072QA (en) 2021-09-29
CA3128241A1 (en) 2020-08-27
WO2020172683A1 (en) 2020-08-27
US11050558B2 (en) 2021-06-29
US20210399879A1 (en) 2021-12-23
US11716196B2 (en) 2023-08-01
AU2020225657A1 (en) 2021-08-19
IL285484A (en) 2021-09-30

Similar Documents

Publication Publication Date Title
JP2022523182A (ja) モジュラー整数を使用したセキュアなマルチパーティ計算のための算術
JP7272363B2 (ja) 高精度プライバシ保護実数値関数評価
US10778410B2 (en) Homomorphic data encryption method and apparatus for implementing privacy protection
US20170180115A1 (en) Homomorphic Encryption with Optimized Homomorphic Operations
CN107004084B (zh) 用于加密操作的乘法掩码
CN111857649B (zh) 一种用于隐私保护机器学习的定点数编码及运算系统
CN113761469B (zh) 一种保护数据隐私的最高位进位计算方法
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
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
Basilakis et al. Efficient parallel binary operations on homomorphic encrypted real numbers
JPWO2018008547A1 (ja) 秘密計算システム、秘密計算装置、秘密計算方法、およびプログラム
Harmon et al. Pie: p-adic encoding for high-precision arithmetic in homomorphic encryption
Ganesan et al. Efficient ml models for practical secure inference
CN114721623A (zh) 多方安全除法
CN115529120A (zh) 一种保密计算系统
JP2007057811A (ja) 剰余系の計算方法及び装置並びにプログラム
CN116055049B (zh) 多方安全计算方法、装置、系统、电子设备和存储介质
CN112182593A (zh) 一种数据处理方法、装置和电子设备
JP7331951B2 (ja) 秘密平方根計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
JP7331952B2 (ja) 秘密平方根逆数計算システム、秘密正規化システム、それらの方法、秘密計算装置、およびプログラム
CN116127523B (zh) 一种隐私计算中的数据处理方法、装置及电子设备
CN117075844A (zh) 数据分解任务的处理方法、装置、存储介质及电子装置
CN114722435A (zh) 多方安全乘法
US11755288B2 (en) Secure transformation from a residue number system to a radix representation
Harmon et al. Check for Mercury: Constant-Round Protocols for Multi-Party Computation with Rationals

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240603