DWが正しく指摘しているように、グラフ同型はPに含まれることは知られておらず、NP困難でもないと考えられています。さらに、多くの人がそれがBQPにあると信じていますが、これは証明されていません。これにより、暗号化システムが通常セキュリティに依存する他の問題と同じカテゴリに分類されます。(楕円曲線逆乗算の問題やそれが何と呼ばれるのかがBQPに関してどこにあるのかはわかりませんが、これらの暗号的に有用な問題のすべてが何らかの意味で同等であることが判明したとしても、驚くことはありません。)
解が「難しい」グラフ同型問題について私たちが知らないのは事実です。しかし、私たちがしたと仮定してみましょう。そうすれば、暗号化に使用できます。
例として、グラフ同型に基づくゼロ知識証明鍵システムを見てみましょう。
アリスの秘密鍵は、グラフの同型性をチェックするのが「難しい」ように構築されたラベル付きグラフ(ラベルは整数のみでもかまいません)であり、見つけるのが「難しい」ハミルトニアンサイクルを含んでいます。彼女の公開鍵はラベル付けされたグラフであり、ハミルトニアンサイクルに関する情報はありません。公開鍵から秘密鍵を導出するには、ハミルトニアンサイクル問題を解く必要があることに注意してください。これはNP困難であり、このグラフでは特に困難であると想定しています。
アリスは、ボブにハミルトニアンサイクルを実際に与えることなく、グラフでハミルトニアンサイクルを知っていることを説得したいと考えています。これが彼女のやり方です。
アリスはボブにラベルのないグラフを送信します。彼女は彼に選択肢を提供します:彼女はラベルを明らかにするか、グラフのハミルトニアンサイクルを明らかにします。ボブはどちらが欲しいかについてコインを投げます(または他の方法で決定します)。アリスはボブが要求した2つのどちらかを行います。
ボブがラベルの公開を要求した場合、ラベル付けされた結果のグラフがアリスの公開鍵と同じであることを(線形時間で)簡単に確認できますが、ハミルトニアンサイクルを見つけることはできません。一方、ボブがハミルトニアンサイクルを要求した場合、結果のラベル付けされていないグラフに実際にハミルトニアンサイクルが含まれていることを(再び線形時間で)簡単に確認できますが、それがアリスの公開鍵グラフであることは確認できません。なぜなら、グラフ同型は(おそらく)難しいからです。
ボブの観点からは、アリスは、既知のハミルトニアンサイクルを持つが彼女の公開鍵に同型ではないグラフを与えるか、ラベルを削除したが知らない公開鍵グラフを彼に与えることによって、ボブをだまそうとした可能性がありますハミルトニアンサイクル。彼女はボブが間違った選択をすることに賭けるでしょう。ボブが実際にランダムに選択したと仮定すると、このトリックは50%の確率で成功します。
したがって、上記の交換は、ラベルのない別のグラフで繰り返されます。プロトコルのラウンド後、アリスがすべてのラウンドでボブをだまして成功する確率はであり、これは非常に迅速に「必要な限り確実に」収束します。n2−n
もちろん、これは現状では実用的なシステムにはほど遠いものです。さらに、それをより安全にするためにあなたができるいくつかの明白なことがあります。たとえば、アリスがボブにラベルのないグラフを送信する代わりに、彼女はそれのハッシュを送信するだけで済みます。ボブが応答すると、彼女はグラフを送信でき、ボブはグラフが一致することを確認できます。
それにもかかわらず、たとえそれがひどく役に立たなくても、原則としてそれから暗号システムを作成することができます。