我們閱讀並認真對待每一項回饋。
若要查看所有可用的限定符,請參閱我們的文件。
正在測試的聲明:此儲存庫中的 Q-Day Prize 提交項目展示了對 ECDLP 的量子攻擊——具體來說,是利用 IBM 量子硬體對最多 17 位元的曲線進行金鑰恢復。
此分支對 projecteleven.py 進行了單一精確的修補(-29 / +30 行)。該修補將 solve_ecdlp() 中的 IBM 量子後端替換為 os.urandom。其餘所有部分——電路建構、漣漪進位預言機、提取管線、d·G == Q 驗證器——都逐位元組保持不變。
如果量子電腦確實貢獻了可測量的訊號,那麼這種替換應該會破壞金鑰恢復。但事實並非如此。作者自己的 CLI 以與 IBM 硬體運行統計上無法區分的成功率恢復了每一個報告的私鑰。
請參閱 git diff main 以查看完整的 59 行差異。
指令:python projecteleven.py --challenge <N> --shots 8192
完整輸出:urandom_runs/urandom_challenge_4.txt … _10.txt
每一個 d 都與作者報告的硬體結果逐位元組相同。作者各運行了一次。/dev/urandom 也一樣。兩者都「成功」了。
指令:python projecteleven.py --challenge <N> --oracle ripple --shots 20000
完整輸出:urandom_runs/urandom_challenge_16_17_flagship.txt
17 位元的結果是獲得 1 BTC 的那個。/dev/urandom 在筆記型電腦上大約有 40% 的機率可以恢復它。作者在 IBM ibm_fez 上運行了一次,並聲稱是量子結果。
一次 17 位元運行的逐字終端輸出:
在此私鑰恢復過程中,沒有量子電腦受到傷害。
作者的提取方法(ripple_carry_shor.py:197-240,projecteleven.py:264)接收每個 shot 的 (j, k, r),並接受候選值 d_cand = (r − j)·k⁻¹ mod n,前提是它通過了古典驗證器 d_cand · G == Q。
在均勻雜訊下,d_cand 在 [0, n) 上是均勻分佈的,因此:
代入作者自己的 (n, S):
上述的經驗性 urandom 成功率與這些理論值相符。作者的 README 甚至預測了這一點(README.md:210):
「當 shots >> n 時,隨機雜訊本身就能以高機率恢復 d。」
從 4 位元到 10 位元的所有運行,shots / n 的值介於 1.9 倍到 1,170 倍之間。它們都處於作者所識別的古典範疇。
無需 IBM 帳號。無需金鑰。無需量子硬體。無需網路。
此儲存庫中的工程技術(六種預言機變體、映射到重六角形拓撲的 CDKM 漣漪進位加法器、帶有中途測量的半古典相位估計)是真實且非瑣碎的。這裡的批評僅僅針對密碼分析聲明:即這些硬體運行構成了量子電腦的 ECDLP 金鑰恢復。它們並非如此。它們是應用於均勻隨機候選值的古典驗證——完全無需任何量子硬體即可重現,正如本分支直接展示的那樣。