サイエンスとサピエンス

気になるヒト、それに気なる科学情報の寄せ集め

ゼロ知識対話の余談

 インターネットの世界で、相手が信用できるかどうか分からない場合に、相手が情報をつなげる必要がある。異なるATM同士で振込みを処理する場合などで、こうした状況は頻繁に発生する。
 顧客のパスワードをいきなり交信相手に伝えることができないので、
「暗証番号を知っている」ことをATMに知らせ、信用させるのだ。暗証番号にある数値処理を行い、相手方に渡すのだが、そのたびに相手は問いかけをして、顧客の暗証番号が正しいかどうかをチェックする。
この手続を20回程度ほど繰り返す。百万分の一の確度で偽者を回避できる。
 これを『ゼロ知識対話証明』的な認証というらしい。
正確さはともかく、相手の真実性を手探りで確認する手続きは、ある規則とそれに従う行為を繰り返して、確率的に確認することが、「闇夜での跳躍」になっている。
それをなんとはなしに認めてもらえればいい。
 見知らぬ者どうしのコミュニケーションの成立には、規則とその行為をお互いに確認しあうことが欠かせないわけだ。
礼儀とマナー、言語もこうした機能をになっていよう。
 だが、さらに掘り下げると、「交換手順」が共通化していないと、ゼロ知識対話証明もできないことが分かるであろう。最初に表明する情報が、暗証番号に関わる情報であるということを暗黙の了解としていなければ、次に進まない。
 ゼロ知識といいつつも、完全にゼロではない。ATM同士、認証サーバ同士の会話であるという外交手順が大前提になっている。
 一般のコミュニケーションでも、そうではないか?戦国大名同士であれば、イクサの作法があったろう。しかし、蒙古が九州に攻め込んだ際には、イクサの流儀などはなかったに違いない。
 そうしたプロトコルがあればこそ、相互の情報交換が可能になり、認証もできるというものだ。
 異星の知性体からのシグナルを発見しようとするSETIの問題はここにあると思うのだが、いかがであろうか?
 彼らは単純なパターンの信号を出しているだろうか?高度に暗号化しており、ノイズと区別できない高度な信号符号化を実装しているのではなかろうか?
 そもそも「プロトコル」はどのようなものか想像できるのであろうか?

暗号・ゼロ知識証明・数論

暗号・ゼロ知識証明・数論