JP7272363B2 - 高精度プライバシ保護実数値関数評価 - Google Patents
高精度プライバシ保護実数値関数評価 Download PDFInfo
- Publication number
- JP7272363B2 JP7272363B2 JP2020534803A JP2020534803A JP7272363B2 JP 7272363 B2 JP7272363 B2 JP 7272363B2 JP 2020534803 A JP2020534803 A JP 2020534803A JP 2020534803 A JP2020534803 A JP 2020534803A JP 7272363 B2 JP7272363 B2 JP 7272363B2
- Authority
- JP
- Japan
- Prior art keywords
- secret
- party computing
- computing system
- data
- party
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/147—Discrete 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/048—Activation functions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/04—Masking or blinding
- H04L2209/046—Masking or blinding of operations, operands or results of the operations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/26—Testing cryptographic entity, e.g. testing integrity of encryption key or encryption algorithm
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure 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)
Description
本出願の主題は、2017年8月30日出願の米国仮特許出願第62552161号、2017年9月18日出願の米国仮特許出願第62560175号、2018年3月9日出願の米国仮特許出願第62641256号、および2018年3月24日出願の米国仮特許出願第62647635号に関連しており、これらの出願のすべては、それらの全体が参照により本明細書に組み込まれる。
0 概要
高数値精度で連続実数値関数を評価するのに新奇のマルチパーティ計算プロトコルを提案する。本発明の方法は、フーリエ級数を用いた近似に基づき、オンライン段階中に、多くても2回の通信しか使用しない。オフライン段階では、それぞれ、信頼できるディーラ支援型ソリューションとhonest-but-curious支援型ソリューションを提案する。稀な事象を検出し、前に提案したプライバシ保護最適化方法(例えば、シグモイド関数の区分線形近似に基づく)を使用して解くことのできない、不均衡な分類問題を計算するように、ニュートン法の一種によってロジスティック回帰分類器を訓練するのに、この方法を適用する。本発明のプロトコルは、標準4倍精度浮動小数点算術を使用して実装することができるので効率的である。複数の実験を報告し、ロジスティック回帰モデルを訓練するための本発明の方法を実装するデモアプリケーションを提供する。
プライバシ保護計算により、複数のパーティが、入力を内密にしておき、関数の出力のみ明かして、他は何も明かさないまま、関数を評価することができる。マルチパーティ計算(MPC:Multi-Party Computation)、準同型暗号、および差分プライバシにおける最近の進歩が、これらのモデルを実用的にしている。このような計算の例には、医薬や金融の用途では、数ある中でも、入力データが別々の秘密データソース[17]、[23]、[25]、[26]から来る監視下モデルの訓練と、これらのモデルを使用する予測の評価がある。
と定義、
の区分線形近似を使用して勾配降下を数回反復しただけで、その時の費用関数は最小値[25]にはまだ遠いが、非常によい正確さを得るように思われる。これまで、シグモイド関数の他の近似方法も提案されてきた。[29]において、低次多項式による近似は、より効率的であるがそれほど正確ではない方法をもたらした。反対に、[24]における深層学習方法に適用されたより高次多項式近似は、より正確であるが、それほど効果的ではない方法(そのため、プライバシ保護計算にはあまり好適ではない)をもたらした。並行して、分類方法および深層学習の両方の背景において、準同型暗号[2]、[27]、[18]、[22]および差分プライバシ[1]、[10]に基づくプライバシ保護方法のための近似ソリューションが提案されている。
第1の貢献は、シグモイド関数のフーリエ近似である。プライバシ保護計算では、実数値関数の評価が、広く使用されてきた。例えば、線形回帰モデルおよびロジスティック回帰モデルを訓練するためには、平方根、指数、対数、シグモイド関数、またはソフトマックス関数などの実数値関数を計算し、それを使用して、非線形最適化問題を解く必要がある。ロジスティック回帰モデルを訓練するためには、連続シグモイド関数の対数の観点から表される費用関数を最小化する必要がある。この最小値は、通常、勾配降下などの反復法によって計算される。低合格率のデータセットの場合、十分に精密なモデルを得るためには、正確な最小値により近づくことが重要である。したがって、反復回数を大幅に増やすか(ナイーブ勾配降下または確率的勾配降下)、より高速の収束法(例えば、IRLS[5、§4.3])を使用する必要がある。後者は、特に入力データが、正規化も特徴量スケールもされない場合、これまでMPCの背景において達成されてきたものよりもずっと優れるシグモイドの数値近似を必要とする。一点(その点でのみローカルに良い近似をもたらす)の周りのテイラー級数による近似または多項式近似などの様々な手法がこれまで考えられてきた。最初のものよりも良いが、この方法は、係数のサイズのバラツキにより数値的に安定していない。区分線形関数による近似に基づく代替方法も考えられてきた。MPCでは、秘密分散およびマスキングに代わってガーブル化回路とともに使用されると、この方法はうまく働くが、十分な正確さをもたらさない。
P1、...、Pnは、個々の計算パーティ(参加者)であると仮定する。本明細書に必要とされるいくつかの基本概念をマルチパーティ計算から想起する。
(G、●)を群とし、x∈Gを群要素とする。
(若干の記号濫用による)によって示されるxの秘密シェアは、x=x1●・・・●xnであるようなタプル(x1、...、xn)∈Gnである。(G、+)がアーベルであれば、秘密シェアx1、...、xn加法的秘密シェアを呼び出す。いずれか2つの要素x、y∈Gについて、シェアの狭義サブタプル
が見分けが付かない場合、秘密分散法は、計算上安全である。Gが一様分布を許す場合、情報-理論的セキュア秘密分散法は、一様に無作為にx1、...、xn-1を描き、
を選ぶことから成る。Gがコンパクトではない場合、統計上または計算上の区別性に対して条件を緩めることができる。
和x+y(または、(G、+)が加群構造を有する場合は一次結合)に向けた秘密シェアの計算は、xおよびyの対応するシェアを加えることにより、各参加者によって非対話式に行われ得る。積に向けた秘密シェアの計算は、より厄介なものである。これを行う1つの方法は、事前計算され、秘密分散された乗法的数字マスキングデータに基づくBeaverの考えを用いることである。一般的な視点から、(G1、+)、(G2、+)、および(G3、+)を3つのアーベル群とし、π:G1×G2→G3を双線形写像とする。
を仮定し、元π(x、y)∈G3に対して秘密シェアを計算したいと思う。Beaverの方法では、参加者は、λ∈G1およびμ∈G2について事前計算された使い捨ての無作為数字マスキングデータ
を採用し、次にそれを使用して、a=x+λおよびb=y+μをマスクし、また明かす必要がある。次に、参加者は、以下のようにπ(x、y)について秘密シェアを計算する:
-参加者1が、z1=π(a、b)-π(a、μ1)-π(λ1、b)+(π(λ、μ))1を計算する、
-参加者i(i=2、...、n)が、zi=-π(a、μi)-π(λi、b)+(π(λ、μ))iを計算する。
様々な用途で(例えば、以下の6節のロジスティック回帰)、秘密分散型データにわたって連続実数値関数を計算する必要がある。非線形関数(例えば、指数、対数、ベキ、余弦、正弦、シグモイドなど)に対しては、本文献に様々な方法が提案されている。
の事前計算済み数字マスキングデータを使用して、参加者は、u=xλを明かし、かつ一次結合
を出力することによって、
を評価することができる。
にわたって、xの桁が明かされる可能性がある。
本発明の目標が、実数値連続関数の効率的な評価および良質なロジスティック回帰などの新しい機能性に重点を置くことにあるので、参加者全員が何の誤りも持ち込むことなく、プロトコルに従うというシナリオを考えることが多い。ただし、参加者は、全取引履歴を記録し、データについての違法情報を知ろうとする可能性がある。オンライン段階中、nのうち多くてn-1の参加者のどのような結託によっても、合法的かつ明確に明かされた集計結果以外のデータのいずれの意味的性質も見分けることができないことをセキュリティモデルが課す。これを実現する際、信頼できるディーラと呼ばれるただ1つのエンティティによって、Beaver三つ組(数字マスキングデータとも呼ばれ、参加者の秘密シェアをマスクするのに使用される)が生成され、分散され得る。この場合、多くてn-1の参加者が提携しても、平文数字マスキングデータ情報に対して計算上の利益を何ら得るはずはない。しかし、ディーラ自身が平文数字マスキングデータを知り、それにより、データ全体を知ることは、いくつかの外部委託のユースケースでのみ意味を成す。以下の5節では、この時点でディーラとの双方向通信を伴う、同じ数字マスキングデータを生成するための代替のhonest-but-curious(またはsemi-honest)プロトコルを示す。この場合、事前計算済み行列を生成するために、ディーラと参加者とがオフライン段階の間協力するが、彼らのうちの誰も平文数字マスキングデータ全体にアクセスしない。これは、ディーラがいずれの参加者とも結託せず、少なくとも1人の参加者が他の参加者と結託しない限り、意味が通っている。今後の研究に向けて積極的にセキュアなプロトコルの構想を残しておく。
この節では、固定小数点演算用の本発明のマスキング技法を提示し、実数値連続関数のMPC評価用の方法を提供する。具体的には、MPCにおいてpビットの数値精度を得るには、τが固定セキュリティパラメータであるp+2τ-ビット浮動小数点を持てば十分であることを示す。
上の一様分布がないので、実数にわたってマスキング分布を加えても、任意の入力を完全に隠すことはできない。秘密シェアがある程度分かっている数値精度範囲に属する場合、マスク済み値が入力についての情報を計算上何も漏らさないように、精度範囲に応じて、マスキング分布を慎重に選ぶことが可能である。分布が十分に大きな標準偏差であれば、その役割を果たすことができ、本明細書の以下では、この種類のマスキングを「統計的マスキング」と呼ぶ。実際には、標準偏差σ=240の正規分布を選ぶ。
-無損失加法:C(B1、p1)×C(B2、p2)→C(B2、p)、式中、B=最大(B1、B2)+1、およびp=B-最小(B1-p1、B2-p2)、
-無損失乗法:C(B1、p1)×C(B2、p2)→C(B、p)、式中、B=B1+B2、およびp=p1+p2、
-丸め:C(B1、p1)→C(B、p)、これは、xを2B-p
におけるその最も近い元に写像する。
セキュリティパラメータτを与えると、対抗者は、C(B、p)において2つの平文m0、m1を選び、挑戦者は、b∈{0、1}およびα∈Sを一様ランダムに選び取り、c=mb+αを対抗者に送信する、という区別可能性ゲームが、アドバンテージ≧2-τでは勝つことができない場合、集合SがクラスC(B、p)に対するτ-セキュアマスキング集合であると言える。対抗者は、bを言い当てる必要がある。
へのこのような区別アドバンテージの上昇では、少なくとも2τの標本を攻撃者に与えることが必要になる可能性があるので、実際には、τ=40で十分であることに留意されたい。
によって境界される。また、マスクλが
によって境界され、マスクμが
によって境界されるので、x・yの計算済み秘密シェアは、
によって境界されることになる。そのため、無損失乗算は、C(B、p、τ)に代わって、B=B1+B2であるC(B1、p、τ)×C(B2、p、τ)→C(B、2p、2τ)を送信する。pを縮小することは、単に丸めの問題であり、浮動小数点表示によって自動的に行われる。ただし、出力秘密シェアが2B+τによって境界されるようにτを小さくするための方法がまだ必要である。
提案するこの方法は、2つの補助パラメータに左右され、これらの補助パラメータは、2ηが絶対値における望ましい限界であるようにη=B+τと定義された切り捨てと、参加者人数より大きな補助パラメータM=2κである。
)は、データに関する何の情報も含まず、明かしても全く安全である。シェアの和(すなわち、データのMSB)がゼロであることも分かっているので、シェアのMSBの和は、非常に小さい。シェア縮小方法は、この和を計算し、それを参加者間に均一に分配し直すだけで済む。和が小さいことが約束されるので、大きな整数においてではなくMを法として計算が行われる。より正確に言えば、i=1、...、nに対して切り捨てパラメータηを使用して、参加者iは、zの自分の秘密シェアziを、
およびui∈[-2η-1、2η-1]である、zi=ui+2ηviとして書き込む。次に、参加者iは、vi mod Mを同報通信して、各参加者が和を計算するようにする。個々のシェアは、必要に応じて、ν=0 mod Mである事前計算済みシェア
を使用して、再ランダム化され得る。
が-M/2~M/2の範囲にあることが約束されるので、Mを法とするその表現から復元され得る。それにより、各参加者は、同じ和を元のシェアとして構築することによって得るが、2ηによって境界付けられるui+2ηw/nとして、自分のシェアをローカルに更新する。
以下の方法は、上の3.3節に記述したような、秘密シェアのサイズを縮小するための一実施形態の詳細である。この手順は、浮動小数点に関わる古典的なMPC乗算の中で使用され得る。
入力:
および1つの数字マスキングデータセット
、ν=0 mod M。
出力:シェアの絶対値を小さくした、同じ値zに対する秘密シェア。
1:各参加者Piが、zi=ui+2ηviであるような、ui∈[-2η-1、2η-1]および
を計算する。
2:各参加者Piは、vi+νi mod Mを他の参加者に同報通信する。
3:参加者は、
を計算する。
4:各参加者Piは、zの新しいシェアを
として計算する。
フーリエ理論により、特定の周期関数を三角多項式で近似することを可能にする。この節の目的は、2つあり、MPCにおいて三角多項式をどのように評価するかを示すことと、同時に、いくつかの近似結果の非周期関数への拡張を再検討し、示すことである。
複雑な三角多項式は、
であるam+ibmに等しい、形式
の有限和であることを思い出してみる。各三角多項式は、周期2πを有する周期関数である。すべての
について
であるならば、tは、実数値であり、よりなじみのあるコサイン分解
に対応する。ここで、MPC背景において三角多項式をどのように評価するかを説明し、それが、普通の多項式よりも優れている理由を説明する。
は、一様分布の余地があることから、一様マスクキングを使用することができ、この方法は、乗法的マスキングによる古典的な多項式の評価に関連している漏洩問題を完全に片付ける、ということを言っておく。一方、この評価の出力は、まだ
にあり、この場合、前の節で説明した統計的マスキングを使用して、先に進む。この入力は、内密に分散され、加法的にマスクされるが、分かりやすくするために、2πを法とする加法から実数上の古典的な加法を区別するのに、2πを法とする加法を一時的に
で表すことにする。同様に、2πを法とする加法に関する加法的秘密シェアを
と表す。次に、2πを法としてシェアを自明に縮小することによって、
への遷移がもたらされ得る。
に対してtを評価する方法は、
を
に変換し、それを分散型マスキング
で加法的にマスクし、次に
を明かし、標的
を
として書き換えることである。当然、
が明かされるので、係数
が明確に計算され得る。まとめると、
などの事前計算済み三角多項式またはフーリエ級数マスキングデータを前提とし、
が明かされているという事実によると、多項式t全体を一回の通信で評価することができる。
非周期関数fを一様に近似することに関心がある場合(所与の区間、例えば[-π/2、π/2]における三角多項式を用いて)、フーリエ係数を単純に使用することはできない。当然、この関数が解析的である場合でも、そのフーリエ級数は、ギブス現象に起因して終点近くに一様に収束する必要はない。
この問題を打開する1つのやり方は、より広い区間へのこの関数の周期拡張を探し、その拡張に対するフーリエ級数の収束性に着目することである。指数関数的収束を得るには、そのことがめったに保証されないという条件で、拡張も解析的である必要がある。言い換えれば、古典的なホイットニー拡張定理[28]は、同時に周期的でもある解析的な拡張をもたらすことはめったにない。微分可能関数を拡張するための建設的な手法が、より一般的にHestenes[20]およびFefferman[16]によって与えられている。これに一番期待できることは、この関数をC∞-関数(解析的ではない)に拡張することである。[8]、[9]で説明しているように、このような拡張は、よくても指数関数的ではないスーパー代数的近似をもたらすに過ぎない。
三角多項式で非周期関数を近似するための代替の手法は、元の関数と近似との間のL2-距離の制約(元の区間に対する)が最小限に抑えられているようなより広い区間(例えば、[-π、π])において、これらの関数を探すことである。この方法は、最初に[7]によって提案されたが、標準フーリエ基底に関する係数が、基底関数の個数を増やすのに従って発散する(最適解で)という意味において、この係数が数値的に不安定であることが確認されている。[21]の方法は、最適解の係数が数値的に安定するようになる第一種および第二種のいくつかの半範囲チェビシェフ多項式の異なる正規直交基底を使用することによってこの問題を打開することを可能にする。さらに、ガウス求積則を使用して、これらの係数を数値的に計算することができる。
fを、必ずしも滑らかまたは周期的とは限らない、区間[-π/2、π/2]における自乗可積分関数とする。
Cnをこれらの関数が及ぶ
(偶関数の部分空間)とする。同様に、以下とし、
SnをSnの
(奇関数の空間)とする。CnUSnがGnに対する基数であることに留意されたい。
y∈[-1、1]の場合のTk(y)を第一種の第kチェビシェフ多項式、すなわち、すべてのθについてTk(cosθ)=coskθを満たし、Tk(1)=1(Tkは、次数kを有する)であるように正規化された、多項式とする。kが変わるにつれて、この多項式は、重み関数
に関して直交する。同様に、y∈[-1、1]の場合のUk(y)を第二種の第kチェビシェフ多項式、すなわち、UK(cosθ)=sin((k+1)θ)/sinθを満たし、Uk(1)=k+1であるように正規化された、多項式とする。多項式{Uk(y)}は、重み関数
に関して直交する。
をどのように定義するかを説明している。同様に、[21、定理3.4]は、奇関数に対して正規直交基底
をもたらす(第二種の半範囲チェビシェフ多項式)。[21、定理3.7]に従って、上記の問題に対する最適解gnが、以下によって得られ、
ここで、
また、
である。
の観点からそれらを表すことは、安定している。さらに、[21、定理3.14]では、収束が指数関数的であることを示している。係数akおよびbkを数値的に計算する際、[21、§5]で説明しているようなガウス求積則を使用する。
ここで、あるB>0の場合の区間[-B/2、B/2]にわたるシグモイド関数の場合に限って説明する。[-π/2、π/2]にわたりg(x)=sigmo(Bx/π)を近似するように変数をリスケールすることができる。gを鏡映条件g(x)=g(π-x)で区間[π/2、3π/2]まで反周期性(奇数-偶数)によって拡張した場合、連続2π-周期区分C1関数を得る。ディリクレの大域的な定理によって、gのフーリエ級数が、
で一様に収束するので、すべてのε>0について、
であるような、次数Nおよび三角多項式gNが存在する。秘密分散型tにわたりsigmo(t)を計算するには、最初に、変数(MPCにおいて評価しやすい)のアフィン変化を適用して、対応するx∈[-π/2、π/2]を得て、次に、フーリエ数字マスキングデータを使用して三角多項式gN(x)を評価する。10項しかない多項式で24ビットの精度を得るには、この方法で十分であるが、漸進的に、収束率は、gの導関数における不連続性により、θ(n-2)だけである。言い換えれば、gをλビットの精度で近似するには、次数2λ/2の三角多項式を評価する必要がある。好都合にも、シグモイド関数の特殊な場合、区間全体[-π、π]で(半区間ではない)リスケール済みシグモイドに指数関数的に近い2π-周期の解析関数を明示的に構築することによって、この次数の多項式を計算することができる。それ以外にも、三角多項式の係数の幾何級数的減衰は、完全な数値的安定性を確実にする。以下の定理に、この構造をまとめる。
のσ(x)=1/(1+e-x)のシグモイド関数を考えてみる。σは、微分方程式σ’=σ-σ2を満たす。n回微分することによって、
を得る。(n+1)!で割ると、以下の式が得られる。
そこから、すべてのn≧に対する、またすべての
に対するそれを、帰納法によって導き出し、それがnで減少するので、すべての≧1に対し、
となる。
に、反周期性によって拡張される。このグラフは、α=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)において漸近的に減少するので、この方法は、指数関数的に都合の良い近似を得るのに好適ではない。
の不連続性が消え、そのフーリエ係数が幾何級数的にすぐに減少する、解析的な周期関数に指数関数的に近づく。この方法は、数値的に安定しており、多項式時間において任意の精度でシグモイドを評価することができる。
を考えることにする。幾何級数の総和により、gαは、
のうまく定義された無限に導出可能な2π-周期関数である。すべてのx∈(-π、π)について、差
が
によって境界付けされるので、
を選ぶことにより、この差を
より小さくすることができる。
であるので、すべてのp∈Nについて、
であるので、
である。これは、第nフーリエ係数cn(gα)が
であることを証明する。
では、この最小値に達し、|cn(gα)|=O(e-n/α)が得られる。
を選ぶことによって、gαのフーリエ級数の第N項が、gαの≦εの距離に、したがって
から≦εの距離にあることを証明する。この境界は、区間(-π、π)全体にわたってシグモイドの望ましい近似を生み出す三角多項式を積分することによって守られる(この定理からのgは、gaの原始関数である)。
これまでの節では、乗算、累乗、およびフーリエ数字マスキングデータのシェアを定義しているが、どのようにそれらを生成するかを説明していなかった。もちろん、全参加者(TDモデル)によって認められただ1つの信頼できるディーラが、必要なシェアのすべてを生成し、それを参加者に分配する可能性がある。信頼できるディーラがすべてのマスク、したがってすべてのデータを知っているので、TDモデルは、いくつかの計算外部委託シナリオに対してのみ合法的である。
以下では、オフライン段階中、各参加者とディーラとの間にプライベートチャネルが存在すると仮定する。HBCディーラの場合、また、追加のプライベート同報通信チャネル(ディーラがアクセスしないチャネル)が、全参加者間に存在すると想定する。後で、オンライン段階は、参加者間の公開同報通信チャネルのみ必要とする。実際には、根底にある暗号化のために、プライベートチャネル(例えば、SSL接続)は、公開チャネル(普通のTCP接続、通常、クラウドインスタンス間で100~1000MB/s)よりも情報処理量が低い(通常、
)。
本文献において提案しているHBCプロトコルの大半は、2人しか参加者がいないシナリオを提示する。[11]および[3]では、参加者が3人であるモデルにおいて高速MPC乗算を行うのに使用され得る効率的なHBCプロトコルについて説明されている。この2つの方式では、パーティが正しくプトロコルに従い、2人の参加者が結託しないことを前提とする。[11]で提案している方式は、3つよりも多いパーティ向けにスケールするには非常に複雑である一方、[3]におけるプロトコルは、一般的な参加者人数に及ぶことができるが、平方数のプライベートチャンネルを必要とする(参加者ペアごとに1つ)。参加者の人数nが何人であっても効率的であるHBCシナリオにおいて、乗法的数字マスキングデータを生成するための異なるプロトコルを提案する。本発明のシナリオでは、ディーラが、参加者によって作成されたマスク済みデータにわたって、数字マスキングデータ生成時において非線形部分を評価し、次に、マスク済みシェアを分散させる。マスクは、すべての参加者にとってありふれたものであり、参加者が共有するプライベート同報通信チャネルのおかげで作り出される。最後に、各参加者は、ディーラから受信した事前計算済みデータをアンマスクすることによって自分の数字マスキングデータを作り出す。
出力:シェア
、z=λμ
1:各参加者Piがai、bi、λi、μiを生成する(一致する分布から)。
2:各参加者Piが他の参加者全員とai、biを分け合う。
3:各参加者が、a=a1+・・・+an、およびb=b1+・・・+bnを計算する。
4:各参加者Piが、ai+λiおよびbi+μiをディーラに送信する。
5:ディーラが、a+λ、b+μ、およびw=(a+λ)(b+μ)を計算する。
6.ディーラが、
を作り出し、wiを、i=1、...、nである参加者Piに送信する。
7:参加者P1が、z1=w1-ab-aμ1-bλ1を計算する。
8:i=2、...、nである参加者Piが、zi=wi-aμi-bλiを計算する。
出力:シェア
。
1:各参加者Piが、λi、aiを生成する(一致する分布から)。
2:各参加者Piが、他の参加者全員とaiを分け合う。
3:各参加者が、a=a1+・・・+anを計算する。
4:各参加者Piが、
であるようなziを生成する。
5:各参加者Piが、zi+aλiをディーラに送信する。
6:ディーラが、μλおよびw=(μλ)-αを計算する。
7.ディーラが、
を作り出し、wiをi=1、...、nである参加者Piに送信する。
8:各参加者Piが、wiとμαとを右乗法して、(λ-α)iを得る。
出力:シェア
。
1:各参加者Piが、λi、aiを生成する(2πを法として一様に)。
2:各参加者Piが他の全参加者にaiを同報通信する。
3:各参加者が、a=a1+・・・+an mod 2πを計算する。
4:各参加者Piが、zi+aλi mod 2πをディーラに送信する。
5:ディーラが、λ+a mod 2π、および
を計算する。
6:ディーラが、
を作り出し、w(1)=、...、w(N)を参加者Piに送信する。
7:各参加者Piが、全j∈[1、N]について、各
を掛け、
を得る。
分類問題では、ここでは行列
によって表す、訓練セットとも呼ばれるデータセットと、訓練ベクトルy∈{0、1}Nが与えられる。データセットは、k特徴ごとのN入力ベクトルから成り、ベクトルyの座標yiは、データセットの第i元が属するクラス(0または1)に対応する。形式上、目標は、入力として、k特徴を含むベクトルxを取り、かつ対応する出力値であるyをかなりうまく予測するhθ(x)を出力する、関数
を確定することである。
、およびx0=1である、形式hθ(x)=sigmo(θTx)の仮定関数
を通常、使用する。モデルとも呼ばれるベクトルθは、確定される必要があるパラメータである。このため、データ点(x、y)におけるモデルの品質を測定する凸性費用関数Cx、y(θ)は、
と定義される。
として計算される。全体的な目標は、その費用関数ができる限り0に近いモデルθを確定することである。これを達成する一般的な方法は、Cx、y(θ)が費用関数の勾配であり、α>0が学習率と呼ばれる定数である、
θ:=θ-α▽Cx、y(θ)
としてモデルθを絶えず更新することから成るいわゆる勾配降下である。最適なαを選ぶことは、データセットの品質に大きく左右され、αが大きすぎる場合、この方法が逸れる可能性があり、αが小さすぎる場合、最小値に達するのに膨大な反復回数が必要になる。残念ながら、このパラメータをチューニングするのには、データに関する情報を明かすか、または、プライベートMPC計算では必ずしも実現可能ではない、公開虚偽訓練セットにアクセスすることが必要になる。このステップは、本文献では黙って無視されることが多い。同様に、特徴スケーリングなどの前処理技法、または直交化技法は、データセットを改善することができ、学習率を大幅に上げることを可能にする。しかしまた、入力データが分散される場合、また相関情報を内密にしておかなくてはいけない場合、これらの技法を簡単に実施することはできない。
θ:=θ-H(θ)-1・Cx、y(θ)、
式中、H(θ)は、ヘッセ行列である。
C++においてロジスティック回帰法のMPC概念実証を実施した。128ビット浮動小数点数でC(B、p)クラスにおける数を表し、マスキングセキュリティパラメータをτ=40ビットに設定した。128ビット数が113ビットの精度を備え、乗算方法が2τ=80ビットのマスキングを必要とすることから、計算全体を通して自由に使える33ビットの精度がまだ保たれる。本発明のベンチマークが普通のx86_64CPU上で行われることから、128-ビット浮動小数点演算がGCCのquadmathライブラリを使用してエミュレートされるが、この演算をネイティブサポートするつい最近のハードウェア(例えば、IBMの次世代POWER9プロセッサ)において、さらなるスピードアップがもたらされる可能性がある。本発明の概念実証では、主たる焦点は、オンライン段階の実行時間、浮動小数点精度、および通信複雑度を改善することにあったので、信頼できるディーラシナリオの場合のみオフライン段階を実施し、honest but curiousディーラの異型は、今後の研究として残しておいた。
モデル訓練メソッド:Train(X、y)
入力:データセット
、および訓練ベクトル y∈{0、1}N
出力:CostX、y(θ)を最小化する、モデル
1:
、i∈[0、N-1]
2:θ←[0、...、0]∈RK
3:for iter=1 to IRLS_ITERS do//In practice IRLS_ITERS=8
4:a←X・θ
5:p←[sigmo(a0)、...、sigmo(aN-1)]
6:pmp←[p0(1-p0)、...、pN-1(1-pN-1)]
7:grad←XT(p-y)
8:H←pmp・Prods
9:θ-H-1・grad
10:end for
11:returnθ
Xeon E5-2666 v3プロセッサを備えるAWSプラットフォームおよびAzureプラットフォームの両方でクラウドインスタンスを使用して、説明した方法のすべてを実施し、2つのパーティと3つのパーティを対象に本発明のコードをテストした。本出願では、各インスタンスは、その公開IPアドレスを介して通信する。また、zeroMQライブラリを使用して、参加者間の低レベル通信を処理する(ピアツーピア、同報通信、中央節など...)。
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.
1 概要
多項式スプラインおよびフーリエスプラインは、機械学習において様々な関数を近似するのに役立つ多項式級数またはフーリエ級数によって定義される区分関数(三角関数)である。
まず、様々な最適化とともに紛失通信の場合の基本的なガーブル化回路プロトコルを思い出してみる。論理合成技法が回路を最適化するのに使用され、以下に詳しく述べられる。次に、加法的秘密シェアをカーブル化回路秘密シェアに変換し、確認を行ってから加法的秘密シェアに戻す標準技法を説明する。
一般的なガーブル化回路では、(公開)関数が、ANDゲートおよびXORゲートから成るブール回路として記述される。Yaoの「Protocols for Secure Computations」,IEEE,1982によって説明されているプロトコルの基本版は、3つの段階:1)ガーブル化段階、2)通信段階、3)評価段階、から成る。ここで、それぞれ個々の段階の説明を思い出してみる。
各論理ゲート(ANDまたはXOR)は、2つの入力線(通常、aとbとで示される)および1つの出力線(通常、cで示される)を有する。W∈{a、b、c}で、ガーブラは、2つの可能な値に対応する、ラベル
({0、1}Kにおける)を選ぶ。図8は、真理値表例と対応する暗号化真理値表(暗号化表)を示す。各行を使用して、対応する入力線には2つのキーを使用して、出力線に対応するラベルを対称的に暗号化する。次に、ガーブラは、暗号化表の行を無作為に並べ替えて、評価器に送られる(ゲートごとに)カーブル化表を得る。
それにより、ガーブラと評価器が、それぞれ、
とで示されるそれらのプライベートな入力ビットを持つ。ここで、各ビットuiまたはviは、他のパーティに明かされてはならない{0.1}におけるプライベートな値を持つ。
を送るだけ)。評価器は、これらのビットの内密な値をガーブラに明かすことなく、その対応するラベル
を得る必要がある。これは、1-out-of-2型紛失通信-評価器が、b∈{0、1}が対応する値である、
を各
で求めることを経て行われる。OTにより、ガーブラがbについて何も覚えず、評価器が
について何も覚えないことが約束される。
評価段階では、受信した自分のキー
(OTを介して)およびガーブラのキー
を有する評価器は、続いてブール回路を評価し始める。所与のゲートで、評価器が入力線KaおよびKb用のラベルをすでに確定しているとの前提で、評価器は、出力線用のラベルであるKcの復号がうまく行くまで、対応するガーブル化表への登録事項をKaKbで復号しようとする。
2.2.1 Point-and-permute
評価器は、4行すべてではなくガーブル化表の1行を簡単に復号することができる。これは、無作為選択のビットに基づき、その表をソートすることに起因する。詳しくは[8]を参照のこと。
この最適化は、XORゲートではなく、ANDゲートの個数のみによって決まる、データ転送量、ならびに暗号化および復号の回数をもたらす。この技法は、[7]で紹介されている。
を+x.R mod Bに取り替えるだけでよい。
この方法により、より費用が嵩む暗号学的ハッシュ関数の代わりに固定キーAESを使用することによってANDゲートをガーブル化し、評価することが可能になる[2]。より正確に言えば、
である、
が、ゲート(ゲート数)ごとの公開微調整である。
この最適化は、4行から3行にガーブル化表のサイズを縮小する。出力線のラベルが、入力ラベルの関数として生成される。ガーブル化表の1行目は、それが完全に0から成り、かつ送られる必要がないように生成される。詳しくは[9]を参照のこと。
半ゲート法は、3行から2行への行の還元後にガーブル化表のサイズを縮小する。この最適化は、ANDゲートに当てはまる。
順序回路は、従来のゲート、グローバルクロック、およびシフトレジスタを備える回路である。線における論理値は、一定ではなく、クロックチック間でバラツキがあり、それらを一連の値として表すことができる。クロックおよびシフトレジスタが何の秘密も伴わないので、MPC回路およびFHE回路は、それらをネイティブに扱うことができる。
直観的に言えば、P1(評価器)が、関数(ブール回路として表される)の出力のビット用のラベルを復号した後、P1がガ-ブラ(P0)と結託していれば、P1は、その出力を計算することができる。まだ、P0とP1とが結託していなければ、それらのどれも、その出力について何も知ることがなく、まだ出力が秘密分散されている。
が最下位ビット1を有するバイナリ列であると想定する。この場合、所与の線wに対応するキーは、
であり、線w用の順列ビットは、
の最下位ビットである。
となる。
分散プロトコルは、以下のように記述される:
:ここで、P0(ガ-ブラ)は、秘密ビットxを持っている。P0は、無作為な秘密
を生成し、
をP1に送信する。
:ここで、P1(評価器)は、秘密ビットxを持っている。秘密分散を行う際、プロトコルは、相関OTを使用することができる[1]。P0(送信側)は、(相関)関数
を入力し、
を受信する。P1(受信側)は、
を気付かずに受信する。
加法的秘密分散とGC分散との間の基本的な変換法を思い出してみる。[4、§III-IV]に詳細がまとめられている。
がその群、すなわち
の中で加法的に秘密分散されると仮定する。この変換は、標準的であり、ブール加算回路をセキュアに評価することによって行われ得る(詳しくは[6]を参照)。次に、GC秘密シェアが、
と定義され、ここで、
である。
がGC秘密分散型値と想定する。加法的秘密シェアに次のように移行することができ、ガーブラが無作為なγを生成し、GCがそれを秘密分散し、すなわち、Share0(γ)を計算する。それにより、2つのパーティが
を計算することができる。つぎに、P1がdを再構成し、この算術式シェアが
と定義される。その際、再構築プロトコル
を呼び出す必要がある。
信頼できるディーラ(TD:Trusted Dealer)が、ガーブラであり(すなわち、ガーブラも、秘密分散に向けて数字マスキングデータを生成する)、計算パーティが評価器である、信頼できるディーラモデルを導入する。
ここで、どのように非有界シグモイドを高精度で評価するかを示す。
シグモイド関数
を考え、固定有界区間[-B、B](例えば、[-10、10])におけるフーリエ級数によってこの関数の十分に良い近似を有すると仮定する。まだ、フーリエ級数は、この区間の補集合においてこの関数を近似する必要はない。実際には、フーリエ級数は、この区間の外側に発散し、それにより、[-B、B]の外側のxに対するσ(x)の数値精度における大きな低下をもたらすように見られる。
、
を評価することを望む。
どのように加法的秘密シェアからGC秘密シェアに変換するかが分かっているので、2つの比較をすでにガーブル化し、評価することができる。これを行う際、それぞれnビットの2つの数を比較するのに陽的ブール回路を必要とする。
図10は、以下のように、比較回路例を示す:
入力:評価器に知られているx(場合によっては、ガーブラだけに知られている色でマスクされている)
入力λ:ガーブラに知られているλ
出力:x<λ(場合によっては、ガーブラだけに知られている色でマスクされている)
図示の回路では、半ゲート技法から恩恵を受ける可能性があることが分かる。
図11は、以下のように、秘密加算回路例を示す:
入力:評価器に知られているx(場合によっては、ガーブラだけに知られている色でマスクされている)、入力λ:ガーブラに知られているλ
出力:x+λ(場合によっては、ガーブラだけに知られている色でマスクされている)
この場合もまた、半ゲート技法から恩恵を受ける可能性があることが分かる。
ガーブル化回路をマスキング技法と組み合わせていることから、別の見方ができる。普通のカーブル化回路では、各線には、2つの可能な論理状態があり(それらの真理値は0、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)に対してマスクνを生成している。UFが、この図を可換性にするような、明かされた値aおよびbに働く関数Gを探すことにする。
UF(a、b)=(a-λ)×(b-μ)+νであると難なく判断する。(1)
これから分かるように、この関数は、ガーブラ(マスクλ、μ、およびνを知っている唯一のパーティである)だけに知られている。したがって、それは、秘密関数と考えられ得る。
考えられるマスク済み値a=maskλ(x)ごとに、Xaを与えると、誰もが簡単にaを引き出すことができるが、aを与えると、評価器がXaを確定することができないような、ラベルXaを定義する。
図13は、n個の文字を処理する状態機械の概略図を示す。状態機械は、以下のように記述され得る:
●反復のたびに、状態機械は、状態
を呈する。領域Qiは、公開されているが、qiは、普通は内密にされる(ガーブラにも評価器にも知られていない、ということを意味する)。ここで、q0は、初期状態であり、評価したいと思う関数に応じて、公開されているかまたは内密であるかのいずれかであり得る。
●反復のたびに、状態機械は、アルファベットΣiから文字αiを読み取る。アルファベットΣiは、公開されており、反復のたびに異なる可能性がある。本発明のモデルでは、文字は、評価器には知られているが、ガーブラには知られていない。
●各反復間で、状態が、決定論的な遷移関数
によって結び付けられる。図12の図によってTiに関連付けられた関数
は、ガーブラ(qi-1のマスキング値λi-1およびαiのマスキング値μiを知っている唯一の者である)だけに知られている。まだ、この関数の定義域は、公開されている(例えば、関数Uiは、(1)における関数である可能性がある)。
各状態Qiに対し、ガーブラは、Qiの置換と考えられる、すなわち、maskλi:Qi→Ri(ここで、Riは、明かされた値を表す)である、maskλiを選ぶ。ここで、Ri=(γi、1、...、γi、j、...)が得られ、ガーブラを除き、値γi、jは、状態qi、j=unmaskλi(γi、j)について何も明かさない。
に対してマスキング値maski、jを選び出すが、この時、順番に対して何のプライバシ要件もない(インデックスjは、この文字を公に明かすことができるか、または文字と等しいものでさえあり得る)。
に対し、ガーブラは、
暗号文一覧から成る遷移関数
を暗号化する。より正確に言えば、ガーブラは、Qi-1に対するマスクmaskλ-1およびΣiに対するマスクmaskλ-1、ならびにプライベート関数
を使用して、5.1.3節に見られるように定義されたガーブル化表Tiを計算する。
評価器は、n個の文字αiに対するラベルyi、および初期状態の初期ラベルx0を受信している(OTを介して、またはマスキングを介して)(それにより、評価器は、その色j0を推定する)。i=1~nに対し、評価器は、
を復号し、次のラベルjiを推定する。
ここで、オートマトンの視点が役立つ可能性があり、より一般的なオートマトンを考えると、実際にいくつかのプロトコルのスピードアップを促進する、いくつかの例を示すことにする。
加法的に分散された128-ビット数xの符号を計算する必要があると仮定する。ガーブラが、maskλを選ぶ(オンライン段階中、a=x+λが明かされるようになる)。question x≦0が、a≦λに等価であるので、ガーブラは、以下のように、「ラムダに匹敵する」オートマトンを符号化する:
aおよびλのi最下位ビットの比較の結果を、qiで表す。(略式に、(a mod 2i)≦(λ mod 2i))。定義として、
●初期状態:q0:=1
●遷移:ai=λiであれば、qi:=qi-1、さもなければλi
●出力:q128は、a≦λに対する答えである。
●すべてのiに対して
。
●ガーブル化段階:128×2×2=512暗号化、128×3=384暗号文(行の還元)
●評価段階:128×1復号
オートマトン手法は、すべての知られている最適化(半ゲート、point-and-permute)を含むように見える。
これは、基底4において比較を行うことを除いて、上記の基底2比較オートマトンと同じである。状態Qiは、まだブールの意味を有するが、アルファベットΣi=0、1、2、3である。また、aとλとのi最下位ビットの比較の結果をqiで表示する。(略式に、(a mod 2i)≦(λ mod 2i))。定義として、
●q0:=1
●ai=λiであれば、qi:=qi-1、さもなければ(ai≦λi)
●q64は、a≦λに対する答えである。
●すべてのiに対して
。
●ガーブル化段階:64×4×2=512暗号化、64×7=448暗号文(行の還元)
●評価段階:64×1復号
基底-4オートマトンは、すべての知られている最適化(半ゲート、point-and-permute)を備える従来のガーブル化回路よりずっと良い。
入力として、整数(a0、...、an)が、リトルエンディアン順序の0~9までの数字である(例えば、基底Bにおける)、a(公開されたまたはマスクされた)を取る。λがガーブラだけに知られているa+λを計算したいと思う。この場合、オートマトンを使用して、キャリービットを計算し、古典的なfree-xor技法を使用して、そのキャリービットと入力とのxorをとり、最終結果を得ることになる。
●q0:=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.
0 概要
プライバシ保護プログラムをコンパイルするための方法を開示し、このプログラムでは、ドメイン特化プログラミング言語(DSL:Domain-Specific programming Language)により、データアナリストが、その入力データがいくつかのプライベートなデータソースに格納されるプライバシ保護計算の際、コードを書き込むことができる。プライバシ保護計算それ自体は、「高精度プライバシ保護実数値関数評価」の見出しで上記I節に開示されている方法を使用して行われ得る。
一実施形態において、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;
}
イミュータブルは、オフライン実行時のある時点における、スコープド変数のある特定の出現に対応する。各イミュータブルは、大域的な連続するインデックスを得る。したがって、専用コンパイラは、スコープド変数をイミュータブルに解決する。
オフライン評価の最中の命令の各実行で、大域的な連続するインデックスである命令インデックスが得られる。for loopおよび関数呼び出しの場合には、構文的な命令が、複数のオフラインインデックスを有することがある。ほとんどのオフラインインデックスは、条件付きジャンプが起こり得るif-then-elseまたはfor loopsを除き、オンライン段階中に連続して実行される。
変数のスコープは、変数が定義される命令のオフライン評価の持続期間である。各変数は、それがオフライン評価中に現れるのに従って、大域的な一意の連続するインデックス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*/
}
擬似コードでは、各変数を使用する前に宣言しておく必要があり、ユーザは、例えば、変数が、行列、ベクトル、または数を含むように意図されている場合、(部分的な)型情報を指定することの選択肢を有する。ユーザによって提供された情報に基づき、コンパイラは、統計電卓として知られている構成要素を使用して完全な型推定を行う。関数実引数、またはそれらの代入による即値宣言では、ユーザは、var型またはauto型しか提供することができず、これは、コンパイラが完全な推定を行うようになることを意味する。これに加え、コンパイラは、推定した型を使用して、関数または演算子を固有分解能にする必要がある。例えば、以下のコード片を持っていると仮定する:
/*a、b have been defined previously,c is declared and it’s type is deduced*/
auto c=a+b;
...
一実施形態において、MPCプログラムをコンパイルすることができるようにするためには、各ブロックが実行される最高回数を分かるしかない(この情報は、オフライン段階に必要とされる)。したがって、各ブロックステートメントは、指定のblockIdを持つことができる。
MPCにおいて、以下のような関数を持っていると仮定する;
def foo(){
/*function code*/
<MPCType x;
}
ここでの課題は、コンパイル時に、何回関数が呼び出されるかが正確に分からず、それにより、何回値xをマスクしなければならないか(言い換えれば、何種類のイミュータブルがxに対応しなければならないか)がはっきり分からないことである。すべてが明らかになって初めて、コンパイラは、コンパイル時にスタックオーバーフローを検出することができるようになる。一実施形態において、コンパイラが関数呼び出し最高回数を確定することができ、またコンパイラが関数を明らかにすることができるという制約の下、関数および関数呼び出しがサポートされる。
一実施形態において、各イミュータブルは、大域的な連続するインデックス-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にすべてが対応するイミュータブルである。
一般的な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;
}
●条件が、コンパイラに知られている即値ブールであり、この場合、コンパイラが、計算済みブール値に応じて、thenブロック、またはelseブロックを生成する。
●条件は、コンパイル時には知られていないデータによって決まってくる。この場合、コンパイラは、thenブロックおよびelseブロックの両方用のコードを生成し、両ブロック間でイミュータブルインデックスを同期させる。オンライン段階中、ブール条件値が公に明かされ、実行がthenに飛ぶか、またはelseが始まる。コンパイラは、その条件のブール値のみを明かし、このブールを計算するための中間ステップは明かさず、例えば、この条件がy<3であれば、プライバシ保護様式で、比較が評価される(yは秘密のまま)。yの値が理に適っていない場合、ユーザは、yの値を公に明かした後、公開比較を行うreveal(y)<3を書き込むことによって、成果を挙げることができる。
boolean weirdos(auto&x){
x=x+1;
return true;
}
...
if(weirdos(x)){
/*instructions*/
}
一実施形態において、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構造の場合と全く同じように、ここでも、何回ループしたかに従って、変数を同期させる必要がある。
図14は、一実施形態によるコンパイルを行うための方法を示す。コンパイルプロセスを行うためには、コンパイラが、まず、DSLコードを、様々な種類の確認を行い、変数をイミュータブルに置き換えるとともに、bounded for loop、public if-then-else、関数、および関数呼び出しを解決する、即値表現に変換する。2つの即値表現:即値表現1(IR1)と即値表現2(IR2)がある。抽象構文木(AST)は、意味解析および型確認の第1の段階を行うことによってIR1に変換されるが、まだ、この段階では、イミュータブルに解決される変数はない。ここで、部分的な型が確定されるが、完全な型は、まだ実証されない(統計的型パラメータは、この段階ではまだ計算されない)。次に、変数をイミュータブルに取り替え、for loopを公開して同期させ、if-then-else文を同期させ、関数呼び出しを公開し、そして最も重要なことには、統計的型パラメータを計算することにより完全な型を確定することによって、表現IR1がIR2に変換される。後者は、ユーザ入力パラメータおよび/またはコンパイラの統計電卓によって成し遂げられる。
DSL文法は、文(これは、ブロック、if-then-else、bounded for、関数本体、代入などを含む)および式を含むようになる。文とは違って、式は、評価され得る。式は、特殊な式である算術式を含む。
中間表現1(IR1)は、DSLの部分的な意味解析の結果である中間言語である。考え方としては、意味解析が二段階で行われ、1つは、変数導出および型パラメータ計算の前の段階(意味段階1、すなわちSP1)であり、もう1つは、変数がイミュータブルに取り替えられ、完全な型が、型パラメータを推定することによって決定される段階(意味段階2、すなわちSP2)である。二段階に分ける一番の理由は、IR1(SP1の結果)が、直列化可能になり、したがって、IR1においてプリコンパイル済みライブラリを定義することができる点である。IR2以外は、入力データの統計値によって決まってくるので、予めコンパイルすることができない(したがって、これが、意味解析をSP1とSP2とに分ける理由である)。
●一連の標準演算子が式に取って代わる:
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(IR2)は、最終コンパイル済みプログラムで、ほとんど全単射で、コンパイルされ、公開されたプログラムである。この表現では、すべてのloopおよび関数呼び出しが公開され、即値定数が実行全体にわたって伝播され、すべての変数が、その型が完全修飾されているイミュータブルとして完全に解決される。同じことが、三つ組およびマスキングデータにも言える。結果として、関数定義節はもうなくなり、すべての関数呼び出しが単一のツリーとして展開される(関数呼び出しは、もう葉ではなく、内部節である)。ユーザに報告する考えられるエラー:
●再帰エラーが検出され、このステップにおいて報告される(スタックオーバーフロー)
●型エラー(または、関連パラメータを見付けることが不可能)。
プライバシ保護計算プロトコルのオフライン段階で使用される補助数字マスキングデータ(三つ組)の観点から、この表現は、以下を含む:
●補助データの大域インデックス
●完全修飾MPC型。
以下を含むイミュータブルも完全修飾される:
●イミュータブルの大域インデックス
●完全修飾MPC型(統計的型パラメータを含む)。
一実施形態において、コンパイル方法には、以下の段階がある:
●字句解析
●意味解析/パーシング=>AST生成
●意味解析段階1(SP1)AST=>IR1
●意味解析段階2(SP2)IR1=>IR2
これらの段階のそれぞれについて、以下に詳しく説明する。
これらの段階は、ごく標準的なものであり、使用されているプライバシ保護方法とは無関係である。字句アナライザは、ソースコードを走査し、語彙素(トークン)を生み出す。次に、このトークンが、DSL文法用の規則の正確な記述を使用して、抽象構文木(AST)を作り出すようにパーサに渡される。トークンの範疇には、例えば、識別子、キーワード、リテラル、演算子、区切り文字を含めることができる。
この意味解析段階は、プライバシ保護計算方法に極めて特有である。
SP1用の主要方法では、グラフAST上で深さ優先探索(DFS:Depth-First-Search)を行なう。この考え方としては、ASTを走査するDFSによって、AST-IR1節を確定し、これらの節のそれぞれに対し、ノードコンテキスト(この定義については次節を参照)をポピュレートできる、ということである。この手法により、未宣言変数または互換性のない部分的な型を検出することができるか、またはnon-void関数が互換性のない型を戻すか否かを検出することができる。
DFS走査法の最中、単調化算術式も必要になる(後者は、DSL文法の意味に取られる)。例えば:
res=u+foo(v*w);
以下へ解決する必要がある
tmp1=v*w;
tmp2=foo(tmp1);
res=u+tmp2;
スロットの利点としては、すべての補助変数に対し識別子を導入する必要がなく、むしろ、該当するスロットに単調化式の根を挿入するだけで済む点である、ということに留意されたい。したがって、入力として算術式(ASTの節としての)を取り、スロット形式において単調化式を出力する、再帰的手続きを考察する。
このシンボル表は、単に一時的なものであり、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を走査するのに使用される深さ優先探索法のせいで)。
この意味解析段階は、プライバシ保護計算方法に極めて特有である。
この方法でこれまでに使用されているイミュータブルのすべてのその時のインデックスを保ち、この意味段階を2回通過する。
1回目の通過(AST深さ優先探索)
●即値の伝播
●関数の公開
●bounded for文の公開
●public if-then-else文の公開
●変数をイミュータブルで解決する(if-then-else、bounded for およびreturnの文を同期させる)
2回目の通過
● 統計電卓を作動させ、イミュータブルの完全な型を確定する
解決済み文は、関数呼び出しが解決され(ブロックに取って代わられる)、変数が、イミュータブルに取って代わられ、変数連結がポピュレートされている(変数からイミュータブルへの写像、またその逆の写像)文である。解決済み文は、ツリー形式である可能性があるが、最終コンパイル済みプログラムは、一連の命令にすぎない。
さらに、型が確認され、型パラメータが、統計電卓と呼ばれる、コンパイラの特殊な構成要素によって計算された。この構成要素の主機能は、すべての命令を連続して受け、その命令に対する入力変数の型パラメータが設定されているとの前提で、出力変数に対する型パラメータを計算することである。仮想マシンの命令が、陽数学関数に対応しているので、コンパイラは、出力の統計分布を計算することができ、それにより、完全な型を推定することができる(それらがユーザによって規定されていない限り)。
以下は、本節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において、命令を経て、型パラメータを推定するコンパイラ構成要素
本明細書に開示されている実施形態の構成要素は、方法、プロセス、アプリケーション、プログラム、モジュール、エンジン、機能などと呼ばれる場合があり、非一時的コンピュータ可読媒体に命令として具体化された専用ソフトウェアを使用して、1つ以上のコンピュータまたはコンピュータシステムを構成することによって実装され得る。1つ以上のコンピュータまたはコンピュータシステムは、ネットワーク化コンピュータシステムとしての有線ネットワークおよび/または無線ネットワークを通して、必要に応じてネットワーク化され得る、スタンドアローンコンピュータ、クライアントコンピュータおよび/またはサーバコンピュータとすることができるか、またはそれらを含むことができる。
特定の実施形態に関して本発明の対象を説明したが、当業者には、本明細書に示されている様々な特徴および利点を提供することもしないこともある実施形態を含む他の実施形態が、上記の開示に照らして見えてくるであろう。上記の具体的な実施形態は、単に例として開示され、本特許の主題の範囲は、以下の特許請求の範囲によって規定される。
Claims (29)
- 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(a)複数の確定済みフーリエ級数から、前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに基づき、選択されたフーリエ級数を使用して連続関数の値を近似することであって、前記複数の確定済みフーリエ級数の各々が、前記連続関数の定義域の対応する部分区間に対して前記連続関数を近似するように構成されている、近似すること、
(b)計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小であって、前記変換は、少なくとも、
前記複数のパーティコンピューティングシステムの各パーティコンピューティングシステムが、
所定の切り捨て位置を越える秘密シェアの最上位桁集合を選択し、
前記切り捨て位置までに、前記秘密シェアの最下位桁集合を保持し、
前記複数のパーティコンピューティングシステムにわたって、選択した最上位桁集合で表される値の和を確定し、かつ
前記複数のパーティコンピューティングシステムの前記秘密シェアの保持した最下位桁集合にわたって、確定した和を分配することによって、行われる、秘密シェア縮小、および
(c)前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに対して、フーリエ級数評価の秘密シェアを確定することであって、少なくとも、
前記入力データセット、または計算済み秘密分散型データの前記別のインスタンスの秘密シェアを、数字マスキングデータ成分の前記秘密シェアでマスクし、
マスク済み秘密シェアに相当する値を確定して、明かし、
前記マスク済み秘密シェアに相当する確定値に基づき、フーリエ級数基底評価の値を計算し、かつ
前記フーリエ級数基底関数の計算値、および数字マスキングデータ成分の前記秘密シェアに基づき、前記フーリエ級数評価の前記秘密シェアを計算すること、によって行われる、確定すること、を含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(a)複数の確定済みフーリエ級数から、前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに基づき、選択されたフーリエ級数を使用して連続関数の値を近似することであって、前記複数の確定済みフーリエ級数の各々が、前記連続関数の定義域の対応する部分区間に対して前記連続関数を近似するように構成されている、近似すること、
(b)計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小であって、前記変換は、少なくとも、
前記複数のパーティコンピューティングシステムの各パーティコンピューティングシステムが、
所定の切り捨て位置を越える秘密シェアの最上位桁集合を選択し、
前記切り捨て位置までに、前記秘密シェアの最下位桁集合を保持し、
前記複数のパーティコンピューティングシステムにわたって、選択した最上位桁集合で表される値の和を確定し、かつ
前記複数のパーティコンピューティングシステムの前記秘密シェアの保持した最下位桁集合にわたって、確定した和を分配することによって、行われる、秘密シェア縮小を含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(a)複数の確定済みフーリエ級数から、前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに基づき、選択されたフーリエ級数を使用して連続関数の値を近似することであって、前記複数の確定済みフーリエ級数の各々が、前記連続関数の定義域の対応する部分区間に対して前記連続関数を近似するように構成されている、近似すること、を含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 前記連続関数の定義域の一部分を複数の部分区間に分割することと、
前記複数の部分区間の部分区間ごとに、
前記部分区間において前記関数のフーリエ級数近似値を確定することと、をさらに含む、請求項3に記載の方法。 - 前記マルチパーティ計算が、ガーブル化回路および紛失選択のうちの少なくとも1つを使用して、対応する部分区間を選択することをさらに含む、請求項3に記載の方法。
- 前記近似値が、前記連続関数の一様近似値である、請求項3に記載の方法。
- 前記連続関数が、機械学習活性化関数である、請求項3に記載の方法。
- 前記機械学習活性化関数が、シグモイド関数である、請求項7に記載の方法。
- 前記機械学習活性化関数が、双曲線正接関数である、請求項7に記載の方法。
- 前記機械学習活性化関数が、ニューラルネットワーク向けの整流器活性化関数である、請求項7に記載の方法。
- 前記連続関数が、前記シグモイド関数である、請求項3に記載の方法。
- 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(b)計算され、浮動小数点表示で格納された秘密分散型データのインスタンスを、計算済み秘密分散型データの同等な、同等に正確で、かつ同等にセキュアなインスタンスに変換する秘密シェア縮小であって、前記変換は、少なくとも、
前記複数のパーティコンピューティングシステムの各パーティコンピューティングシステムが、
所定の切り捨て位置を越える秘密シェアの最上位桁集合を選択し、
前記切り捨て位置までに、前記秘密シェアの最下位桁集合を保持し、
前記複数のパーティコンピューティングシステムにわたって、選択した最上位桁集合で表される値の和を確定し、かつ
前記複数のパーティコンピューティングシステムの前記秘密シェアの保持した最下位桁集合にわたって、確定した和を分配することによって、行われる、秘密シェア縮小を含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 前記複数のパーティコンピューティングシステムにわたって前記選択した最上位桁集合に相当する値の和を確定することが、
前記和がゼロになる数字マスキングデータ成分セットを確定することと、
前記パーティコンピューティングシステムの各々に、確定済みセットの1つの項を分配することと、
各パーティコンピューティングシステムが、前記確定済みセットのそれぞれの項を受信することと、
各パーティコンピューティングシステムが、受信した項を、その秘密シェアのその選択した最上位桁集合に加え、マスク済み最上位桁集合を得ることと、
前記マスク済み最上位集合を合計することと、を含む、請求項12に記載の方法。 - 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(c)前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに対して、フーリエ級数評価の秘密シェアを確定することであって、少なくとも、
前記入力データセット、または計算済み秘密分散型データの前記別のインスタンスの秘密シェアを、数字マスキングデータ成分の前記秘密シェアでマスクし、
マスク済み秘密シェアに相当する値を確定して、明かし、
前記マスク済み秘密シェアに相当する確定値に基づき、フーリエ級数基底評価の値を計算し、かつ
前記フーリエ級数基底関数の計算値、および数字マスキングデータ成分の前記秘密シェアに基づき、前記フーリエ級数評価の前記秘密シェアを計算すること、によって行われる、確定することを含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 前記結果が、ロジスティック回帰分類モデルの係数集合である、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 前記方法が、ロジスティック回帰分類器を実装し、前記結果が、前記入力データに基づく前記ロジスティック回帰分類器の予測である、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 前記ディーラコンピューティングシステムが、信頼できるディーラコンピューティングシステムであり、前記パーティコンピューティングシステム間の通信が、前記信頼できるディーラコンピューティングシステムにはアクセス不能である、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 前記ディーラコンピューティングシステムが、honest-but-curiousディーラコンピューティングシステムであり、前記パーティコンピューティングシステム間の通信が前記honest-but-curiousディーラコンピューティングシステムによってアクセスされ得るか否かに関わらず、前記パーティコンピューティングシステムのうちの1つ以上によって与えられた秘密分散型入力データのプライバシが保護される、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 少なくとも1つの入力データセットに対し、前記入力データセットにおいて統計解析を行って、入力データセット統計値を確定することと、
前記入力データセット統計値を使用して、ソースコード命令セットの事前実行を行い、
1つ以上の変数型の各々に対して統計的型パラメータを生成することと、
統計的型パラメータ集合に基づいて、前記ソースコード命令セットをコンパイルして、前記プログラム命令セットを生成することと、をさらに含む、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。 - 前記事前実行が、
反復回数が確定可能である前記ソースコード命令セットにおいてloopを公開することと、
前記ソースコード命令セットにおいて関数呼び出しを公開することと、に続いて行われる、請求項18に記載の方法。 - 少なくとも1つの関連数字マスキングデータ成分セットが、3つの成分から成り、前記3つの成分が、前記成分のうちの1つが前記成分のうちの残りの2つの乗算積に等しいという関係性を有する、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 少なくとも1つの関連数字マスキングデータ成分セットが、数字と、前記数字に対して評価されたフーリエ基底関数の1つ以上の対応値集合と、を含む、請求項1、2,3、12、14、及び24のいずれか1項に記載の方法。
- 個々のパーティによって与えられた入力データのプライバシを保護しながら、セキュアマルチパーティ計算を行って、結果を出すための方法であって、前記方法が、
ディーラコンピューティングシステムが、複数の関連数字マスキングデータ成分セットを作り出すことであって、関連数字マスキングデータ成分セットごとに、前記セットの各成分が、スカラ、ベクトル、および行列のうちの1つである、作り出すことと、
前記ディーラコンピューティングシステムが、複数のパーティコンピューティングシステム間で、前記複数の関連数字マスキングデータ成分セットの各セットの各成分を秘密分散させることと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、
前記ディーラコンピューティングシステムから、前記複数の数字マスキングデータ成分セットの各セットの各成分のそれぞれの秘密シェアを受信し、少なくとも1つの入力データセットに対し、前記入力データセットの秘密シェアを受信することと、
前記パーティコンピューティングシステムに、1つ以上のマルチパーティ計算を行わせて、計算済み秘密分散型データの1つ以上のインスタンスを作り出させる、プログラム命令セットを実行することであって、インスタンスごとに、各パーティコンピューティングシステムが、入力データセットの少なくとも1つの秘密シェアか、または計算済み秘密分散型データの別のインスタンスの少なくとも1つの秘密シェアに基づき、前記インスタンスの秘密シェアを計算し、数字マスキングデータ成分の受信した秘密シェアが、前記計算中に伝えられたデータをマスクするのに使用され、前記計算が、
(a)複数の確定済みフーリエ級数から、前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに基づき、選択されたフーリエ級数を使用して連続関数の値を近似することであって、前記複数の確定済みフーリエ級数の各々が、前記連続関数の定義域の対応する部分区間に対して前記連続関数を近似するように構成されている、近似すること、
(c)前記入力データセットか、または計算済み秘密分散型データの前記別のインスタンスに対して、フーリエ級数評価の秘密シェアを確定することであって、少なくとも、
前記入力データセット、または計算済み秘密分散型データの前記別のインスタンスの秘密シェアを、数字マスキングデータ成分の前記秘密シェアでマスクし、
マスク済み秘密シェアに相当する値を確定して、明かし、
前記マスク済み秘密シェアに相当する確定値に基づき、フーリエ級数基底評価の値を計算し、かつ
前記フーリエ級数基底関数の計算値、および数字マスキングデータ成分の前記秘密シェアに基づき、前記フーリエ級数評価の前記秘密シェアを計算すること、によって行われる、確定することを含む、実行することと、
前記複数のパーティコンピューティングシステムのパーティコンピューティングシステムごとに、前記パーティコンピューティングシステムが、前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムに、計算済み秘密分散型データのインスタンスの秘密シェアを送信することと、
前記複数のパーティコンピューティングシステムの少なくとも1つのパーティコンピューティングシステムでは、前記パーティコンピューティングシステムが、
前記複数のパーティコンピューティングシステムのうちの1つ以上の他のシステムから、計算済み秘密分散型データのインスタンスの1つ以上の秘密シェアを受信し、かつ
計算済み秘密分散型データの前記インスタンスの前記受信した秘密シェアを結合して、前記結果を出すことと、を含む、方法。 - 前記結果が、前記結果の平文計算に関して所定の精度を有する、請求項1~24のいずれか一項に記載の方法。
- 前記複数のパーティコンピューティングシステムのうちの少なくとも1つが、前記複数のパーティコンピューティングシステム間で、それぞれの入力データセットを秘密分散させることをさらに含む、請求項1~24のいずれか一項に記載の方法。
- 複数のコンピューティングシステムを備えるシステムであって、前記複数のコンピューティングシステムが、請求項1~24のいずれか一項に記載の方法を行うシステム。
- 請求項1~24のいずれか一項に記載のプログラム命令セットで符号化された非一時的コンピュータ可読媒体。
- 複数のコンピュータシステムによって実行され、前記複数のコンピュータシステムに、請求項1~24のいずれか一項に記載の方法を行わせる、コンピュータコードで符号化された一つ以上の非一時的コンピュータ可読媒体のセット。
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 JP2020532771A (ja) | 2020-11-12 |
JP2020532771A5 JP2020532771A5 (ja) | 2021-09-30 |
JP7272363B2 true 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) |
Families Citing this family (74)
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 |
CN111543025A (zh) | 2017-08-30 | 2020-08-14 | 因福尔公司 | 高精度隐私保护实值函数评估 |
CN111133719B (zh) * | 2017-09-29 | 2024-01-26 | 罗伯特·博世有限公司 | 用于利用spdz的更快速的安全多方内积计算的方法 |
US11818249B2 (en) * | 2017-12-04 | 2023-11-14 | Koninklijke Philips N.V. | Nodes and methods of operating the same |
US11233774B2 (en) * | 2017-12-22 | 2022-01-25 | Koninklijke Philips N.V. | Evaluation of events using a function |
US11275848B2 (en) * | 2018-03-22 | 2022-03-15 | Via Science, Inc. | Secure data processing |
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 | 日本電気株式会社 | 変換装置、変換方法及びプログラム |
JP7067632B2 (ja) * | 2018-10-04 | 2022-05-16 | 日本電信電話株式会社 | 秘密シグモイド関数計算システム、秘密ロジスティック回帰計算システム、秘密シグモイド関数計算装置、秘密ロジスティック回帰計算装置、秘密シグモイド関数計算方法、秘密ロジスティック回帰計算方法、プログラム |
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 |
AU2020225657A1 (en) * | 2019-02-22 | 2021-08-19 | Inpher, Inc. | Arithmetic for secure multi-party computation with modular integers |
US11250140B2 (en) * | 2019-02-28 | 2022-02-15 | Sap Se | Cloud-based secure computation of the median |
US20220147677A1 (en) * | 2019-04-15 | 2022-05-12 | Imagination Technologies Limited | Verification of hardware design for an integrated circuit that implements a function that is polynomial in one or more sub-functions |
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 | 创新先进技术有限公司 | 模型训练方法、装置及系统 |
US10803184B2 (en) | 2019-08-09 | 2020-10-13 | Alibaba Group Holding Limited | Generation of a model parameter |
CN110472439B (zh) * | 2019-08-09 | 2023-08-22 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110580409B (zh) * | 2019-08-09 | 2023-05-30 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
CN110569228B (zh) * | 2019-08-09 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 模型参数确定方法、装置和电子设备 |
CN110580410B (zh) * | 2019-08-09 | 2023-07-28 | 创新先进技术有限公司 | 模型参数确定方法、装置和电子设备 |
AU2019461061B2 (en) * | 2019-08-14 | 2023-03-30 | 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 |
US10839060B1 (en) * | 2019-08-27 | 2020-11-17 | Capital One Services, Llc | Techniques for multi-voice speech recognition commands |
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 |
WO2021108031A1 (en) * | 2019-11-26 | 2021-06-03 | Mythic, Inc. | Systems and methods for implementing operational transformations for restricted computations of a mixed-signal integrated circuit |
US11531782B1 (en) * | 2022-05-13 | 2022-12-20 | TripleBlind, Inc. | Systems and methods for finding a value in a combined list of private values |
US12026219B2 (en) | 2019-12-13 | 2024-07-02 | TripleBlind, Inc. | Systems and methods for efficient computations on split data and split algorithms |
US11973743B2 (en) | 2019-12-13 | 2024-04-30 | TripleBlind, Inc. | Systems and methods for providing a systemic error in artificial intelligence algorithms |
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 | 삼성전자주식회사 | 가속기, 가속기의 동작 방법 및 이를 포함한 가속기 시스템 |
JP7527866B2 (ja) * | 2020-07-01 | 2024-08-05 | キヤノン株式会社 | プログラム、情報処理装置及び制御方法 |
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 | 成都佳华物链云科技有限公司 | 一种安全多方计算方法、装置、电子设备及存储介质 |
CN112463332B (zh) * | 2020-12-01 | 2024-07-30 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、密文计算系统和用于数据处理的装置 |
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 | 北京瑞莱智慧科技有限公司 | 一种评分卡模型的预测方法及装置 |
EP4099609A1 (en) * | 2021-06-04 | 2022-12-07 | Zama SAS | Computational network conversion for fully homomorphic evaluation |
CN113315631B (zh) * | 2021-06-09 | 2021-12-21 | 华控清交信息科技(北京)有限公司 | 一种数据处理方法、装置和用于数据处理的装置 |
CN113470810B (zh) * | 2021-06-10 | 2022-07-05 | 湖北工业大学 | 一种保护患者隐私和数据泄漏的在线诊断系统及方法 |
US20220416995A1 (en) * | 2021-06-28 | 2022-12-29 | Duality Technologies, Inc. | Accelerated division of homomorphically encrypted data |
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 |
WO2023048711A1 (en) * | 2021-09-22 | 2023-03-30 | Visa International Service Association | Threshold secret share generation for distributed symmetric cryptography |
US11882211B2 (en) | 2021-09-29 | 2024-01-23 | Seagate Technology Llc | Multiple evaluation threshold function secret sharing |
CN114900283B (zh) * | 2022-04-01 | 2024-07-26 | 西安电子科技大学 | 基于多方安全计算的深度学习用户梯度聚合方法 |
US12039079B2 (en) | 2022-04-08 | 2024-07-16 | Bank Of America Corporation | System and method to secure data pipelines using asymmetric encryption |
CN114584285B (zh) * | 2022-05-05 | 2022-07-29 | 深圳市洞见智慧科技有限公司 | 安全多方处理方法及相关设备 |
US20230409748A1 (en) * | 2022-06-20 | 2023-12-21 | Vmware, Inc. | Garbling enhancements |
CN115081020A (zh) * | 2022-06-27 | 2022-09-20 | 华控清交信息科技(北京)有限公司 | 隐私算法构建方法、装置、电子设备和可读存储介质 |
CN114880693B (zh) * | 2022-07-08 | 2022-11-18 | 蓝象智联(杭州)科技有限公司 | 生成激活函数方法、装置、电子设备和可读介质 |
CN115499186A (zh) * | 2022-09-13 | 2022-12-20 | 广州大学 | 移动群智感知中基于安全多方计算真值发现隐私保护方案 |
US20240137205A1 (en) * | 2022-10-06 | 2024-04-25 | International Business Machines Corporation | Efficient random masking of values while maintaining their sign under fully homomorphic encryption (fhe) |
KR102641532B1 (ko) * | 2022-10-20 | 2024-02-28 | (주)한국플랫폼서비스기술 | 사생활 보호 딥러닝 프레임워크 응용 컴퓨팅 장치 및 그 방법 |
JP2024081261A (ja) * | 2022-12-06 | 2024-06-18 | 富士通株式会社 | プログラム、算出方法および情報処理装置 |
CN116743376B (zh) * | 2023-07-28 | 2024-08-02 | 浙江大学 | 基于高效密文混淆技术的多方秘密分享数据隐私比较方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (57)
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 |
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 |
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 |
CA2816517C (en) * | 2010-09-29 | 2013-11-12 | Peter Ohnemus | Automated health data acquisition, processing and communication system |
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 |
JP2016509268A (ja) * | 2013-03-04 | 2016-03-24 | トムソン ライセンシングThomson Licensing | プライバシーを保護する計数の方法およびシステム |
US9536114B1 (en) * | 2013-03-13 | 2017-01-03 | Hrl Laboratories, Llc | Secure mobile proactive multiparty computation 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 |
US9614676B1 (en) * | 2013-03-13 | 2017-04-04 | Hrl Laboratories, Llc | Cryptographically-secure packed proactive secret sharing (PPSS) protocol |
US9450938B1 (en) * | 2013-03-13 | 2016-09-20 | Hrl Laboratories, Llc | Information secure proactive multiparty computation (PMPC) protocol with linear bandwidth complexity |
CA2909858A1 (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 |
EP3089091B1 (en) * | 2014-05-02 | 2020-03-11 | Barclays Execution Services Limited | Transaction authentication |
US10333696B2 (en) | 2015-01-12 | 2019-06-25 | X-Prime, Inc. | Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency |
US10467389B2 (en) * | 2015-01-15 | 2019-11-05 | Secretskydbltd | Secret shared random access machine |
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 |
EP3384424A4 (en) * | 2015-12-03 | 2019-07-24 | Unbound Tech Ltd | SECURITY OF SQL-BASED DATABASES WITH CRYPTOGRAPHIC PROTOCOLS |
JP6970379B2 (ja) | 2015-12-10 | 2021-11-24 | 日本電気株式会社 | 事前計算装置、方法、およびプログラム、並びにベクトル乗算装置、および方法 |
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 |
US11128446B2 (en) * | 2016-04-14 | 2021-09-21 | B.G. Negev Technologies And Applications Ltd., At Ben-Gurion University | Self-stabilizing secure and heterogeneous systems |
WO2017195886A1 (ja) * | 2016-05-13 | 2017-11-16 | 日本電気株式会社 | 認証システム、認証方法およびプログラム |
US11042358B2 (en) * | 2016-08-18 | 2021-06-22 | Nec Corporation | Secure computation system, secure computation method, secure computation apparatus, distribution information generation apparatus, and methods and programs therefor |
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 |
KR20240011260A (ko) | 2017-08-15 | 2024-01-25 | 엔체인 홀딩스 리미티드 | 임계치 볼트를 생성하는 컴퓨터로 구현되는 방법 |
CN111543025A (zh) | 2017-08-30 | 2020-08-14 | 因福尔公司 | 高精度隐私保护实值函数评估 |
WO2019115697A1 (en) | 2017-12-14 | 2019-06-20 | Robert Bosch Gmbh | Method for faster secure multiparty inner product with spdz |
WO2019133858A1 (en) | 2017-12-29 | 2019-07-04 | Bonnie Berger Leighton | Realizing private and practical pharmacological collaboration |
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 |
AU2020225657A1 (en) | 2019-02-22 | 2021-08-19 | Inpher, Inc. | Arithmetic for secure multi-party computation with modular integers |
US12026219B2 (en) | 2019-12-13 | 2024-07-02 | TripleBlind, Inc. | Systems and methods for efficient computations on split data and split algorithms |
-
2018
- 2018-08-30 CN CN201880064100.7A patent/CN111543025A/zh active Pending
- 2018-08-30 US US16/643,833 patent/US20200304293A1/en not_active Abandoned
- 2018-08-30 SG SG11202001591UA patent/SG11202001591UA/en unknown
- 2018-08-30 EP EP18773904.0A patent/EP3676985B1/en active Active
- 2018-08-30 KR KR1020207008986A patent/KR102667837B1/ko active IP Right Grant
- 2018-08-30 JP JP2020534803A patent/JP7272363B2/ja active Active
- 2018-08-30 CA CA3072638A patent/CA3072638A1/en active Pending
- 2018-08-30 WO PCT/US2018/048963 patent/WO2019046651A2/en active Search and Examination
-
2020
- 2020-02-20 IL IL272824A patent/IL272824B/en unknown
- 2020-07-23 US US16/937,310 patent/US10917235B2/en active Active
-
2021
- 2021-02-08 US US17/170,724 patent/US11539515B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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)
Title |
---|
BOURA, Christina et al.,High-Precision Privacy-Preserving Real-Valued Function Evaluation,Cryptology ePrint Archive,2017年12月,Paper 2017/1234,pp. 1-26,[2022年8月30日検索],インターネット<URL:https://eprint.iacr.org/2017/1234> |
千田浩司,秘密計算技術の実用化に向けた取り組み,医療情報学,日本医療情報学会,2013年11月20日,第33巻,pp. 128-130 |
大澤卓矢,他,フーリエ基底を用いた関数秘密分散,2017年 暗号と情報セキュリティシンポジウム(SCIS2017),2017年01月24日,1A1-2,pp. 1-7 |
Also Published As
Publication number | Publication date |
---|---|
WO2019046651A2 (en) | 2019-03-07 |
US11539515B2 (en) | 2022-12-27 |
SG11202001591UA (en) | 2020-03-30 |
CA3072638A1 (en) | 2019-03-07 |
KR20200044103A (ko) | 2020-04-28 |
US20200358601A1 (en) | 2020-11-12 |
EP3676985B1 (en) | 2021-09-29 |
IL272824A (en) | 2020-04-30 |
EP3676985A2 (en) | 2020-07-08 |
WO2019046651A4 (en) | 2019-05-31 |
US10917235B2 (en) | 2021-02-09 |
WO2019046651A3 (en) | 2019-04-11 |
CN111543025A (zh) | 2020-08-14 |
IL272824B (en) | 2021-08-31 |
US20210167948A1 (en) | 2021-06-03 |
US20200304293A1 (en) | 2020-09-24 |
KR102667837B1 (ko) | 2024-05-21 |
JP2020532771A (ja) | 2020-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7272363B2 (ja) | 高精度プライバシ保護実数値関数評価 | |
Blanton et al. | Secure and efficient outsourcing of sequence comparisons | |
Andrychowicz et al. | Circuit Compilers with O (1/\log (n)) O (1/log (n)) Leakage Rate | |
Aloufi et al. | Blindfolded evaluation of random forests with multi-key homomorphic encryption | |
Podschwadt et al. | A survey of deep learning architectures for privacy-preserving machine learning with fully homomorphic encryption | |
Hülsing et al. | Rounded Gaussians: fast and secure constant-time sampling for lattice-based crypto | |
Al-Janabi et al. | Secure Data Computation Using Deep Learning and Homomorphic Encryption: A Survey. | |
Wagh | Pika: Secure computation using function secret sharing over rings | |
Boura et al. | High-precision privacy-preserving real-valued function evaluation | |
Moon et al. | An Efficient Encrypted Floating‐Point Representation Using HEAAN and TFHE | |
Mhamdi | Information-theoretic analysis using theorem proving | |
Zhu et al. | Securebinn: 3-party secure computation for binarized neural network inference | |
Hao et al. | Fastsecnet: An efficient cryptographic framework for private neural network inference | |
Bellini et al. | CLAASP: a cryptographic library for the automated analysis of symmetric primitives | |
Lee et al. | Overflow-Detectable Floating-Point Fully Homomorphic Encryption | |
Walch et al. | Cryptotl: Private, efficient and secure transfer learning | |
CN111159730A (zh) | 数据处理方法、查询方法、装置、电子设备和系统 | |
Boura et al. | High-precision privacy-preserving real-valued function evaluation | |
Zarezadeh et al. | Secure parameterized pattern matching | |
Thaine et al. | Efficient evaluation of activation functions over encrypted data | |
Akavia et al. | Privacy preserving feature selection for sparse linear regression | |
Nita et al. | Advances to Homomorphic and Searchable Encryption | |
Liu et al. | Secure Two‐Party Decision Tree Classification Based on Function Secret Sharing | |
Malashina | Possibility of Recovering Message Segments Based on Side Information about Original Characters | |
Agrawal et al. | On architecting fully homomorphic encryption-based computing systems |
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 |