
حلال كمومي لمسألة اللوغاريتم المتقطع للمنحنى الإهليلجي باستخدام خوارزمية شور، مع تنفيذ استراتيجيات متعددة للأوراكل لاستعادة المفاتيح الخاصة لـ ECC على أجهزة كمومية حقيقية.
حل كمومي لمسألة اللوغاريتم المتقطع للمنحنى الإهليلجي (ECDLP)، مبني لتحدي جائزة Q-Day بواسطة Project Eleven. الهدف: استعادة المفاتيح الخاصة لـ ECC على عتاد كمومي حقيقي باستخدام خوارزمية شور.
جميع منحنيات التحدي تستخدم y^2 = x^3 + 7 فوق F_p (a = 0, b = 7)، مطابقة لعائلة secp256k1. ينفذ الحل المتغير ذو المسجلين لخوارزمية شور لـ ECDLP:
يتم استعادة المفتاح الخاص d عن طريق جمع عينات متعددة من (j, k) تحقق نفس العلاقة الخطية بترتيب المجموعة n. يدعم الحل ست استراتيجيات أوراكل لعمليات الجمع النقطية المُحكمة، تُختار تلقائيًا بناءً على حجم المنحنى أو يدويًا عبر --oracle.
تُستخدم للمنحنيات ذات ترتيب مجموعة يصل إلى ~6 بت. مُنفذة في projecteleven.py.
كل عملية "add S" نقطية مُحكمة يتم تمثيلها كمصفوفة تبديل 2^(n+1) x 2^(n+1) تُطبق عبر qc.unitary(). المصفوفة ترمز لفعل المجموعة الكامل: الكتلة العلوية اليسرى هي المحايد (control=0)، الكتلة السفلية اليمنى تبدل حالات الأساس وفقًا للخريطة P -> P+S (control=1).
تُستخدم للمنحنيات الأكبر. مُنفذة في quantum_arithmetic.py.
بدلاً من بناء مصفوفات كثيفة، يتم تحليل كل تبديل "add S" إلى دورات ثم إلى تباديل ثنائية. كل تبادل ثنائي (تبديل حالتين أساسيتين |a> <-> |b>) يُنفذ باستخدام:
يستخدم MCX تحليل V-chain مع (n-2) كيوبتات مساعدة مخصصة، مما يعطي O(n) بوابات Toffoli لكل MCX بدلاً من O(n^2) بدون مساعدات. تُبنى كل عملية جمع محكمة كـ دارة فرعية معزولة وتُضاف كبوابة واحدة معتمة، متجنبة النمو التربيعي لـ DAG في Qiskit.
--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" محكمة من صيغة الجمع على المنحنى الإهليلجي عبر جميع ترميزات الإحداثيات الصالحة، منتجة تبديلاً على مسجل الإحداثيات. يُحلل هذا التبديل إلى تباديل ثنائية باستخدام نفس بنية تقليل CNOT + MCX كما في الاستراتيجية 2.
--oracle arithmetic)إطار لجمع النقاط ذو مقياس متعدد الحدود. مُنفذة في quantum_oracle.py و quantum_arithmetic.py.
يستخدم ترميز الإحداثيات (نفس الاستراتيجية 3) مع أساسيات حسابية معيارية مبنية على QFT كخطوات بناء نحو جمع نقاط حسابي كامل. تشمل قاعدة الكود تطبيقات مختبرة لـ:
تحقق الأساسيات الحسابية مقياس O(n^3) لكل جمع نقطي مقابل O(N*n) لنهج التبديل. ومع ذلك، تحمل العمليات المبنية على QFT عامل ثابت أكبر بحوالي 150x، مما يجعل النهج الحسابي أكثر كفاءة فقط للمنحنيات التي يزيد ترتيب مجموعتها عن ~20 بت. لأحجام التحدي الحالية (حتى 12 بت)، يبقى المُجمع القائم على التبديل أسرع ويُستخدم افتراضيًا.
--oracle google)مُنفذة في google_semiclassical.py. مستوحاة من تقنية إعادة تدوير الكيوبت لتقدير الطور من Griffiths & Niu (1996)، المطبقة على نطاق واسع في Babbush et al. (2026) لتقديرات موارد ECDLP secp256k1. نُشرت ورقة Babbush et al. في 30 مارس 2026.
تستبدل مسجلي العد متعددي الكيوبت (j, k) وتحويل فورييه الكمومي العكسي الضخم بـ كيوبتين معاد تدويرهما مفردين وتصحيحات طور مشروطة كلاسيكيًا. تُعالج كل بتة من مسجل العد بالتسلسل: تحضر في |+>، تطبق جمع نقطي محكم، تصحح الطور بناءً على جميع البتات المقاسة سابقًا، ثم تقيس. تتيح أساسيات الدارة الديناميكية reset + if_test في Qiskit ذلك على عتاد IBM Quantum.
يتم تفويض الأوراكل لعمليات الجمع النقطية المُحكمة إلى البنية الأساسية الحالية (وحدة كثيفة لـ <= 6 بت، تبديل فعال لـ > 6 بت)، لذا فإن توفير الكيوبتات يأتي بالكامل من إلغاء مسجلي العد.
--oracle ripple)مُنفذة في ripple_carry_shor.py. تستخدم جامعات ripple-carry CDKM (Cuccaro et al. 2004) لعمليات الجمع النقطية المُحكمة، مستبدلةً كلاً من مصفوفات الوحدة الكثيفة ودوائر التبديل المحللة إلى دورات.
في ترميز فهرس المجموعة، النقطة P = kG ممثلة بفهرسها k في المجموعة الدائرية. إضافة S = sG تصبح جمعًا معياريًا للثابت الكلاسيكي s (mod n). الفكرة الرئيسية: كل عملية جمع نقطية محكمة تختزل إلى عملية جمع معياري محكم واحد لثابت معروف، يتم تنفيذه عبر CDKMRippleCarryAdder و IntegerComparator من Qiskit.
يتكون الأوراكل من 2m من عمليات الجمع المعياري المُحكمة (m لكل مسجل عد)، حيث يؤدي كل جمع معياري محكم ما يلي:
لا يُستخدم أي معرفة بالمفتاح الخاص d في بناء الدارة. يتم حساب فهارس المجموعة لقوى G كـ 2^i mod n (عامة). يتم اشتقاق فهارس المجموعة لقوى Q من التعداد العام للمجموعة الدائرية المولدة بواسطة G — يتم البحث عن النقطة Q في هذا التعداد.
تتضمن قاعدة الكود أساسيات حسابية معيارية مبنية على QFT (جامعات Beauregard/Draper، ضرب كمومي-كمومي معياري، مقلوب/نفي معياري) كأساس نحو ترميز إحداثي كامل عند 256 بت. تم التحقق من صحة هذه الأساسيات عبر محاكاة Statevector للأعداد الأولية حتى p=13.
تم استعادة المفاتيح الخاصة بنجاح على عتاد IBM Quantum لمنحنيات التحدي حتى 17-bit:
تم تنفيذ جميع عمليات التشغيل على خطة المثيل المفتوح IBM Quantum، التي تمنح 10 دقائق من الحوسبة الكمومية المجانية شهريًا. سجلات التنفيذ الكاملة موجودة في مجلد executions/.
مكنت استراتيجية ripple-carry (الاستراتيجية 6) من قفزة كبيرة: من 10-bit (40 كيوبت، 2M بوابة) إلى 17-bit (69 كيوبت، 112K بوابة) — زيادة في حجم المفتاح بمقدار 7 بت مع تقليل عدد بوابات الكيوبت الثنائي بمقدار 18 مرة. بنية بوابة الجوار الأقرب لجامع CDKM تُخطط بكفاءة على طبولوجيا IBM heavy-hex، مما يحافظ على عبء توجيه قريب من 1x.
استعادت الاستراتيجية شبه الكلاسيكية (--oracle google) المفاتيح بنجاح عند 4-bit و6-bit و7-bit باستخدام دوائر ديناميكية (reset في منتصف الدارة، بوابات p مشروطة كلاسيكيًا عبر if_test) على معالجات IBM Heron r2. عند 7-bit، تستخدم الدارة فقط 14 كيوبت (مقابل 26 لنهج التبديل القياسي) مع إنتاج أعداد بوابة 2Q مماثلة بعد النقل.
عند 8-bit فأكثر، يصبح النهج شبه الكلاسيكي غير عملي على عتاد IBM الحالي. على الرغم من دعم if_else و reset على Heron r2 (تم تأكيده عبر فحص الهدف الخلفي)، تتطلب كل نقطة تغذية راجعة كلاسيكية مزامنة كاملة لـ QPU — يجب أن تظل جميع الكيوبتات الفيزيائية الـ 156 خاملة بينما يعالج المتحكم الكلاسيكي الشرطي للـ ~16 كيوبت نشط. مع ~295K بوابة CZ موزعة على 16+ نقطة تغذية راجعة، يتجاوز عبء التنفيذ لكل طلقة ميزانية وقت QPU. نهج التبديل القياسي، الذي يشغل نفس عدد البوابات كدفعة واحدة مستمرة بدون دوائر ديناميكية، يكتمل بنجاح على هذا المقياس.
يعمل تقريب QFT التقريبي (معامل max_corrections) على تقليل عدد كتل if_else من O(n^2) إلى O(n) عن طريق الاحتفاظ فقط بأقرب k تصحيحات طور لكل خطوة قياس (الزوايا بعد k تساهم بأقل من < pi/2^{k+1}، تحت عتبة الضوضاء في العتاد). مع max_corrections=1، تحتوي الدارة 8-bit على 16 كتلة if_else — لا يزال كافيًا للتسبب في انتهاء المهلة على عتاد IBM عند هذا العدد من البوابات.
بافتراض إخلاص نموذجي لبوابة IBM Quantum ثنائية الكيوبت (CX) يبلغ ~99.5%، ينخفض الإخلاص المقدر للدارة أسيًا مع عدد البوابات:
يُحسب إخلاص الدارة كـ F ≈ (0.995)^{CX_count}. بالنسبة لكل ما بعد 4-bit، الإخلاص المقدر صغير فلكيًا — توزيع المخرجات يغلب عليه الضوضاء بشكل ساحق.
بالنسبة لـ 8-bit فأكثر، تنتج كل طلقة سلسلة بتات فريدة تقريبًا (8,128 نتيجة فريدة من أصل 8,192 طلقة عند 8-bit؛ جميع الـ 20,000 فريدة عند 16-bit و17-bit). المخرجات لا يمكن تمييزها عن أخذ عينات عشوائية منتظمة على مستوى سلسلة البتات. ومع ذلك، لا يزال الخوارزمي يستعيد المفتاح الخاص الصحيح.
الفكرة الرئيسية هي أن معالجة شور اللاحقة مقاومة للضوضاء بطريقة لا يكون عليها تحليل سلسلة البتات الخام. تنتج كل طلقة ثلاثية (j, k, r) مقاسة. يستخرج الحساب d_cand = (r - j) · k^{-1} mod n ويتحقق عبر d_cand · G == Q. فقط d الحقيقي يمرر التحقق من EC، لذا حتى مرشح صحيح واحد من بين آلاف طلقات الضوضاء يكفي.
تنتج ثلاثية (j, k, r) عشوائية بحتة d_cand الصحيح باحتمال ~1/n. مع S طلقة، العدد المتوقع للنتائج المؤكدة من الضوضاء وحدها هو ~S/n. عند 17-bit (n=65,173، S=20,000)، يعطي هذا ~0.3 نتيجة ضوضاء متوقعة — أي استعادة ناجحة على هذا المقياس تقدم دليلاً على إشارة كمومية تتجاوز عتبة الضوضاء الكلاسيكية.
بالنسبة للمنحنيات الأصغر حيث الطلقات >> n (على سبيل المثال، 10-bit مع n=547 و1,024 طلقة)، عتبة الضوضاء هي ~1,024/547 ≈ 1.9 صوت لكل مرشح. حتى حفنة من الطلقات الحاملة للإشارة تدفع d الصحيح فوق عتبة الضوضاء. هذا يشرح كيف ينجح الخوارزمي على الرغم من إخلاص الدارة الذي قد يجعل الحساب يبدو مستحيلاً.
على مقياس الألعاب، تعمل خطوة التحقق من الاستخراج (d_cand * G == Q) كمرشح يقبل فقط d الحقيقي. هذا يعني أنه حتى الثلاثيات (j, k, r) العشوائية البحتة ستنتج مرشحات صالحة بمعدل يقارب طلقات / n لكل تشغيل. عندما طلقات >> n، يمكن للضوضاء العشوائية وحدها استعادة d باحتمال عالٍ.
لاختبار ما إذا كانت الدارة الكمومية تساهم بإشارة تتجاوز عتبة الضوضاء الكلاسيكية هذه، قمنا بتشغيل تحدي 6-bit (n=31) بـ 8 طلقات فقط (أقل بكثير من ترتيب المجموعة) 10 مرات على ibm_kingston:
النتيجة: 4/10 نجاحات (40%) مقابل خط أساس ضوضاء كلاسيكي يبلغ ~20% (محسوب عبر محاكاة مونت كارلو: 8 سلاسل بتات عشوائية مع (r-j)*k_inv mod 31 مصفاة عبر التحقق). اختبار ذو حدين أحادي الطرف: P(X >= 4 | n=10, p=0.20) = 0.121، مما يشير إلى تحسن بمقدار 2x عن عتبة الضوضاء. على الرغم من أنه ليس ذا دلالة إحصائية فردية عند p < 0.05 (والذي يتطلب 5+ نجاحات)، فإن المعدل الملاحظ يتوافق مع إشارة كمومية تساهم بحوالي 1-2 زوج إضافي صالح (j, k) لكل تشغيل يتجاوز ما توفره الفرصة العشوائية.
تقع هذه النتيجة بين عتبة الضوضاء الكلاسيكية ونظام الميزة الكمومية النظرية. عند أحجام المنحنيات الأكبر حيث n >> طلقات، تنخفض عتبة الضوضاء إلى أقل من 1% وأي استعادة ناجحة للمفتاح تصبح دليلاً قوياً على الحساب الكمومي.
git clone https://github.com/GiancarloLelli/quantum.git cd quantum
python -m venv . Scripts\Activate.ps1 # For Windows only
pip install -r requirements.txt
### كيفية التشغيل
تحتاج إلى حساب [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
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
## المراجع
- 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 وآخرون، ["تأمين العملات المشفرة القائمة على المنحنيات الإهليلجية ضد نقاط الضعف الكمومية: تقديرات الموارد وسبل التخفيف"](https://quantumai.google/static/site-assets/downloads/cryptocurrency-whitepaper.pdf) (2026)
## الترخيص
هذا المشروع هو تقديم لتحدي جائزة اليوم-كيوم المنشور بموجب [رخصة MIT](https://github.com/yuvadm/quantumslop/blob/HEAD/LICENSE)
| حجم المنحنى | الكيوبتات القياسية | الكيوبتات شبه الكلاسيكية | التوفير | تم التحقق عليه على العتاد |
|---|
| 4-bit (n=7) | 11 | 5 | 55% | نعم |
| 6-bit (n=31) | 17 | 7 | 59% | نعم |
| 7-bit (n=79) | 26 + مساعدات | 14 | 46% | نعم |
| 8-bit (n=139) | 25 + مساعدات | 10 + مساعدات | 60% | لا (عبء مزامنة QPU) |
| 10-bit (n=547) | 31 + مساعدات | 12 + مساعدات | 61% | لا (عبء مزامنة QPU) |
| حجم المنحنى | الكيوبتات | بوابات 2Q (منقولة) | تم التحقق عليه على العتاد |
|---|
| 4-bit (n=7) | 17 | 1,824 | نعم (محاكاة) |
| 8-bit (n=139) | 37 | 11,224 | — |
| 10-bit (n=547) | 45 | 17,204 | — |
| 12-bit (n=2143) | 53 | 24,304 | — |
| 16-bit (n=32497) | 65 | 98,049 | نعم |
| 17-bit (n=65173) | 69 | 111,816 | نعم |
| المقياس | الوحدة الكثيفة | التبديل الفعال | الأوراكل الإحداثي | الأوراكل الحسابي | تقدير الطور شبه الكلاسيكي | Ripple-Carry |
|---|
| ترميز النقطة | فهرس المجموعة | فهرس المجموعة | (x, y, id_flag) | (x, y, id_flag) | فهرس المجموعة | فهرس المجموعة |
| المقياس لكل عملية جمع | O(4^n) تحليل. | O(N * n) | O(N * f_bits) | O(n^3) مقارب | O(N * n) | O(m^2) |
| الكيوبتات (4-bit) | 11 | 13 | 24 | 24 | 5 | 17 |
| الكيوبتات (6-bit) | 17 | 21 | 36 | 36 | 9 | 25 |
| بوابات 2Q (4-bit) | 774 | ~1,200 | 6,449 | 6,449 | ~1,200 | 1,824 |
| بوابات 2Q (6-bit) | 23,471 | ~38,000 | 95,254 | 95,254 | ~38,000 | 4,582 |
| النطاق العملي | <= 6-bit | <= ~16-bit | <= 6-bit | >= 20-bit (مستقبلي) | <= ~16-bit | <= ~20-bit |
| التحدي | p | n | الاستراتيجية | الكيوبتات | بوابات 2Q | العمق المنقول | الطلقات | الواجهة الخلفية | d المستعادة | معرف المهمة |
|---|
| 4-bit | 13 | 7 | وحدة كثيفة | 11 | 774 | 2,425 | 8,192 | ibm_torino | 6 | d73u28kvllmc73anvi90 |
| 4-bit | 13 | 7 | أوراكل إحداثي | 24 | 6,449 | 13,125 | 8,192 | ibm_kingston | 6 | d74ht798qmgc73fm32c0 |
| 4-bit | 13 | 7 | أوراكل حسابي | 24 | 6,477 | 13,452 | 8,192 | ibm_torino | 6 | d75648lbjrds73ec0eng |
| 4-bit | 13 | 7 | تقدير طور شبه كلاسيكي | 5 | 747 | 2,522 | 256 | ibm_kingston | 6 | d75p1ftbjrds73ecne3g |
| 6-bit | 43 | 31 | وحدة كثيفة | 17 | 23,471 | 72,475 | 8,192 | ibm_torino | 18 | d73u2l5koquc73e24u8g |
| 6-bit | 43 | 31 | أوراكل إحداثي | 36 | 95,254 | 169,766 | 8,192 | ibm_kingston | 18 | d74hu918qmgc73fm33g0 |
| 6-bit | 43 | 31 | تقدير طور شبه كلاسيكي | 7 | 23,256 | 73,183 | 256 | ibm_kingston | 18 | d75p1unq1anc738cmr6g |
| 7-bit | 67 | 79 | تقدير طور شبه كلاسيكي | 14 | 127,918 | 266,122 | 256 | ibm_kingston | 56 | d75p3sq3qcgc73fs2fpg |
| 8-bit | 163 | 139 | تبديل فعال | 32 | 294,628 | 599,517 | 8,192 | ibm_kingston | 103 | d73ui15koquc73e25e4g |
| 9-bit | 349 | 313 | تبديل فعال | 36 | 887,544 | 1,764,266 | 8,192 | ibm_torino | 135 | d73ua2h8qmgc73flei9g |
| 10-bit | 547 | 547 | تبديل فعال | 40 | 2,049,138 | 3,948,250 | 1,024 | ibm_torino | 165 | d752vfu8faus73evhovg |
| 16-bit | 32,803 | 32,497 | Ripple-carry | 65 | 98,049 | 202,994 | 20,000 | ibm_fez | 20,248 | d790j2hq1efs73d2979g |
| 17-bit | 65,647 | 65,173 | Ripple-carry | 69 | 111,816 | 231,475 | 20,000 | ibm_fez | 1,441 | d790krrc6das739idasg |
| التحدي | الاستراتيجية | بوابات 2Q | إخلاص الدارة المقدر | النتائج الفريدة | إجمالي الطلقات | نظام الإشارة |
|---|
| 4-bit | كثيفة | 774 | ~2.1% | 1,869 / 2,048 | 8,192 | إشارة ضعيفة |
| 6-bit | كثيفة | 23,471 | ~10^{-51} | 3,776 / 131,072 | 8,192 | تهيمن الضوضاء |
| 8-bit | تبديل | 294,628 | ~10^{-644} | 8,128 / 4.3B | 8,192 | تهيمن الضوضاء |
| 9-bit | تبديل | 887,544 | ~10^{-1,939} | 8,168 / 68.7B | 8,192 | تهيمن الضوضاء |
| 10-bit | تبديل | 2,049,138 | ~10^{-4,477} | 1,024 / 1.1T | 1,024 | تهيمن الضوضاء |
| 16-bit | Ripple-carry | 98,049 | ~10^{-214} | 20,000 / 2^65 | 20,000 | تهيمن الضوضاء |
| 17-bit | Ripple-carry | 111,816 | ~10^{-244} | 20,000 / 2^69 | 20,000 | تهيمن الضوضاء |
| التشغيل | معرف المهمة | النتيجة |
|---|
| 1 | d75qrrq3qcgc73fs4hn0 | فشل |
| 2 | d75qs3e8faus73f0ep6g | فشل |
| 3 | d75qsafq1anc738coujg | فشل |
| 4 | d75qsie8faus73f0eplg | d = 18 |
| 5 | d75qsq23qcgc73fs4ing | d = 18 |
| 6 | d75qt168faus73f0eq50 | فشل |
| 7 | d75qt7vq1anc738covf0 | d = 18 |
| 8 | d75qthu8faus73f0eqmg | فشل |
| 9 | d75qtodbjrds73ecpk80 | d = 18 |
| 10 | d75qtvi3qcgc73fs4jsg | فشل |
| العلم | الوصف | الافتراضي |
|---|
--challenge N | حل منحنى التحدي ذي N بت من input_curves.json | — |
--curve NAME | استخدام منحنى اختبار مدمج (curve_4) | — |
--token TOKEN | رمز IBM Quantum API (يُحفظ محليًا عند الاستخدام الأول) | — |
--backend NAME | الواجهة الخلفية لـ IBM Quantum | ibm_marrakesh |
--instance ID | مثيل IBM Quantum | open-instance |
--shots N | عدد قياسات اللقطات | 8192 |
--oracle TYPE | إستراتيجية الأوراكل: dense, permutation, coordinate, arithmetic, google, أو ripple | auto |
--optimization-level N | مستوى تحسين ترجمة Qiskit (0-3) | 3 |
--d N | المفتاح السري المعروف للاختبار (مع --curve) | — |
--verify-only | التحقق من معلمات المنحنى والخروج | — |