「文字化けした回路」の詳細とハウツーについてはここにたくさんの質問がありますが、どの文字化けした回路を定義するものを見たことがありません。 はです。
文字化けした回路とは正確には 何ですか?それらは何に使用されることを意図していますか?それらの制限は何ですか?
文字化けした回路のタグは、安全なマルチパーティ計算で使用されていることを示しています。ただし、この回答は、「2パーティ計算にのみ適しているのでしょうか。
この質問は、「回路」の定義を求めています。回路と文字化けした回路の違いは何ですか?
コメント
- ヤオの良い説明が見つかります' この本にある安全な二大政党計算のための文字化けした回路プロトコル。 '高価ですが、地元の大学図書館にある可能性があります。
- このビデオをお勧めします、およびスライド
回答
回路は、計算を表すための単なる方法です。回路について特に暗号化されているものはありません。これは、AND、OR、NOTなどのビットに対する演算のみで構成される直線計算(ループやフロー制御構造なし)を意味します。
A 文字化けした回路は、計算の出力のみを表示し、入力や中間値については何も表示しない「計算を暗号化」する方法です。 。 「回路」という用語を使用するのは、文字化けした回路が、気になる計算を回路として表現してから、回路内の各操作(AND、OR、NOT)に対して暗号化を行うことで機能するためです。 。
もう少し正確にしたい場合、「文字化けスキーム」は次の要素で構成されます。
-
(Garble)(プレーン)を変換する方法回路$ C $を文字化けした回路$ \ widehat C $に変換します。
-
(エンコード)任意の(プレーンな)入力$ x $を変換する方法文字化け入力$ \ widehat x $への回路の場合。 $ x $を$ \ widehat x $にエンコードするために回路を文字化けさせるために使用された秘密のランダム性が必要です。
-
(評価)文字化けをとる方法回路$ \ widehat C $と文字化けは$ \ widehat x $を入力し、回路出力$ C(x)$を計算します。誰でもこれを行うことができます。$ C(x)$を評価して学習するために、$ x $や$ \ widehat C $内の秘密のランダム性を知る必要はありません。
ここでは少し単純化しています。しかし、セキュリティの主な考え方は、$ \ widehat C $と$ \ widehat x $を合わせて$ C(x)$以上の情報を漏らさないということです。特に、$ x $については何も明らかにしていませんが、$ C(x)$の計算を(明らかに)実行できます。これが「計算の暗号化」の意味です。
文字化けした回路の主な用途は、安全な2者間計算です。アリスがプライベート入力$ x $を持ち、ボブがプライベート入力$ y $を持っていると想像してください。彼らはいくつかの関数$ f $に同意し、両方とも$ f(x、y)$を学習したいが、対戦相手に$ f(x、y>よりも多くのことを 学習させたくないことに同意します。 )$。これを達成するために、次のことができます(これはYaoの古典的なプロトコルです):
-
当事者は、$ f $を(プレーン)として表現する方法について合意します。 )回路。アリスは回路$ f \ mapsto \ widehat f $を文字化けさせます。彼女は$ \ widehat f $と自分の「文字化けした入力」$ \ widehat x $を送信します。
-
アリスは、$ f $の入力をにエンコードする方法を知っています。 「文字化けした」入力ですが、ボブだけが彼のプライベート入力$ y $を知っています。したがって、当事者は、アリスが$ y $が何であるかを学習せずに、ボブが文字化けしたバージョン$ \ widehat y $を取得するように手配します。これは紛失通信と呼ばれるプリミティブを使用して実行できます。
-
これで、ボブには文字化けした回路$ \ widehat f $と、文字化けした入力$ \ widehat x、\ widehat y $があります。その回路のために。その後、評価手順を実行して$ f(x、y)$を学習できます。彼は$ f(x、y)$をアリスに明らかにすることができます。
以下では、プロトコルが明らかにするのは$ f(x、y)$以下であると主張できます。方法:
-
アリスは、このプロトコルで最終回答$ f(x、y)$以外は何も表示しません(紛失通信のセキュリティにより、彼女は段階的に何も学習しません) 2)。
-
ボブは$ \ widehat f $、$ \ widehat x $、$ \ widehat y $を見ても、文字化けした回路のセキュリティにより、これらの値が確実に失われます。」 t $ f(x、y)$を超えるものを明らかにします。
このアプローチは、アリス&ボブが半正直な場合に機能します。 (つまり、指示どおりにプロトコルに従います)。しかし、アリスが悪意のある場合、彼女は合意した$ f $の代わりに他の関数$ f “$を文字化けさせる可能性があります。したがって、悪意のある攻撃者に対するセキュリティが必要な場合は、これを防ぐためにプロトコルに他のものを追加する必要があります。
参考資料:
- ヤオの建設とそのセキュリティの証明(ビデオ)、イェフダリンデル
- ヤオのプロトコルの証明安全な2者間計算のために、イェフダリンデル&ベニーピンカス
- 文字化けした回路の基礎、Mihir Bellare、Viet Tung Hoang、Phillip Rogaway
- 実用的な文字化け回路の最適化の簡単な歴史、私のビデオ。最初のいくつかのスライドは、文字化けした回路の「古典的な」構造をカバーしています。
コメント
- ボブが文字化けする方法 y アリスが文字化けスキームを思いついたときに選択した秘密のランダム性を知らなくても?
- 文字化けしたエンコーディングは少しずつ機能します。ボブを連れて行ってくださいの最初のビット。アリスは自分で考えることができます:"ボブがビット0を入力した場合、文字化けしたエンコードは$ G_0 $になります。彼がビット1を入力した場合、文字化けしたエンコーディングは$ G_1 $になります。" 紛失通信は、アリスが2つの文字列$ G_0、G_1 $を提供するプリミティブです。入力として。ボブは入力としてビット$ b $を提供し、$ G_b $を学習します(ただし、他の$ G_ {1-b} $は学習しません)。アリスは' $ b $を学習しません。当事者は、Bob 'の入力の各ビットに対して紛失通信を実行できます。 紛失通信が実際にどのように機能するかについては、別の質問です;)
- 八尾のほかに'文字化けした回路は'再利用できません。 "文字化けした回路が実行されるたびに、または入力ビット0と1のキーが固定されるたびに、異なるキーを割り当てることができますか?"