IBM Quantum backend को /dev/urandom से बदलना
(github.com/yuvadm)- केवल IBM Quantum backend को
os.urandomसे बदलने पर भी circuit construction, oracle, extraction pipeline, औरd·G == Qverifier को जस का तस रखते हुए private key recovery दोबारा reproduce की गई - बदलाव की सीमा
projecteleven.pyमें केवल 59 lines changed तक सीमित है; backend execution और result collection हटाकर classical register width के अनुरूप uniform random bitstrings कोshotsकी संख्या जितनी बार बनाकर मौजूदा downstream processing को दिया गया - 4-bit से 10-bit तक
/dev/urandomरन ने रिपोर्ट किए गए hardware results के साथ byte-for-byte identicaldvalues recover किए, और 16-bit व 17-bit में भी क्रमशः 5 में 4 बार और 5 में 2 बार recovery सफल रही - extraction logic हर shot में निकाले गए
d_cand = (r − j)·k⁻¹ mod nको तभी स्वीकार करता है जब वह classical verifier को पार कर जाए; दस्तावेज़ में/dev/urandomकी success rate कोP(≥1 verified hit in S shots) = 1 − (1 − 1/n)^Sसे समझाया गया है - six oracles, heavy-hex mapping, और semiclassical phase estimation जैसी गैर-तुच्छ engineering बनी रहती है, लेकिन दस्तावेज़ की आलोचना केवल cryptanalysis claim तक सीमित है, और यह दिखाती है कि hardware execution के नतीजे quantum recovery नहीं बल्कि classical verification से भी reproduce हो सकते हैं
diff
projecteleven.pyमें कुल बदलाव −29 / +30 lines के पैमाने पर हैं; IBM Quantum service initialization, backend execution, sampler call, और job result collection वाले हिस्से हटाकर random-basedcountsgeneration से बदले गए हैं- जोड़ा गया code circuit की classical register length पढ़ता है, उसी bit-width की uniform random bitstrings को
shotsबार बनाता है, और उन्हेंCounterमें aggregate करके पहले की downstream processing को वैसा ही देता हैnbits = qc.num_clbitsbpb = (nbits + 7) // 8mask = (1 << nbits) - 1- हर shot पर
int.from_bytes(_os.urandom(bpb), "big") & maskसे value बनाई जाती है और फिर उसे निर्धारित width की binary string में बदला जाता है
- पूरे 59-line बदलाव को
git diff mainमें देखा जा सकता है
परिणाम: patch किए गए state में लेखक का CLI run
- वही CLI command ज्यों का त्यों इस्तेमाल करके, hardware की जगह केवल
/dev/urandomसे मिले results के आधार पर private key recovery की जाँच की गई - दस्तावेज़ में दी गई तालिका लेखक द्वारा रिपोर्ट किए गए
dvalues और/dev/urandomसे recover हुएdvalues की सीधी तुलना करती है -
छोटे challenge, प्रत्येक में 1 प्रयास, 8,192 shots
- run command है
python projecteleven.py --challenge <N> --shots 8192 - पूरा output
urandom_runs/urandom_challenge_4.txtसे_10.txtतक जारी है - 4-bit से 10-bit तक हर entry में
/dev/urandomसे recover हुआd, लेखक द्वारा रिपोर्ट किए गए hardware result के byte-for-byte identical है- 4-bit: 6 → 6, पहला प्रयास verification pass
- 6-bit: 18 → 18, पहला प्रयास verification pass
- 8-bit: 103 → 103, पहला प्रयास verification pass
- 9-bit: 135 → 135, पहला प्रयास verification pass
- 10-bit: 165 → 165, पहला प्रयास verification pass
- दस्तावेज़ के अनुसार हर challenge एक-एक बार चलाया गया,
/dev/urandomभी एक-एक बार चलाया गया, और दोनों सफल रहे
- run command है
-
प्रमुख challenge, प्रत्येक में 5 प्रयास, 20,000 shots, ripple-carry oracle
- run command है
python projecteleven.py --challenge <N> --oracle ripple --shots 20000 - पूरा output
urandom_runs/urandom_challenge_16_17_flagship.txtमें संकलित है - 16-bit challenge में लेखक द्वारा रिपोर्ट किया गया
d = 20,248,/dev/urandomने 5 में 4 बार recover किया - 17-bit challenge में लेखक द्वारा रिपोर्ट किया गया
d = 1,441,/dev/urandomने 5 में 2 बार recover किया - दस्तावेज़ में 17-bit result को 1 BTC पाने वाली entry बताया गया है, और लिखा है कि
/dev/urandomने laptop पर लगभग 40% runs में इसे recover किया - दस्तावेज़ में लिखा है कि लेखक ने इस entry को IBM
ibm_fezपर एक बार चलाया और इसे quantum result बताया - 17-bit run का terminal output example भी ज्यों का त्यों शामिल है
- curve:
y^2 = x^3 + 0x + 7 (mod 65647) - group order:
n = 65173 - generator:
G = (12976, 52834) - target point:
Q = (477, 58220) - strategy:
ripple-carry modular addition (CDKM) - backend:
/dev/urandom - classical register width:
49 bits 20000 shotsमेंUnique outcomes: 20000- result:
d = 1441 - verification:
1441*G = (477, 58220) [OK] VERIFIED,[OK] SUCCESS: Recovered correct secret key
- curve:
- run command है
ऐसे परिणाम क्यों आते हैं
- extraction logic
ripple_carry_shor.py:197-240औरprojecteleven.py:264के अनुसार हर shot के(j, k, r)को लेकरd_cand = (r − j)·k⁻¹ mod nनिकालती है, और classical verifierd_cand · G == Qको pass करने पर ही उसे स्वीकार करती है - दस्तावेज़ मानता है कि uniform noise के तहत
d_cand,[0, n)interval पर uniform distribution का पालन करता है, औरSshots में कम-से-कम एक verification success आने की probability को इस formula से लिखता हैP(≥1 verified hit in S shots) = 1 − (1 − 1/n)^S
- इस formula में दस्तावेज़ के
(n, S)values रखने पर/dev/urandomकी सैद्धांतिक success rate इस प्रकार बनती है- 4-bit:
n = 7,shots = 8,192,100.00% - 6-bit:
n = 31,shots = 8,192,100.00% - 8-bit:
n = 139,shots = 8,192,100.00% - 9-bit:
n = 313,shots = 8,192,100.00% - 10-bit:
n = 547,shots = 1,024,84.65% - 16-bit:
n = 32,497,shots = 20,000,45.96% - 17-bit:
n = 65,173,shots = 20,000,26.43%
- 4-bit:
- दस्तावेज़ कहता है कि ऊपर मापी गई
/dev/urandomकी empirical success rate इस theoretical value से मेल खाती है - उसी repository की
README.md:210में यह पंक्ति पहले से मौजूद बताई गई है"When shots >> n, random noise alone can recover d with high probability."
- 4-bit से 10-bit तक हर run में
shots / nratio 1.9× से 1,170× के बीच है, और दस्तावेज़ कहता है कि यह पूरा range उन conditions में आता है जिन्हें लेखक ने स्वयं classical regime के रूप में पहचाना था
पुनरुत्पादन का तरीका
- नीचे की प्रक्रिया से उसी branch और environment में परिणाम reproduce किए जा सकते हैं
git checkout urandom-reproduces-qpuuv venv .venv && . .venv/bin/activateuv pip install qiskit qiskit-ibm-runtime
- run examples इस प्रकार हैं
python projecteleven.py --challenge 4 --shots 8192python projecteleven.py --challenge 10 --shots 8192python projecteleven.py --challenge 17 --oracle ripple --shots 20000 # may need 2-3 tries
- दस्तावेज़ में लिखा है कि IBM account, token, quantum hardware, और network — इनमें से किसी की भी ज़रूरत नहीं है
संकेत और दायरा
- repository की implementation स्वयं वास्तविक और गैर-तुच्छ engineering मानी गई है
- इसमें six oracle variants शामिल हैं
- यह CDKM ripple-carry adder को heavy-hex topology पर map करती है
- यह mid-circuit measurement सहित semiclassical phase estimation का उपयोग करती है
- आलोचना का दायरा केवल cryptanalysis claim तक सीमित है
- दस्तावेज़ का निष्कर्ष यह है कि यह hardware execution quantum computer द्वारा ECDLP key recovery नहीं, बल्कि uniform random candidates पर classical verification है, और यह branch दिखाती है कि वही चीज़ quantum hardware के बिना भी वैसी ही reproduce की जा सकती है
1 टिप्पणियां
Hacker News की राय
इसलिए ऊपर-ऊपर से "सही परिणाम" मिलने पर भी वजह पूरी तरह गलत हो सकती है। इसी कारण छोटे integer factorization या छोटे ECDLP उदाहरण quantum computing की प्रगति मापने के लिए उपयुक्त benchmark नहीं हैं।
मैंने project11 को पहले ही चेतावनी दी थी कि ऐसा होगा। मुझे लगा था कि आखिर में Bitcoin उस व्यक्ति को मिलेगा जो यह तथ्य सबसे अच्छी तरह छिपा दे कि quantum computer ने कोई योगदान ही नहीं दिया, और मुझे यह भी लगा कि submitter खुद भी शायद अपने ही भ्रम में आ गया हो। शायद इसे गंभीरता से नहीं लिया गया।
[1]: https://sigbovik.org/2025/proceedings.pdf#page=146
/dev/urandomसे बदल दिया और key फिर भी recover हो गईपरिचय भी enterprise software, full-stack architecture, cloud native, solution architecture और sales engineering का है, और commit history देखें तो यह लगभग vibe coded जैसा लगता है: https://github.com/GiancarloLelli/quantum
17-bit ECC key recovery आज के classical computer पर brute force से बिल्कुल भी मुश्किल नहीं है
परफ़ेक्ट
हो सकता है मैं कुछ और देख रहा हूँ, लेकिन यह साफ़ तौर पर quan(tumslop) का
tलगता हैयह सचमुच कला है
थोड़ा घिनौना है
हाल की एक और dequantized result भी है: https://arxiv.org/abs/2604.21908
अगर quantum computer अहम होता, तो RNG से बदलने पर या तो सही जवाब नहीं आता या कम से कम convergence धीमी होती। लेकिन नतीजे बिल्कुल वही रहे, तो असली logic पूरी तरह classical side पर थी और QC ने सिर्फ़ noise जोड़ा
अगर नतीजे सांख्यिकीय रूप से guess से अलग नहीं हैं, तो आखिर में यह बस एक जटिल Rube Goldberg machine ही लगती है
ठग लोग किसी मरे हुए पुराने coin को खींच लाते हैं या नया coin बना लेते हैं, फिर उसे खरीदकर या mint करके उसमें ML-DSA जोड़ देते हैं और quantum-safe कहकर प्रचार करते हैं, फिर shitcoin को pump करके dump कर देते हैं
कभी न कभी कम जानकारी वाले retail investor भी समझ जाएँगे, लेकिन सच कहूँ तो अभी यह किस पर चल रहा है, यह भी समझ नहीं आता
Google तक यह साबित नहीं कर पाया कि उसका quantum computer ठीक से काम करता है, और algorithms को भी इतना कमज़ोर करना पड़ रहा है कि बात 17-bit जैसी चीज़ों तक आ गई है
https://blog.google/innovation-and-ai/technology/research/quantum-echoes-willow-verifiable-quantum-advantage/
जगह-जगह किसी अजीब से $10 billion random number generator पर बेहिसाब पैसा झोंकते लोग दिख सकते हैं