JP2020532771A - 高精度プライバシ保護実数値関数評価 - Google Patents

高精度プライバシ保護実数値関数評価 Download PDF

Info

Publication number
JP2020532771A
JP2020532771A JP2020534803A JP2020534803A JP2020532771A JP 2020532771 A JP2020532771 A JP 2020532771A JP 2020534803 A JP2020534803 A JP 2020534803A JP 2020534803 A JP2020534803 A JP 2020534803A JP 2020532771 A JP2020532771 A JP 2020532771A
Authority
JP
Japan
Prior art keywords
secret
function
data
computing system
dealer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2020534803A
Other languages
English (en)
Other versions
JP7272363B2 (ja
JP2020532771A5 (ja
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 JP2020532771A publication Critical patent/JP2020532771A/ja
Publication of JP2020532771A5 publication Critical patent/JP2020532771A5/ja
Application granted granted Critical
Publication of JP7272363B2 publication Critical patent/JP7272363B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/147Discrete orthonormal transforms, e.g. discrete cosine transform, discrete sine transform, and variations therefrom, e.g. modified discrete cosine transform, integer transforms approximating the discrete cosine transform
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/048Activation functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • 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
    • 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/04Masking or blinding
    • 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/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • 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/26Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
    • 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)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Artificial Intelligence (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Discrete Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Complex Calculations (AREA)
  • Storage Device Security (AREA)

Abstract

プライバシ保護またはセキュアマルチパーティ計算を行うための方法により、複数のパーティが協力して、個々のパーティによって与えられた入力データのプライバシを保護しながら、分散型結果を出すことができる。本方法は、パーティ間通信が過度に負担となることなく、結果の完全に正確な平文(非プライバシ保護)計算に関して、特定の高精度または高い正確さで結果を出すことができる。マルチパーティ計算には、例えば、秘密分散型入力データを使用する機械学習分類器の訓練における、連続関数のフーリエ級数近似、または三角多項式を使用する連続関数の近似を含めることができる。マルチパーティ計算には、計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、メモリ記憶要件が緩い計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小を含めることができる。【選択図】図16

Description

関連出願
本出願の主題は、2017年8月30日出願の米国仮特許出願第62552161号、2017年9月18日出願の米国仮特許出願第62560175号、2018年3月9日出願の米国仮特許出願第62641256号、および2018年3月24日出願の米国仮特許出願第62647635号に関連しており、これらの出願のすべては、それらの全体が参照により本明細書に組み込まれる。
プライバシ保護またはセキュアマルチパーティ計算において、先行技術では有効な解決策が見出せない問題がある。例えば、金融詐欺またはフィッシング攻撃などの不正行為を検出するために、いくつかの組織が、機械学習分類器の訓練に協調して取り組むことを望んでいると仮定する。各組織には、合法行為および不正行為の例を含む訓練データセットがあるが、個々の組織は、彼らのデータのプライバシおよび秘密性を保持する一方、まだ分類器の訓練に彼らのデータを協力して与えることができることを望む。このような訓練は、理論上、プライバシ保護技法またはセキュアマルチパーティ計算技法を使用して達成され得る。ただし、有効であるためには、分類器は、何が、はるかに頻度の高い合法行為に比べて、相対的に稀に起こる不正行為であるかを検出する非常に高い精度レベルに対応している必要もある。既存のセキュアマルチパーティ計算技法は、過度に負担となるほどのパーティ間通信を必要とせずには、このような訓練に不可欠な精度レベルをもたらすことはない。
プライバシ保護またはセキュアマルチパーティ計算を行うための方法により、複数のパーティが協力して、個々のパーティによって与えられた入力データのプライバシを保護しながら、分散型結果を出すことができる。この方法は、パーティ間通信が過度に負担となることなく、結果の完全に正確な平文(非プライバシ保護)計算に関して、特定の高精度または高い正確さでその結果を出すことができる。マルチパーティ計算には、例えば秘密分散型入力データを使用する機械学習分類器の訓練における、連続関数のフーリエ級数近似、または三角多項式を使用する連続関数の近似を含めることができる。マルチパーティ計算には、計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、メモリ記憶要件が緩い計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小を含めることができる。
当業者には分かるように、この概要の他の個所に記載の複数の態様を、様々な実施可能な実施形態において様々に組み合わせることができる。本開示では、このような実施可能な組合せのすべてについて、効率の点で明確に示さないことがあるが、その可能性を具体的にじっくり考える。
セキュアマルチパーティ計算を行うための方法は、個々のパーティによって与えられた入力データのプライバシを保護しながら、結果を出すことができる。
この方法では、ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことができ、関連数字マスキングデータ成分セットごとに、そのセットの各成分が、スカラ、ベクトル、および行列のうちの1つである。ディーラコンピューティングシステムは、複数のパーティコンピューティングシステム間で、複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることができる。
この方法では、複数のパーティコンピューティングシステムの各パーティコンピューティングシステムでは、パーティコンピューティングシステムは、複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを、信頼できるディーラから受信することができる。パーティコンピューティングシステムは、少なくとも1つの入力データセットに対して、その入力データセットの秘密シェアを受信することができる。パーティコンピューティングシステムは、パーティコンピューティングシステムに、パーティコンピューティングシステムのうちの他のシステムとともに、また他のシステムと連絡して、計算済み秘密分散型データの1つ以上のインスタンスを作り出させるプログラム命令セットを実行することができる。インスタンスごとに、パーティコンピューティングシステムは、入力データセットの少なくとも1つの秘密シェアかまたは計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、インスタンスの秘密シェアを計算することができる。数字マスキングデータ成分の受信秘密シェアを使用して、計算の最中に伝えられたデータをマスクすることができる。
計算には、例えば、連続関数のフーリエ級数近似、または三角多項式を使用する連続関数の近似を含めることができる。計算には、例えば、計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、メモリ記憶要件が緩い計算済み秘密分散型データの同等の、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小も含めることができ、または代替として含めることができる。
この方法では、パーティコンピューティングシステムは、複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することができる。少なくとも1つのパーティコンピューティングシステムでは、パーティコンピューティングシステムは、複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信することができる。パーティコンピューティングシステムは、計算済み秘密分散型データのインスタンスの受信秘密シェアを結合して、結果を出すことができる。
計算が、関数の定義域を複数の部分区間に分割することと、複数の部分区間の部分区間ごとに、部分区間に対して関数の近似を確定し、ガーブル化回路および紛失選択(oblivious selection)のうちの少なくとも1つを使用して、計算済み秘密分散型データのインスタンスを計算することと、をさらに含むような方法が行われ得る。
連続関数の近似は、ある区間にあり得る。近似は、連続関数の一様近似であり得る。連続関数は、機械学習活性化関数であり得る。機械学習活性化関数は、シグモイド関数であり得る。機械学習活性化関数は、双曲線正接関数であり得る。機械学習活性化関数は、ニューラルネットワーク向けの整流器活性化関数であり得る。連続関数は、シグモイド関数であり得る。
秘密シェア縮小には、計算済み秘密分散型データのインスタンスの各秘密シェアの1つ以上の最上位ビットをマスクすることを含めることができる。結果は、ロジスティック回帰分類モデルの係数集合であり得る。方法は、ロジスティック回帰分類器を実装することができ、結果は、入力データに基づくロジスティック回帰分類器の予測であり得る。
ディーラコンピューティングシステムは、信頼できるディーラコンピューティングシステムであり得、パーティコンピューティングシステム間の通信を、信頼できるディーラコンピューティングシステムにはアクセス不可にすることができる。
ディーラコンピューティングシステムは、honest−but−curiousディーラコンピューティングシステムであり得、パーティコンピューティングシステム間の通信がhonest−but−curiousディーラコンピューティングシステムによってアクセスされ得るか否かに関わらず、パーティコンピューティングシステムのうちの1つ以上によって与えられた秘密分散型入力データのプライバシが保護され得る。
方法には、入力データセットが少なくとも1つある場合、入力データセットに対して統計的解析を行って、入力データセット統計値を確定することと、入力データセット統計値を使用してソースコード命令セットの事前実行を行って、1つ以上の変数型のそれぞれに対して統計的型パラメータを生成することと、統計的型パラメータ集合に基づきソースコード命令セットをコンパイルして、プログラム命令セットを生成することと、をさらに含めることができる。事前実行は、反復回数が確定可能であるソースコード命令セットにおいてloop(ループ)を公開し、そのソースコード命令セットにおいて関数呼び出しを公開するのに続いて行われ得る。
少なくとも1つの関連数字マスキングデータ成分セットが、3つの成分から成り、この3つの成分は、成分のうちの1つが成分のうちの残りの2つの乗算積に等しいという関係性を有するような方法が行われ得る。
少なくとも1つの関連数字マスキングデータ成分セットが、数字と、その数字に対して評価されたフーリエ基底関数の1つ以上の対応値集合と、を含むような方法が行われ得る。
結果が、その結果の平文計算に関連して所定の精度を有するような方法が行われ得る。
複数のパーティコンピューティングシステムのうちの少なくとも1つが、複数のパーティコンピューティングシステム間で、それぞれの入力データセットを秘密分散させるような方法が行われ得る。
システムは、複数のコンピュータシステムを含み得、複数のコンピュータシステムは、方法を行うように構成されている。
非一時的コンピュータ可読媒体が、プログラム命令セットで符号化され得る。
非一時的コンピュータ可読媒体が、複数のコンピュータシステムによって実行されると、複数のコンピュータシステムに、方法を行わせるコンピュータコードで符号化され得る。
リスケール済みシグモイドの奇数−偶数周期拡張のグラフを示す図である。 定理1によるシグモイドの漸近近似を示す図である。 一実施形態によるMPCプロトコルのオフライン段階中の接続の概略図である。 一実施形態によるオンライン段階中の参加者間の通信チャネルの概略図である。 n=3参加者対象の本発明の実験中に得た様々な測定値をまとめた本発明の実装形態の結果の表である。 ロジスティック回帰の最中の費用関数の開方を反復回数の関数として示す図である。 同じロジスティック回帰の最中のF−スコアの開方を反復回数の関数として示す図である。 真理値表例および対応する暗号化真理値表(暗号化表)を示す図である。 様々なカーブル化最適化に対し、ガーブル化時間、カーブル化サイズ、および評価時間を与える表である。 比較回路例を示す図である。 秘密加算回路例を示す図である。 関数の2つの例の図である。 n個の文字を処理する状態機械の概略図である。 一実施形態によるコンパイルを行うための方法を示す図である。 様々な実施形態による、開示された構成要素を実装するように適宜構成され得る汎用コンピュータアーキテクチャを示す図である。 様々な実施形態による、セキュアマルチパーティ計算を行うための方法を示す図である。
以下の説明では、それに従って本開示の発明の対象が実施され得る、様々な実施形態について述べる。実施形態によっては、1つの/ある/別の実施形態などといった表現を使用して記述されることがあり、そのうちの複数の場合が、必ずしも同じ実施形態を指すわけではない。このような場合に関連する特定の特徴、構造、または特性は、特に断りのない限り、様々な実施形態において、任意の好適な方式で組み合わせられ得る。
I.高精度プライバシ保護実数値関数評価
0 概要
高数値精度で連続実数値関数を評価するのに新奇のマルチパーティ計算プロトコルを提案する。本発明の方法は、フーリエ級数を用いた近似に基づき、オンライン段階中に、多くても2回の通信しか使用しない。オフライン段階では、それぞれ、信頼できるディーラ支援型ソリューションとhonest−but−curious支援型ソリューションを提案する。稀な事象を検出し、前に提案したプライバシ保護最適化方法(例えば、シグモイド関数の区分線形近似に基づく)を使用して解くことのできない、不均衡な分類問題を計算するように、ニュートン法の一種によってロジスティック回帰分類器を訓練するのに、この方法を適用する。本発明のプロトコルは、標準4倍精度浮動小数点算術を使用して実装することができるので効率的である。複数の実験を報告し、ロジスティック回帰モデルを訓練するための本発明の方法を実装するデモアプリケーションを提供する。
1 序文
プライバシ保護計算により、複数のパーティが、入力を内密にしておき、関数の出力のみ明かして、他は何も明かさないまま、関数を評価することができる。マルチパーティ計算(MPC:Multi−Party Computation)、準同型暗号、および差分プライバシにおける最近の進歩が、これらのモデルを実用的にしている。このような計算の例には、医薬や金融の用途では、数ある中でも、入力データが別々の秘密データソース[17]、[23]、[25]、[26]から来る監視下モデルの訓練と、これらのモデルを使用する予測の評価がある。
機械学習分類問題では、新しい入力を別々の範疇に写像することによって、その新しい入力を予測するように、所与のデータセットにおいてモデルを訓練する。古典的なロジスティック回帰モデルは、予測に関連付けられた確率を提供することによって、クラスを予測する。モデルの品質を測定することができるいくつかの方法があり、最も一般的なものは、正しく予測された回答の割合を示す正確さである。
データセット(例えば、手書き数字のMNISTデータベース[15]またはARCENEデータセット[14])の大半で、分類は、シグモイド関数
と定義、
の区分線形近似を使用して勾配降下を数回反復しただけで、その時の費用関数は最小値[25]にはまだ遠いが、非常によい正確さを得るように思われる。これまで、シグモイド関数の他の近似方法も提案されてきた。[29]において、低次多項式による近似は、より効率的であるがそれほど正確ではない方法をもたらした。反対に、[24]における深層学習方法に適用されたより高次多項式近似は、より正確であるが、それほど効果的ではない方法(そのため、プライバシ保護計算にはあまり好適ではない)をもたらした。並行して、分類方法および深層学習の両方の背景において、準同型暗号[2]、[27]、[18]、[22]および差分プライバシ[1]、[10]に基づくプライバシ保護方法のための近似ソリューションが提案されている。
それにも関わらず、特に、[19、p.423]で述べたように、本発明の目標が、稀な疾患または不正金融取引などの稀な事象を検出することにある場合、正確さそのものは、モデルの品質にとって必ずしも十分な尺度ではない。例えば、1000回の取引当たりの1回が不正である場合、すべての取引を正当として分類する単純モデルは、99.9%の正確さを達成するが、このモデルには、予測能力がない。このような場合、精度、リコール、およびF1−スコアなどの尺度は、モデルの品質をよりよく判断するのを可能にさせる。それらは、データセット全体ではなく肯定的な事象のみに対して、偽陽性または偽陰性の割合を結び付けた。
上記の技法は、ほとんどのバランスのとれたデータセットに優れた正確さをもたらすが、シグモイド関数の大雑把な近似に頼っていることから、これらの技法は、同じモデルに収束せず、それにより、非常に低い合格率でデータセットに対して悪いスコアを与える。本明細書では、MPCにおいてこの数値精度をどのように回復させるか、またどのように平文回帰と同じスコアに達するかを示す。このMPC手法は、大部分、事前計算済み乗算数字マスキングデータ[4]による加法的秘密シェアに基づく。これは、計算が二段階に分けられていることを意味し、1つは、データが参加者(パーティまたはパーティコンピューティングシステムとも呼ばれる)間で分散される前に実行され得るオフライン段階と、もう1つは、実際の結果を計算するオンライン段階である。オフライン段階について、信頼できるディーラに基づく第1のソリューションを提案し、次に、ディーラがhonest−but−curiousである場合のプトロコルについて考察する。ディーラまたは信頼できるディーラは、ディーラコンピューティングシステムと呼ばれる場合もある。
1.1 貢献
第1の貢献は、シグモイド関数のフーリエ近似である。プライバシ保護計算では、実数値関数の評価が、広く使用されてきた。例えば、線形回帰モデルおよびロジスティック回帰モデルを訓練するためには、平方根、指数、対数、シグモイド関数、またはソフトマックス関数などの実数値関数を計算し、それを使用して、非線形最適化問題を解く必要がある。ロジスティック回帰モデルを訓練するためには、連続シグモイド関数の対数の観点から表される費用関数を最小化する必要がある。この最小値は、通常、勾配降下などの反復法によって計算される。低合格率のデータセットの場合、十分に精密なモデルを得るためには、正確な最小値により近づくことが重要である。したがって、反復回数を大幅に増やすか(ナイーブ勾配降下または確率的勾配降下)、より高速の収束法(例えば、IRLS[5、§4.3])を使用する必要がある。後者は、特に入力データが、正規化も特徴量スケールもされない場合、これまでMPCの背景において達成されてきたものよりもずっと優れるシグモイドの数値近似を必要とする。一点(その点でのみローカルに良い近似をもたらす)の周りのテイラー級数による近似または多項式近似などの様々な手法がこれまで考えられてきた。最初のものよりも良いが、この方法は、係数のサイズのバラツキにより数値的に安定していない。区分線形関数による近似に基づく代替方法も考えられてきた。MPCでは、秘密分散およびマスキングに代わってガーブル化回路とともに使用されると、この方法はうまく働くが、十分な正確さをもたらさない。
本発明の場合、この背景において初めて適用された手法であるフーリエ級数を使用して、シグモイドを概算する。この方法は、関数が十分にスムーズである(シグモイドの場合のように)と仮定すると、より一様な近似をもたらすようにうまく働く。具体的には、事実上、シグモイドをスケール変換し直し、周期関数に広げ、この周期関数は、三角多項式で近似され、次に、安定したプライバシ保護方式で値が求められる。MPCにおいて値が求められ得る汎用関数を三角多項式で近似するには、滑らかな周期拡張のフーリエ級数を使用するか、または、半周期における距離に対して、最小二乗の方法によって、直接、最も近い三角多項式を見付けるかのいずれかである。最初の手法は、せいぜい超代数的収束しかもたらさないが、2番目の手法は、指数関数的に素早く収束する。一方、最初の手法は、数値的に安定しているが、2番目の手法は、そうではない(標準フーリエ基底下で)。シグモイドの場合で、両方の性質を同時に得ることができることを示す。
第2の貢献は、浮動小数点表示およびマスキングである。マスキングを用いたマルチパーティ計算プロトコルへの典型定な取り組みは、固定小数点値を有限群に埋め込み、一様なマスキングおよび秘密分散を使用することである。それにより、演算回路が、例えば、事前計算済み乗算数字マスキングデータおよび以下のBeaver法[4]を使用して、評価され得る。この考えは、[13]および[12]においてうまく使用されている。この方法は、相関または線形回帰[17]のような低乗算深さ回路にうまく働くが、通常、必要とされる群サイズが、乗算深さに従って指数関数的に大きくなる。[25]において、この指数関数的成長は、2パーティ丸め解法によって弱められるが、この技法は、最上位ビットにおけるオーバーフローが起こる可能性がある、3つ以上のパーティには及ばない。本発明では、固定小数点値が(場合によってはマルチビット)浮動小数点を使用して直接分散されるという代替の分散法を紹介し、また乗算するたびにシェアサイズを縮小する技法を提示する。この技法は、任意の数の参加者にも難なく及ぶ。
第3の貢献は、通信時間の大幅な短縮である。本明細書では、[25]に見られるのと同じ手法に従い、大規模行列乗算、システム解決、またはシグモイドの紛失評価など、高位命令に専用の数字マスキングデータを定義する。この手法は、SPDZにおいて見られるようなマスキング下位命令ほど一般的ではないが、大きな要素によって通信およびメモリの要件を緩くすることを可能にする。マスクおよび演算では、ベクトル次元または行列次元の型が分かっており、上位演算のベクトル性質から利を得る。例えば、2つの行列の乗算では、コンパイラのバッチング品質に応じて、係数単位の手法には、最高O(n)ではなく、一回の通信で足りる。さらに、基本演算ごとにではなくイミュータブル変数ごとに、マスキングが定義されるので、この方法全体を通して、定数行列をマスクするのが1回のみで済む。非自明局所演算と組み合わせると、これらの数字マスキングデータを使用して、ただ環の加法または乗算よりも一層多くのことを実現することができる。簡単に言うと、通信量が、同じマスクを再使用する結果として減り、通信回数が、行列や他の大きな構造体を直接マスクする結果として減る。したがって、総通信時間が、計算費用に比べてごくわずかになる。
第4の貢献は、n参加者まで拡張可能なhonest but curiousオフライン段階用の新しいプロトコルである。高い効率を維持しながら、一般的な人数nの参加者にまで難なく拡張可能であるhonest−but−curiousモデルにおいてオフライン段階を実行する際の新しいプロトコルを紹介する。これを実現するのに、ピアツーピア通信の代わりに同報通信チャネルを使用して、通信回数における二次急増を避ける。このモデルにおけるn>3参加者用のこれまでのプロトコルのいずれも効率的ではなかったので、これは、重要な貢献である。[17]では、例として、信頼できるディーラモデルにおける非常に効率的な方法を提案するが、まだ紛失通信プロトコルの実行時間は、極めて遅い。
2 記号および前置き
、...、Pは、個々の計算パーティ(参加者)であると仮定する。本明細書に必要とされるいくつかの基本概念をマルチパーティ計算から想起する。
2.1 秘密分散およびマスキング
(G、●)を群とし、x∈Gを群要素とする。
(若干の記号濫用による)によって示されるxの秘密シェアは、x=x●・・・●xであるようなタプル(x、...、x)∈Gである。(G、+)がアーベルであれば、秘密シェアx、...、x加法的秘密シェアを呼び出す。いずれか2つの要素x、y∈Gについて、シェアの狭義サブタプル
が見分けが付かない場合、秘密分散法は、計算上安全である。Gが一様分布を許す場合、情報−理論的セキュア秘密分散法は、一様に無作為にx、...、xn−1を描き、
を選ぶことから成る。Gがコンパクトではない場合、統計上または計算上の区別性に対して条件を緩めることができる。
密接に関わる概念は、群マスキングの概念である。Gの部分集合Xを与えると、マスキングXの目標は、x∈Xの場合のx●Dの分布がすべて見分けが付かないようなG上の分布Dを見付けることである。当然、このような分布を使用して、秘密シェアを作り出すことができ、λ←Dを標本抽出し、ある参加者にλ−1を与え、他の参加者にx●λを与えることができる。またマスキングを使用して、結果が準同型(例えば、Beaverの三つ組乗算技法[4]に見られるような)によって密かに非マスク化されるとすぐに、マスク済みデータにわたって非線形演算を明確に評価することができる。
2.2 マスキングによる秘密シェアを用いた算術
和x+y(または、(G、+)が加群構造を有する場合は一次結合)に向けた秘密シェアの計算は、xおよびyの対応するシェアを加えることにより、各参加者によって非対話式に行われ得る。積に向けた秘密シェアの計算は、より厄介なものである。これを行う1つの方法は、事前計算され、秘密分散された乗法的数字マスキングデータに基づくBeaverの考えを用いることである。一般的な視点から、(G、+)、(G、+)、および(G、+)を3つのアーベル群とし、π:G×G→Gを双線形写像とする。
2つの元x∈Gおよびy∈Gについて加法的秘密シェア
を仮定し、元π(x、y)∈Gに対して秘密シェアを計算したいと思う。Beaverの方法では、参加者は、λ∈Gおよびμ∈Gについて事前計算された使い捨ての無作為数字マスキングデータ
を採用し、次にそれを使用して、a=x+λおよびb=y+μをマスクし、また明かす必要がある。次に、参加者は、以下のようにπ(x、y)について秘密シェアを計算する:
−参加者1が、z=π(a、b)−π(a、μ)−π(λ、b)+(π(λ、μ))を計算する、
−参加者i(i=2、...、n)が、z=−π(a、μ)−π(λ、b)+(π(λ、μ))を計算する。
計算済みz、...、zは、π(x、y)の加法的シェアである。所与のλの使用で、1つだけしか変数をマスクすることができないので、オフライン段階の間(すなわち、参加者に使用可能なデータが作られる前)、乗算のたびに1つの三つ組(より一般的に言えば、数字マスキングデータセット)を事前計算する必要がある。適切な群でインスタンス化され、この抽象的な方式は、環における積だけではなく、ベクトル内積、行列−ベクトル積、または行列−行列積を求めることを可能にする。
2.3 実数値連続関数のMPC評価
様々な用途で(例えば、以下の6節のロジスティック回帰)、秘密分散型データにわたって連続実数値関数を計算する必要がある。非線形関数(例えば、指数、対数、ベキ、余弦、正弦、シグモイドなど)に対しては、本文献に様々な方法が提案されている。
単純な手法は、完全浮動小数点演算の枠組を実装することと[6、12]、浮動小数点にわたって関数を評価するデータ−紛失法をコンパイルすることから成る。これは、例えば、SharemindおよびSPDZが使用するものの場合である。しかし、これら2つの一般的な方法は、浮動小数点関数を何百万回も評価する必要がある場合、法外な実行時間につながる。
第2の手法は、この関数を計算しやすい近似値に置き換えることであり、例えば、[25]は、ガーブル化回路を使用して、固定小数点比較および絶対値を求め、次に、ロジスティック回帰におけるシグモイド関数を区分線形関数に置き換える。そうでなければ、[24]は、シグモイドを固定した次数の多項式で近似し、この多項式をホーナー法で評価するが、それにより、その次数に比例した通信回数を必要とする。
SPDZ[13]が有限体で逆関数を計算する方法に近い別の方法は、乗法的マスキングによる多項式評価に基づいており、形式
の事前計算済み数字マスキングデータを使用して、参加者は、u=xλを明かし、かつ一次結合
を出力することによって、
を評価することができる。
ただし、乗法的マスキングは、ある漏洩を伴い、すなわち、有限体において、xがゼロであるか否かを明かす。この状況は、有限環においていっそう悪くなり、そこでは、xの乗算軌道が開示され(例えば、行列環で階数が明かされる可能性がある)、
にわたって、xの桁が明かされる可能性がある。
実数値多項式の場合、変数xを範囲[1、2]に入るように変換し、再スケーリングすることによって、漏洩が減らされる可能性がある。しかし、通常、この変換された関数を近似する多項式の係数が、激増し、それにより、深刻な数値上の問題が起こる。
2.4 フル閾値honest−but−curiousプロトコル
本発明の目標が、実数値連続関数の効率的な評価および良質なロジスティック回帰などの新しい機能性に重点を置くことにあるので、参加者全員が何の誤りも持ち込むことなく、プロトコルに従うというシナリオを考えることが多い。ただし、参加者は、全取引履歴を記録し、データについての違法情報を知ろうとする可能性がある。オンライン段階中、nのうち多くてn−1の参加者のどのような結託によっても、合法的かつ明確に明かされた集計結果以外のデータのいずれの意味的性質も見分けることができないことをセキュリティモデルが課す。これを実現する際、信頼できるディーラと呼ばれるただ1つのエンティティによって、Beaver三つ組(数字マスキングデータとも呼ばれ、参加者の秘密シェアをマスクするのに使用される)が生成され、分散され得る。この場合、多くてn−1の参加者が提携しても、平文数字マスキングデータ情報に対して計算上の利益を何ら得るはずはない。しかし、ディーラ自身が平文数字マスキングデータを知り、それにより、データ全体を知ることは、いくつかの外部委託のユースケースでのみ意味を成す。以下の5節では、この時点でディーラとの双方向通信を伴う、同じ数字マスキングデータを生成するための代替のhonest−but−curious(またはsemi−honest)プロトコルを示す。この場合、事前計算済み行列を生成するために、ディーラと参加者とがオフライン段階の間協力するが、彼らのうちの誰も平文数字マスキングデータ全体にアクセスしない。これは、ディーラがいずれの参加者とも結託せず、少なくとも1人の参加者が他の参加者と結託しない限り、意味が通っている。今後の研究に向けて積極的にセキュアなプロトコルの構想を残しておく。
3 統計的マスキングおよび秘密シェア縮小
この節では、固定小数点演算用の本発明のマスキング技法を提示し、実数値連続関数のMPC評価用の方法を提供する。具体的には、MPCにおいてpビットの数値精度を得るには、τが固定セキュリティパラメータであるp+2τ−ビット浮動小数点を持てば十分であることを示す。
本発明で考察する秘密シェアは、実数である。本発明では、浮動小数点数を使用して、これらのシェアをマスクしたいと思う。まだ、
上の一様分布がないので、実数にわたってマスキング分布を加えても、任意の入力を完全に隠すことはできない。秘密シェアがある程度分かっている数値精度範囲に属する場合、マスク済み値が入力についての情報を計算上何も漏らさないように、精度範囲に応じて、マスキング分布を慎重に選ぶことが可能である。分布が十分に大きな標準偏差であれば、その役割を果たすことができ、本明細書の以下では、この種類のマスキングを「統計的マスキング」と呼ぶ。実際には、標準偏差σ=240の正規分布を選ぶ。
一方、このようなマスキングを使用することによって、Beaverの技法により乗算を評価するたびに、秘密シェアのサイズが大きくなることが分かる(2.2節)3.3節では、各秘密シェアの最上位ビットを捨てることによって(秘密シェアの和がまだそれらのサイズよりも相当に小さいという事実を使用して)、秘密シェアサイズを縮小することを可能にする技法を導入することによって、この問題に取り組む。
3.1 浮動小数点、固定小数点、および区間精度
Bが整数であり、pが非負整数(ビット数)であると仮定する。ベキ指数Bおよび数値精度pの固定小数点数のクラスは、
である。
各クラスC(B、p)は、有限であり、2P+1+1個を含む。それらをリスケールし、(p+2)−ビット整数として格納してもよい。代替として、小数点表示が少なくともpビットの対小数を有するという条件では、個数x∈C(B、p)は、浮動小数点値xでも表され得る。この場合、同じ数値精度のクラスにわたる数の加法および乗算は、浮動小数点演算に自然に写像される。これらのクラスにおける主要な算術演算は:
−無損失加法:C(B、p)×C(B、p)→C(B、p)、式中、B=最大(B、B)+1、およびp=B−最小(B−p、B−p)、
−無損失乗法:C(B、p)×C(B、p)→C(B、p)、式中、B=B+B、およびp=p+p
−丸め:C(B、p)→C(B、p)、これは、xを2B−p
におけるその最も近い元に写像する。
無損失演算では、pが乗算深さにおいて指数関数的に大きくなることを必要とするが、固定精度演算では、最終丸めを適用することによって、pが一定のままである。最後に、ベキ指数Bが、加法の結果を格納するように増分される必要があるが、Bが固定小数点演算におけるユーザ定義のパラメータであることに留意されたい。ユーザがBを変えないでおくことを無理やり選んだ場合、いずれの結果|x|>2も出力ドメインに表わすことができなくなる(この種のオーバーフローを平文オーバーフローとする)。
3.2 浮動小数点表示
セキュリティパラメータτを与えると、対抗者は、C(B、p)において2つの平文m、mを選び、挑戦者は、b∈{0、1}およびα∈Sを一様ランダムに選び取り、c=m+αを対抗者に送信する、という区別可能性ゲームが、アドバンテージ≧2−τでは勝つことができない場合、集合SがクラスC(B、p)に対するτ−セキュアマスキング集合であると言える。対抗者は、bを言い当てる必要がある。
へのこのような区別アドバンテージの上昇では、少なくとも2τの標本を攻撃者に与えることが必要になる可能性があるので、実際には、τ=40で十分であることに留意されたい。
命題1。
は、C(B、p)についてのτ−セキュアマスキング集合である。
証明。a、b∈C(B、p)およびUがC(B、p、τ)上の一様分布ならば、a+Uとb+Uとの間の統計上の距離は、(b−a)・2p−B/#C(B、p、τ)≦2−πである。この距離は、いずれの計算上のアドバンテージにも上限を付ける。
また、クラスC(B、p、τ)=C(B+τ、p+τ)がp+τ−ビットの対小数の浮動小数点数に適合するので、それらを使用して、数値精度pで固定小数点数をしっかりとマスクすることができる。さらに、C(B、p)についてのすべての加法的シェアは、C(B、p、τ)で取られることになる。
ここで、Beaverのプロトコルを使用して、2つの平文、x∈C(B、p)とy∈(B、p)とを掛け合わせると、何が起こるかを分析する。マスク済み値x+λ、y+μは、それぞれ、
によって境界される。また、マスクλが
によって境界され、マスクμが
によって境界されるので、x・yの計算済み秘密シェアは、
によって境界されることになる。そのため、無損失乗算は、C(B、p、τ)に代わって、B=B+BであるC(B、p、τ)×C(B、p、τ)→C(B、2p、2τ)を送信する。pを縮小することは、単に丸めの問題であり、浮動小数点表示によって自動的に行われる。ただし、出力秘密シェアが2B+τによって境界されるようにτを小さくするための方法がまだ必要である。
3.3 秘密シェア縮小方法
提案するこの方法は、2つの補助パラメータに左右され、これらの補助パラメータは、2ηが絶対値における望ましい限界であるようにη=B+τと定義された切り捨てと、参加者人数より大きな補助パラメータM=2κである。
中心となる考えは、初期シェアが、合計で小さな秘密分散型値zになる大きな構成要素z、...、zを含むということである。それに加え、切り捨て位置を越えるシェアの最上位ビット(例えば、
)は、データに関する何の情報も含まず、明かしても全く安全である。シェアの和(すなわち、データのMSB)がゼロであることも分かっているので、シェアのMSBの和は、非常に小さい。シェア縮小方法は、この和を計算し、それを参加者間に均一に分配し直すだけで済む。和が小さいことが約束されるので、大きな整数においてではなくMを法として計算が行われる。より正確に言えば、i=1、...、nに対して切り捨てパラメータηを使用して、参加者iは、zの自分の秘密シェアzを、
およびu∈[−2η−1、2η−1]である、z=u+2ηとして書き込む。次に、参加者iは、v mod Mを同報通信して、各参加者が和を計算するようにする。個々のシェアは、必要に応じて、ν=0 mod Mである事前計算済みシェア
を使用して、再ランダム化され得る。
が−M/2〜M/2の範囲にあることが約束されるので、Mを法とするその表現から復元され得る。それにより、各参加者は、同じ和を元のシェアとして構築することによって得るが、2ηによって境界付けられるu+2ηw/nとして、自分のシェアをローカルに更新する。
3.4 マスク縮小方法
以下の方法は、上の3.3節に記述したような、秘密シェアのサイズを縮小するための一実施形態の詳細である。この手順は、浮動小数点に関わる古典的なMPC乗算の中で使用され得る。
入力:
および1つの数字マスキングデータセット
、ν=0 mod M。
出力:シェアの絶対値を小さくした、同じ値zに対する秘密シェア。
1:各参加者Pが、z=u+2ηであるような、u∈[−2η−1、2η−1]および
を計算する。
2:各参加者Pは、v+ν mod Mを他の参加者に同報通信する。
3:参加者は、
を計算する。
4:各参加者Pは、zの新しいシェアを
として計算する。
4 フーリエ近似
フーリエ理論により、特定の周期関数を三角多項式で近似することを可能にする。この節の目的は、2つあり、MPCにおいて三角多項式をどのように評価するかを示すことと、同時に、いくつかの近似結果の非周期関数への拡張を再検討し、示すことである。
4.1 MPCにおける三角多項式またはフーリエ級数の評価
複雑な三角多項式は、
であるa+ibに等しい、形式
の有限和であることを思い出してみる。各三角多項式は、周期2πを有する周期関数である。すべての
について
であるならば、tは、実数値であり、よりなじみのあるコサイン分解
に対応する。ここで、MPC背景において三角多項式をどのように評価するかを説明し、それが、普通の多項式よりも優れている理由を説明する。
すべてのmについて、tの係数aおよびbが公然とアクセス可能であり、かつ0≦a、b≦1であると仮定する。tが2π周期であるので、2πを法とする入力に対してそれを評価することができる。
は、一様分布の余地があることから、一様マスクキングを使用することができ、この方法は、乗法的マスキングによる古典的な多項式の評価に関連している漏洩問題を完全に片付ける、ということを言っておく。一方、この評価の出力は、まだ
にあり、この場合、前の節で説明した統計的マスキングを使用して、先に進む。この入力は、内密に分散され、加法的にマスクされるが、分かりやすくするために、2πを法とする加法から実数上の古典的な加法を区別するのに、2πを法とする加法を一時的に
で表すことにする。同様に、2πを法とする加法に関する加法的秘密シェアを
と表す。次に、2πを法としてシェアを自明に縮小することによって、
への遷移がもたらされ得る。
次に、秘密分散型入力
に対してtを評価する方法は、

に変換し、それを分散型マスキング
で加法的にマスクし、次に
を明かし、標的

として書き換えることである。当然、
が明かされるので、係数
が明確に計算され得る。まとめると、
などの事前計算済み三角多項式またはフーリエ級数マスキングデータを前提とし、
が明かされているという事実によると、多項式t全体を一回の通信で評価することができる。
また、絶対値1の複素数を用いて作業すると、普通の多項式におけるベキ関数に比べて、この方法が数値的に安定することが分かる。これが、本発明の背景において、三角多項式の評価がより良いソリューションである理由である。
4.2 非周期関数の近似
非周期関数fを一様に近似することに関心がある場合(所与の区間、例えば[−π/2、π/2]における三角多項式を用いて)、フーリエ係数を単純に使用することはできない。当然、この関数が解析的である場合でも、そのフーリエ級数は、ギブス現象に起因して終点近くに一様に収束する必要はない。
4.2.1 C−拡張による近似
この問題を打開する1つのやり方は、より広い区間へのこの関数の周期拡張を探し、その拡張に対するフーリエ級数の収束性に着目することである。指数関数的収束を得るには、そのことがめったに保証されないという条件で、拡張も解析的である必要がある。言い換えれば、古典的なホイットニー拡張定理[28]は、同時に周期的でもある解析的な拡張をもたらすことはめったにない。微分可能関数を拡張するための建設的な手法が、より一般的にHestenes[20]およびFefferman[16]によって与えられている。これに一番期待できることは、この関数をC−関数(解析的ではない)に拡張することである。[8]、[9]で説明しているように、このような拡張は、よくても指数関数的ではないスーパー代数的近似をもたらすに過ぎない。
4.2.2 最小二乗近似
三角多項式で非周期関数を近似するための代替の手法は、元の関数と近似との間のL−距離の制約(元の区間に対する)が最小限に抑えられているようなより広い区間(例えば、[−π、π])において、これらの関数を探すことである。この方法は、最初に[7]によって提案されたが、標準フーリエ基底に関する係数が、基底関数の個数を増やすのに従って発散する(最適解で)という意味において、この係数が数値的に不安定であることが確認されている。[21]の方法は、最適解の係数が数値的に安定するようになる第一種および第二種のいくつかの半範囲チェビシェフ多項式の異なる正規直交基底を使用することによってこの問題を打開することを可能にする。さらに、ガウス求積則を使用して、これらの係数を数値的に計算することができる。
4.2.2.1 半周期にわたる三角多項式による関数の近似
fを、必ずしも滑らかまたは周期的とは限らない、区間[−π/2、π/2]における自乗可積分関数とする。
4.2.2.1.1 近似問題
2π−周期関数の集合

および問題
を考えてみる。
[7]で確認したように、この単純な基底を使用して最適解を書く場合、関数gのフーリエ係数は、非有界であり、それにより数値的な不安定をもたらす。[21]では、第一種および第二種のチェビシェフ多項式に密接に関係する直交多項式の2つの族の観点から、どのように最適解を記述するかについて説明されている。より重要なことには、この最適解が、スーパー代数的にではなく指数関数的にfに収束することが証明され、これらの基数の観点から最適解g(x)をどのように数値的に評価するかが示されている。
ここで[21]の方法を要約することにする。以下とし、

をこれらの関数が及ぶ
(偶関数の部分空間)とする。同様に、以下とし、

をS
(奇関数の空間)とする。CUSがGに対する基数であることに留意されたい。
4.2.2.1.2 第一種および第二種のチェビシェフの多項式
y∈[−1、1]の場合のT(y)を第一種の第kチェビシェフ多項式、すなわち、すべてのθについてT(cosθ)=coskθを満たし、T(1)=1(Tは、次数を有する)であるように正規化された、多項式とする。kが変わるにつれて、この多項式は、重み関数
に関して直交する。同様に、y∈[−1、1]の場合のU(y)を第二種の第kチェビシェフ多項式、すなわち、UK(cosθ)=sin((k+1)θ)/sinθを満たし、U(1)=k+1であるように正規化された、多項式とする。多項式{U(y)}は、重み関数
に関して直交する。
[21、定理3.3]では、偶関数の空間に対して正規直交基底を形成する半範囲チェビシェフ多項式の数列
をどのように定義するかを説明している。同様に、[21、定理3.4]は、奇関数に対して正規直交基底
をもたらす(第二種の半範囲チェビシェフ多項式)。[21、定理3.7]に従って、上記の問題に対する最適解gが、以下によって得られ、

ここで、

また、
である。
標準フーリエ基底において最適解gを表すことは、数値的に不安定であるが、正規直交基底
の観点からそれらを表すことは、安定している。さらに、[21、定理3.14]では、収束が指数関数的であることを示している。係数aおよびbを数値的に計算する際、[21、§5]で説明しているようなガウス求積則を使用する。
4.2.3 シグモイド関数の近似
ここで、あるB>0の場合の区間[−B/2、B/2]にわたるシグモイド関数の場合に限って説明する。[−π/2、π/2]にわたりg(x)=sigmo(Bx/π)を近似するように変数をリスケールすることができる。gを鏡映条件g(x)=g(π−x)で区間[π/2、3π/2]まで反周期性(奇数−偶数)によって拡張した場合、連続2π−周期区分C関数を得る。ディリクレの大域的な定理によって、gのフーリエ級数が、
で一様に収束するので、すべてのε>0について、
であるような、次数Nおよび三角多項式gが存在する。秘密分散型tにわたりsigmo(t)を計算するには、最初に、変数(MPCにおいて評価しやすい)のアフィン変化を適用して、対応するx∈[−π/2、π/2]を得て、次に、フーリエ数字マスキングデータを使用して三角多項式g(x)を評価する。10項しかない多項式で24ビットの精度を得るには、この方法で十分であるが、漸進的に、収束率は、gの導関数における不連続性により、θ(n−2)だけである。言い換えれば、gをλビットの精度で近似するには、次数2λ/2の三角多項式を評価する必要がある。好都合にも、シグモイド関数の特殊な場合、区間全体[−π、π]で(半区間ではない)リスケール済みシグモイドに指数関数的に近い2π−周期の解析関数を明示的に構築することによって、この次数の多項式を計算することができる。それ以外にも、三角多項式の係数の幾何級数的減衰は、完全な数値的安定性を確実にする。以下の定理に、この構造をまとめる。
定理1。X∈(−π、π)に対してhα(x)=1/(1+e−αx)−x/2πとする。ε>0ごとに、hαが2π−周期の解析関数gから一定の距離ε/2にあるようなα=O(log(1/ε)が存在する。gのフーリエ級数の第N項がgのε/2の距離にあり、したがって、hαから≦εの距離にあるような、N=O(log(1/ε))が存在する。
ここで、以下の方法論を用いて定理1を証明する。まず、微分方程式を使用して、シグモイド関数の連続導関数に限界を設ける。次に、シグモイドの最初の導関数が指数関数的にすぐに減衰することから、2πを法としていずれのxに対しても、その値のすべてを合計し、[−π、π]上で元の関数を厳密に近似するC周期関数を構成することができる。最後に、連続導関数における限界が、フーリエ係数の幾何級数的減少の直接の証明となる。
証明。最初に、
のσ(x)=1/(1+e−x)のシグモイド関数を考えてみる。σは、微分方程式σ’=σ−σを満たす。n回微分することによって、

を得る。(n+1)!で割ると、以下の式が得られる。

そこから、すべてのn≧に対する、またすべての
に対するそれを、帰納法によって導き出し、それがnで減少するので、すべての≧1に対し、
となる。
図1は、リスケール済みシグモイドの奇数−偶数周期拡張のグラフを示す。リスケール済みシグモイド関数g(αx)は、
に、反周期性によって拡張される。このグラフは、α=1、3、5の場合の拡張された関数を示す。対称性によって、出力関数のフーリエ級数は、奇数正弦項:
となる。α=20/πに対して、最初のフーリエは、素早く24ビットの精度をもたらす、[6.12e−1、1.51e−1、5.37e−2、1.99e−2、7.41e−3、2.75e−3、1.03e−3、3.82e−4、1.44e−4、5.14e−5、1.87e−5、...}の素早く減少する数列を形成する。しかし、この数列は、
における導関数の不連続性により、O(n−2)において漸近的に減少するので、この方法は、指数関数的に都合の良い近似を得るのに好適ではない。
図2は、定理1によるシグモイドの漸近近似を示す。αが大きくなるにつれて、リスケール済みシグモイド関数
の不連続性が消え、そのフーリエ係数が幾何級数的にすぐに減少する、解析的な周期関数に指数関数的に近づく。この方法は、数値的に安定しており、多項式時間において任意の精度でシグモイドを評価することができる。
ここで、hαの導関数に非常に近いはずである周期関数を構成し、
を考えることにする。幾何級数の総和により、gαは、
のうまく定義された無限に導出可能な2π−周期関数である。すべてのx∈(−π、π)について、差

によって境界付けされるので、
を選ぶことにより、この差を
より小さくすることができる。
ここで、αが一定であると仮定し、gαが解析的であることを、すなわち、そのフーリエ係数が指数関数的に素早く減少することを証明する。定義により、
であるので、すべてのp∈Nについて、
であるので、
である。これは、第nフーリエ係数c(gα)が
であることを証明する。
では、この最小値に達し、|c(gα)|=O(e−n/α)が得られる。
最後に、これは、
を選ぶことによって、gαのフーリエ級数の第N項が、gαの≦εの距離に、したがって
から≦εの距離にあることを証明する。この境界は、区間(−π、π)全体にわたってシグモイドの望ましい近似を生み出す三角多項式を積分することによって守られる(この定理からのgは、gの原始関数である)。
5 Honest but Curiousモデル
これまでの節では、乗算、累乗、およびフーリエ数字マスキングデータのシェアを定義しているが、どのようにそれらを生成するかを説明していなかった。もちろん、全参加者(TDモデル)によって認められただ1つの信頼できるディーラが、必要なシェアのすべてを生成し、それを参加者に分配する可能性がある。信頼できるディーラがすべてのマスク、したがってすべてのデータを知っているので、TDモデルは、いくつかの計算外部委託シナリオに対してのみ合法的である。
ここで、より従来型のhonest−but−curious(HBC)モデルにおいて、どのように効率的に同じ数字マスキングデータを生成するかを説明する。そのようにするには、対話型プロトコルにおいて、数字マスキングデータを生成するのに加わるが、マスク済み情報しか見ない、ディーラとも呼ばれる外部エンティティを抱えておく。HBCモデルとTDモデルとで数字マスキングデータが、同様なので、オンライン段階は、変わらずにいる。このHBCモデルではディーラが秘密シェアにアクセスしない場合でも、ディーラがまだ参加者よりも力をもつことに留意されたい。実際には、参加者のうちの1人が秘密データに関する情報を得たいと思う場合、その参加者は、他のすべての参加者と結託する必要があるが、ディーラは、参加者のうちのただ1人と協力するだけで済む可能性がある。
5.1 honest−but−curious通信チャネル
以下では、オフライン段階中、各参加者とディーラとの間にプライベートチャネルが存在すると仮定する。HBCディーラの場合、また、追加のプライベート同報通信チャネル(ディーラがアクセスしないチャネル)が、全参加者間に存在すると想定する。後で、オンライン段階は、参加者間の公開同報通信チャネルのみ必要とする。実際には、根底にある暗号化のために、プライベートチャネル(例えば、SSL接続)は、公開チャネル(普通のTCP接続、通常、クラウドインスタンス間で100〜1000MB/s)よりも情報処理量が低い(通常、
)。
この節に提示している図は、信頼できるディーラモデルおよびhonest but curiousモデル両方における参加者とディーラとの間の通信チャネルを表す。2種類の通信チャネルが使用され、1つは、実際にはSSLチャネルに対応するプライベートチャネル(通常、<20MB/s)で、もう1つは、実際にはTCP接続に対応する公開チャネル(通常、100MB〜1GB/s)である。この図では、プライベートチャネルは、破線で表され、公開チャネルは、普通の線で表されている。
図3は、一実施形態による、MPCプロトコルのオフライン段階中の接続の概略図を示す。この図は、オフライン段階中に使用される、信頼できるディーラモデル(左)とhonest but curiousモデル(右)とにおける通信チャネルを示す。最初のモデルでは、ディーラが、数字マスキングデータを、プライベートチャネルを介して各参加者に送信する。2番目のモデルでは、参加者が、参加者の全員の間で共有している、プライベート同報通信チャネルにアクセスし、各参加者は、追加のプライベートチャネルをディーラと共有する。プライベートチャネルは、破線で示されている。この図は、3人の参加者を表しているが、各モデルは、任意の人数nの参加者に及ぶことができる。TDモデルでは、ディーラは、すべての事前計算済みデータを生成する唯一の者である。このディーラは、プライベートチャネルを使用して、数字マスキングデータの自分のシェアを、各参加者に送信する(一方向矢印)。HBCモデルでは、参加者が、数字マスキングデータの生成に協力する。これを行うには、参加者は、ディーラがアクセスできない、追加のプライベート同報通信チャネルを参加者間に必要とする。
図4は、一実施形態による、オンライン段階中の参加者間の通信チャネルの概略図を示す。この図は、オンライン段階中に使用される通信チャネルを示す。参加者は、公開同報通信チャネルを介してマスク済み値を送受信する(公開チャネルは、普通の線で示されている)。この例では3人に限定されている参加者の人数は、一般的な参加者人数nに難なく広げることができる。オンライン段階は、TDモデルとHBCモデルとで同じであり、そこにディーラはいない。
5.2 Honest but curious法
本文献において提案しているHBCプロトコルの大半は、2人しか参加者がいないシナリオを提示する。[11]および[3]では、参加者が3人であるモデルにおいて高速MPC乗算を行うのに使用され得る効率的なHBCプロトコルについて説明されている。この2つの方式では、パーティが正しくプトロコルに従い、2人の参加者が結託しないことを前提とする。[11]で提案している方式は、3つよりも多いパーティ向けにスケールするには非常に複雑である一方、[3]におけるプロトコルは、一般的な参加者人数に及ぶことができるが、平方数のプライベートチャンネルを必要とする(参加者ペアごとに1つ)。参加者の人数nが何人であっても効率的であるHBCシナリオにおいて、乗法的数字マスキングデータを生成するための異なるプロトコルを提案する。本発明のシナリオでは、ディーラが、参加者によって作成されたマスク済みデータにわたって、数字マスキングデータ生成時において非線形部分を評価し、次に、マスク済みシェアを分散させる。マスクは、すべての参加者にとってありふれたものであり、参加者が共有するプライベート同報通信チャネルのおかげで作り出される。最後に、各参加者は、ディーラから受信した事前計算済みデータをアンマスクすることによって自分の数字マスキングデータを作り出す。
ここで、honest−but−curiousシナリオにおいて2つのモデルを詳細に提示し、最初のモデルは、乗法的なBeaverの数字マスキングデータの生成用であり、2番目のモデルは、ベキ関数の計算に使用される数字マスキングデータの生成用である。両方の方法では、数字マスキングデータの生成にディーラと参加者とが協力し、両者のいずれも情報全体にアクセスしないことになっている。大まかに言えば、参加者が自分の秘密シェア(最初のケースでは、λおよびμの秘密シェア、2番目のケースではλのみの秘密シェア)を生成し、各自が秘密を守る。参加者はまた、参加者が同報通信チャネルを介して互いの間で分散させるが、ディーラには秘密のままである、ありふれたマスクの秘密シェアを生成する。次に、参加者は、自分の秘密シェアをありふれたマスクでマスクし、それをディーラに送信し、ディーラは、その非線形部分を評価する(最初の方法では積、2番目の方法では累乗)。ディーラは、この結果に対して新しい加法的シェアを生成し、プライベートチャネルを介して、これらの値を各参加者に返信する。このように、参加者は、各他者のシェアは分からない。最後に、ありふれたマスクが分かっている参加者は、他と無関係に、自分の秘密シェアをアンマスクし、したがってディーラに知られることのない数字マスキングデータの自分の最終シェアを得ることができる。
Honest but curious数字マスキングデータ生成方法
出力:シェア
、z=λμ
1:各参加者Pがa、b、λ、μを生成する(一致する分布から)。
2:各参加者Pが他の参加者全員とa、bを分け合う。
3:各参加者が、a=a+・・・+a、およびb=b+・・・+bを計算する。
4:各参加者Pが、a+λおよびb+μをディーラに送信する。
5:ディーラが、a+λ、b+μ、およびw=(a+λ)(b+μ)を計算する。
6.ディーラが、
を作り出し、wを、i=1、...、nである参加者Pに送信する。
7:参加者Pが、z=w−ab−aμ−bλを計算する。
8:i=2、...、nである参加者Pが、z=w−aμ−bλを計算する。
ベキ関数メソッドの場合のHonest but curious数字マスキングデータ生成
出力:シェア

1:各参加者Pが、λ、aを生成する(一致する分布から)。
2:各参加者Pが、他の参加者全員とaを分け合う。
3:各参加者が、a=a+・・・+aを計算する。
4:各参加者Pが、
であるようなzを生成する。
5:各参加者Pが、z+aλをディーラに送信する。
6:ディーラが、μλおよびw=(μλ)−αを計算する。
7.ディーラが、
を作り出し、wをi=1、...、nである参加者Pに送信する。
8:各参加者Pが、wとμαとを右乗法して、(λ−αを得る。
ここで、HBCシナリオにおいて、三角多項式の評価に使用される数字マスキングデータの生成用の3番目の方法を提示する。
出力:シェア

1:各参加者Pが、λ、aを生成する(2πを法として一様に)。
2:各参加者Pが他の全参加者にaを同報通信する。
3:各参加者が、a=a+・・・+a mod 2πを計算する。
4:各参加者Pが、z+aλ mod 2πをディーラに送信する。
5:ディーラが、λ+a mod 2π、および
を計算する。
6:ディーラが、
を作り出し、w(1)=、...、w(N)を参加者Pに送信する。
7:各参加者Pが、全j∈[1、N]について、各
を掛け、
を得る。
6 ロジスティック回帰への適用
分類問題では、ここでは行列
によって表す、訓練セットとも呼ばれるデータセットと、訓練ベクトルy∈{0、1}が与えられる。データセットは、k特徴ごとのN入力ベクトルから成り、ベクトルyの座標yは、データセットの第i元が属するクラス(0または1)に対応する。形式上、目標は、入力として、k特徴を含むベクトルxを取り、かつ対応する出力値であるyをかなりうまく予測するhθ(x)を出力する、関数
を確定することである。
ロジスティック回帰では、
、およびx=1である、形式hθ(x)=sigmo(θx)の仮定関数
を通常、使用する。モデルとも呼ばれるベクトルθは、確定される必要があるパラメータである。このため、データ点(x、y)におけるモデルの品質を測定する凸性費用関数Cx、y(θ)は、
と定義される。
データセット全体に掛かる費用は、したがって
として計算される。全体的な目標は、その費用関数ができる限り0に近いモデルθを確定することである。これを達成する一般的な方法は、Cx、y(θ)が費用関数の勾配であり、α>0が学習率と呼ばれる定数である、
θ:=θ−α▽Cx、y(θ)
としてモデルθを絶えず更新することから成るいわゆる勾配降下である。最適なαを選ぶことは、データセットの品質に大きく左右され、αが大きすぎる場合、この方法が逸れる可能性があり、αが小さすぎる場合、最小値に達するのに膨大な反復回数が必要になる。残念ながら、このパラメータをチューニングするのには、データに関する情報を明かすか、または、プライベートMPC計算では必ずしも実現可能ではない、公開虚偽訓練セットにアクセスすることが必要になる。このステップは、本文献では黙って無視されることが多い。同様に、特徴スケーリングなどの前処理技法、または直交化技法は、データセットを改善することができ、学習率を大幅に上げることを可能にする。しかしまた、入力データが分散される場合、また相関情報を内密にしておかなくてはいけない場合、これらの技法を簡単に実施することはできない。
本研究では、十分な浮動小数点精度を有するという条件では、特徴スケーリングを必要とせず、学習率1でうまくいき、かつそれほど多くない反複で収束するIRLS法[5、§4.3]を実施することを選ぶ。この場合、モデルは以下のように、更新される:
θ:=θ−H(θ)−1・Cx、y(θ)、
式中、H(θ)は、ヘッセ行列である。
6.1 実施結果および実験結果
C++においてロジスティック回帰法のMPC概念実証を実施した。128ビット浮動小数点数でC(B、p)クラスにおける数を表し、マスキングセキュリティパラメータをτ=40ビットに設定した。128ビット数が113ビットの精度を備え、乗算方法が2τ=80ビットのマスキングを必要とすることから、計算全体を通して自由に使える33ビットの精度がまだ保たれる。本発明のベンチマークが普通のx86_64CPU上で行われることから、128−ビット浮動小数点演算がGCCのquadmathライブラリを使用してエミュレートされるが、この演算をネイティブサポートするつい最近のハードウェア(例えば、IBMの次世代POWER9プロセッサ)において、さらなるスピードアップがもたらされる可能性がある。本発明の概念実証では、主たる焦点は、オンライン段階の実行時間、浮動小数点精度、および通信複雑度を改善することにあったので、信頼できるディーラシナリオの場合のみオフライン段階を実施し、honest but curiousディーラの異型は、今後の研究として残しておいた。
以下に、IRLS法を活用するモデル訓練メソッドを提示する。最初に、平文実装形態に対して、この方法を以下に記述する。MPCインスタンス化では、各参加者が、変数ごとに秘密シェアを得る。2節の双一次公式を使用して、あらゆる積が評価され、4節のフーリエメソッドを使用してシグモイドが評価される。
モデル訓練メソッド:Train(X、y)
入力:データセット
、および訓練ベクトル y∈{0、1}
出力:CostX、y(θ)を最小化する、モデル

1:
、i∈[0、N−1]
2:θ←[0、...、0]∈R
3:for iter=1 to IRLS_ITERS do//In practice IRLS_ITERS=8
4:a←X・θ
5:p←[sigmo(a)、...、sigmo(aN−1)]
6:pmp←[p(1−p)、...、pN−1(1−pN−1)]
7:grad←X(p−y)
8:H←pmp・Prods
9:θ−H−1・grad
10:end for
11:returnθ
このメソッドで記述されるロジスティック回帰モデル訓練を実施した。メインループを繰り返すたびに、その時の位置θにおける勾配(grad)およびヘッセ行列(H)を評価し、ヘッセ行列システム(行7)を解いて、次の位置を見付ける。計算ステップの大半は、大きな行列またはベクトルにおいて双一次であり、計算ステップの各々は、ただ一回の通信でBeaver三つ組(数字マスキングデータ)を介して評価される。ステップ5において、シグモイド関数が、区間全体で20ビットの精度をもたらす、次数23の奇数三角多項式によって近似される(並行して)。したがって、4節で説明したように、フーリエ数字マスキングデータのベクトルを使用する。ヘッセ行列システム(ステップ9)が左右の2つの(一様ランダム)正規直交行列によってマスクされ、明かされるので、平文において解くことができる。このメソッドは、勾配のノルム(どのみち予測可能である)を明かすが、その方向は完全に隠し、これは、最終モデルを確実に内密にしておくのに十分である。最後に、入力データが必ずしも特徴スケールされるわけではないので、無作為な位置ではなく、ゼロ位置から始めることが推奨され(ステップ2)、それは、最初の入力データがIRLS収束領域にあることが約束されているからである。
このメソッドのMPC評価をビルドするのに、小さなコンパイラを書き込み、この高水準リストを前処理し、すべてのfor loopを公開し、それをイミュータブル変数上の一連の命令(影響を受けると読み取り専用になる)に変える。より重要なことには、コンパイラが、1つの加法的マスクλをこれらのイミュータブル変数Uのそれぞれに関連付ける。これにより、これまでの節で見てきた2つの重要な問題が解消され、まず、このメソッド全体を通して再使用される巨大な行列用のマスキング情報が、プトロコル全体を通して1度だけ送信される(この最適化は、すでに[25]に示されているが、本発明では、それは、定数入力行列、および全IRLS反復で再使用されるそれらの事前計算積に大きな影響を与える)。それはまた、攻撃者が同じ分布から決して2つの標本を得ることがないことから、そのマスク済み分布を平均化することによって、情報を引き出す可能性のある攻撃を弱める。これは、マスキングに対する40ビットのセキュリティの選択の根拠となる。
オフライン段階中、信頼できるディーラは、イミュータブル変数ごとに1つの無作為なマスク値を生成し、これらのマスクを秘密分散させる。いずれか2つのイミュータブル変数UとVとの行列−ベクトル積または行列−行列積のすべてに対し(上記のモデル訓練メソッドの行1、4、6、7、および8からの)、信頼できるディーラはまた、Uのマスクλ、およびVのλを使用して、特定の乗算三つ組を生成する。より正確に言えば、信頼できるディーラは、λ・λとともに、分散縮小段階での積と同じ次元の整数ベクトル/行列に対して加法的シェアを生成し、配分する。これらの整数係数は、効率の面から256を法として取られる。
6.2 結果
Xeon E5−2666 v3プロセッサを備えるAWSプラットフォームおよびAzureプラットフォームの両方でクラウドインスタンスを使用して、説明した方法のすべてを実施し、2つのパーティと3つのパーティを対象に本発明のコードをテストした。本出願では、各インスタンスは、その公開IPアドレスを介して通信する。また、zeroMQライブラリを使用して、参加者間の低レベル通信を処理する(ピアツーピア、同報通信、中央節など...)。
図5は、n=3参加者を対象にした実験中に得た様々な測定値をまとめた本発明の実施の結果表を示す。それぞれ8、12、または20の特徴を有する10000〜1500000点を含むデータセットを考えた。もたらされる結果では、ほとんどのデータセットで完全な収束に達するのに十分である8にIRLS反復回数を固定し、MPC計算が平文反復の場合のモデルと同じモデルを出力することを実験により実証した。150000点のデータセットでは、オンライン段階の総実行時間が、1〜5分であることが分かる。この実行時間は、エミュレートされた4倍精度浮動小数点演算の使用に大部分起因するものであり、このMPC計算は、同じ128ビットの浮動小数点を使用してそれを実施した場合、同じデータセットにおける平文ロジスティック回帰のせいぜい1/20の速さである(しかし、もちろん、ネイティブな2倍精度型は、ずっと速い)。より興味深いことには、数字マスキングデータの総体の全体サイズおよびオンライン通信量が少ないことが分かり、例えば、8特徴を有する150000点におけるロジスティック回帰は、参加者当たり、わずか756MBの数字マスキングデータで済み、そのうち、参加者当たり、わずか205MBのデータが、オンライン段階中に同報通信される。これは、フーリエ数字マスキングデータが、マスクされ交換される値よりもかなり大きいという事実に起因する。このことから、通信時間は、普通のWAN帯域幅の場合でも、全実行時間に比べてわずかである。
最後に、特徴スケールされることが入力データに約束されている場合、全体時間、メモリ、および通信の複雑度を、古典的な勾配降下反複を3回行い、続いて、8回のIRLS反復に代わって5回のIRLS反復を行うことによって、約30%改善することができる。平文およびMPC版の両方に対しこの最適化をテストし、使用した方法に応じて、ロジスティック回帰中の費用関数の開方、またF−スコアの開方を示す。
図6は、8特徴および0.5%の合格率の場合で、150000標本のテストデータセットにおいて、ロジスティック回帰中の費用関数の開方を反復回数の関数として示す。黄色は、最適な学習率の標準勾配降下であり、赤は、シグモイド関数の区分線形近似を使用する勾配降下であり([25]で見られるような)、緑は、本発明のMPCモデル(IRLS法に基づく)である。MPC IRLS法(および平文IRLS法)は、標準勾配法の場合の500反復に対して、8未満の反復で収束する。予測通りに、この近似法は、最小費用には達しない。
図7は、同じロジスティック回帰の最中のF−スコアの開方を反復回数の関数として示す。標準勾配降下と本発明のMPCとは、0.64の限界F−スコアで、同じモデルを生み出す。しかし、区分線形近似によっては何もはっきりした標本が検出されず、nullF−スコアにつながる。しかし、この3つのケースで、正確さ(紫)は、1回目からほぼ100%である。
銀行業界から提供されたデータセットにおいて本発明のプラットフォームをテストした。秘密保持上、これらのデータセットを明かすことはできない。ただし、本明細書に記載の挙動は、例えばガウス分布を用いて、ランダムデータセットを生成し、合格閾値を0.5%に設定し、かついくつかのラベルを無作為に交換することにより何らかのノイズを加えることによって、再現され得る。
未解決問題。第1の重要な未解決問題は、本発明のノイズ低減法後の分布の区別性である。より基本的なレベルでは、標準フーリエ基底とは対照的に、付属資料に定義されている半範囲チェビシェフ多項式の基底を使用して、マスキング方法を見つけたいと思うであろう。指数近似とともに、このような方法により、L[−1、1]におけるいずれの関数も評価することが可能になるであろう(MPCにおいて)。
7 参考文献
1.M.Abadi,A.Chu,I.Goodfellow.H.Brendan McMahan,I.Mironov,K.Talwar,and L.Zhang.Deep learning with differential privacy.CoRR, abs/1607.00133,2016.
2.Y.Aono,T.Hayashi,L.Trieu Phong,and L.Wang.Privacy−preserving logistic regression with distributed data sources via homomorphic encryption.IEICE Transactions,99−D(8):2079−2089,2016.
3.T.Araki,J.Furukawa,Y.Lindell,A.Nof,and K.Ohara.High−throughput semihonest secure three−party computation with an honest majority.In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security,Vienna,Austria,October 24−28,2016,pages 805−817,2016.
4.D.Beaver. Efficient Multiparty Protocols Using Circuit Randomization.In CRYPTO ’91,volume 576 of Lecture Notes in Computer Science,pages 420−432.Springer,1992.
5.A.Bjorck.Numerical Methods for Least Squares Problems.Siam Philadelphia,1996.
6.D.Bogdanov,S.Laur,and J.Willemson.Sharemind:A framework for fast privacy preserving computations.In ESORICS 2008,pages 192−206.Springer,2008.
7.J.Boyd.A comparison of numerical algorithms for Fourier extension of the first,second,and third kinds.J.Comput.Phys.,178(1):118−160,May 2002.
8.J.Boyd.Fourier embedded domain methods:Extending a function defined on an irregular region to a rectangle so that the extension is spatially periodic and c.Appl.Math.Comput.,161(2):591−597,February 2005.
9.J.Boyd.Asymptotic fourier coefficients for a C infinity bell (smoothed−”top−hat”)& the fourier extension problem.J.Sci.Comput.,29(1):1−24,2006.
10.K.Chaudhuri and C.Monteleoni.Privacy−preserving logistic regression.In Daphne Koller,Dale Schuurmans,Yoshua Bengio,and Leon Bottou,editors,Advances in Neural Information Processing Systems 21,Proceedings of the Twenty−Second Annual Conference on Neural Information Processing Systems,Vancouver,British Columbia,Canada,December 8−11,2008,pages 289−296.Curran Associates,Inc.,2008.
11.R.Cramer,I.Damard,and J.B.Nielsen.Secure Multiparty Computation and Secret Sharing.Cambridge University Press,2015.
12.I.Damard,V.Pastro,N.Smart,and S.Zakarias.Multiparty computation from somewhat homomorphic encryption.In Reihaneh Safavi−Naini and Ran Canetti,editors,Advances in Cryptology CRYPTO 2012 32nd Annual Cryptology Conference,Santa Barbara,CA,USA,August19−23,2012.Proceedings,volume7417 of Lecture Notes in Computer Science,pages643−662.Springer,2012.
13.I.Damard,V.Pastro,N.P.Smart,and S.Zakarias.SPDZ Software.www.cs.bris.ac.uk/Research/CryptographySecurity/SPDZ/
14.Dataset.Arcene Data Set.archive.ics.uci.edu/ml/datasets/Arcene.
15.Dataset.MNIST Database.yann.lecun.com/exdb/mnist/.
16.C.Fefferman.Interpolation and extrapolation of smooth functions by linear operators.Rev.Mat.Iberoamericana,21(1):313−348,2005.
17.A.Gascon,P.Schoppmann,B.Balle,M.Raykova,J.Doerner,S.Zahur,and D.Evans. Privacy−preserving distributed linear regression on high−dimensional data.Proceedings on Privacy Enhancing Technologies,4:248−267,2017.
18.R.Gilad−Bachrach,N.Dowlin,K.Laine,K.E.Lauter,M.Naehrig,and J.Wernsing.Cryptonets:Applying neural networks to encrypted data with high throughput and accuracy.In Proceedings of the 33nd International Conference on Machine Learning,ICML 2016,New York City,NY,USA,June 19−24,2016,pages 201−210,2016.
19.I.Goodfellow,Y.Bengio and A.Courville. Deep Learning.MIT Press,2016.www.deeplearningbook.org.
20.M.R.Hestenes.Extension of the range of a differentiable function.Duke Math.J.,8:183−192,1941.
21.D.Huybrechs.On the fourier extension of nonperiodic functions.SIAMJ.Numerical Analysis,47(6):4326−4355,2010.
22.A.Jaschke and F.Armknecht.Accelerating homomorphic computations on rational numbers.In ACNS 2016,volume 9696 of LNCS,pages 405−423.Springer,2016.
23.Y.Lindell and B.Pinkas.Privacy preserving data mining.In Advances in Cryptology CRYPTO 2000,20th Annual International Cryptology Conference,Santa Barbara,California,USA,August 20−24,2000,Proceedings,pages 36−54,2000.
24.R.Livni,S.Shalev−Shwartz,and O.Shamir.On the computational efficiency of training neural networks.In Zoubin Ghahramani,Max Welling,Corinna Cortes,Neil D.Lawrence,and Kilian Q.Weinberger,editors,Advances in Neural Information Processing Systems 27:Annual Conference on Neural Information Processing Systems 2014, December 8−13 2014,Montreal,Quebec,Canada,pages 855−863,2014.
25.P.Mohassel and Y.Zhang.SecureML: A system for scalable privacy−preserving machine learning.In 2017 IEEE Symposium on Security and Privacy,SP 2017,San Jose,CA,USA,May 22−26,2017,pages 19−38.IEEE Computer Society,2017.
26.V.Nikolaenko,U.Weinsberg,S.Ioannidis,M.Joye,D.Boneh,and N.Taft.Privacy−preserving ridge regression on hundreds of millions of records.In 2013 IEEE Symposium on Security and Privacy,SP 2013、Berkeley,CA,USA,May 19−22,2013,pages 334−348.IEEE Computer Society,2013.
27.L.Trieu Phong,Y.Aono,T.Hayashi,L.Wang,and S.Moriai.Privacy−preserving deep learning:Revisited and enhanced.In Lynn Batten,Dong Seong Kim,Xuyun Zhang,and Gang Li,editors,Applications and Techniques in Information Security−8th International Conference,ATIS 2017,Auckland,New Zealand,July 6−7,2017,Proceedings,volume 719 of Communications in Computer and Information Science,pages 100−110. Springer,2017.
28.H.Whitney.Analytic extensions of differentiable functions defined in closed sets.Trans.AmerMath.Soc.,36(1):63−89,1934.
29.S.Wu,T.Teruya,J.Kawamoto,J.Sakuma,and H.Kikuchi.Privacy−preservation for stochastic gradient descent application to secure logistic regression.The 27th Annual Conference of the Japanese Society for Artificial Intelligence,27:1−4,2013.
II.フーリエスプラインおよび多項式スプラインによる実数値関数の高精度プライバシ保護評価
1 概要
多項式スプラインおよびフーリエスプラインは、機械学習において様々な関数を近似するのに役立つ多項式級数またはフーリエ級数によって定義される区分関数(三角関数)である。
ハイブリッドマルチパーティ計算解法に基づくこのようなスプラインの高精度プライバシ保護関数評価のための方法を開示する。この方法は、秘密分散法によるフーリエ級数および多項式評価を、ガーブル化回路による境界の確認と組み合わせる。上記「I 高精度プライバシ保護実数値関数評価」節に開示した技法を使用する、ある区間におけるフーリエ関数および多項式関数のプライバシ保護高精度評価である([3]も参照)。
最後に、公開入力に対して秘密関数を評価する回路に、古典的なガーブル化回路(秘密入力に対して公開関数が評価されている)を二重化することによる、ガーブル化オートマトンとして知られる新しい概念を提示する。これにより、比較演算子など、ガーブル化回路設定時の評価の一部をスピードアップすることが可能になる。
2 紛失通信の場合のガーブル化回路の使用
まず、様々な最適化とともに紛失通信の場合の基本的なガーブル化回路プロトコルを思い出してみる。論理合成技法が回路を最適化するのに使用され、以下に詳しく述べられる。次に、加法的秘密シェアをカーブル化回路秘密シェアに変換し、確認を行ってから加法的秘密シェアに戻す標準技法を説明する。
2.1 ガーブル化回路の背景
一般的なガーブル化回路では、(公開)関数が、ANDゲートおよびXORゲートから成るブール回路として記述される。Yaoの「Protocols for Secure Computations」,IEEE,1982によって説明されているプロトコルの基本版は、3つの段階:1)ガーブル化段階、2)通信段階、3)評価段階、から成る。ここで、それぞれ個々の段階の説明を思い出してみる。
2.1.1 ガーブル化段階
各論理ゲート(ANDまたはXOR)は、2つの入力線(通常、aとbとで示される)および1つの出力線(通常、cで示される)を有する。W∈{a、b、c}で、ガーブラは、2つの可能な値に対応する、ラベル
({0、1}における)を選ぶ。図8は、真理値表例と対応する暗号化真理値表(暗号化表)を示す。各行を使用して、対応する入力線には2つのキーを使用して、出力線に対応するラベルを対称的に暗号化する。次に、ガーブラは、暗号化表の行を無作為に並べ替えて、評価器に送られる(ゲートごとに)カーブル化表を得る。
2.1.2 通信段階
それにより、ガーブラと評価器が、それぞれ、
とで示されるそれらのプライベートな入力ビットを持つ。ここで、各ビットuまたはvは、他のパーティに明かされてはならない{0.1}におけるプライベートな値を持つ。
ガーブラがそのビットのラベルを評価器に送信するのは簡単である(対応するラベル
を送るだけ)。評価器は、これらのビットの内密な値をガーブラに明かすことなく、その対応するラベル
を得る必要がある。これは、1−out−of−2型紛失通信−評価器が、b∈{0、1}が対応する値である、
を各
で求めることを経て行われる。OTにより、ガーブラがbについて何も覚えず、評価器が
について何も覚えないことが約束される。
2.1.3 評価段階
評価段階では、受信した自分のキー
(OTを介して)およびガーブラのキー
を有する評価器は、続いてブール回路を評価し始める。所与のゲートで、評価器が入力線KおよびK用のラベルをすでに確定しているとの前提で、評価器は、出力線用のラベルであるKの復号がうまく行くまで、対応するガーブル化表への登録事項をKで復号しようとする。
2.2 最適化
2.2.1 Point−and−permute
評価器は、4行すべてではなくガーブル化表の1行を簡単に復号することができる。これは、無作為選択のビットに基づき、その表をソートすることに起因する。詳しくは[8]を参照のこと。
2.2.2 Free XOR
この最適化は、XORゲートではなく、ANDゲートの個数のみによって決まる、データ転送量、ならびに暗号化および復号の回数をもたらす。この技法は、[7]で紹介されている。
考察1.ガーブラは、グローバルオフセットR(ガーブラだけが知っており、回路全体にわたって有効な)を選ぶ。真偽論理値のラベル(2つの色に相当する)は、XORをとってRになる。「グローバル」オフセットの範囲が、XORゲートによって接続されている線までに限られ得ることが、FleXOR[5]において確認された。これは、回路をXOR−エリアに分け、Rは、XORエリアごとに一意でありさえすればよい。非ブール回路(例えば、線の論理値が、2を法としてではなくBを法とする数)でうまくいく場合、オフセット
を+x.R mod Bに取り替えるだけでよい。
2.2.3 固定キーAES
この方法により、より費用が嵩む暗号学的ハッシュ関数の代わりに固定キーAESを使用することによってANDゲートをガーブル化し、評価することが可能になる[2]。より正確に言えば、
である、
が、ゲート(ゲート数)ごとの公開微調整である。
2.2.4 行の還元
この最適化は、4行から3行にガーブル化表のサイズを縮小する。出力線のラベルが、入力ラベルの関数として生成される。ガーブル化表の1行目は、それが完全に0から成り、かつ送られる必要がないように生成される。詳しくは[9]を参照のこと。
2.2.5 半ゲート
半ゲート法は、3行から2行への行の還元後にガーブル化表のサイズを縮小する。この最適化は、ANDゲートに当てはまる。
図9は、様々なガーブル化最適化に対するカーブル化時間、ガーブル化サイズ、および評価時間が載せられる表を示す。ガーブル化時間および評価時間は、ゲート当たりのハッシュ数(AES)であり、ガーブル化サイズは、ゲート当たりの128−ビット暗号文数である。詳しくは[10]を参照のこと。
2.2.6 順序回路ガーブル化
順序回路は、従来のゲート、グローバルクロック、およびシフトレジスタを備える回路である。線における論理値は、一定ではなく、クロックチック間でバラツキがあり、それらを一連の値として表すことができる。クロックおよびシフトレジスタが何の秘密も伴わないので、MPC回路およびFHE回路は、それらをネイティブに扱うことができる。
メモリの面から言えば、回路は、よりコンパクトであり(記述がより少ない)、評価中の所与の時点で、2つの連続する時間スタンプのみを記憶するだけで足りる(それほどメモリがいらない)。しかし、それは、純粋な組合せ回路に比べて、総実行時間、OT送信、または事前計算済みデータサイズを縮小することはない。
2.3 秘密分散法としてのガーブル化回路
直観的に言えば、P(評価器)が、関数(ブール回路として表される)の出力のビット用のラベルを復号した後、Pがガ−ブラ(P)と結託していれば、Pは、その出力を計算することができる。まだ、PとPとが結託していなければ、それらのどれも、その出力について何も知ることがなく、まだ出力が秘密分散されている。
この単純な所見は、free−XOR最適化[7]およびpoint−and−permute最適化[8]の両方を使用して、ガーブル化回路プロトコルの背景において形式化され得る。
が最下位ビット1を有するバイナリ列であると想定する。この場合、所与の線wに対応するキーは、
であり、線w用の順列ビットは、
の最下位ビットである。
プライベートな入力xに対して、分散型値は、
となる。
分散プロトコルは、以下のように記述される:

:ここで、P(ガ−ブラ)は、秘密ビットxを持っている。Pは、無作為な秘密
を生成し、
をPに送信する。
:ここで、P(評価器)は、秘密ビットxを持っている。秘密分散を行う際、プロトコルは、相関OTを使用することができる[1]。P(送信側)は、(相関)関数
を入力し、
を受信する。P(受信側)は、
を気付かずに受信する。
2.4 分散法の変換
加法的秘密分散とGC分散との間の基本的な変換法を思い出してみる。[4、§III−IV]に詳細がまとめられている。
入力yに対し、Share(y)をガーブラ標本
と定義し、
を計算する。それにより、ガーブラは、kを評価器に送信する。
2.4.1 加法的秘密分散⇒GC分散

がその群、すなわち
の中で加法的に秘密分散されると仮定する。この変換は、標準的であり、ブール加算回路をセキュアに評価することによって行われ得る(詳しくは[6]を参照)。次に、GC秘密シェアが、
と定義され、ここで、
である。
2.4.2 GC分散⇒加法的秘密分散

がGC秘密分散型値と想定する。加法的秘密シェアに次のように移行することができ、ガーブラが無作為なγを生成し、GCがそれを秘密分散し、すなわち、Share(γ)を計算する。それにより、2つのパーティが
を計算することができる。つぎに、Pがdを再構成し、この算術式シェアが
と定義される。その際、再構築プロトコル
を呼び出す必要がある。
代替として、最初にブール秘密シェアを経て、次にブールを演算に変換することによって、移行することができることが[4、§IV.F]に示唆されている。
3 信頼できるディーラを介したガーブル化回路の使用
信頼できるディーラ(TD:Trusted Dealer)が、ガーブラであり(すなわち、ガーブラも、秘密分散に向けて数字マスキングデータを生成する)、計算パーティが評価器である、信頼できるディーラモデルを導入する。
この場合、秘密分散された(様々なパーティP、...P−評価器の間で)yの符号を計算することを、ガーブラPがパーティ間で秘密分散されているyに対してマスクλを生成する、という視点から見ることができる。マスク済み値x=y+λがP、...P間で明かされると(ただし、xは、ガーブラには知られないまま)、各P、i=1、...、nは、Pでガーブル化回路プロトコルを実行し、x<λであるか否か(符号(y)=−1であるか否かと等価)を確認することができる。
このモデル下では、紛失通信プロトコル(通常、ガーブル化回路プロトコルのオンライン段階で実行する)をオフライン段階時の秘密分散プロトコルに取り替える必要があることに留意されたい。実際には、これは、オンライン段階からガーブラを完全に締め出す必要があることを意味する。
4 シグモイド関数への適用
ここで、どのように非有界シグモイドを高精度で評価するかを示す。
4.1 シグモイド関数の高精度評価
シグモイド関数
を考え、固定有界区間[−B、B](例えば、[−10、10])におけるフーリエ級数によってこの関数の十分に良い近似を有すると仮定する。まだ、フーリエ級数は、この区間の補集合においてこの関数を近似する必要はない。実際には、フーリエ級数は、この区間の外側に発散し、それにより、[−B、B]の外側のxに対するσ(x)の数値精度における大きな低下をもたらすように見られる。
この問題を解消するために、精度p、xおよびσ(x)を所与として、最初にσ(−B)<pおよびσ(B)>1−pであるように区間[−B、B]を定め、次いで、0を戻すことで、実際のシグモイドを計算したいと思う。同様に、あらゆるx>Bで、1を戻す。そうでなければ、フーリエ近似法によって計算したσ(x)を戻す。フーリエベースの評価は、[3]に記載の補助マスキングデータを用いて秘密MPCによって行われる。比較演算は、ガーブル化回路によって行われる。
大筋として、境界Bを所与として、関数σFour(x)を、区間[−B、B]における関数σ(x)を一様に近似する調和関数の一次結合と定義する。σFour(x)が、[3]に提示されているBeaver数字マスキングデータを用いて秘密分散プロトコルによって評価されたMPCとすることができることに留意されたい。
しかし、この区間の外側では、2つの関数が、通常素早く発散するので、σ(x)をσFour(x)に簡単に取り替えることができない。理想的には、加法的に秘密分散されている入力xにおいて、関数

を評価することを望む。
考え方としては、xが加法的に秘密分散される場合、2.4節の変換技法を使用して、xをGC秘密シェアに変換する、というものである。次に、ガーブル化ブール回路を評価し(次の節に提示)、xが位置する区間を気付かずに見付けるようになる(すなわち、xが(−∞、−B)にあるか、[−B、B]にあるか、または(B、+∞)にあるか)。
4.2 ブール比較回路および加算回路
どのように加法的秘密シェアからGC秘密シェアに変換するかが分かっているので、2つの比較をすでにガーブル化し、評価することができる。これを行う際、それぞれnビットの2つの数を比較するのに陽的ブール回路を必要とする。
4.2.1 比較回路
図10は、以下のように、比較回路例を示す:
入力:評価器に知られているx(場合によっては、ガーブラだけに知られている色でマスクされている)
入力λ:ガーブラに知られているλ
出力:x<λ(場合によっては、ガーブラだけに知られている色でマスクされている)
図示の回路では、半ゲート技法から恩恵を受ける可能性があることが分かる。
4.2.2 秘密加算回路
図11は、以下のように、秘密加算回路例を示す:
入力:評価器に知られているx(場合によっては、ガーブラだけに知られている色でマスクされている)、入力λ:ガーブラに知られているλ
出力:x+λ(場合によっては、ガーブラだけに知られている色でマスクされている)
この場合もまた、半ゲート技法から恩恵を受ける可能性があることが分かる。
5 カーブル化オートマトン
ガーブル化回路をマスキング技法と組み合わせていることから、別の見方ができる。普通のカーブル化回路では、各線には、2つの可能な論理状態があり(それらの真理値は0、1)、ゲートは、これらの状態間の推移を符号化する。
5.1 ガーブル化GC秘密分散の二重化
ここで、有限状態オートマトンの背景において有用になってくる古典的なガーブル化回路法における二重の見方について説明する。
5.1.1 明かされた値に対する秘密演算
図12は、関数の2つの例の図を示す。(秘密)出力zをもたらす2つの秘密入力xおよびyに対して公開関数Fを有する、すなわち、z=F(x、y)と想定する。例えば、Fは、古典的なガーブル化回路の意味ではブールゲートと考えられ得、xおよびyは、プライベートな入力と考えられ得る。xおよびyが、2.3節に説明されている意味で、ガーブラと評価器との間で秘密分散されていると想定すると、この方式の代替の考え方は、マスクキングの視点からであり、すなわち、ガーブラが、xとyとに対してそれぞれ、マスクλとμとを生成しており、同様に出力z=F(x、y)に対してマスクνを生成している。Uが、この図を可換性にするような、明かされた値aおよびbに働く関数Gを探すことにする。
例えば、Beaver乗算では、F=x、およびmaskλ=+λであるので、
UF(a、b)=(a−λ)×(b−μ)+νであると難なく判断する。(1)
これから分かるように、この関数は、ガーブラ(マスクλ、μ、およびνを知っている唯一のパーティである)だけに知られている。したがって、それは、秘密関数と考えられ得る。
ここで、演算maskλ:D→Rを、2つの集合、D−変数xの領域と、R−マスクされた/明かされた値の集合との(秘密)全単射として見る(厳密に言えば、記号λは必要とされず、必要なのは、単に各線に関連付けられた関数マスクである)。unmaskλ:R→Dを使用して、逆写像を表す。セキュリティの面から、maskλ(x)を知ることで、xまたは全単射マスクλについての情報が明かされてはならない。
考察2 マスクがDとRとの間の一様に無作為な全単射である必要がないことに留意されたい。これは、例えば、[3]に記載の統計的マスキングの場合である。
5.1.2 ラベル付け
考えられるマスク済み値a=maskλ(x)ごとに、Xを与えると、誰もが簡単にaを引き出すことができるが、aを与えると、評価器がXを確定することができないような、ラベルXを定義する。
5.1.3 ガーブル化表
ガーブラは、以下のようにガーブル化表を作り出す:表の行は、以下であり、

式中、a、bは、対応する明かされた集合の順番で(自然順と呼ばれる)列挙される。
5.2 二重視点によるガーブル化オートマトン
図13は、n個の文字を処理する状態機械の概略図を示す。状態機械は、以下のように記述され得る:
●反復のたびに、状態機械は、状態
を呈する。領域Qは、公開されているが、qは、普通は内密にされる(ガーブラにも評価器にも知られていない、ということを意味する)。ここで、qは、初期状態であり、評価したいと思う関数に応じて、公開されているかまたは内密であるかのいずれかであり得る。
●反復のたびに、状態機械は、アルファベットΣから文字αを読み取る。アルファベットΣは、公開されており、反復のたびに異なる可能性がある。本発明のモデルでは、文字は、評価器には知られているが、ガーブラには知られていない。
●各反復間で、状態が、決定論的な遷移関数
によって結び付けられる。図12の図によってTに関連付けられた関数
は、ガーブラ(qi−1のマスキング値λi−1およびαのマスキング値μを知っている唯一の者である)だけに知られている。まだ、この関数の定義域は、公開されている(例えば、関数Uは、(1)における関数である可能性がある)。
5.2.1 ガーブル化段階
各状態Qに対し、ガーブラは、Qの置換と考えられる、すなわち、maskλi:Q→R(ここで、Rは、明かされた値を表す)である、maskλを選ぶ。ここで、R=(γi、1、...、γi、j、...)が得られ、ガーブラを除き、値γi、jは、状態qi、j=unmaskλi(γi、j)について何も明かさない。
マスキングmaskλiおよびmaskμiから、ガーブラは、ガーブル化表Tを定義することもできる。Xi、jを使用して、γi、jのラベルを表し、また、確実にXi、jからj(それにより、γi、j)を推定することができるようにする(例えば、ラベルの最上位ビットがjに等しい可能性がある)。ガーブラはまた、すべての考えられる文字
に対してマスキング値maski、jを選び出すが、この時、順番に対して何のプライバシ要件もない(インデックスjは、この文字を公に明かすことができるか、または文字と等しいものでさえあり得る)。
反複iのたびに、各文字
に対し、ガーブラは、
暗号文一覧から成る遷移関数
を暗号化する。より正確に言えば、ガーブラは、Qi−1に対するマスクmaskλ−1およびΣに対するマスクmaskλ−1、ならびにプライベート関数
を使用して、5.1.3節に見られるように定義されたガーブル化表Tを計算する。
行の還元:ラベルは必ず、各遷移関数(例えば、C、α、0)の最初の暗号文が必ず0であり、伝達される必要のないように、選ばれ得る。
5.2.2 評価段階
評価器は、n個の文字αに対するラベルy、および初期状態の初期ラベルxを受信している(OTを介して、またはマスキングを介して)(それにより、評価器は、その色jを推定する)。i=1〜nに対し、評価器は、
を復号し、次のラベルjを推定する。
最後の状態のラベルは、その回路の結果である。結果が内密にされるべきか、マスクされるべきか、または公開されるべきかに応じて、ガーブラによって、写像用unmaskが提供され得る。
5.3 例
ここで、オートマトンの視点が役立つ可能性があり、より一般的なオートマトンを考えると、実際にいくつかのプロトコルのスピードアップを促進する、いくつかの例を示すことにする。
5.3.1 ビット単位比較オートマトンの場合の例
加法的に分散された128−ビット数xの符号を計算する必要があると仮定する。ガーブラが、maskλを選ぶ(オンライン段階中、a=x+λが明かされるようになる)。question x≦0が、a≦λに等価であるので、ガーブラは、以下のように、「ラムダに匹敵する」オートマトンを符号化する:
aおよびλのi最下位ビットの比較の結果を、qで表す。(略式に、(a mod 2)≦(λ mod 2))。定義として、
●初期状態:q:=1
●遷移:a=λであれば、q:=qi−1、さもなければλ
●出力:q128は、a≦λに対する答えである。
●すべてのiに対して

●ガーブル化段階:128×2×2=512暗号化、128×3=384暗号文(行の還元)
●評価段階:128×1復号
オートマトン手法は、すべての知られている最適化(半ゲート、point−and−permute)を含むように見える。
5.3.2 基底4比較オートマトンの場合の例
これは、基底4において比較を行うことを除いて、上記の基底2比較オートマトンと同じである。状態Qは、まだブールの意味を有するが、アルファベットΣ=0、1、2、3である。また、aとλとのi最下位ビットの比較の結果をqで表示する。(略式に、(a mod 2)≦(λ mod 2))。定義として、
●q:=1
●a=λであれば、q:=qi−1、さもなければ(ai≦λi)
●q64は、a≦λに対する答えである。
●すべてのiに対して

●ガーブル化段階:64×4×2=512暗号化、64×7=448暗号文(行の還元)
●評価段階:64×1復号
基底−4オートマトンは、すべての知られている最適化(半ゲート、point−and−permute)を備える従来のガーブル化回路よりずっと良い。
5.3.3 秘密整数加算の場合の例
入力として、整数(a、...、a)が、リトルエンディアン順序の0〜9までの数字である(例えば、基底Bにおける)、a(公開されたまたはマスクされた)を取る。λがガーブラだけに知られているa+λを計算したいと思う。この場合、オートマトンを使用して、キャリービットを計算し、古典的なfree−xor技法を使用して、そのキャリービットと入力とのxorをとり、最終結果を得ることになる。
●q:=0


●すべてのiに対して


(free−xor mod Bを使用)
参考文献
1.G.Asharov,Y.Lindell,T.Schneider,and M.Zohner.More efficient oblivious transfer and extensions for faster secure computation.In Ahmad−Reza Sadeghi,Virgil D.Gligor,and Moti Yung,editors,2013 ACM SIGSAC Conference on Computer and Communications Security,CCS’13,Berlin,Germany,November 4−8,2013,pages 535−548.ACM,2013.
2.M.Bellare,V.Hoang,S.Keelveedhi,and P.Rogaway.Efficient garbling from a fixed−key blockcipher.In 2013 IEEE Symposium on Security and Privacy,SP 2013、Berkeley,CA,USA,May 19−22,2013,pages 478−492.IEEE Computer Society,2013.
3.C.Boura,I.Chillotti,N.Gama,D.Jetchev,S.Peceny,and A.Petric.High−precision privacy−preserving real−valued function evaluation.Cryptology ePrint Archive,Report 2017/1234,2017.eprint.iacr.org/2017/1234.
4.D.Demmler,T.Schneider,and M.Zohner.ABY−A framework for efficient mixed−protocol secure two−party computation.In 22nd Annual Network and Distributed System Security Symposium,NDSS 2015,San Diego,California,USA,February 8−11,2015.The Internet Society,2015.
5.V.Kolesnikov,P.Mohassel,and M.Rosulek.Flexor:Flexible garbling for XOR gates that beats free−xor.In J.Garay and R.Gennaro,editors,Advances in Cryptology−CRYPTO 2014−34th Annual Cryptology Conference,Santa Barbara, CA,USA,August 17−21,2014,Proceedings,Part II,volume 8617 of Lecture Notes in Computer Science,pages 440−457.Springer,2014.
6.V.Kolesnikov,A.Sadeghi,and T.Schneider.A systematic approach to practically efficient general two−party secure function evaluation protocols and their modular design. Journal of Computer Security,21(2):283−315,2013.
7.V.Kolesnikov and T.Schneider.Improved garbled circuit: Free XOR gates and applica−tions.In Luca Aceto,Ivan Damard,Leslie Ann Goldberg,Magnus M.Halldorsson,Anna Ingolfsdottir,and Igor Walukiewicz,editors,Automata,Languages and Programming,35th International Colloquium,ICALP 2008 Reykjavik,Iceland,July 7−11,2008,Proceedings,Part II−Track B:Logic,Semantics,and Theory of Programming&Track C:Security and Cryptography Foundations,volume 5126 of Lecture Notes in Computer Science,pages 486−498.Springer,2008.
8.D.Malkhi,N.Nisan,B.Pinkas,and Y.Sella.Fairplay−secure two−party computation system.In Matt Blaze,editor,Proceedings of the 13th USENIX Security Symposium,August 9−13,2004,San Diego,CA,USA,pages 287−302.USENIX,2004.
9.M.Naor,B.Pinkas,and R.Sumner.Privacy preserving auctions and mechanism design.In EC,pages 129−139,1999.
10.S.Zahur,M.Rosulek,and D.Evans.Two halves make a whole−reducing data transfer in garbled circuits using half gates. In E.Oswald and M.Fischlin,editors,Advances in Cryptology−EUROCRYPT 2015−34th Annual International Conference on the Theory and Applications of Cryptographic Techniques,Sofia,Bulgaria,April 26−30,2015,Proceedings,Part II,volume 9057 of Lecture Notes in Computer Science,pages 220−250.Springer,2015.
III.プライバシ保護プログラムをコンパイルするための方法
0 概要
プライバシ保護プログラムをコンパイルするための方法を開示し、このプログラムでは、ドメイン特化プログラミング言語(DSL:Domain−Specific programming Language)により、データアナリストが、その入力データがいくつかのプライベートなデータソースに格納されるプライバシ保護計算の際、コードを書き込むことができる。プライバシ保護計算それ自体は、「高精度プライバシ保護実数値関数評価」の見出しで上記I節に開示されている方法を使用して行われ得る。
DSLコードは、個々のプライベートなデータソースまたはパーティに特有の複数のコンピューティングシステムノードによって実行され得る低レベル仮想マシンコードに、マルチパーティ計算向けの専用コンパイラによってコンパイルされ得る。
プログラミング言語は、関数および関数呼び出し、限られた反復回数(コンパイル時に分かる)のfor loop、ならびに公開条件による条件文をサポートすることができる。この言語は、スコープド変数をサポートすることができる。最後に、変数を型付けすることでき、型は、ユーザ入力から、またはコンパイラによって推定された、ある種の統計的パラメータを有することができる。
以下に、DSLコンパイラおよび専用コンパイラ両方の実施形態のより詳細な説明を示す。
1 DSL、コンパイルおよび実行時間アーキテクチャ
一実施形態において、DSLコードは、関数定義を含み得る。1つの関数定義は、エントリポイントであり得る(実引数なしのvoid main()関数)。DSLのレベルにおいて、関数の内容は、構文上、ステートメントツリー:ブロック、public if−then−else、public bounded for、およびMPC計算時にサポートされる他の特定のステートメント、であり得る。ステートメントには、子ステートメントとともに他のパラメータが含まれ得る。以下に、特定のステートメントについて、一実施形態に従って述べる。
ブロックは、オフライン評価時、オンライン評価時両方で、連続して評価される子ステートメントリストである。例えば:

/*a sequence of child statements*/
...

スコープド変数は、ステートメントに、または最上位で宣言された変数である(グローバル変数)。public if−then−elseは、スコープド変数、および2つの子ステートメントによってパラメータ化される。オフライン段階中、両方の子ステートメントが、同じ入力バインディングから評価され、オンライン段階中、その条件の公開値に応じて、これらの子ステートメントのうちの1つのみが評価される。bounded for loopは、N値の公開整数域で反復するスコープド変数、1つの子命令、break条件によってパラメータ化される。オフライン段階中、子命令は、N回連続して繰り返される。オンライン段階中、break条件が、公に真と評価されない限り、子命令が繰り返され、この場合、for loopが終了する。break条件がない場合、それは、初期設定で偽である。例えば:
for i in range(0、10){
/*sequence child instructions*/
breakif expression;

イミュータブルは、オフライン実行時のある時点における、スコープド変数のある特定の出現に対応する。各イミュータブルは、大域的な連続するインデックスを得る。したがって、専用コンパイラは、スコープド変数をイミュータブルに解決する。
コンパイラは、DSLコードを命令ツリーおよびイミュータブル宣言に変換する(ステートメント、例えばブロックは、1つより多い命令またはイミュータブル宣言を含み得る)。次に、このツリーは、「高精度プライバシ保護実装値関数評価」の見出しで上記のI節に説明した方法によって、各パーティコンピューティングシステム上で進行する低レベル仮想マシンコードに変換され得る。
同じプログラムを二通りに評価することができ、1つは、少なくとも1回各命令を走り抜けるオフライン評価で、もう1つは、オフライン評価の部分集合であるオンライン評価である(例えば、以下の「public if−then−else」参照)。
1.1 オフライン命令インデックス
オフライン評価の最中の命令の各実行で、大域的な連続するインデックスである命令インデックスが得られる。for loopおよび関数呼び出しの場合には、構文的な命令が、複数のオフラインインデックスを有することがある。ほとんどのオフラインインデックスは、条件付きジャンプが起こり得るif−then−elseまたはfor loopsを除き、オンライン段階中に連続して実行される。
1.2 スコープド変数
変数のスコープは、変数が定義される命令のオフライン評価の持続期間である。各変数は、それがオフライン評価中に現れるのに従って、大域的な一意の連続するインデックスvariableIdxを得る。

/*variables are not accessible before their declaration*/
MPCReal x;/*declaration within a block*/
/*sequence of instructions*/
/*the scope of x is limited to this block*/
上の例では、xのスコープは、上に表示したブロックに限られる。したがって、変数のスコープを記述する際、変数が宣言されるブロックの経過を追う必要がある。
1.3 型
擬似コードでは、各変数を使用する前に宣言しておく必要があり、ユーザは、例えば、変数が、行列、ベクトル、または数を含むように意図されている場合、(部分的な)型情報を指定することの選択肢を有する。ユーザによって提供された情報に基づき、コンパイラは、統計電卓として知られている構成要素を使用して完全な型推定を行う。関数実引数、またはそれらの代入による即値宣言では、ユーザは、var型またはauto型しか提供することができず、これは、コンパイラが完全な推定を行うようになることを意味する。これに加え、コンパイラは、推定した型を使用して、関数または演算子を固有分解能にする必要がある。例えば、以下のコード片を持っていると仮定する:
/*a、b have been defined previously,c is declared and it’s type is deduced*/
auto c=a+b;
...
コンパイラは、型確認を行う必要がある。これは、抽象構文木(AST:Abstract Syntax Tree)がビルドされた後行われるようになる(変数がイミュータブルに解決され、型確認が行われる間)。この段階で、コンパイラは、aおよびbの型に基づき、使用する必要のある演算子「+」がどれかを判断し、cの完全な型を推定する。
1.4 ブロックID
一実施形態において、MPCプログラムをコンパイルすることができるようにするためには、各ブロックが実行される最高回数を分かるしかない(この情報は、オフライン段階に必要とされる)。したがって、各ブロックステートメントは、指定のblockIdを持つことができる。
1.5 関数呼び出し
MPCにおいて、以下のような関数を持っていると仮定する;
def foo(){
/*function code*/
<MPCType x;

ここでの課題は、コンパイル時に、何回関数が呼び出されるかが正確に分からず、それにより、何回値xをマスクしなければならないか(言い換えれば、何種類のイミュータブルがxに対応しなければならないか)がはっきり分からないことである。すべてが明らかになって初めて、コンパイラは、コンパイル時にスタックオーバーフローを検出することができるようになる。一実施形態において、コンパイラが関数呼び出し最高回数を確定することができ、またコンパイラが関数を明らかにすることができるという制約の下、関数および関数呼び出しがサポートされる。
1.6 イミュータブル
一実施形態において、各イミュータブルは、大域的な連続するインデックス−immutableIdxを得る。イミュータブルは、コンパイル時に確定されるパラメータ化型(MPCType)を有する。初期化されると、イミュータブルの論理値は、一定になる。一実施形態において、イミュータブルは、マスキング型当たり多くても1つのマスクにしか対応しておらず、したがって、マスキング型当たり多くても1つのマスク済み値しか持たない。イミュータブルの実際の値(表現)は、オンライン評価中にだらだらと計算され、それ自体の入れ物に各参加者によって格納される。これらの値には、例えば、以下を含めることができる:
●公開値(論理値に等しい)、全参加者で同じ(公開値がある場合、それは、他のすべての表現に優先する)
●秘密分散型値(秘密分散法による)、参加者により異なる
●マスク済み値(マスキング型による)、全参加者で同じ
例えば、DSLの以下の抜粋は、
/*x is an MPCType*/
<MPCType x;
x:=x+y;
x:=x*x;
イミュータブルを伴う以下の中間コードに解決する必要があり、
/* x is an MPCType */
MPCType x1;
x2:=x1+y;
x3:=x2*x2;
式中、×1、×2、×3は、MPC変数xにすべてが対応するイミュータブルである。
1.7 Public if−then−else
一般的なpublic if−then−elseは、以下の構成である:
if (/*public condition*/) then {
/*add your code here*/
} else {
/*add your code here*/

一例として、以下のソースコード抜粋を考察する:
/*x, y have been declared as a secret shared MPC type*/
if (/*public condition*/) then {
x:=2*x;
} else {
x:=x+y;
x:=2*x;

z:=x*x;
ここで、イミュータブルの集まりによって内部的に表されるようになるMPC変数xを有する。実際には、コンパイラが、以下のように、スコープド変数xを複数のイミュータブルに取り替える以下のコードに、上記のステートメントを変換する可能性がある:
/*xi,yi are the immutables corresponding to x and y
/*Note that x5 is an auxiliary immutable with the maximum of the parameters for x2 and x4.
*/
if (/*public condition*/) then {
x2:=2*x1;
x5:=x2;
} else {
x3:=x1+y1;
x4:=2*x3;
x5:=x4;
ここで、x5は、2つのブロックを同期させる働きをする。xが現れるたびにそれを異なるイミュータブルに取り替えた。各段階において、xは、あるイミュータブルの出現に関連付けられる。各イミュータブルがパラメータ化MPCTypeであることから、各xiは、特定のパラメータおよびマスキングデータを持つようになる。xが、ifに対しても、thenブロックに対しても局所的ではないことから、イミュータブルx2とx4とは、条件ブロックの後に同期される必要がある。これは、コンパイラに、それらのブロックのいずれかの結果をコピーするxに対応する臨時の補助イミュータブルx5を作り出すことを要求する。
すべての場合で、ブール条件の値は、オンライン段階中に公に明かされるが、コンパイラの視点から見ると、2つのケースが、公開中に起こる可能性がある。
●条件が、コンパイラに知られている即値ブールであり、この場合、コンパイラが、計算済みブール値に応じて、thenブロック、またはelseブロックを生成する。
●条件は、コンパイル時には知られていないデータによって決まってくる。この場合、コンパイラは、thenブロックおよびelseブロックの両方用のコードを生成し、両ブロック間でイミュータブルインデックスを同期させる。オンライン段階中、ブール条件値が公に明かされ、実行がthenに飛ぶか、またはelseが始まる。コンパイラは、その条件のブール値のみを明かし、このブールを計算するための中間ステップは明かさず、例えば、この条件がy<3であれば、プライバシ保護様式で、比較が評価される(yは秘密のまま)。yの値が理に適っていない場合、ユーザは、yの値を公に明かした後、公開比較を行うreveal(y)<3を書き込むことによって、成果を挙げることができる。
一実施形態において、コンパイラが、公開条件を即値に解決する場合、それのbreakifコードが完全に省かれると言った、副作用を公開条件に含めることはできない。例えば、
boolean weirdos(auto&x){
x=x+1;
return true;

...
if(weirdos(x)){
/*instructions*/
1.8 Public Bounded for Loops
一実施形態において、public bounded MPC for loopは、以下の構成である:
for (i in range (0,10)){
/*your code here*/
breakif condition;//optional public break condition,in the end

一実施形態において、コンパイラが、公開条件を即値に解決する場合、それのbreakifコードが完全に省かれると言った、副作用を公開条件に含めることはできない。例えば、
boolean weirdos(auto&x){
x=x+1;
return false;

...
For(i in range(0,5)){
breakif weirdos(x);

再び、コンパイラは、すべての実行に対するコードを連続して生成し、breakif条件を反復のたびに評価しようとする。この条件のうちの1つが、immediate trueである場合、for loopが、反復するたびに必ず中断するという、警告が発せられる。すべての条件がimmediate falseである場合(または、breakifがない場合)、すべてのブロックのコードが連続して生成される。その他に、コンパイラは、すべてのアクセス可能な反復に対するコードを生成し、non−immediate条件が終わるたびに各変数を同期させる。public if−then−else構造の場合と全く同じように、ここでも、何回ループしたかに従って、変数を同期させる必要がある。
2 DSL、中間言語および機械語
図14は、一実施形態によるコンパイルを行うための方法を示す。コンパイルプロセスを行うためには、コンパイラが、まず、DSLコードを、様々な種類の確認を行い、変数をイミュータブルに置き換えるとともに、bounded for loop、public if−then−else、関数、および関数呼び出しを解決する、即値表現に変換する。2つの即値表現:即値表現1(IR1)と即値表現2(IR2)がある。抽象構文木(AST)は、意味解析および型確認の第1の段階を行うことによってIR1に変換されるが、まだ、この段階では、イミュータブルに解決される変数はない。ここで、部分的な型が確定されるが、完全な型は、まだ実証されない(統計的型パラメータは、この段階ではまだ計算されない)。次に、変数をイミュータブルに取り替え、for loopを公開して同期させ、if−then−else文を同期させ、関数呼び出しを公開し、そして最も重要なことには、統計的型パラメータを計算することにより完全な型を確定することによって、表現IR1がIR2に変換される。後者は、ユーザ入力パラメータおよび/またはコンパイラの統計電卓によって成し遂げられる。
2.1 DSL文法定義
DSL文法は、文(これは、ブロック、if−then−else、bounded for、関数本体、代入などを含む)および式を含むようになる。文とは違って、式は、評価され得る。式は、特殊な式である算術式を含む。
2.2 中間表現1(IR1)
中間表現1(IR1)は、DSLの部分的な意味解析の結果である中間言語である。考え方としては、意味解析が二段階で行われ、1つは、変数導出および型パラメータ計算の前の段階(意味段階1、すなわちSP1)であり、もう1つは、変数がイミュータブルに取り替えられ、完全な型が、型パラメータを推定することによって決定される段階(意味段階2、すなわちSP2)である。二段階に分ける一番の理由は、IR1(SP1の結果)が、直列化可能になり、したがって、IR1においてプリコンパイル済みライブラリを定義することができる点である。IR2以外は、入力データの統計値によって決まってくるので、予めコンパイルすることができない(したがって、これが、意味解析をSP1とSP2とに分ける理由である)。
中間言語IR1は、独自の抽象構文木(AST−IR1)を有する。この時点では、変数は、まだイミュータブルに取り替えられておらず、まだ、IR1は、以下のコンプライヤ特性およびコンプライヤ確認を遂行する。
●一連の標準演算子が式に取って代わる:
res=a+b*c;
/*replaced by*/
tmp=b*c;
res=a+tmp;
/*or*/
res=foo(u+v*t,bar(w))
/*replaced by*/
t1=v*t;
t2=u+t1;
t3=bar(w);
res=foo(t2,t3);
●この時点で、未宣言変数が報告される。
●戻り値のないnon−void関数またはその逆
MPCReal foo(MPCReal u, MPCReal v){
MPCReal r=u+v;

●部分的な型チェックエラーが報告される−例えば:
MPCReal r;
MPCMatrix M;
MPCReal res=r+M;
●bounded for loopsにおけるbreakif文を解決する:
s=0;
for i in range(0,10){
s=s+i;
breakif(s>=10);

代替として、完全な型を確定した後のSP2用に後者を取っておくことができる。演算子レベル節に焦点を絞り(例えば、代入および戻り値が部分的に導出される)、変数名の部分的な導出を行い、まだ、関数定義および関数呼び出しをそのままにしておく。
2.3 中間表現2(IR2)
中間表現2(IR2)は、最終コンパイル済みプログラムで、ほとんど全単射で、コンパイルされ、公開されたプログラムである。この表現では、すべてのloopおよび関数呼び出しが公開され、即値定数が実行全体にわたって伝播され、すべての変数が、その型が完全修飾されているイミュータブルとして完全に解決される。同じことが、三つ組およびマスキングデータにも言える。結果として、関数定義節はもうなくなり、すべての関数呼び出しが単一のツリーとして展開される(関数呼び出しは、もう葉ではなく、内部節である)。ユーザに報告する考えられるエラー:
●再帰エラーが検出され、このステップにおいて報告される(スタックオーバーフロー)
●型エラー(または、関連パラメータを見付けることが不可能)。
プライバシ保護計算プロトコルのオフライン段階で使用される補助数字マスキングデータ(三つ組)の観点から、この表現は、以下を含む:
●補助データの大域インデックス
●完全修飾MPC型。
以下を含むイミュータブルも完全修飾される:
●イミュータブルの大域インデックス
●完全修飾MPC型(統計的型パラメータを含む)。
3 コンパイル段階
一実施形態において、コンパイル方法には、以下の段階がある:
●字句解析
●意味解析/パーシング=>AST生成
●意味解析段階1(SP1)AST=>IR1
●意味解析段階2(SP2)IR1=>IR2
これらの段階のそれぞれについて、以下に詳しく説明する。
3.1 字句解析段階およびパーシング段階
これらの段階は、ごく標準的なものであり、使用されているプライバシ保護方法とは無関係である。字句アナライザは、ソースコードを走査し、語彙素(トークン)を生み出す。次に、このトークンが、DSL文法用の規則の正確な記述を使用して、抽象構文木(AST)を作り出すようにパーサに渡される。トークンの範疇には、例えば、識別子、キーワード、リテラル、演算子、区切り文字を含めることができる。
3.2 意味段階1(SP1)
この意味解析段階は、プライバシ保護計算方法に極めて特有である。
3.2.1 深さ優先探索走査法
SP1用の主要方法では、グラフAST上で深さ優先探索(DFS:Depth−First−Search)を行なう。この考え方としては、ASTを走査するDFSによって、AST−IR1節を確定し、これらの節のそれぞれに対し、ノードコンテキスト(この定義については次節を参照)をポピュレートできる、ということである。この手法により、未宣言変数または互換性のない部分的な型を検出することができるか、またはnon−void関数が互換性のない型を戻すか否かを検出することができる。
3.2.2 算術式の単調化
DFS走査法の最中、単調化算術式も必要になる(後者は、DSL文法の意味に取られる)。例えば:
res=u+foo(v*w);
以下へ解決する必要がある
tmp1=v*w;
tmp2=foo(tmp1);
res=u+tmp2;
スロットの利点としては、すべての補助変数に対し識別子を導入する必要がなく、むしろ、該当するスロットに単調化式の根を挿入するだけで済む点である、ということに留意されたい。したがって、入力として算術式(ASTの節としての)を取り、スロット形式において単調化式を出力する、再帰的手続きを考察する。
3.2.3 ノードコンテキスト(一時的シンボル表)
このシンボル表は、単に一時的なものであり、AST−IR1を生成するのに使用される。この一時的な表の表現は、前後関係を各節に対応付ける(ノードコンテキスト)。この前後関係は、所与の節に対応するすべての宣言およびスロットを含む。AST−IR1グラフの各節は、この節に対するすべての変数宣言と、その変数の(部分的な)型とを含むノードコンテキストを有するようになる。変数が宣言されているかどうかを確認するために、その節から根に走査し、各節の環境を確認する。これは、優先度が高い宣言の最初の出現である。例えば:
void main(){
/*block corresponding to node1*/
MPCReal r=1;
/*u is declared already in this context*/

/*block corresponding to node2*/
MPCReal r=0;

/*block corresponding to node3*/
r+=u;



この例では、変数rは、主機能のブロック(節1)において定義され、次に子ブロック(節2)において再定義される。最も内側のブロック(節3)には代入がある。SP1の最中、コンパイラが、最初に、節2である節3の親の前後関係を確認し、次にrの宣言および代入があることを検出する。この宣言/代入に対応するスロットは、節2のノードコンテキストに、それまでには現れている(ASTを走査するのに使用される深さ優先探索法のせいで)。
3.3 意味段階2(SP2)
この意味解析段階は、プライバシ保護計算方法に極めて特有である。
3.3.1 即値の伝播
この方法でこれまでに使用されているイミュータブルのすべてのその時のインデックスを保ち、この意味段階を2回通過する。
1回目の通過(AST深さ優先探索)
●即値の伝播
●関数の公開
●bounded for文の公開
●public if−then−else文の公開
●変数をイミュータブルで解決する(if−then−else、bounded for およびreturnの文を同期させる)
2回目の通過
● 統計電卓を作動させ、イミュータブルの完全な型を確定する
3.3.2 解決済み文
解決済み文は、関数呼び出しが解決され(ブロックに取って代わられる)、変数が、イミュータブルに取って代わられ、変数連結がポピュレートされている(変数からイミュータブルへの写像、またその逆の写像)文である。解決済み文は、ツリー形式である可能性があるが、最終コンパイル済みプログラムは、一連の命令にすぎない。
3.3.3 統計電卓
さらに、型が確認され、型パラメータが、統計電卓と呼ばれる、コンパイラの特殊な構成要素によって計算された。この構成要素の主機能は、すべての命令を連続して受け、その命令に対する入力変数の型パラメータが設定されているとの前提で、出力変数に対する型パラメータを計算することである。仮想マシンの命令が、陽数学関数に対応しているので、コンパイラは、出力の統計分布を計算することができ、それにより、完全な型を推定することができる(それらがユーザによって規定されていない限り)。
4 本節の用語解説
以下は、本節IIIに使用されている用語の解説である。ここでの説明は、単に、読み手が開示された実施形態を理解しやすいようにとの目的で提供し、請求項に係る発明に制限を設けるものではない。
AST1:DSLから直接生み出された抽象構文木
AST2:算術式がMPC最適化されているAST1から導出された抽象構文木(初めは、AST1とAST2とが同じものであると想定する)。
AST−IR1:中間言語1(IL1)に対応している抽象構文木
ブロック:スコープを定義するのに使用される基本文
式:評価され得る文法構造
IR1:中間表現1
IR2:中間表現2
イミュータブル:特定の変数の1回の代入(各変数は、対応するイミュータブル集合を持つことができる。)
スコープド変数:特定のブロック(スコープ)にしか見ることができない変数
意味段階1(SP1):型パラメータおよびイミュータブルとは無関係な部分的な意味解析
意味段階2(SP2):コンパイル済みプライバシ保護プログラムをもたらす完全な意味解析
文:文法構造(ブロック、if−then−else、bounded for loop、関数本体など)
統計電卓:SP2において、命令を経て、型パラメータを推定するコンパイラ構成要素
VI.コンピュータ実装形態
本明細書に開示されている実施形態の構成要素は、方法、プロセス、アプリケーション、プログラム、モジュール、エンジン、機能などと呼ばれる場合があり、非一時的コンピュータ可読媒体に命令として具体化された専用ソフトウェアを使用して、1つ以上のコンピュータまたはコンピュータシステムを構成することによって実装され得る。1つ以上のコンピュータまたはコンピュータシステムは、ネットワーク化コンピュータシステムとしての有線ネットワークおよび/または無線ネットワークを通して、必要に応じてネットワーク化され得る、スタンドアローンコンピュータ、クライアントコンピュータおよび/またはサーバコンピュータとすることができるか、またはそれらを含むことができる。
図15は、様々な実施形態による、開示されている構成要素を実装するように適宜構成され得る一般的なコンピュータアーキテクチャ1500を示す。コンピューティングアーキテクチャ1500は、コンピュータ1501、ネットワーク1518、および1つ以上のリモートコンピュータ1530など、様々なよくあるコンピューティング要素を含み得る。ただし、本明細書に開示されている実施形態は、この一般的なコンピューティングアーキテクチャ1500による実装に限られるものではない。
図15について言えば、コンピュータ1501は、例えば、サーバ、ディスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、またはモバイルコンピューティングデバイスなど、様々な汎用コンピュータのいずれかとすることができる。コンピュータ1501は、処理ユニット1502、システムメモリ1504、およびシステムバス1506を含み得る。
処理ユニット1502は、互いに独立して作動することができる、1つ以上の処理コアを含み得る様々な市販のコンピュータプロセッサのいずれかとすることができる。コンピュータには、グラフィックスプロセッシングユニット1503などの付加的共処理ユニットも備わっていることがある。
システムメモリ1504は、動的ランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)または他のランダムアクセスメモリ素子など、揮発性素子を含み得る。システムメモリ1504は、読み取り専用メモリまたはフラッシュメモリなど、不揮発性素子も含み得るか、または代替として、それらを含み得る。
コンピュータ1501は、ディスクドライブ、ソリッドステートディスク、またはメモラブルメモリカードなど、ローカル不揮発性二次記憶域1508を含み得る。ローカル記憶域1508は、1つ以上のリムーバブル記憶ユニットおよび/または非リムーバブル記憶ユニットを含み得る。ローカル記憶域1508は、コンピュータ上で実行する様々なアプリケーションを起動し、管理するオペレーティングシステムを格納するのに使用され得る。ローカル記憶域1508は、本明細書に開示されている実施形態の構成要素を実装するように構成され、またオペレーティングシステム下で1つ以上のアプリケーションとして実行され得る、専用ソフトウェアを格納するのにも使用され得る。
コンピュータ1501は、通信デバイス1512も含み得、この通信デバイス1512を通して、コンピュータ1501は、有線および/または無線のコンピュータネットワーク1518上で、1つ以上のリモートコンピュータ1530などの他のデバイスと通信する。通信デバイス1512は、例えば、有線コンピュータネットワーク上でデータを伝達するためのネットワークインタフェースを含み得る。通信デバイス1512は、例えば、Wi−Fi、Bluetooth(登録商標)、および/または移動電話網上の通信向けの1つ以上の無線送信機を含み得る。
コンピュータ1501は、コンピュータネットワーク1518を通してネットワーク記憶域1520にアクセスすることもできる。ネットワーク記憶域は、例えば、ローカルネットワークに位置するネットワークアタッチドストレージ素子、または1つ以上のリモートデータセンタでホストされるクラウドベース記憶域を含み得る。オペレーティングシステムおよび/または専用ソフトウェアは、代替として、ネットワーク記憶域1520に格納され得る。
コンピュータ1501は、キーボード、マウス、タッチスクリーン、カメラ、マイク、加速度計、温度計、磁気計、または任意の他のセンサなど、様々な入力デバイス1514を備え得る。ディスプレイ、スピーカ、プリンタ、偏心回転質量振動モータなどの出力デバイス1516も含まれ得る。
様々な記憶域1508、通信デバイス1512、出力デバイス1516、および入力デバイス1514は、コンピュータのハウジング内に統合され得るか、またはコンピュータ上の様々な入力/出力インタフェースデバイスを通して接続され得、この場合、整理番号1508、1512、1514、および1516は、場合によって、デバイスへの接続用のインタフェースを示すか、またはデバイスそのものを示すことがある。
以上の態様のいずれも、コンピュータシステムとして、このようなコンピュータシステムによって行われるプロセスとして、このようなコンピュータシステムのいずれかの個々の構成要素として、または、コンピュータプログラム命令が格納されるコンピュータ記録域を含む製造品として、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)を含む。
V. 結論
特定の実施形態に関して本発明の対象を説明したが、当業者には、本明細書に示されている様々な特徴および利点を提供することもしないこともある実施形態を含む他の実施形態が、上記の開示に照らして見えてくるであろう。上記の具体的な実施形態は、単に例として開示され、本特許の主題の範囲は、以下の特許請求の範囲によって規定される。
特許請求の範囲では、「based upon(〜に基づく)」という用語は、結果または影響をもたらす際、直接かつ/または間接的に、また場合によっては他の要因と合わせて、ある要因が考慮されるという状況を含むものとする。特許請求の範囲では、一部分というのは、あるもののうちの1つもないよりも大きく、あるものの全部までを含むもととし、あるものの暗号化は、そのものの一部分の暗号化を含むものとする。特許請求の範囲では、いずれの参照文字も単に説明の便宜上使用され、方法を行う際の特定の順番を示すものではない。

Claims (26)

  1. 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、
    ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
    前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
    前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
    信頼できるディーラから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信することと、
    少なくとも1つの入力データセットに対して、前記入力データセットの秘密シェアを受信することと、
    前記パーティコンピューティングシステムに、前記パーティコンピューティングシステムのうちのその他とともに、かつその他と連絡して、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、前記パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
    (a)連続関数のフーリエ級数近似、または連続関数の三角多項式を使用する近似、
    (b)計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、メモリ記憶要件が緩い計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小、のうちの少なくとも1つを含む、実行することと、
    計算済み秘密分散型データのインスタンスの秘密シェアを、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに送信することと、
    前記複数のパーティコンピューティングシステムのうちの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
    前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
    計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。
  2. 前記計算が、(a)および(b)の両方を含む、請求項1に記載の方法。
  3. 前記計算が、
    関数の定義域を複数の部分区間に分割することと、
    前記複数の部分区間の部分区間ごとに、
    前記部分区間における前記関数の近似値を定めることと、
    ガーブル化回路および紛失選択のうちの少なくとも1つを使用して、計算済み秘密分散型データのインスタンスを計算することと、をさらに含む、請求項1に記載の方法。
  4. 前記計算が、(a)を含む、請求項1に記載の方法。
  5. 前記近似値が、ある区間における前記連続関数のものである、請求項4に記載の方法。
  6. 前記近似値が、前記連続関数の一様近似値である、請求項5に記載の方法。
  7. 前記連続関数が、機械学習活性化関数である、請求項4に記載の方法。
  8. 前記機械学習活性化関数が、シグモイド関数である、請求項7に記載の方法。
  9. 前記機械学習活性化関数が、双曲線正接関数である、請求項7に記載の方法。
  10. 前記機械学習活性化関数が、ニューラルネットワーク向けの整流器活性化関数である、請求項7に記載の方法。
  11. 前記連続関数が、前記シグモイド関数である、請求項4に記載の方法。
  12. 前記計算が、(b)を含む、請求項1に記載の方法。
  13. 前記秘密シェア縮小が、計算済み秘密分散型データのインスタンスの各秘密シェアの1つ以上の最上位ビットをマスクすることを含む、請求項12に記載の方法。
  14. 前記結果が、ロジスティック回帰分類モデルの係数集合である、請求項1に記載の方法。
  15. 前記方法が、ロジスティック回帰分類器を実装し、前記結果が、前記入力データに基づく前記ロジスティック回帰分類器の予測である、請求項1に記載の方法。
  16. 前記ディーラコンピューティングシステムが、信頼できるディーラコンピューティングシステムであり、前記パーティコンピューティングシステム間の通信が、前記信頼できるディーラコンピューティングシステムにはアクセス不能である、請求項1に記載の方法。
  17. 前記ディーラコンピューティングシステムが、honest−but−curiousディーラコンピューティングシステムであり、前記パーティコンピューティングシステム間の通信が前記honest−but−curiousディーラコンピューティングシステムによってアクセスされ得るか否かに関わらず、前記パーティコンピューティングシステムのうちの1つ以上によって与えられた秘密分散型入力データのプライバシが保護される、請求項1に記載の方法。
  18. 少なくとも1つの入力データセットに対し、前記入力データセットにおいて統計解析を行って、入力データセット統計値を確定することと、
    前記入力データセット統計値を使用して、ソースコード命令セットの事前実行を行い、1つ以上の変数型の各々に対して統計的型パラメータを生成することと、
    前記統計的型パラメータ集合に基づいて、前記ソースコード命令セットをコンパイルして、前記プログラム命令セットを生成することと、をさらに含む、請求項1に記載の方法。
  19. 前記事前実行が、
    反復回数が確定可能である前記ソースコード命令セットにおいてloopを公開することと、
    前記ソースコード命令セットにおいて関数呼び出しを公開することと、に続いて行われる、請求項17に記載の方法。
  20. 少なくとも1つの関連数字マスキングデータ成分セットが、3つの成分から成り、前記3つの成分は、前記成分のうちの1つが前記成分のうちの残りの2つの乗算積に等しいという関係性を有する、請求項1に記載の方法。
  21. 少なくとも1つの関連数字マスキングデータ成分セットが、数字と、前記数字に対して評価されたフーリエ基底関数の1つ以上の対応値集合と、を含む、請求項1に記載の方法。
  22. 前記結果が、前記結果の平文計算に関して所定の精度を有する、請求項1〜20のいずれか一項に記載の方法。
  23. 前記複数のパーティコンピューティングシステムのうちの少なくとも1つが、前記複数のパーティコンピューティングシステム間で、それぞれの入力データセットを秘密分散させることをさらに含む、請求項1〜20のいずれか一項に記載の方法。
  24. 複数のコンピューティングシステムを備えるシステムであって、前記複数のコンピューティングシステムが、請求項1〜20のいずれか一項に記載の方法を行うように構成されている、システム。
  25. 請求項1〜20のいずれか一項に記載のプログラム命令セットで符号化された非一時的コンピュータ可読媒体。
  26. 複数のコンピュータシステムによって実行されると、前記複数のコンピュータシステムに、請求項1〜20のいずれか一項に記載の方法を行わせる、コンピュータコードで符号化された非一時的コンピュータ可読媒体。
JP2020534803A 2017-08-30 2018-08-30 高精度プライバシ保護実数値関数評価 Active JP7272363B2 (ja)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201762552161P 2017-08-30 2017-08-30
US62/552,161 2017-08-30
US201762560175P 2017-09-18 2017-09-18
US62/560,175 2017-09-18
US201862641256P 2018-03-09 2018-03-09
US62/641,256 2018-03-09
US201862647635P 2018-03-24 2018-03-24
US62/647,635 2018-03-24
PCT/US2018/048963 WO2019046651A2 (en) 2017-08-30 2018-08-30 EVALUATION OF REAL-VALUE FUNCTION PRESERVING HIGH PRECISION CONFIDENTIALITY

Publications (3)

Publication Number Publication Date
JP2020532771A true JP2020532771A (ja) 2020-11-12
JP2020532771A5 JP2020532771A5 (ja) 2021-09-30
JP7272363B2 JP7272363B2 (ja) 2023-05-12

Family

ID=63678682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020534803A Active JP7272363B2 (ja) 2017-08-30 2018-08-30 高精度プライバシ保護実数値関数評価

Country Status (9)

Country Link
US (3) US20200304293A1 (ja)
EP (1) EP3676985B1 (ja)
JP (1) JP7272363B2 (ja)
KR (1) KR102667837B1 (ja)
CN (1) CN111543025A (ja)
CA (1) CA3072638A1 (ja)
IL (1) IL272824B (ja)
SG (1) SG11202001591UA (ja)
WO (1) WO2019046651A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048711A1 (en) * 2021-09-22 2023-03-30 Visa International Service Association Threshold secret share generation for distributed symmetric cryptography

Families Citing this family (65)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019025415A1 (en) * 2017-07-31 2019-02-07 Koninklijke Philips N.V. DISTRIBUTION OF A CALCULATION OUTPUT
KR102667837B1 (ko) 2017-08-30 2024-05-21 인퍼, 인코포레이티드 고정밀 프라이버시 보호 실가 함수 평가
CN111133719B (zh) * 2017-09-29 2024-01-26 罗伯特·博世有限公司 用于利用spdz的更快速的安全多方内积计算的方法
WO2019110380A1 (en) * 2017-12-04 2019-06-13 Koninklijke Philips N.V. Nodes and methods of operating the same
WO2019121384A1 (en) * 2017-12-22 2019-06-27 Koninklijke Philips N.V. Evaluation of events using a function
US11816226B2 (en) * 2018-03-22 2023-11-14 Via Science, Inc. Secure data processing transactions
WO2019202586A1 (en) * 2018-04-17 2019-10-24 B. G. Negev Technologies & Applications Ltd., At Ben-Gurion One-round secure multiparty computation of arithmetic streams and evaluation of functions
EP3806071B1 (en) * 2018-05-25 2023-03-22 Nippon Telegraph And Telephone Corporation Secret collective approximation system, secret calculation device, secret collective approximation method, and program
WO2019231481A1 (en) * 2018-05-29 2019-12-05 Visa International Service Association Privacy-preserving machine learning in the three-server model
JP7306724B2 (ja) * 2018-09-20 2023-07-11 日本電気株式会社 変換装置、変換方法及びプログラム
CN112805769B (zh) * 2018-10-04 2023-11-07 日本电信电话株式会社 秘密s型函数计算***、装置、方法及记录介质
US11444926B1 (en) * 2018-10-15 2022-09-13 Inpher, Inc. Privacy-preserving efficient subset selection of features for regression models in a multi-party computation setting
US11764940B2 (en) 2019-01-10 2023-09-19 Duality Technologies, Inc. Secure search of secret data in a semi-trusted environment using homomorphic encryption
IL285484B1 (en) 2019-02-22 2024-03-01 Inpher Inc Arithmetic for secure multipart computation with modular integers
US11250140B2 (en) * 2019-02-28 2022-02-15 Sap Se Cloud-based secure computation of the median
GB2583333B (en) * 2019-04-15 2022-03-16 Imagination Tech Ltd Verification of hardware design for an integrated circuit that implements a function that is polynomial in one or more input variables
US11410081B2 (en) * 2019-05-20 2022-08-09 International Business Machines Corporation Machine learning with differently masked data in secure multi-party computing
US11238167B2 (en) * 2019-06-14 2022-02-01 Sap Se Secure sublinear time differentially private median computation
CN112183565B (zh) * 2019-07-04 2023-07-14 创新先进技术有限公司 模型训练方法、装置及***
CN110472439B (zh) * 2019-08-09 2023-08-22 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN110580410B (zh) * 2019-08-09 2023-07-28 创新先进技术有限公司 模型参数确定方法、装置和电子设备
US10803184B2 (en) 2019-08-09 2020-10-13 Alibaba Group Holding Limited Generation of a model parameter
CN110580409B (zh) * 2019-08-09 2023-05-30 创新先进技术有限公司 模型参数确定方法、装置和电子设备
CN110569228B (zh) * 2019-08-09 2020-08-04 阿里巴巴集团控股有限公司 模型参数确定方法、装置和电子设备
US20220329408A1 (en) * 2019-08-14 2022-10-13 Nippon Telegraph And Telephone Corporation Secure gradient descent computation method, secure deep learning method, secure gradient descent computation system, secure deep learning system, secure computation apparatus, and program
US11018856B2 (en) * 2019-09-11 2021-05-25 Guardtime Sa Auditable system and methods for secret sharing
FR3101980B1 (fr) 2019-10-11 2021-12-10 St Microelectronics Grenoble 2 Processeur
FR3101982B1 (fr) * 2019-10-11 2024-03-08 St Microelectronics Grenoble 2 Détermination d'un bit indicateur
US11209834B2 (en) * 2019-10-17 2021-12-28 Mitsubishi Electric Research Laboratories, Inc. Direct and indirect control of mixed-automata vehicle platoon
IT201900021576A1 (it) * 2019-11-19 2021-05-19 Intesa Sanpaolo Innovation Center S P A Metodo di multiparty computation
EP4066146A1 (en) * 2019-11-26 2022-10-05 Mythic, Inc. Systems and methods for implementing operational transformations for restricted computations of a mixed-signal integrated circuit
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US11531782B1 (en) * 2022-05-13 2022-12-20 TripleBlind, Inc. Systems and methods for finding a value in a combined list of private values
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
KR20210157636A (ko) * 2020-06-22 2021-12-29 삼성전자주식회사 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템
JP2022012403A (ja) * 2020-07-01 2022-01-17 キヤノン株式会社 プログラム、情報処理装置及び制御方法
CN111783130B (zh) * 2020-09-04 2021-01-29 支付宝(杭州)信息技术有限公司 隐私保护的数据处理方法、装置及服务器
CN112182649B (zh) * 2020-09-22 2024-02-02 上海海洋大学 一种基于安全两方计算线性回归算法的数据隐私保护***
CN112051980B (zh) * 2020-10-13 2022-06-21 浙江大学 一种基于牛顿迭代法的非线性激活函数计算装置
CN112183730B (zh) * 2020-10-14 2022-05-13 浙江大学 一种基于共享学习的神经网络模型的训练方法
CN112307504B (zh) * 2020-11-18 2024-02-09 成都佳华物链云科技有限公司 一种安全多方计算方法、装置、电子设备及存储介质
CN112463332A (zh) * 2020-12-01 2021-03-09 华控清交信息科技(北京)有限公司 一种数据处理方法、密文计算***和用于数据处理的装置
US11645409B2 (en) * 2020-12-18 2023-05-09 Seagate Technology Llc Search and access pattern hiding verifiable searchable encryption for distributed settings with malicious servers
CN112966809B (zh) * 2021-02-02 2022-05-17 支付宝(杭州)信息技术有限公司 基于隐私保护的两方模型预测方法、装置及***
US11308226B1 (en) * 2021-02-22 2022-04-19 CipherMode Labs, Inc. Secure collaborative processing of private inputs
US20240178989A1 (en) * 2021-03-03 2024-05-30 B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University Polynomial representation of nn for communication-less smpc and method of performing statistical information-theoretical secure (sits) distributed communication-less smpc (dclsmpc) of a distributed unknown finite state machine (dufsm)
US20220284433A1 (en) * 2021-03-04 2022-09-08 Capital One Services, Llc Unidimensional embedding using multi-modal deep learning models
CN112818406B (zh) * 2021-04-16 2021-09-14 北京瑞莱智慧科技有限公司 一种评分卡模型的预测方法及装置
CN113315631B (zh) * 2021-06-09 2021-12-21 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113470810B (zh) * 2021-06-10 2022-07-05 湖北工业大学 一种保护患者隐私和数据泄漏的在线诊断***及方法
CN113434886B (zh) * 2021-07-01 2022-05-17 支付宝(杭州)信息技术有限公司 联合生成用于安全计算的数据元组的方法及装置
CN113239389B (zh) * 2021-07-12 2021-09-17 华控清交信息科技(北京)有限公司 一种数据处理方法、装置和用于数据处理的装置
CN113541944B (zh) * 2021-07-16 2024-01-30 北京数牍科技有限公司 基于噪声源同步化的隐私计算方法、***及计算机设备
CN113472538B (zh) * 2021-09-02 2021-12-10 富算科技(上海)有限公司 多方安全计算的结果隐私性检测方法、装置、设备及介质
CN113780530B (zh) * 2021-09-09 2024-05-24 浙江数秦科技有限公司 一种三角式隐私计算方法
ES2904423B2 (es) * 2021-09-22 2023-01-09 Univ Valencia Politecnica Metodo de registro distribuido para el control de acceso anonimo
US11882211B2 (en) 2021-09-29 2024-01-23 Seagate Technology Llc Multiple evaluation threshold function secret sharing
CN114584285B (zh) * 2022-05-05 2022-07-29 深圳市洞见智慧科技有限公司 安全多方处理方法及相关设备
US20230409748A1 (en) * 2022-06-20 2023-12-21 Vmware, Inc. Garbling enhancements
CN114880693B (zh) * 2022-07-08 2022-11-18 蓝象智联(杭州)科技有限公司 生成激活函数方法、装置、电子设备和可读介质
CN115499186A (zh) * 2022-09-13 2022-12-20 广州大学 移动群智感知中基于安全多方计算真值发现隐私保护方案
KR102641532B1 (ko) * 2022-10-20 2024-02-28 (주)한국플랫폼서비스기술 사생활 보호 딥러닝 프레임워크 응용 컴퓨팅 장치 및 그 방법
JP2024081261A (ja) * 2022-12-06 2024-06-18 富士通株式会社 プログラム、算出方法および情報処理装置
CN116743376A (zh) * 2023-07-28 2023-09-12 浙江大学 基于高效密文混淆技术的多方秘密分享数据隐私比较方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764767A (en) * 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
JP2015194959A (ja) * 2014-03-31 2015-11-05 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2016131271A (ja) * 2015-01-13 2016-07-21 国立研究開発法人情報通信研究機構 サーバ、サービス方法
WO2016159357A1 (ja) * 2015-04-03 2016-10-06 日本電気株式会社 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4393276A (en) * 1981-03-19 1983-07-12 Bell Telephone Laboratories, Incorporated Fourier masking analog signal secure communication system
US7181017B1 (en) 2001-03-23 2007-02-20 David Felsher System and method for secure three-party communications
US7949032B1 (en) * 2005-05-16 2011-05-24 Frost Edward G Methods and apparatus for masking and securing communications transmissions
US7945784B1 (en) 2005-08-19 2011-05-17 Adobe Systems Incorporated Method and system to perform secret sharing
US8024274B2 (en) * 2006-05-05 2011-09-20 President And Fellows Of Harvard College Practical secrecy-preserving, verifiably correct and trustworthy auctions
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 한국전자통신연구원 겹선형 사상을 이용한 다자간 키 공유 방법 및 그 시스템
FR2960727B1 (fr) * 2010-05-26 2016-04-15 Oberthur Technologies Procede d'evaluation d'une fonction
RU2520404C1 (ru) * 2010-09-29 2014-06-27 дакадоо аг Система автоматизированного сбора, обработки и передачи медицинских данных
US9077539B2 (en) * 2011-03-09 2015-07-07 Microsoft Technology Licensing, Llc Server-aided multi-party protocols
US9276911B2 (en) * 2011-05-13 2016-03-01 Indiana University Research & Technology Corporation 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
CN105637798A (zh) * 2013-03-04 2016-06-01 汤姆逊许可公司 用于隐私保护计数的方法和***
US9614676B1 (en) * 2013-03-13 2017-04-04 Hrl Laboratories, Llc Cryptographically-secure packed proactive secret sharing (PPSS) protocol
US10083310B1 (en) * 2013-03-13 2018-09-25 Hrl Laboratories, Llc System and method for mobile proactive secure multi-party computation (MPMPC) using commitments
US9536114B1 (en) * 2013-03-13 2017-01-03 Hrl Laboratories, Llc Secure mobile proactive multiparty computation protocol
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
US10396984B2 (en) * 2014-05-02 2019-08-27 Barclays Services Limited Apparatus and system having multi-party cryptographic 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
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
CN105491006B (zh) * 2015-11-13 2018-11-13 河南师范大学 云外包密钥共享装置及方法
US10791123B2 (en) 2015-11-25 2020-09-29 Yaron Gvili Selectivity in privacy and verification with applications
JP2019500645A (ja) * 2015-12-03 2019-01-10 アンバウンド テック リミテッド 暗号プロトコルを用いたsqlベースのデータベースの保護
EP3389031B1 (en) * 2015-12-10 2021-08-04 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 日本電気株式会社 認証システム、認証方法およびプログラム
JP6988807B2 (ja) * 2016-08-18 2022-01-05 日本電気株式会社 秘密計算システム、秘密計算方法、秘密計算装置および秘密計算プログラム
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
JP6629466B2 (ja) * 2017-01-20 2020-01-15 日本電信電話株式会社 秘密計算システム、秘密計算装置、秘密計算方法、プログラム
US10565524B2 (en) * 2017-01-31 2020-02-18 Hewlett Packard Enterprise Development Lp Performing privacy-preserving multi-party analytics on horizontally partitioned local data
US11562230B2 (en) * 2017-03-22 2023-01-24 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
EP3646327B1 (en) 2017-06-27 2024-05-22 Bonnie Berger Leighton Secure genome crowdsourcing for large-scale association studies
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
KR102667837B1 (ko) 2017-08-30 2024-05-21 인퍼, 인코포레이티드 고정밀 프라이버시 보호 실가 함수 평가
CN111512589B (zh) 2017-12-14 2023-11-07 罗伯特·博世有限公司 用于利用spdz的快速安全多方内积的方法
US11450439B2 (en) 2017-12-29 2022-09-20 Brian Hie Realizing private and practical pharmacological collaboration using a neural network architecture configured for reduced computation overhead
US11818255B2 (en) 2018-03-09 2023-11-14 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
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
IL285484B1 (en) 2019-02-22 2024-03-01 Inpher Inc Arithmetic for secure multipart computation with modular integers
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5764767A (en) * 1996-08-21 1998-06-09 Technion Research And Development Foundation Ltd. System for reconstruction of a secret shared by a plurality of participants
JP2015194959A (ja) * 2014-03-31 2015-11-05 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
JP2016131271A (ja) * 2015-01-13 2016-07-21 国立研究開発法人情報通信研究機構 サーバ、サービス方法
WO2016159357A1 (ja) * 2015-04-03 2016-10-06 日本電気株式会社 秘密計算システム、サーバ装置、秘密計算方法、および、プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
BOURA, CHRISTINA ET AL.: "High-Precision Privacy-Preserving Real-Valued Function Evaluation", CRYPTOLOGY EPRINT ARCHIVE, vol. Paper 2017/1234, JPN6022036987, December 2017 (2017-12-01), pages 1 - 26, XP061034831, ISSN: 0004867992 *
千田浩司: "秘密計算技術の実用化に向けた取り組み", 医療情報学, vol. 第33巻, JPN6022036985, 20 November 2013 (2013-11-20), pages 128 - 130, ISSN: 0004867990 *
大澤卓矢,他: "フーリエ基底を用いた関数秘密分散", 2017年 暗号と情報セキュリティシンポジウム(SCIS2017), vol. 1A1-2, JPN6022036986, 24 January 2017 (2017-01-24), pages 1 - 7, ISSN: 0004867991 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023048711A1 (en) * 2021-09-22 2023-03-30 Visa International Service Association Threshold secret share generation for distributed symmetric cryptography

Also Published As

Publication number Publication date
EP3676985A2 (en) 2020-07-08
US11539515B2 (en) 2022-12-27
WO2019046651A2 (en) 2019-03-07
KR20200044103A (ko) 2020-04-28
KR102667837B1 (ko) 2024-05-21
CA3072638A1 (en) 2019-03-07
IL272824A (en) 2020-04-30
JP7272363B2 (ja) 2023-05-12
US20200304293A1 (en) 2020-09-24
SG11202001591UA (en) 2020-03-30
US10917235B2 (en) 2021-02-09
US20200358601A1 (en) 2020-11-12
EP3676985B1 (en) 2021-09-29
US20210167948A1 (en) 2021-06-03
IL272824B (en) 2021-08-31
CN111543025A (zh) 2020-08-14
WO2019046651A3 (en) 2019-04-11
WO2019046651A4 (en) 2019-05-31

Similar Documents

Publication Publication Date Title
JP7272363B2 (ja) 高精度プライバシ保護実数値関数評価
Mohassel et al. ABY3: A mixed protocol framework for machine learning
Al Badawi et al. Privft: Private and fast text classification with homomorphic encryption
Pulido-Gaytan et al. Privacy-preserving neural networks with homomorphic encryption: C hallenges and opportunities
US11222138B2 (en) Privacy-preserving machine learning in the three-server model
Gong et al. Homomorphic evaluation of the integer arithmetic operations for mobile edge computing
Moon et al. An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE
Bian et al. APAS: Application-specific accelerators for RLWE-based homomorphic linear transformations
Lu et al. Bumblebee: Secure two-party inference framework for large transformers
Lee et al. Overflow-Detectable Floating-Point Fully Homomorphic Encryption
Pang et al. BOLT: Privacy-Preserving, Accurate and Efficient Inference for Transformers
Hao et al. Fastsecnet: An efficient cryptographic framework for private neural network inference
Riazi et al. PriSearch: Efficient search on private data
Walch et al. Cryptotl: Private, efficient and secure transfer learning
Zarezadeh et al. Secure parameterized pattern matching
Qiu et al. Privacy‐Preserving Outsourcing Scheme for SVM on Vertically Partitioned Data
Akavia et al. Privacy preserving feature selection for sparse linear regression
Agrawal et al. On architecting fully homomorphic encryption-based computing systems
Çetin et al. Homomorphic autocomplete
Kuchta et al. Efficient lattice-based polynomial evaluation and batch zk arguments
Liu et al. PPTIF: Privacy-Preserving Transformer Inference Framework for Language Translation
Malashina Possibility of Recovering Message Segments Based on Side Information about Original Characters
Ahmed Augmented Image Encryption for Business Applications using Intel’s MKL
Tosun Practical and fully secure multi keyword ranked search over encrypted data with lightweight client
CHERCKESOVA et al. MODIFICATION OF QUANTUM ALGORITHMS FOR QUDITS WITH AN EVEN NUMBER OF STATES IN ORDER TO OPTIMIZE AND REPLACE OBSOLETE ALGORITHMS

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200525

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210818

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210818

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220824

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220906

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230302

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230410

R150 Certificate of patent or registration of utility model

Ref document number: 7272363

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150