GMWプロトコルとOblivious Transfer
OT拡張とGMWのマルチパーティプロトコルを実装します。
「GMWプロトコルとOblivious Transfer」はCoddyKit上の無料Cryptology Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCryptology Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cryptology Academyコースには全4レッスンが含まれています。
GMW:マルチパーティ秘密分散アプローチ
Goldreich-Micali-Wigderson(GMW)プロトコルは、XOR秘密分散を使ってブール回路を評価します。各ワイヤーの値はすべての参加者に分散され、ゲートごとに対話しながら処理されます。
GMWにおけるXOR秘密分散
参加者iは、s_1 ⊕ s_2 ⊕ ... ⊕ s_n = w(真のワイヤー値)となるシェアs_iを保持します。XORゲートは無料です。各参加者が自分のシェアをローカルでXORするだけで済みます。
ANDゲートに必要な対話
ワイヤーa,bに対するANDゲートでは、(a_1⊕a_2)(b_1⊕b_2)を展開すると交差項が現れます。参加者i≠j間の交差項a_i·b_jを評価するには、Oblivious Transferが必要です。
Oblivious Transfer(OT)の定義
1-out-of-2 OTでは、送信者がメッセージ(m_0, m_1)を持ち、受信者が選択ビットcを持ちます。受信者はm_cを取得し、送信者はcを知りません。受信者はm_{1-c}を知ることができません。
Naor-Pinkas OTプロトコル
Diffie-Hellmanに基づく方式です。受信者は2つの公開鍵を生成し、そのうち1つについてだけ離散対数を知っている状態にします。送信者は各メッセージをいずれか一方の鍵で暗号化します。受信者は選択した暗号文だけを復号できます。
OT Extension:OTを低コストで実行する
Ishaiら(2003)は、k個のベースOTから、対称鍵演算だけを使ってm >> k個のOTを生成する方式を提案しました。IKNP extensionでは、1回限りのセットアップ後、OT 1回あたり約3回のAES呼び出しまでコストを削減できます。
OT Extensionを用いたGMW
各ANDゲートには、参加者の各ペアにつき1回のOTが必要です。OTをオフラインフェーズですべて事前計算しておけば、オンラインフェーズではゲートごとに1回のXOR交換だけで済みます。
Cut-and-Chooseによる悪意のある攻撃者への安全性
半正直なGMWは、ゼロ知識証明またはcut-and-choose OTを使って、悪意のある攻撃者に対して安全な方式にできます。コストは3~8倍に増加しますが、不正を行う参加者に対する安全性が保証されます。
Committed OTと認証付きシェア
MASCOT(Kellerら)は、OTを拡張して悪意のあるモデルで認証付きANDトリプルを生成し、SPDZプロトコルを可能にします。このプロトコルについては次のレッスンで扱います。
実用的なライブラリ
EMP-toolkitとMOTIONは、OT extensionを用いたGMWを実装しています。LAN経由で2者間に毎秒数百万個のANDゲートを処理でき、実際のアプリケーションを実現可能にしています。
理解度チェック
GMWプロトコルで、XORゲートが参加者間の通信を必要としないのはなぜですか。
レッスンのまとめ
GMWは、ブール回路上でXOR秘密分散を使用します。XORゲートは無料ですが、ANDゲートにはOTが必要です。OT extensionによってOTのコストを下げられます。悪意のある攻撃者への安全性を加えるには、ZKPまたはcut-and-chooseを使用します。EMPなどのライブラリにより、実際のアプリケーションに必要な実用的なスループットを実現できます。
よくある質問
「GMWプロトコルとOblivious Transfer」レッスンは無料ですか?
はい。「GMWプロトコルとOblivious Transfer」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cryptology Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cryptology Academyコースには全4レッスンが含まれています。
「GMWプロトコルとOblivious Transfer」で何を学びますか?
OT拡張とGMWのマルチパーティプロトコルを実装します。 ブラウザで直接実行するハンズオンコードでCryptology Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cryptology Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCryptology Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「GMWプロトコルとOblivious Transfer」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCryptology Academyレッスンでコードを書いて実行できますか?
はい。すべてのCryptology Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- MPC問題とYaoの秘匿回路
- GMWプロトコルとOblivious Transfer
- SPDZと秘密分散値による算術MPC
- MPCの応用:Private Set Intersectionと機械学習