東北大学
GSIS

Q&A

講演のテーマ・内容に関するQ&A

各講演に関してお寄せいただいた質問に講演者が回答しております。
上の顔写真をクリックして切り替えてください。

水木 敬明 准教授
Q.論理積以外の関数(例えば、過半数かどうかの計算、2/3以上かどうかの計算、入力が3つ以上の計算など)に対して秘密計算は可能でしょうか?

論理積(AND)に対してと同様に、論理和(OR)、排他的論理和(XOR)、否定(NOT)をコミット型で秘密計算する(操作が容易な)プロトコルがあります。また、コミットメントをコピーするプロトコルも存在します。従って、これらの基本プロトコルを組み合わせると、どんな関数も秘密計算することができます。つまり、(少し論理回路の授業のような説明になりますが)計算したい関数を「回路」で表現して、それに従って順番にANDやORやXORなどを適用していくことになります。ただし、このような汎用的な手法ですと、基本プロトコルを何回も実行する必要があり、実用的にはならないことが多いです。そのため、個々の関数(問題)に対して、効率的・実用的なプロトコルを設計する研究も盛んです。

Q.論理積の秘密計算では、例えばBobがYesの場合に、結果からAliceの答えがBobには分かります。これは謂わば「半分秘密計算」ではないでしょうか?

おっしゃる通り確かに「秘密計算」と聞けば全く秘密を漏らさない計算であるという印象を持つのは自然ですが、もし最後にカードをめくったときにAliceとBobの秘密が全く漏れていないとしますと、実はそれは何も計算していないことになります。論理積の秘密計算は、論理積の値だけは漏らす計算と言い換えることができます。「漏らす」というと聞こえが悪いですが、意味のある秘密計算をするということは、本質的にはそういうことになります。今回はAliceとBobの2人だけいる状況で秘密計算をしましたが、3人目のCarolがいて二人の論理積をCarolだけに知らせるという秘密計算も考えられます。この場合には、AliceとBobにとっては、相手の秘密を何も知り得ないことになります(もちろん、Carolは論理積の値を知ることになります)。

Q.今回説明のあったプロトコルをウェブサイトに掲載してもらえるでしょうか?

以下から当日のスライドのPDFファイルを取得できますので、どうぞご覧ください。 https://researchmap.jp/mujilwuhb-2263430/#_2263430