ゼロ知識証明
PさんはVさんにHをコミットする。これにはコミットメント方式を使うか、物理的に行う場合は、グラフの枝の数だけ小さな紙と鍵のかかる箱を用意し、グラフHの各枝の両端の節点番号を小さな紙に書いて、それぞれを箱に入れて鍵をかけてVさんに渡せばよい。ここでは鍵を渡さない。
Vさんは、次の2つの質問のうちどちらかをランダムに選んでPさんに回答を求める。質問とは「GとHの対応表を示せ」または「Hのハミルトン閉路を示せ」のどちらかである。
Pさんは、対応表を示せといわれたら、Hのコミットメントを明かす。或いはすべての箱の鍵を渡し、同時に対応表も明かす。Vさんは、コミットされていたHが本当にGと同型であったことを確認できる。
Pさんは、Hのハミルトン閉路を示せといわれたら、まずGのハミルトン閉路を対応表に従って変換して、Hのハミルトン閉路を求め、その閉路に含まれる部分のコミットメントのみを明かす。あるいは閉路に含まれる枝を記した紙の入った箱の鍵のみを渡す。Vさんは、確かにPさんがHのハミルトン閉路を知っていることを確認できる。
各問答で、PさんはVさんがどちらの質問をしてくるかあらかじめ知ることはできない。そのため、Gのハミルトン閉路を知ることなく両方の質問どちらにも答えるのは無理である。