世界を動かす技術を、日本語で。

IBM Quantumのバックエンドを/dev/urandomに置き換える

2026年4月25日原文(github.com)

概要

Q-Day Prize の主張は、IBM Quantumハードウェアを用いた ECDLP鍵回復 の量子攻撃の実証です。 os.urandom で量子ハードウェア部分を置換しても、結果が 統計的に同一 であることが判明。 回復率 は理論的な乱数成功率と一致し、量子計算の寄与は見られません。 著者自身のREADME でも、十分なショット数なら乱数だけで成功すると明記。 本質的な課題 は、量子計算機による鍵回復の証明になっていない点です。

QPUの/dev/urandom置換によるECDLP鍵回復検証

  • 検証対象 :Q-Day Prizeリポジトリの量子コンピュータによるECDLP攻撃の主張
  • 変更内容 :projecteleven.py内のsolve_ecdlp()で、IBM Quantumバックエンドを os.urandom で置換
  • その他の処理 :回路構築やリップルキャリーオラクル、検証パイプライン等は 一切変更なし
  • 期待される結果 :量子ハードウェアが本当に有効なら、乱数置換で 鍵回復が失敗 するはず
  • 実際の結果すべてのテストで乱数置換でも鍵回復に成功、IBMハードウェアと統計的に区別不可

実装上のパッチ内容

  • QiskitRuntimeServiceやIBMバックエンド呼び出しを削除し、 os.urandomでクラシカルレジスタ長のビット列を生成
  • 生成したビット列を Counter でカウントし、以降の処理は 元のコードと同一
  • 59行のdiffで 量子部分のみを乱数で再現

小規模チャレンジ(1回ずつ、8,192ショット)

  • 全てのチャレンジ(4〜10ビット)で、 著者報告値と完全一致した鍵を1回目で回復
  • IBMハードウェアと /dev/urandom の両方が1回で成功

大規模チャレンジ(5回ずつ、20,000ショット、リップルキャリーオラクル)

  • 16ビット:5回中4回成功(著者報告値と一致)
  • 17ビット(1BTC賞):5回中2回成功(著者報告値と一致)
  • /dev/urandomでも40%程度の成功率、IBMハードウェアと同等

理論値と実測値の一致

  • 成功確率は「 P(≥1 verified hit in S shots) = 1 − (1 − 1/n)^S」で計算可能
  • 乱数による回復率と 理論値が完全一致
  • READMEにも「 shots ≫ nなら乱数だけで高確率で回復」と明記

再現手順

  • IBMアカウント・トークン・量子ハードウェア・ネットワーク 不要
  • コマンド例:
    • python projecteleven.py --challenge 4 --shots 8192
    • python projecteleven.py --challenge 17 --oracle ripple --shots 20000

本件の本質的な問題点

  • 本リポジトリの エンジニアリング(回路設計等)は高度で本物
  • 問題の本質 は「量子計算機による鍵回復の実証」主張が成り立っていない点
    • 実際には「 クラシカルな乱数候補への検証」に過ぎず、量子計算の寄与が無い
    • /dev/urandomで完全再現可能 なため、量子ハードウェアの意味がない

まとめ

  • Q-Day Prize の量子ECDLP攻撃主張は、 /dev/urandom置換で完全再現可能
  • 量子計算の証明にはなっていない ため、主張の根拠が崩れる
  • 鍵回復の成功はクラシカルな乱数検証の結果 であり、量子ハードウェアの意義は示されていない

Hackerたちの意見

Project Elevenが「これまでのECCに対する最大の量子攻撃」に1BTCを授与したんだって。IBMの量子ハードウェアで17ビットの楕円曲線キーが復元されたらしいよ。Yuval Adamは量子コンピュータを/dev/urandomに置き換えたけど、それでもキーを復元できたみたい。

でも、量子ハードウェアはそれをもっと早くやってるの?

これ、QCに対する批判じゃなくて、プロジェクト11や提出者への批判だよ。要するに、提出物の検証がちゃんとできてなくて、コードが古典的な解決策を示してるってこと。17ビットのECCキーを復元するのは、今の古典コンピュータにとってはブートフォースで簡単すぎる。

もし解決策がランダムより早いなら、量子コンピュータ上での本当の解決策かもしれないね。

量子コンピューティングは30年も続いてる詐欺だよ。Googleですら自分たちの量子コンピュータが動くって証明できなかったし、笑っちゃうよ。極端に弱体化したアルゴリズム(2026年に17ビットとか、笑)。

Googleは最近、検証可能な量子アドバンテージを報告しなかったっけ? https://blog.google/innovation-and-ai/technology/research/qu...

17ビットのキーには131072通りの可能性があって、ブートフォースで簡単に解ける。量子コンピュータでこれを打破するのは、物理学のデモンストレーションに過ぎなくて、実用的な計算タスクには全然なってない。

もしかしたら無知かもしれないけど、要するに力任せより早くできるってことじゃないの? 結果が統計的に推測と同じなら、ただのルーブ・ゴールドバーグ装置を作っただけに見えるんだけど。

ここでのポイントは、元の解法の量子コンピュータ部分が何もしていないってこと。全体で実行されているアルゴリズムは実際には量子アルゴリズムじゃなくて、古典的な確率アルゴリズムなんだ。もし量子コンピュータが解法の重要な部分だったら、それをRNGに置き換えたら正しい結果が得られなくなるか、少なくとも正しい結果に収束するのにもっと時間がかかるはず。でも著者は、まったく同じように動くことを示していて、関連する論理はすべて古典的な側にあって、量子コンピュータはただのノイズを提供しているだけだって証明してる。

でも、量子コンピュータの貢献がランダム数生成器と区別がつかないなら、何を示してるの?

これ、2025年の私のsigbovikのエイプリルフール論文の前提そのものだよ:[1] 小さな数の場合、ショアのアルゴリズムはランダムサンプルを与えるとすぐに成功するんだ。そして、回路が長すぎると(量子コンピュータのエラー率を考えると)、量子コンピュータはランダム数生成器を模倣する。だから、「正しいことをする」のは簡単で、間違った理由で成功することもある。これは、小さな因数分解やECDLPのケースが量子コンピューティングの進歩のベンチマークとして悪い理由の一つだよ。プロジェクト11の人たちには、こうなるって警告したんだけど、彼らは真剣に受け止めなかったみたい。[1]: https://sigbovik.org/2025/proceedings.pdf#page=146

このストーリーのサムネイル、ほんと残念な切り取り方だね。

Hacker Newsで議論の続きを見る