Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
quantum — यह रिपॉजिटरी https://www.projecteleven.com/ द्वारा QDay पुरस्कार चुनौती के लिए कोड और सबमिशन विवरण शामिल करती है। | Kitploit
उपकरण/GitHubGitHub/giancarlolelli/quantum
शोषणक्रिप्टोग्राफीहार्डवेयर सुरक्षापेपर और शोधलर्निंग और शिक्षाबाइनरी शोषण
GitHubgiancarlolelli/quantum

quantum

यह रिपॉजिटरी https://www.projecteleven.com/ द्वारा QDay पुरस्कार चुनौती के लिए कोड और सबमिशन विवरण शामिल करती है।

रिपॉजिटरी देखें
352015 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

Shor का एल्गोरिथम ECDLP के लिए — Q-Day Prize प्रस्तुति

क्वांटम सॉल्वर एलिप्टिक कर्व डिस्क्रीट लॉगरिदम समस्या (ECDLP) के लिए, जो Q-Day Prize Challenge के लिए Project Eleven द्वारा निर्मित है। लक्ष्य: Shor के एल्गोरिथम का उपयोग करके वास्तविक क्वांटम हार्डवेयर पर ECC निजी कुंजियाँ पुनर्प्राप्त करना।

  • लेखक: Giancarlo Lelli
  • संपर्क: [email protected]
  • LinkedIn: https://www.linkedin.com/in/giancarlolelli
  • पृष्ठभूमि: 10+ वर्षों के अनुभव वाले प्रौद्योगिकी नेता, एंटरप्राइज़ सॉफ़्टवेयर, फुल-स्टैक आर्किटेक्चर और क्लाउड-नेटिव डेवलपमेंट में। कंप्यूटर विज्ञान में पृष्ठभूमि, .NET, Python, Rust और Cloud इकोसिस्टम में व्यावहारिक अनुभव। वर्तमान में Cloud GTM विशेषज्ञ के रूप में कार्यरत, समाधान आर्किटेक्चर और सेल्स इंजीनियरिंग पर ध्यान केंद्रित।

दृष्टिकोण

सभी चुनौती वक्र y^2 = x^3 + 7 का उपयोग करते हैं F_p पर (a = 0, b = 7), secp256k1 परिवार से मेल खाते हुए। सॉल्वर ECDLP के लिए Shor के एल्गोरिथम के दो-रजिस्टर वेरिएंट को लागू करता है:

  1. गणना रजिस्टर |j>, |k> को समान अध्यारोपण में तैयार करें (Hadamard)
  2. 2t नियंत्रित बिंदु जोड़ (t = num_counting qubits) के माध्यम से |j>|k>|jG + kQ> की गणना करें
  3. बिंदु रजिस्टर को मापें, इसे किसी समूह तत्व R में संक्षिप्त करें
  4. गणना रजिस्टर पर व्युत्क्रम QFT लागू करें
  5. j, k मापें और संबंध j + kd = r (mod n) से d निकालें

निजी कुंजी d को समूह क्रम n मॉड्यूलो समान रैखिक संबंध को संतुष्ट करने वाले कई (j, k) नमूने एकत्र करके पुनर्प्राप्त किया जाता है। सॉल्वर नियंत्रित बिंदु जोड़ के लिए छह ऑरेकल रणनीतियों का समर्थन करता है, जो वक्र आकार के आधार पर स्वचालित रूप से चुना जाता है या के माध्यम से मैन्युअल रूप से चुना जाता है।

--oracle

ऑरेकल रणनीतियाँ

रणनीति 1: डेंस यूनिटरी (n_bits <= 6 के लिए डिफ़ॉल्ट)

~6 बिट तक के समूह क्रम वाले वक्रों के लिए उपयोग किया जाता है। projecteleven.py में कार्यान्वित।

प्रत्येक नियंत्रित बिंदु जोड़ "add S" को 2^(n+1) x 2^(n+1) क्रमचय मैट्रिक्स के रूप में प्रस्तुत किया जाता है, जिसे qc.unitary() के माध्यम से लागू किया जाता है। मैट्रिक्स पूर्ण समूह क्रिया को एन्कोड करता है: ऊपरी-बाएँ ब्लॉक पहचान है (नियंत्रण=0), निचला-दाएँ ब्लॉक मानचित्र P -> P+S (नियंत्रण=1) के अनुसार आधार अवस्थाओं को क्रमचयित करता है।

  • एन्कोडिंग: समूह सूचकांक (0..n-1)
  • मेमोरी: O(2^{2n}) प्रति मैट्रिक्स
  • क्यूबिट्स: 2t + n (दो गणना रजिस्टर + बिंदु रजिस्टर)
  • सीमा: Qiskit का यूनिटरी अपघटन O(4^n) है, जो ~6-बिट से परे अव्यावहारिक बनाता है

रणनीति 2: कुशल क्रमचय अपघटन (n_bits > 6 के लिए डिफ़ॉल्ट)

बड़े वक्रों के लिए उपयोग किया जाता है। quantum_arithmetic.py में कार्यान्वित।

घने मैट्रिक्स बनाने के बजाय, प्रत्येक "add S" क्रमचय को ट्रांसपोज़िशन में चक्र-विघटित किया जाता है। प्रत्येक ट्रांसपोज़िशन (दो आधार अवस्थाओं |a> <-> |b> की अदला-बदली) को लागू किया जाता है:

  1. CNOT कमी -- पिवट बिट से अन्य सभी भिन्न बिट्स तक CNOT, मल्टी-बिट अंतर को एकल-बिट अंतर में कम करता है
  2. मल्टी-नियंत्रित X -- पिवट बिट पर एक MCX गेट, लक्ष्य पैटर्न से मेल खाने वाले अन्य सभी बिट्स पर शर्त लगाता है
  3. CNOT को पूर्ववत करें -- गैर-पिवट बिट्स को बहाल करने के लिए चरण 1 को उल्टा करें

MCX समर्पित एंसिला क्वबिट्स के साथ V-चेन अपघटन का उपयोग करता है, जो एंसिला के बिना O(n^2) की तुलना में प्रति MCX O(n) Toffoli गेट देता है। प्रत्येक नियंत्रित जोड़ को एक पृथक उप-सर्किट के रूप में बनाया गया है और एक एकल अपारदर्शी गेट के रूप में जोड़ा गया है, Qiskit में द्विघात DAG वृद्धि से बचा।

  • एन्कोडिंग: समूह सूचकांक (0..n-1)
  • मेमोरी: O(N) प्रति जोड़ (N = समूह क्रम)
  • क्यूबिट्स: 2t + n + (n-2) एंसिला
  • गेट प्रति जोड़: O(N * n)

रणनीति 3: निर्देशांक-आधारित क्वांटम ऑरेकल (--oracle coordinate)

~6-बिट तक के वक्रों के लिए उपलब्ध। quantum_oracle.py में कार्यान्वित।

समूह सूचकांक के रूप में बिंदुओं को एन्कोड करने के बजाय, क्वांटम रजिस्टर बाइनरी में वास्तविक (x, y) फ़ील्ड-तत्व निर्देशांक और एक पहचान फ़्लैग रखता है। बिंदु रजिस्टर लेआउट है:

  • x_reg: f_bits क्वबिट्स (f_bits = ceil(log2(p)))
  • y_reg: f_bits क्वबिट्स
  • id_flag: 1 क्वबिट (1 = अनंत पर बिंदु)

प्रत्येक नियंत्रित "add S" की गणना सभी मान्य निर्देशांक एन्कोडिंग पर EC जोड़ सूत्र से की जाती है, जो निर्देशांक रजिस्टर पर एक क्रमचय उत्पन्न करता है। इस क्रमचय को रणनीति 2 के समान CNOT-कमी + MCX बुनियादी ढाँचे का उपयोग करके ट्रांसपोज़िशन में चक्र-विघटित किया जाता है।

  • एन्कोडिंग: (x, y, id_flag) निर्देशांक
  • क्यूबिट्स: 2t + 2f_bits + 1 + max(0, 2f_bits - 1) एंसिला
  • गेट प्रति जोड़: O(N * f_bits)

रणनीति 4: अंकगणितीय ऑरेकल (--oracle arithmetic)

बहुपद-स्केलिंग बिंदु जोड़ के लिए ढाँचा। quantum_oracle.py और quantum_arithmetic.py में कार्यान्वित।

पूर्ण अंकगणितीय बिंदु जोड़ की ओर निर्माण खंड के रूप में QFT-आधारित मॉड्यूलर अंकगणितीय प्रिमिटिव के साथ निर्देशांक एन्कोडिंग (रणनीति 3 के समान) का उपयोग करता है। कोडबेस में कार्यान्वित और परीक्षित शामिल हैं:

  • Beauregard मॉड्यूलर एडर -- QFT-आधारित (लक्ष्य + स्थिरांक) mod p उचित एंसिला अनकंप्यूट के साथ
  • क्वांटम-क्वांटम मॉड्यूलर गुणा -- |a>|b>|0> -> |a>|b>|a*b mod p> शिफ्ट-एंड-एड और स्पष्ट मॉड्यूलर दोगुना, O(n^3) गेट
  • मॉड्यूलर व्युत्क्रम क्रमचय -- |x> -> |x^{-1} mod p> लुकअप टेबल ट्रांसपोज़िशन के माध्यम से
  • नियंत्रित क्वांटम-क्वांटम मॉड्यूलर जोड़ -- नियंत्रित |a> -> |a + b mod p> Beauregard कमी के साथ

अंकगणितीय प्रिमिटिव प्रति बिंदु जोड़ O(n^3) स्केलिंग प्राप्त करते हैं जबकि क्रमचय दृष्टिकोण O(N*n) होता है। हालाँकि, QFT-आधारित संचालन ~150x बड़ा स्थिरांक कारक रखते हैं, जिससे अंकगणितीय दृष्टिकोण केवल ~20-बिट समूह क्रम से ऊपर के वक्रों के लिए अधिक कुशल होता है। वर्तमान चुनौती आकारों (12-बिट तक) के लिए, क्रमचय-आधारित एडर तेज़ रहता है और डिफ़ॉल्ट रूप से उपयोग किया जाता है।

रणनीति 5: Google अर्ध-शास्त्रीय चरण अनुमान (--oracle google)

google_semiclassical.py में कार्यान्वित। Griffiths & Niu (1996) से क्विट-रीसाइकल फेज़ एस्टीमेशन तकनीक से प्रेरित, Babbush et al. (2026) में secp256k1 ECDLP संसाधन अनुमानों के लिए स्केल पर लागू। Babbush et al. पेपर 30 मार्च, 2026 को प्रकाशित हुआ था।

दो मल्टी-क्विट गणना रजिस्टर (j, k) और बल्क व्युत्क्रम QFT को दो एकल रीसाइकल क्वबिट्स और शास्त्रीय रूप से वातानुकूलित चरण सुधारों से बदलता है। प्रत्येक गणना रजिस्टर बिट को क्रमिक रूप से संसाधित किया जाता है: |+> में तैयार करें, नियंत्रित बिंदु जोड़ लागू करें, पहले मापे गए सभी बिट्स के आधार पर चरण सुधारें, फिर मापें। Qiskit में reset और if_test डायनामिक सर्किट प्रिमिटिव IBM क्वांटम हार्डवेयर पर इसे सक्षम करते हैं।

नियंत्रित बिंदु जोड़ के लिए ऑरेकल मौजूदा बुनियादी ढाँचे (<= 6-बिट के लिए डेंस यूनिटरी, > 6-बिट के लिए कुशल क्रमचय) को सौंपा गया है, इसलिए क्विट बचत पूरी तरह से गणना रजिस्टरों को समाप्त करने से आती है।

Curve sizeStandard qubitsSemiclassical qubitsSavingsHardware verified
4-bit (n=7)11555%Yes
6-bit (n=31)17759%Yes
7-bit (n=79)26 + anc1446%Yes
8-bit (n=139)25 + anc10 + anc60%No (QPU sync overhead)
10-bit (n=547)31 + anc12 + anc61%No (QPU sync overhead)
  • एन्कोडिंग: अंतर्निहित रणनीति के समान (समूह सूचकांक)
  • क्यूबिट्स: 2 + n_bits + एंसिला (बनाम 2t + n_bits + एंसिला)
  • ट्रेड-ऑफ़: गतिशील सर्किट की आवश्यकता होती है (मध्य-सर्किट माप, रीसेट, शास्त्रीय रूप से वातानुकूलित गेट)। 7-बिट तक IBM Heron r2 पर काम करता है; 8-बिट+ पर शास्त्रीय फीडबैक सिंक्रोनाइज़ेशन ओवरहेड QPU समय बजट से अधिक हो जाता है

रणनीति 6: रिपल-कैरी मॉड्यूलर एडिशन (--oracle ripple)

ripple_carry_shor.py में कार्यान्वित। नियंत्रित बिंदु जोड़ के लिए CDKM रिपल-कैरी एडर्स (Cuccaro et al. 2004) का उपयोग करता है, जो डेंस यूनिटरी मैट्रिसेस और चक्र-विघटित ट्रांसपोज़िशन सर्किट दोनों को प्रतिस्थापित करता है।

समूह-सूचकांक एन्कोडिंग में, बिंदु P = kG को चक्रीय समूह में इसके सूचकांक k द्वारा दर्शाया जाता है। S = sG जोड़ना शास्त्रीय स्थिरांक s का मॉड्यूलर जोड़ (mod n) बन जाता है। मुख्य अंतर्दृष्टि: प्रत्येक नियंत्रित बिंदु जोड़ ज्ञात स्थिरांक के एक नियंत्रित मॉड्यूलर जोड़ में कम हो जाता है, जो Qiskit के CDKMRippleCarryAdder और IntegerComparator के माध्यम से कार्यान्वित होता है।

ऑरेकल में 2m नियंत्रित मॉड्यूलर जोड़ (प्रति गणना रजिस्टर m) होते हैं, जहाँ प्रत्येक नियंत्रित मॉड-एड प्रदर्शन करता है:

  1. स्थिरांक लोड करें नियंत्रण क्विट से CX के माध्यम से एंसिला रजिस्टर में
  2. CDKM आधा-एडर एंसिला को संचायक में जोड़ने के लिए (केवल निकटतम-पड़ोसी गेट)
  3. Integer comparator ओवरफ़्लो का पता लगाने के लिए (acc >= n)
  4. घटाव की सशर्त फ़्लैग-नियंत्रित 2^m1 - n के जोड़ के माध्यम से
  5. फ़्लैग अनकंप्यूट कैरी-आधारित प्रोबिंग के माध्यम से

सर्किट निर्माण में निजी कुंजी d के किसी ज्ञान का उपयोग नहीं किया जाता है। G-शक्तियों के लिए समूह सूचकांक की गणना 2^i mod n (सार्वजनिक) के रूप में की जाती है। Q-शक्तियों के लिए समूह सूचकांक G द्वारा उत्पन्न चक्रीय समूह के सार्वजनिक गणना से प्राप्त होते हैं — बिंदु Q इस गणना में देखा जाता है।

  • एन्कोडिंग: समूह सूचकांक (0..n-1)
  • क्यूबिट्स: 4m + 5 जहाँ m = ceil(log2(n))
  • गेट प्रति जोड़: O(m) CDKM संचालन, प्रत्येक O(m) CX गेट
  • कुल CX स्केलिंग: O(m^3)
  • हार्डवेयर मैपिंग: CDKM केवल निकटतम-पड़ोसी गेट का उपयोग करता है, IBM भारी-हेक्स टोपोलॉजी पर ~1x रूटिंग ओवरहेड देता है (QFT-आधारित एडर्स के लिए 26-33x बनाम)
Curve sizeQubits2Q Gates (transpiled)Hardware verified
4-bit (n=7)171,824Yes (simulation)
8-bit (n=139)3711,224—
10-bit (n=547)4517,204—
12-bit (n=2143)5324,304—
16-bit (n=32497)6598,049Yes
17-bit (n=65173)69111,816Yes

तुलना

MetricDense UnitaryEfficient PermutationCoordinate OracleArithmetic OracleSemiclassical PERipple-Carry
Point encodingGroup indexGroup index(x, y, id_flag)(x, y, id_flag)Group indexGroup index
Scaling per additionO(4^n) decomp.O(N * n)O(N * f_bits)O(n^3) asymptoticO(N * n)O(m^2)
Qubits (4-bit)11132424517
Qubits (6-bit)17213636925
2Q gates (4-bit)774~1,2006,4496,449~1,2001,824
2Q gates (6-bit)23,471~38,00095,25495,254~38,0004,582
Practical range<= 6-bit<= ~16-bit<= 6-bit>= 20-bit (future)<= ~16-bit<= ~20-bit

QFT अंकगणितीय प्रिमिटिव

कोडबेस में 256-बिट पर पूर्ण अंकगणितीय निर्देशांक-एन्कोडिंग की ओर आधार के रूप में QFT-आधारित मॉड्यूलर अंकगणितीय निर्माण खंड (Beauregard/Draper एडर्स, क्वांटम-क्वांटम मॉड्यूलर गुणा, मॉड्यूलर व्युत्क्रम/निषेध) शामिल हैं। ये प्रिमिटिव p=13 तक के प्राइम के लिए स्टेटवेक्टर सिमुलेशन के माध्यम से सही सत्यापित किए गए हैं।

परिणाम

17-बिट तक के चुनौती वक्रों के लिए IBM क्वांटम हार्डवेयर पर निजी कुंजियाँ सफलतापूर्वक पुनर्प्राप्त की गईं:

ChallengepnStrategyQubits2Q GatesTranspiled DepthShotsBackendRecovered dJob ID
4-bit137Dense unitary117742,4258,192ibm_torino6d73u28kvllmc73anvi90
4-bit137Coordinate oracle246,44913,1258,192ibm_kingston6d74ht798qmgc73fm32c0
4-bit137Arithmetic oracle246,47713,4528,192ibm_torino6d75648lbjrds73ec0eng
4-bit137Semiclassical PE57472,522256ibm_kingston6d75p1ftbjrds73ecne3g
6-bit4331Dense unitary1723,47172,4758,192ibm_torino18d73u2l5koquc73e24u8g
6-bit4331Coordinate oracle3695,254169,7668,192ibm_kingston18d74hu918qmgc73fm33g0
6-bit4331Semiclassical PE723,25673,183256ibm_kingston18d75p1unq1anc738cmr6g
7-bit6779Semiclassical PE14127,918266,122256ibm_kingston56d75p3sq3qcgc73fs2fpg
8-bit163139Efficient permutation32294,628599,5178,192ibm_kingston103d73ui15koquc73e25e4g
9-bit349313Efficient permutation36887,5441,764,2668,192ibm_torino135d73ua2h8qmgc73flei9g
10-bit547547Efficient permutation

सभी रन IBM क्वांटम ओपन-इंस्टेंस प्लान पर निष्पादित किए गए, जो प्रति माह 10 मिनट मुफ्त क्वांटम कंप्यूटेशन प्रदान करता है। पूर्ण निष्पादन लॉग executions/ फ़ोल्डर में हैं।

रिपल-कैरी रणनीति (रणनीति 6) ने एक बड़ी छलांग सक्षम की: 10-बिट (40 क्वबिट्स, 2M गेट) से 17-बिट (69 क्वबिट्स, 112K गेट) तक — 18x दो-क्वबिट गेट गणना में कमी के साथ 7-बिट कुंजी आकार में वृद्धि। CDKM ऐडर की निकटतम-पड़ोसी गेट संरचना IBM के भारी-हेक्स टोपोलॉजी पर कुशलतापूर्वक मैप होती है, रूटिंग ओवरहेड को ~1x के पास रखती है।

अर्ध-शास्त्रीय PE: IBM हार्डवेयर पर गतिशील सर्किट

अर्ध-शास्त्रीय रणनीति (--oracle google) ने IBM Heron r2 प्रोसेसर पर गतिशील सर्किट (मध्य-सर्किट reset, शास्त्रीय रूप से वातानुकूलित p गेट if_test के माध्यम से) का उपयोग करके 4-बिट, 6-बिट और 7-बिट पर कुंजियाँ सफलतापूर्वक पुनर्प्राप्त कीं। 7-बिट पर, सर्किट केवल 14 क्वबिट्स (मानक क्रमचय दृष्टिकोण के लिए 26 बनाम) का उपयोग करता है, जबकि ट्रांसपाइलेशन के बाद तुलनीय 2Q गेट गणना उत्पन्न करता है।

8-बिट और उससे ऊपर, अर्ध-शास्त्रीय दृष्टिकोण वर्तमान IBM हार्डवेयर पर अव्यावहारिक हो जाता है। यद्यपि if_else और reset Heron r2 पर समर्थित हैं (बैकएंड लक्ष्य निरीक्षण के माध्यम से पुष्टि की गई), प्रत्येक शास्त्रीय फीडबैक बिंदु पर पूर्ण QPU सिंक्रोनाइज़ेशन की आवश्यकता होती है — सभी 156 भौतिक क्वबिट्स को निष्क्रिय रहना चाहिए जबकि शास्त्रीय नियंत्रक ~16 सक्रिय क्वबिट्स के लिए सशर्त प्रक्रिया करता है। 16+ फीडबैक बिंदुओं पर विभाजित ~295K CZ गेट के साथ, प्रति-शॉट निष्पादन ओवरहेड QPU समय बजट से अधिक हो जाता है। मानक क्रमचय दृष्टिकोण, जो समान गेट गणना को गतिशील सर्किट के बिना एक ही सतत बैच के रूप में चलाता है, इस पैमाने पर सफलतापूर्वक पूरा होता है।

एक अनुमानित QFT ट्रंकेशन (max_corrections पैरामीटर) if_else ब्लॉकों की संख्या को O(n^2) से O(n) तक कम करता है, प्रति माप चरण निकटतम k चरण सुधारों को बनाए रखते हुए (k से परे कोण हार्डवेयर शोर फ़्लोर से नीचे, < pi/2^{k+1} योगदान करते हैं)। max_corrections=1 के साथ, 8-बिट सर्किट में 16 if_else ब्लॉक हैं — फिर भी इस गेट गणना पर IBM हार्डवेयर पर टाइमआउट का कारण बनने के लिए पर्याप्त है।

शोर और निष्ठा विश्लेषण

अनुमानित सर्किट निष्ठा

लगभग ~99.5% की विशिष्ट IBM क्वांटम दो-क्वबिट (CX) गेट निष्ठा मानते हुए, अनुमानित सर्किट निष्ठा गेट गणना के साथ घातांकीय रूप से गिरती है:

ChallengeStrategy2Q GatesEst. Circuit FidelityUnique OutcomesTotal ShotsSignal Regime
4-bitDense774~2.1%1,869 / 2,0488,192Weak signal
6-bitDense23,471~10^{-51}3,776 / 131,0728,192Noise-dominated
8-bitPermutation294,628~10^{-644}8,128 / 4.3B8,192Noise-dominated
9-bitPermutation887,544~10^{-1,939}8,168 / 68.7B8,192Noise-dominated
10-bitPermutation2,049,138~10^{-4,477}1,024 / 1.1T1,024Noise-dominated
16-bitRipple-carry98,049~10^{-214}20,000 / 2^6520,000Noise-dominated
17-bitRipple-carry111,816~10^{-244}20,000 / 2^6920,000Noise-dominated

सर्किट निष्ठा की गणना F ≈ (0.995)^{CX_count} के रूप में की जाती है। 4-बिट से परे सब कुछ के लिए, अनुमानित निष्ठा खगोलीय रूप से छोटी है — आउटपुट वितरण अत्यधिक शोर-प्रभावित है।

यह अभी भी क्यों काम करता है

8-बिट और उससे ऊपर के लिए, प्रत्येक शॉट लगभग अद्वितीय बिटस्ट्रिंग उत्पन्न करता है (8,192 शॉट्स में से 8,128 अद्वितीय परिणाम 8-बिट पर; 16-बिट और 17-बिट पर सभी 20,000 अद्वितीय)। आउटपुट बिटस्ट्रिंग स्तर पर समान यादृच्छिक नमूने से अप्रभेद्य है। फिर भी एल्गोरिथम अभी भी सही निजी कुंजी को पुनर्प्राप्त करता है।

मुख्य अंतर्दृष्टि यह है कि Shor का पोस्ट-प्रोसेसिंग शोर के प्रति मजबूत है, जैसा कि कच्चा बिटस्ट्रिंग विश्लेषण नहीं है। प्रत्येक शॉट एक (j, k, r) माप ट्रिपल उत्पन्न करता है। निष्कर्षण d_cand = (r - j) · k^{-1} mod n की गणना करता है और d_cand · G == Q के माध्यम से सत्यापित करता है। केवल सच्चा d EC सत्यापन पास करता है, इसलिए हजारों शोर शॉट्स के बीच एक भी सही उम्मीदवार पर्याप्त है।

एक विशुद्ध यादृच्छिक (j, k, r) ट्रिपल ~1/n संभावना के साथ सही d_cand उत्पन्न करता है। S शॉट्स के साथ, अकेले शोर से सत्यापित हिट की अपेक्षित संख्या ~S/n है। 17-बिट (n=65,173, S=20,000) पर, यह ~0.3 अपेक्षित शोर हिट देता है — इस पैमाने पर कोई भी सफल पुनर्प्राप्ति शास्त्रीय शोर फ़्लोर से परे क्वांटम सिग्नल का सबूत प्रदान करती है।

छोटे वक्रों के लिए जहाँ शॉट्स >> n (जैसे, 547 के n और 1,024 शॉट्स के साथ 10-बिट), शोर फ़्लोर ~1,024/547 ≈ 1.9 वोट प्रति उम्मीदवार है। यहां तक कि मुट्ठी भर सिग्नल-युक्त शॉट्स सही d को शोर फ़्लोर से ऊपर धकेलते हैं। यह बताता है कि कैसे एल्गोरिथम सर्किट निष्ठाओं के बावजूद सफल होता है जो गणना को असंभव बना देंगे।

क्वांटम सिग्नल बनाम शास्त्रीय शोर

खिलौना पैमाने पर, निष्कर्षण का सत्यापन चरण (d_cand * G == Q) एक फिल्टर के रूप में कार्य करता है जो केवल सच्चे d को स्वीकार करता है। इसका मतलब है कि यहां तक कि विशुद्ध यादृच्छिक (j, k, r) ट्रिपल प्रति रन लगभग shots / n की दर से मान्य उम्मीदवार उत्पन्न करेंगे। जब shots >> n होता है, तो अकेले यादृच्छिक शोर उच्च संभावना के साथ d को पुनर्प्राप्त कर सकता है।

यह परीक्षण करने के लिए कि क्या क्वांटम सर्किट इस शास्त्रीय शोर फ़्लोर से परे सिग्नल का योगदान करता है, हमने ibm_kingston पर 6-बिट चुनौती (n=31) को केवल 8 शॉट्स (समूह क्रम से काफी नीचे) के साथ 10 बार चलाया:

RunJob IDResult
1d75qrrq3qcgc73fs4hn0FAIL
2d75qs3e8faus73f0ep6gFAIL
3d75qsafq1anc738coujgFAIL
4d75qsie8faus73f0eplgd = 18
5d75qsq23qcgc73fs4ingd = 18
6d75qt168faus73f0eq50FAIL
7d75qt7vq1anc738covf0d = 18
8d75qthu8faus73f0eqmgFAIL
9d75qtodbjrds73ecpk80d = 18
10d75qtvi3qcgc73fs4jsgFAIL

परिणाम: 4/10 सफलताएँ (40%) बनाम ~20% की शास्त्रीय शोर आधार रेखा (मोंटे कार्लो सिमुलेशन के माध्यम से गणना: सत्यापन के माध्यम से फ़िल्टर किए गए (r-j)*k_inv mod 31 के साथ 8 यादृच्छिक बिटस्ट्रिंग)। एक-पूंछ वाला द्विपद परीक्षण: P(X >= 4 | n=10, p=0.20) = 0.121, शोर फ़्लोर पर 2x सुधार का संकेत देता है। हालांकि व्यक्तिगत रूप से p < 0.05 (जिसके लिए 5+ सफलताओं की आवश्यकता होगी) पर सांख्यिकीय रूप से महत्वपूर्ण नहीं है, देखी गई दर यादृच्छिक मौका प्रदान करने से परे प्रति रन लगभग 1-2 अतिरिक्त मान्य (j, k) जोड़े का योगदान करने वाले क्वांटम सिग्नल के अनुरूप है।

यह परिणाम शास्त्रीय शोर फ़्लोर और सैद्धांतिक क्वांटम लाभ क्षेत्र के बीच बैठता है। बड़े वक्र आकारों पर जहाँ n >> शॉट्स होता है, शोर आधार रेखा 1% से नीचे गिर जाती है और कोई भी सफल कुंजी पुनर्प्राप्ति क्वांटम गणना का मजबूत सबूत बन जाती है।

त्वरित प्रारंभ```bash

git clone https://github.com/GiancarloLelli/quantum.git cd quantum

python -m venv . Scripts\Activate.ps1 # For Windows only

pip install -r requirements.txt

root@kitploit:~
### कैसे चलाएं

आपको एक [IBM Quantum](https://quantum.ibm.com/) खाते की आवश्यकता है। पहली बार चलाने पर अपना API टोकन दें और यह स्थानीय रूप से सहेज लिया जाएगा:```bash
# Solve the 4-bit challenge curve:
python projecteleven.py --challenge 4 --token YOUR_IBM_TOKEN --backend ibm_marrakesh

# Subsequent runs (token already saved):
python projecteleven.py --challenge 4 --backend ibm_marrakesh

# Use the coordinate-based quantum oracle:
python projecteleven.py --challenge 4 --oracle coordinate --backend ibm_marrakesh

# Use the arithmetic oracle (coordinate encoding + QFT primitives):
python projecteleven.py --challenge 4 --oracle arithmetic --backend ibm_marrakesh

# Use ripple-carry modular addition (CDKM — best for 8-bit+):
python projecteleven.py --challenge 16 --oracle ripple --backend ibm_fez --shots 20000

# Use Google semiclassical phase estimation (qubit-recycled):
python projecteleven.py --challenge 4 --oracle google --backend ibm_marrakesh

# Use a specific IBM Quantum instance:
python projecteleven.py --challenge 4 --instance ibm-q/open/main --backend ibm_marrakesh

# Verify curve parameters without quantum execution:
python projecteleven.py --curve curve_4 --verify-only

CLI Options

फ़्लैगविवरणडिफ़ॉल्ट
--challenge NN-बिट चैलेंज वक्र को हल करें input_curves.json से—
--curve NAMEएक अंतर्निर्मित परीक्षण वक्र का उपयोग करें (curve_4)—
--token TOKENIBM Quantum API टोकन (पहली बार उपयोग पर स्थानीय रूप से सहेजा जाता है)—
--backend NAMEIBM Quantum बैकएंडibm_marrakesh
--instance IDIBM Quantum इंस्टेंसopen-instance
--shots Nमाप शॉट्स की संख्या8192
--oracle TYPEOracle रणनीति: dense, permutation, coordinate, arithmetic, google, या rippleauto
--optimization-level NQiskit ट्रांसपिलेशन ऑप्टिमाइज़ेशन स्तर (0-3)3
--d Nपरीक्षण के लिए ज्ञात गुप्त कुंजी (--curve के साथ)—
--verify-onlyवक्र पैरामीटर सत्यापित करें और बाहर निकलें—

प्रोजेक्ट संरचना```

projecteleven.py # Shor solver — dense unitary approach + CLI entry point quantum_arithmetic.py # Efficient permutation decomposition + QFT arithmetic primitives quantum_oracle.py # Coordinate-based oracle + arithmetic oracle framework google_semiclassical.py # Google semiclassical PE — qubit-recycled phase estimation ripple_carry_shor.py # Ripple-carry modular addition oracle (CDKM) — best for 8-bit+ input_curves.json # Challenge curves (4-bit to 30-bit) problem/curves.py # Curve generation utility requirements.txt # qiskit, qiskit-ibm-runtime

root@kitploit:~
## सन्दर्भ

- P. Shor, ["क्वांटम गणना के लिए एल्गोरिथम: असतत लघुगणक और गुणनखंडन"](https://arxiv.org/abs/quant-ph/9508027) (1994)
- S. Beauregard, ["2n+3 क्विबिट का उपयोग करके शोर के एल्गोरिथम के लिए सर्किट"](https://arxiv.org/abs/quant-ph/0205095) (2003)
- S. A. Cuccaro, T. G. Draper, S. A. Kutin, D. P. Moulton, ["एक नया क्वांटम रिपल-कैरी योग सर्किट"](https://arxiv.org/abs/quant-ph/0410184) (2004)
- M. Roetteler, M. Naehrig, K. Svore, K. Lauter, ["अण्डाकार वक्र असतत लघुगणक की गणना के लिए क्वांटम संसाधन अनुमान"](https://arxiv.org/abs/1706.06752) (2017)
- R. Griffiths, C.-S. Niu, ["क्वांटम गणना के लिए अर्धशास्त्रीय फूरियर रूपांतरण"](https://arxiv.org/abs/quant-ph/9511007) (1996)
- R. Babbush et al., ["क्वांटम कमजोरियों के विरुद्ध अण्डाकार वक्र क्रिप्टोकरेंसी को सुरक्षित करना: संसाधन अनुमान और शमन"](https://quantumai.google/static/site-assets/downloads/cryptocurrency-whitepaper.pdf) (2026)

## लाइसेंस

यह प्रोजेक्ट Q-Day Prize Challenge के लिए एक सबमिशन है, जो [MIT LICENSE](https://github.com/giancarlolelli/quantum/blob/main/LICENSE) के तहत जारी किया गया है।
टूल डाउनलोड करें
40
2,049,138
3,948,250
1,024
ibm_torino
165
d752vfu8faus73evhovg
16-bit32,80332,497Ripple-carry6598,049202,99420,000ibm_fez20,248d790j2hq1efs73d2979g
17-bit65,64765,173Ripple-carry69111,816231,47520,000ibm_fez1,441d790krrc6das739idasg