Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
quantum-zk-proof-poc — كود إثبات المفهوم لتجاوز إثبات ZK من جوجل في تحليل التشفير الكمومي | Kitploit
أدوات/GitHubGitHub/trailofbits/quantum-zk-proof-poc
تحليل الثغرات الأمنيةالاستغلالالهندسة العكسيةالتشفيرالأوراق والأبحاثالتعلم والتعليم
GitHubtrailofbits/quantum-zk-proof-poc

quantum-zk-proof-poc

كود إثبات المفهوم لتجاوز إثبات ZK من جوجل في تحليل التشفير الكمومي

عرض المستودع
15منذ 4 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

إثبات المفهوم لكسر إثبات جوجل ذي المعرفة الصفرية حول التحليل الكمومي للشيفرات

يحتوي هذا المستودع على موارد منشور مدونة Trail of Bits، الذي يوضح بالتفصيل كيف تغلبنا على إثبات جوجل ذي المعرفة الصفرية الذي يفيد بامتلاكهم دائرة كمومية عالية الكفاءة لتحليل شيفرات المنحنيات الإهليلجية. يتضمن إثباتنا المزوّر، وتعليمات التحقق، وكودًا لتوليد الدائرة الكمومية التي تستغل ثغرات في كود محاكي zkVM غير المُصحَّح.

الملف الثنائي الكامل للإثبات متاح هنا، وفيما يلي النتائج التي تقارن إثباتات جوجل بإثباتنا.

نوع الموردجوجل منخفض البواباتجوجل منخفض الكيوبتاتإثباتنا
إجمالي العمليات17,000,00017,000,0008,300,000
عدد الكيوبتات1,4251,1751,164
عدد Toffoli2,100,0002,700,0000

فيما يلي ملخص الإثبات.

تجزئة SHA-256 للدائرة: 0x7efe1f62bb14a978322ab9ed41d670fc0fe0f211331032615c910df5a540e999

بايتات إثبات Groth16: 0x0e78f4db0000000000000000000000000000000000000000000000000000000000000000008cd56e10c2fe24795cff1e1d1f40d3a324528d315674da45d26afb376e8670000000000000000000000000000000000000000000000000000000000000000024ac7f8dd6b1de6279bcce54e8840d8eb20d522bf27dedd776046f6590f33add217db465201c63724e6b460641985543d2b79c3c54daeea688581676a786aafc1dba8604a361acdd9809e268b6d8bc73943a713bb0ed0d96221f73d26def6ea4041d05b077523d9351a48b2ecd984c686b6473df69d20a24296d0a1cba3cdbe92eb13a7cc0ecd92f27f7bf23f9ac859d4293e17216dcbd85d1c7f60a52f65a9d02faef077336acd39e845d534200b575b029d6e3f0afb4f90815557233eab70b0fe88919834dd9beb90d47241f1490dc202e0dce44e4894982b07073c8d4426513732d79e9af9913b254aa29471e1a98fa1b43a1886afb5dbd36988153217aa2

مفتاح التحقق: 0x00ca4af6cb15dbd83ec3eaab3a0664023828d90a98e650d2d340712f5f3eb0d4

خطوات التحقق

وفّرت جوجل نصوصًا برمجية للتحقق من إثباتاتها ذات المعرفة الصفرية في مجموعة بيانات Zenodo. يستهدف هجومنا الإصدار الأول، بينما يحتوي الإصدار الثاني على تصحيحات. توجد تعليمات تثبيت التبعيات في docs/getting_started.md. تتطلب بيئة التشغيل Rust وGo، واختياريًا Docker. تُقدَّم أوامر التحقق في نهاية ملف run_proofs.sh. توجد مصنوعات إثباتات جوجل في دليل proofs/، بينما توجد مصنوعات إثباتنا في proof_trailofbits.bin.

root@kitploit:~
# Verify Google's proofs
cargo run --release -p verifier -- \
    --vkey proofs/vkey.bin --proof proofs/low_toffoli/proof_9024.bin
cargo run --release -p verifier -- \
    --vkey proofs/vkey.bin --proof proofs/low_qubits/proof_9024.bin
# Verify our proof
cargo run --release -p verifier -- \
    --vkey proofs/vkey.bin --proof proof_trailofbits.bin

يتضمن مخرج الأمر الأخير ما يلي.

root@kitploit:~
Successfully verified Groth16 SNARK proof.
Circuit hash commitment: 0x7efe1f62bb14a978322ab9ed41d670fc0fe0f211331032615c910df5a540e999
Demanded Number of tests: 9024
Demanded Qubit count: 1164
Demanded Average non-Clifford count: 0
Demanded Total ops: 8300000

تتحقق أوامر التحقق من الإثباتات ذات المعرفة الصفرية مقابل مفتاح التحقق، وهو تمثيل تشفيري موجز لبرنامج الضيف الخاص بـ zkVM. بدلاً من ذلك، يمكنك استخدام --elf proofs/zkp_ecc-program لتزويد أداة التحقق بالملف الثنائي ELF لبرنامج الضيف. وإذا حذفت هذه العلامة تمامًا، تستخدم أداة التحقق حاوية Docker لإعادة بناء الملف الثنائي لبرنامج الضيف من الكود المصدري الموجود في program/.

خطوات الاستغلال

يؤدي تشغيل gen_secp256k1_tob.py إلى توليد سكربت kickmix بحجم 142MB باسم ec_secp256k1_add_into.kmx. وللوصول إلى إثبات 0-Toffoli، استخدم prove.rs.diff لترقيع prover/prove.rs في مستودع Zenodo. يعدّل ذلك كودًا غير موثوق يعمل خارج zkVM للتلاعب بتسلسل (serialization) دائرة kickmix.

توجد تعليمات توليد الإثبات في مستودع Zenodo. اتبعنا التعليمات الواردة في docs/sp1_cluster_deployment_guide.md على جهاز سحابي مزوّد بأربع وحدات NVIDIA H100 GPU، وقمنا بتشغيل الأمر التالي لتوليد الإثبات.

root@kitploit:~
./run_proofs.sh --num-tests 9024 --kmx "ec_secp256k1_add_into.kmx" --qubit-counts 1164 --toffoli-counts 0 --total-ops 8300000 --proving-mode "multi-gpu" > proofs/ec_secp256k1_add/log_run.out 2>&1 &

استغرق توليد الإثبات المزوّر حوالي 4 ساعات.

تنزيل الأداة