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 प्रमाण को मात देने के लिए प्रूफ-ऑफ-कॉन्सेप्ट कोड

रिपॉजिटरी देखें
154 महीने पहलेअभी तक समीक्षित नहीं

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

सभी देखें →

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

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

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

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

गूगल के क्वांटम क्रिप्टैनालिसिस के ज़ीरो-नॉलेज प्रूफ को तोड़ने के लिए PoC

यह रिपॉज़िटरी Trail of Bits ब्लॉग पोस्ट के लिए संसाधन प्रदान करती है, जिसमें विस्तार से बताया गया है कि कैसे हमने गूगल के उस ज़ीरो-नॉलेज प्रूफ को हराया, जिसमें दावा किया गया था कि उनके पास एलिप्टिक कर्व क्रिप्टैनालिसिस के लिए उच्च-क्षमता वाला क्वांटम सर्किट है। इसमें हमारा जाली प्रूफ, सत्यापन हेतु निर्देश, और क्वांटम सर्किट उत्पन्न करने के लिए कोड शामिल है, जो अनपैच किए गए zkVM सिम्युलेटर कोड में मौजूद कमज़ोरियों का फ़ायदा उठाता है।

पूरा प्रूफ बाइनरी यहाँ उपलब्ध है, और गूगल के प्रूफ़ों की तुलना हमारे प्रूफ़ से करने वाले परिणाम नीचे दिए गए हैं।

संसाधन प्रकारगूगल का Low-Gateगूगल का Low-Qubitहमारा प्रूफ
कुल ऑपरेशन17,000,00017,000,0008,300,000
क्यूबिटों की संख्या1,4251,1751,164
Toffoli गणना2,100,0002,700,0000

प्रूफ का सारांश इस प्रकार है।

सर्किट SHA-256 हैश: 0x7efe1f62bb14a978322ab9ed41d670fc0fe0f211331032615c910df5a540e999

Groth16 प्रूफ बाइट्स: 0x0e78f4db0000000000000000000000000000000000000000000000000000000000000000008cd56e10c2fe24795cff1e1d1f40d3a324528d315674da45d26afb376e8670000000000000000000000000000000000000000000000000000000000000000024ac7f8dd6b1de6279bcce54e8840d8eb20d522bf27dedd776046f6590f33add217db465201c63724e6b460641985543d2b79c3c54daeea688581676a786aafc1dba8604a361acdd9809e268b6d8bc73943a713bb0ed0d96221f73d26def6ea4041d05b077523d9351a48b2ecd984c686b6473df69d20a24296d0a1cba3cdbe92eb13a7cc0ecd92f27f7bf23f9ac859d4293e17216dcbd85d1c7f60a52f65a9d02faef077336acd39e845d534200b575b029d6e3f0afb4f90815557233eab70b0fe88919834dd9beb90d47241f1490dc202e0dce44e4894982b07073c8d4426513732d79e9af9913b254aa29471e1a98fa1b43a1886afb5dbd36988153217aa2

सत्यापन कुंजी: 0x00ca4af6cb15dbd83ec3eaab3a0664023828d90a98e650d2d340712f5f3eb0d4

सत्यापन चरण

गूगल ने Zenodo डेटासेट में अपने ZK प्रूफ़ों को सत्यापित करने के लिए स्क्रिप्ट्स प्रदान की हैं। हमारा हमला संस्करण 1 को लक्षित करता है, और संस्करण 2 में पैच शामिल हैं। डिपेंडेंसी स्थापित करने के निर्देश 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

सत्यापन कमांड ZK प्रूफ़ों की जाँच सत्यापन कुंजी के विरुद्ध करते हैं, जो zkVM गेस्ट प्रोग्राम का एक संक्षिप्त क्रिप्टोग्राफ़िक प्रतिनिधित्व है। वैकल्पिक रूप से, आप वेरिफ़ायर को गेस्ट प्रोग्राम ELF बाइनरी प्रदान करने के लिए --elf proofs/zkp_ecc-program का उपयोग कर सकते हैं। यदि आप इस फ़्लैग को पूरी तरह छोड़ देते हैं, तो वेरिफ़ायर program/ में स्रोत कोड से गेस्ट प्रोग्राम बाइनरी को पुनः बनाने के लिए Docker कंटेनर का उपयोग करता है।

एक्सप्लॉइट चरण

gen_secp256k1_tob.py चलाने पर ec_secp256k1_add_into.kmx नामक 142MB की kickmix स्क्रिप्ट उत्पन्न होती है। 0-Toffoli प्रूफ प्राप्त करने के लिए, Zenodo रिपॉज़िटरी में prover/prove.rs को पैच करने हेतु prove.rs.diff का उपयोग करें। यह zkVM के बाहर चल रहे अविश्वसनीय कोड को संशोधित करता है ताकि kickmix सर्किट के सीरियलाइज़ेशन में हेरफेर किया जा सके।

प्रूफ निर्माण के निर्देश Zenodo रिपॉज़िटरी में हैं। हमने docs/sp1_cluster_deployment_guide.md में दिए गए निर्देशों का पालन 4 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 घंटे लगे।

टूल डाउनलोड करें