量子ビットコミットメントの不可能性

ほぼうまくいく有名なプロトコルと、量子プロトコルが決してうまくいかない深い理由。

Sohum Thakkar
Sohum Thakkar · CEO, Qolour
2026年5月18日

BB84E91により、アリスとボブは量子力学を使って秘密鍵を安全に配送できます。自然な質問:量子力学はもっと暗号ができるか?古典暗号が苦戦する他の問題を解けるか?

答えは:時には、しかし常にではないであることがわかります。最も有名な失敗はビットコミットメントで、その失敗の仕方は量子情報で最も美しいノーゴー定理の1つです。

ビットコミットメントとは?

ビットコミットメントは互いを信頼しない2者間のプロトコルです。アリスは秘密ビット0または1コミットしたいが、まだ明かしたくありません。ボブは彼女が後で変えられないことを確認したいと思います。

任意のビットコミットメントスキームは2つの性質を満たす必要があります:

隠蔽性

ボブはアリスが明かすことを選ぶまで、コミットしたビットを学べない。

拘束性

アリスはコミットした後でビットを変えられない。

機械的には想像しやすいです。アリスは自分のビットを紙に書き、箱にロックし、ボブに箱を渡します。ボブは箱を持ちますが鍵を持たないので開けられません(隠蔽性)。アリスはもう箱を持っていないので、中身を入れ替えられません(拘束性)。時が来たら、鍵を送ってボブが開けます。

しかしこのプロトコル版は物理的仮定に依存します:完璧なロック、完璧な箱、改ざんの方法なし。目標は、物理的なロックボックスなしで、情報から同じものを構築することです。

量子の試み

ここに自然な量子プロトコルがあります。アリスはビットbにコミットしたいです。2つのセットの1つからランダム要素を選びます:

  • guidePages.quantum-bit-commitment.quantumAttempt.bullet0
  • guidePages.quantum-bit-commitment.quantumAttempt.bullet1

対応する量子ビットを準備しボブに送ります。ボブはそれを保管しまだ何もしません。

コード状態
00|0⟩
01|+⟩
10|1⟩
11|−⟩
アリスの符号化。最初のビットがコミットメント、2番目のビットがセット内のランダム選択。

明かし時、アリスはボブに送った状態を正確に伝えます。ボブは対応する基底で測定し結果を確認します。一致しなければ、アリスは捕まります。

隠蔽性を確認

アリスが0にコミットしたなら、|0⟩または|1⟩を等確率で送りました。ボブはどちらかを知りません。彼の視点からは量子ビットは完全にランダム混合です。

アリスが1にコミットしたなら、|+⟩または|−⟩を等確率で送りました。同じ話:ボブの視点からは完全にランダム。

そしてここがオチ:それら2つのランダム混合は同一です。アリスが0にコミットしようが1にコミットしようが、ボブの視点は文字通り同じ密度行列です。隠蔽性は完全に成り立ちます。

拘束性を確認

アリスはすでに量子ビットをボブに送りました。もう触れません。だからコミットしたものを変えられないですよね?

拘束性は成り立つように見えます。しかし2つの性質のうち1つが間違っています。

ズル

アリスは正直な単一量子ビットを準備する必要はありません。代わりに2つの量子ビットWXをもつれ状態で準備します。Xをボブに送り、Wを自分で保ちます。

ボブの視点からは、Xは以前とまったく同じに見えます。アリスが正直であるか量子もつれを使っているかの違いを判断できません。隠蔽性はまだ成り立ちます。

しかしアリスは実際にはまだ何にもコミットしていません。もつれペアの自分の半分を介してボブの量子ビットに量子ハンドルを保っています。

明かし時の切り替え

明かしフェーズが来ます。アリスは事実の後で何にコミットしたかったかを決めます。

1にコミットしたと主張したい場合、自分の量子ビットWをX基底で測定します。どんなランダム結果でも、ボブの量子ビットXは対応する|+⟩または|−⟩に崩壊します。彼女はその結果を発表し、ボブが測定し、常に一致します。

0にコミットしたと主張したい場合、WをZ基底で測定します。ボブの量子ビットは|0⟩または|1⟩に崩壊します。同じ話。

アリスは渡した後でボブの量子ビットに決して触れません。自分の量子ビットをどの方向で測定するかを選ぶだけです。量子もつれが残りをします。

拘束性は完全に失敗しました。アリスはどちらのビットにもロックされていませんでした。ボブが送られた状態を見られなかったのでプロトコルは安全に見えました。ズルは状態が決して決定されていなかったことです。

なぜこれが根本的か

これは賢いプロトコルの1つの欠陥ではありません。量子力学の動作の結果で、1996/1997年にDominic MayersHoi-Kwong Lo & Hoi-Fung Chauによって独立に証明されました。議論は短いです。

量子プロトコルが完全に隠蔽であるためには、アリスが0にコミットしたか1にコミットしたかにかかわらず、ボブの視点が同一でなければなりません。密度行列の言語で:ボブ側でρ_B(0) = ρ_B(1)

量子情報には定理があります(Hughston-Jozsa-Wootters):同じ密度行列の2つの純化が存在する場合、常にアリスが自分の量子ビットだけでできる、1つをもう1つに入れ替える変換があります。

その変換がアリスのズルです。彼女は常にコミットメントを0から1に(または逆に)ボブに知られずに切り替えられます。プロトコルを隠蔽にする条件は、アリスがズルできることを保証する同じ条件です。

完全に隠蔽は完全に拘束ではないことを意味します。常に。 例外なし、賢い修正なし。

量子ができること、できないこと

BB84は量子力学が盗聴を検出可能にするから動きました。それが本物の量子優位性です。

ビットコミットメントは量子力学がコミットメントを強制不可能にするから失敗します。それが本物の量子限界です。

量子はできる

秘密鍵を配送。

BB84、E91、今日の実際の光ファイバーネットワークに展開されているBB84スタイルのプロトコル。

量子はできない

秘密コミットメントを強制。

Mayers-Lo-Chau、1996年。量子プロトコルは完全隠蔽と完全拘束の両方になれません。

面白いこと:両側が同じ物理から来ます。量子もつれはBB84とE91が盗聴者を検出するものです。それはまたアリスがビットコミットメントでズルできるものです。量子力学は魔法ではありません。できることとできないことが特定にあります。