ハクソク

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

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

概要

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
このストーリーのサムネイル、ほんと残念な切り取り方だね。
これ、めっちゃ素晴らしい!
> コードと提出の完璧さが含まれている
なんか気持ち悪い。
"QM"への呼び出し回数は実装間で一致してる?
他の記事からコメントを貼り付けるね。これがどれだけ理解できてるのか気になる。---- 記事自体は、ここで何が起こったのかがすごく曖昧でイライラする。最初の印象では、量子コンピュータがランダムノイズを生成するために使われたように見える?それがプライベートキーかどうかをチェックしたってこと?さすがにそれはないよね。GitHubのREADME [0] はかなり詳しいけど、各セクションの詳細を自分だけで理解するにはもっと調べないと無理だ。目を引いたのは、「重要な洞察は、ショアの後処理がノイズに対して頑健であるということ。生のビット列分析ではそうではない。」という部分。「この結果は、古典的なノイズフロアと理論的な量子優位性の間に位置する。n >> shots のような大きなカーブサイズでは、ノイズのベースラインが1%未満に下がり、成功したキー回復は量子計算の強い証拠となる。」ってことなんだけど…ここでの主な主張の一つは、量子ノイズがショアのアルゴリズムに入力されることで、秘密を見つけるために必要な「ショット」(READMEで使われてる言葉)が意味的に少なくなるってことなのかな?誰かこれを理解する手助けをしてくれ。大きな何かを見逃していない限り、これが現実世界でのQ-Dayへの進展とは呼べるかどうかはちょっと疑問だな。0: https://github.com/GiancarloLelli/quantum
「量子グリフティング」が暗号通貨の世界にひどい影響を与えてるね。詐欺師たちは、古い使われていないコインを使ったり、新しいコインを作ったりして、供給を買い占めたり作り出したりして、ML-DSAを付けて「量子安全」だと主張して自分たちのクソコインを売りつけることができる。最終的には、情報が少ない一般の人たちもこれに気づくと思うけど、正直今これが誰に通用するのかはわからないな。