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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
crypto-attacks — क्रिप्टोग्राफ़िक हमलों और उपयोगिताओं के Python कार्यान्वयन। | Kitploit
उपकरण/GitHubGitHub/jvdsn/crypto-attacks
क्रिप्टोग्राफीCTFपेपर और शोधलर्निंग और शिक्षा
GitHubjvdsn/crypto-attacks

crypto-attacks

क्रिप्टोग्राफ़िक हमलों और उपयोगिताओं के Python कार्यान्वयन।

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

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

सभी देखें →

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

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

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

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

परिचय

क्रिप्टोग्राफ़िक हमलों और उपयोगिताओं के Python कार्यान्वयन।

आवश्यकताएँ

  • SageMath Python 3.9 के साथ
  • PyCryptodome

आप निम्न कमांड का उपयोग करके अपने SageMath Python संस्करण की जाँच कर सकते हैं:

root@kitploit:~
$ sage -python --version
Python 3.9.0
```
यदि आपका SageMath Python संस्करण 3.9.0 से पुराना है, तो कुछ स्क्रिप्ट्स की कुछ सुविधाएँ काम नहीं कर सकती हैं।

## उपयोग
यूनिट टेस्ट `test` निर्देशिका में स्थित हैं और इन्हें `unittest` मॉड्यूल या `pytest` का उपयोग करके चलाया जा सकता है। इसमें अधिक समय नहीं लगना चाहिए, शायद आपकी मशीन के आधार पर कुछ मिनट।

किसी विशेष हमले को चलाने के लिए, आपको उसे निष्पादित करने से पहले उचित फ़ाइल में कोड जोड़ना होगा।

### उदाहरण

उदाहरण के लिए, आप निम्नलिखित पैरामीटरों के साथ Boneh-Durfee हमले का उपयोग करके RSA पर हमला करना चाहते हैं ([test_rsa.py](https://github.com/jvdsn/crypto-attacks/blob/HEAD/test/test_rsa.py) से लिया गया):```python
N = 88320836926176610260238895174120738360949322009576866758081671082752401596826820274141832913391890604999466444724537056453777218596634375604879123818123658076245218807184443147162102569631427096787406420042132112746340310992380094474893565028303466135529032341382899333117011402408049370805729286122880037249
e = 36224751658507610673165956970793195381480143363550601971796688201449789736497322700382657163240771111376677180786660893671085854060092736865293791299460933460067267613023891500397200389824179925263846148644777638774319680682025117466596019474987378275216579013846855328009375540444176771945272078755317168511
```
आप [boneh_durfee.py](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/boneh_durfee.py) फ़ाइल के निचले भाग में निम्नलिखित कोड जोड़ते हैं:```python
import logging

# Some logging so we can see what's happening.
logging.basicConfig(level=logging.DEBUG)

N = 88320836926176610260238895174120738360949322009576866758081671082752401596826820274141832913391890604999466444724537056453777218596634375604879123818123658076245218807184443147162102569631427096787406420042132112746340310992380094474893565028303466135529032341382899333117011402408049370805729286122880037249
e = 36224751658507610673165956970793195381480143363550601971796688201449789736497322700382657163240771111376677180786660893671085854060092736865293791299460933460067267613023891500397200389824179925263846148644777638774319680682025117466596019474987378275216579013846855328009375540444176771945272078755317168511
p_bits = 512
delta = 0.26

p, q = attack(N, e, p_bits, delta=delta, m=3)
assert p * q == N
print(f"Found {p = } and {q = }")
```
फिर आप Sage का उपयोग करके फ़ाइल को आसानी से निष्पादित कर सकते हैं। इससे कोई फर्क नहीं पड़ता कि आप इसे कहाँ से निष्पादित करते हैं, Python path स्वतः सेट हो जाता है (आप अन्य Python फ़ाइलों से भी हमलों को कॉल कर सकते हैं, लेकिन तब आपको Python path को स्वयं ठीक करना होगा):```commandline
[crypto-attacks]$ sage -python attacks/rsa/boneh_durfee.py
INFO:root:Trying m = 3, t = 1...
DEBUG:root:Generating shifts...
DEBUG:root:Creating a lattice with 11 shifts (order = 'invlex', sort_shifts_reverse = False, sort_monomials_reverse = False)...
DEBUG:root:Reducing a 11 x 11 lattice...
DEBUG:root:Reconstructing polynomials (divide_original = True, modulus_bound = False, divide_gcd = True)...
DEBUG:root:Polynomial at row 8 is constant, ignoring...
DEBUG:root:Reconstructed polynomial has gcd 1312232632720549890113031660369306919929075823824696839212183146130434668203517349691252841557097914064120078389640402109017308806168467714230057403815071456395553717020189622129706447677967264344568789118172311850383406340547579993263937406518074980025897726255316031512238322022839331135299265704052474541497687419350763703993630899191179705015113329644753599872380152055902238937889027950089072598069861391599563222633064848996619752054685734260976071760984100109990150069201501748622288840900421607423175114026653242500476408861976142751384898489130281755466581359057847077651502734556259387442296763474369957121 with polynomial at 8, dividing...
DEBUG:root:Reconstructed 10 polynomials
DEBUG:root:Computing pairwise gcds to find trivial roots...
DEBUG:root:Using Groebner basis method to find roots...
DEBUG:root:Sequence length: 10, Groebner basis length: 1
DEBUG:root:Sequence length: 9, Groebner basis length: 1
DEBUG:root:Sequence length: 8, Groebner basis length: 1
DEBUG:root:Sequence length: 7, Groebner basis length: 2
DEBUG:root:Found Groebner basis with length 2, trying to find roots...
Found p = 7866790440964395011005623971351568677139336343167390105188826934257986271072664643571727955882500173182140478082778193338086048035817634545367411924942763 and q = 11227048386374621771175649743442169526805922745751610531569607663416378302561807690656370394330458335919244239976798600743588701676542461805061598571009923
```
आउटपुट लॉग में दिखाए गए पैरामीटर `m` और `t` विशेष ध्यान देने योग्य हैं। ये पैरामीटर कई lattice-based (small roots) एल्गोरिदम में lattice के आकार को समायोजित करने के लिए उपयोग किए जाते हैं। संकल्पनात्मक रूप से, `m` (कभी-कभी `k` भी कहा जाता है) और `t` lattice में उपयोग किए गए "shifts" की संख्या को दर्शाते हैं, जो लगभग पंक्तियों की संख्या के बराबर या आनुपातिक होती है। इसलिए, `m` और `t` बढ़ाने से lattice का आकार बढ़ेगा, जिससे lattice reduction (वर्तमान में LLL का उपयोग करके) करने के लिए आवश्यक समय भी बढ़ जाता है। दूसरी ओर, यदि `m` और `t` बहुत कम हैं, तो संभव है कि lattice reduction से उपयुक्त vectors प्राप्त न हों, जिससे reduction में बिताया गया समय बर्बाद हो जाए। अतः, यह एक trade-off (समझौता) है।

परियोजना के वर्तमान संस्करण में, उपयोगकर्ता को हमेशा `m` प्रदान करना होता है (डिफ़ॉल्ट मान `1` निर्धारित है)। कुछ मामलों में, `t` की गणना attack द्वारा उपयोग की गई विशिष्ट small roots विधि के आधार पर की जा सकती है। फिर भी उपयोगकर्ता इसे समायोजित कर सकता है। सामान्यतः, इस प्रकार के पैरामीटर का उपयोग करने के दो तरीके हैं:
* एक लूप लागू करें जो `m = 1` से शुरू होकर उत्तर मिलने तक चलता है (नीचे उदाहरण)। यह एक सरल दृष्टिकोण है, लेकिन बहुत छोटे lattices के साथ व्यर्थ गणनाओं पर समय बर्बाद करने का जोखिम रहता है।```
m = 1
while True:
    res = attack(..., m=m)
    if res is not None:
        # The attack succeeded!
        break
    m += 1
```
* जिस हमले का आप उपयोग करना चाहते हैं उसका एक डीबग संस्करण लागू करें (ज्ञात परिणामों के साथ), और वह `m` मान निर्धारित करें जो अच्छे जालक वैक्टर उत्पन्न करता है। फिर सही `m` मान के साथ सीधे हमले की विधि को कॉल करें।


## कार्यान्वित हमले
### अनुमानित सामान्य भाजक
* [x] [बहुचर बहुपद हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/acd/mp.py) [^acd_mp]
* [x] [ऑर्थोगोनल आधारित हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/acd/ol.py) [^acd_ol]
* [x] [एक साथ डायोफैंटाइन सन्निकटन हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/acd/sda.py) [^acd_sda]

### CBC
* [x] [बिट फ़्लिपिंग हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc/bit_flipping.py)
* [x] [IV पुनर्प्राप्ति हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc/iv_recovery.py)
* [x] [पैडिंग ओरेकल हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc/padding_oracle.py)

### CBC + CBC-MAC
* [x] [कुंजी पुन: उपयोग हमला (encrypt-and-MAC)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc_and_cbc_mac/eam_key_reuse.py)
* [x] [कुंजी पुन: उपयोग हमला (encrypt-then-MAC)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc_and_cbc_mac/etm_key_reuse.py)
* [x] [कुंजी पुन: उपयोग हमला (MAC-then-encrypt)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc_and_cbc_mac/mte_key_reuse.py)

### CBC-MAC
* [x] [लंबाई विस्तार हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/cbc_mac/length_extension.py)

### CTR
* [x] [बिट फ़्लिपिंग हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ctr/bit_flipping.py)
* [x] [CRIME हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ctr/crime.py)
* [x] [सेपरेटर ओरेकल हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ctr/separator_oracle.py)

### ECB
* [x] [प्लेनटेक्स्ट पुनर्प्राप्ति हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecb/plaintext_recovery.py)
* [x] [प्लेनटेक्स्ट पुनर्प्राप्ति हमला (कठिन संस्करण)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecb/plaintext_recovery_harder.py)
* [x] [प्लेनटेक्स्ट पुनर्प्राप्ति हमला (सबसे कठिन संस्करण)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecb/plaintext_recovery_hardest.py)

### दीर्घवृत्तीय वक्र क्रिप्टोग्राफी
* [x] [ECDSA नॉन्स पुन: उपयोग हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/ecdsa_nonce_reuse.py)
* [x] [फ्रे-रक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/frey_ruck_attack.py) [^ecc_frey_ruck_attack]
* [x] [MOV हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/mov_attack.py) [^ecc_mov_attack]
* [x] [पैरामीटर पुनर्प्राप्ति](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/parameter_recovery.py)
* [x] [सिंगुलर वक्र हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/singular_curve.py)
* [x] [स्मार्ट का हमला (विस्तार क्षेत्रों पर वक्रों के साथ)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ecc/smart_attack.py) [^ecc_smart_attack1] [^ecc_smart_attack2]

### एल्गमाल एन्क्रिप्शन
* [x] [नॉन्स पुन: उपयोग हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/elgamal_encryption/nonce_reuse.py)
* [x] [असुरक्षित जनरेटर हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/elgamal_encryption/unsafe_generator.py)

### एल्गमाल हस्ताक्षर
* [ ] ब्लाइचेनबैकर का हमला
* [ ] खादिर का हमला
* [x] [नॉन्स पुन: उपयोग हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/elgamal_signature/nonce_reuse.py)

### गुणनखंडन
* [x] [आधार रूपांतरण गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/base_conversion.py)
* [x] [ब्रांच और प्रून हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/branch_and_prune.py) [^factorization_branch_and_prune]
* [x] [जटिल गुणन (दीर्घवृत्तीय वक्र) गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/complex_multiplication.py) [^factorization_complex_multiplication]
* [x] [कॉपरस्मिथ गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/coppersmith.py)
* [x] [फ़र्मेट गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/fermat.py)
* [x] [गफ़ार-अरिफ़िन-असबुल्लाह हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/gaa.py) [^factorization_gaa]
* [x] [इम्प्लिसिट गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/implicit.py) [^factorization_implicit]
* [x] [ज्ञात phi गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/known_phi.py) [^factorization_known_phi]
* [x] [ROCA](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/roca.py) [^factorization_roca]
* [x] [शोर का एल्गोरिदम (शास्त्रीय)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/shor.py) [^factorization_shor]
* [x] [जुड़वां अभाज्य गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/twin_primes.py)
* [x] [असंतुलित मापांकों का गुणनखंडन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/factorization/unbalanced.py) [^factorization_unbalanced]

### GCM
* [x] [फॉरबिडन हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/gcm/forbidden_attack.py) [^gcm_forbidden_attack]

### छिपी संख्या समस्या
आंशिक (EC)DSA नॉन्स एक्सपोज़र के अनुप्रयोगों के साथ।
* [x] [विस्तारित छिपी संख्या समस्या](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/hnp/extended_hnp.py) [^hnp_extended_hnp]
* [ ] फूरियर विश्लेषण हमला
* [x] [जालक-आधारित हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/hnp/lattice_attack.py)

### IGE
* [x] [पैडिंग ओरेकल हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/ige/padding_oracle.py)

### नैपसैक क्रिप्टोसिस्टम
* [x] [कम घनत्व हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/knapsack/low_density.py) [^knapsack_low_density]

### रैखिक सर्वांगसम जनरेटर

* [x] [LCG पैरामीटर पुनर्प्राप्ति](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/lcg/parameter_recovery.py)
* [x] [ट्रंकेटेड LCG पैरामीटर पुनर्प्राप्ति](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/lcg/truncated_parameter_recovery.py) [^lcg_truncated_parameter_recovery]
* [x] [ट्रंकेटेड LCG स्थिति पुनर्प्राप्ति](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/lcg/truncated_state_recovery.py) [^lcg_truncated_state_recovery]

### त्रुटियों के साथ सीखना

* [x] [अरोड़ा-गे हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/lwe/arora_ge.py) [^lwe_arora_ge]
* [ ] ब्लम-कलाई-वासरमैन हमला
* [ ] जालक अपचयन हमला

### मर्सेन ट्विस्टर

* [x] [स्थिति पुनर्प्राप्ति](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/mersenne_twister/state_recovery.py)

### वन-टाइम पैड

* [x] [कुंजी पुन: उपयोग](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/otp/key_reuse.py)

### छद्म अभाज्य

* [x] [मिलर-रैबिन छद्म अभाज्य उत्पन्न करना](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/pseudoprimes/miller_rabin.py) [^pseudoprimes_miller_rabin]

### RC4

* [x] [फ्लुरेर-मैंटिन-शमीर हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rc4/fms.py)

### RSA

* [x] [ब्लाइचेनबैकर का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/bleichenbacher.py) [^rsa_bleichenbacher]
* [x] [ब्लाइचेनबैकर का हस्ताक्षर जालसाजी हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/bleichenbacher_signature_forgery.py)
* [x] [बोने-डर्फी हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/boneh_durfee.py) [^rsa_boneh_durfee]
* [x] [चेरकावी-सेम्मौनी का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/cherkaoui_semmouni.py) [^rsa_cherkaoui_semmouni]
* [x] [सामान्य मापांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/common_modulus.py)
* [x] [CRT फॉल्ट हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/crt_fault_attack.py)
* [x] [d फॉल्ट हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/d_fault_attack.py)
* [x] [डेसमेड्ट-ओडलीज़्को हमला (चयनात्मक जालसाजी)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/desmedt_odlyzko.py) [^rsa_desmedt_odlyzko]
* [x] [विस्तारित वीनर का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/extended_wiener_attack.py) [^rsa_extended_wiener_attack]
* [x] [हास्टैड का प्रसारण हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/hastad_attack.py)
* [x] [ज्ञात CRT घातांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/known_crt_exponents.py) [^rsa_known_crt_exponents]
* [x] [आंशिक ज्ञात CRT घातांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/known_crt_exponents.py) [^rsa_partial_known_crt_exponents]
* [x] [ज्ञात निजी घातांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/known_d.py)
* [x] [कम सार्वजनिक घातांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/low_exponent.py)
* [x] [LSB ओरेकल (पैरिटी ओरेकल) हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/lsb_oracle.py)
* [x] [मैंजर का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/manger.py) [^rsa_manger]
* [x] [निताज का CRT-RSA हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/nitaj_crt_rsa.py) [^rsa_nitaj_crt_rsa]
* [x] [गैर-सह-अभाज्य सार्वजनिक घातांक हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/non_coprime_exponent.py) [^rsa_non_coprime_exponent]
* [x] [आंशिक कुंजी एक्सपोज़र](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/partial_key_exposure.py) [^rsa_partial_key_exposure1] [^rsa_partial_key_exposure2] [^rsa_partial_key_exposure3] 
* [x] [संबंधित संदेश हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/related_message.py)
* [x] [स्टीरियोटाइप्ड संदेश हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/stereotyped_message.py)
* [x] [वीनर का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/wiener_attack.py)
* [x] [कॉमन प्राइम RSA के लिए वीनर का हमला](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/wiener_attack_common_prime.py) [^rsa_wiener_attack_common_prime]
* [x] [वीनर का हमला (ह्यूरिस्टिक जालक संस्करण)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/rsa/wiener_attack_lattice.py) [^rsa_wiener_attack_lattice] [^rsa_wiener_attack_lattice_extended] [^small_roots_aono]

### शमीर की गुप्त साझेदारी
* [x] [डेटरमिनिस्टिक गुणांक](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/shamir_secret_sharing/deterministic_coefficients.py)
* [x] [शेयर जालसाजी](https://github.com/jvdsn/crypto-attacks/blob/HEAD/attacks/shamir_secret_sharing/share_forgery.py)

## अन्य दिलचस्प कार्यान्वयन
* [x] [एडलमैन-मैंडर्स-मिलर मूल निष्कर्षण विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/__init__.py) [^adleman_manders_miller]
* [x] [डिवाइड-एंड-कॉन्कर का उपयोग करके तेज़ CRT](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/crt.py)
* [x] [तेज़ मॉड्यूलर व्युत्क्रम](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/__init__.py)
* [x] [रैखिक हेन्सल लिफ्टिंग](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/hensel.py)
* [ ] द्विघात हेन्सल लिफ्टिंग
* [x] [बाबाई का निकटतम प्लेन एल्गोरिदम](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/lattice.py)
* [x] [मैट्रिक्स असतत लघुगणक](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/matrices.py)
* [x] [मैट्रिक्स असतत लघुगणक (समीकरण)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/matrices.py)
* [x] [PartialInteger](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/partial_integer.py)
* [x] [हाफ GCD का उपयोग करके तेज़ बहुपद GCD](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/polynomial.py)

### दीर्घवृत्तीय वक्र जनरेशन
* [x] [जटिल गुणन](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)
* [x] [एनोमलस वक्र](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)
* [x] [MNT वक्र](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)
* [x] [निर्धारित क्रम](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)
* [x] [निर्धारित ट्रेस](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)
* [x] [सुपरसिंगुलर वक्र](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/ecc.py)

### छोटे मूल
* [x] [ग्रोबनर आधारों का उपयोग करके बहुपद मूल](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/__init__.py)
* [x] [रेज़ल्टेंट का उपयोग करके बहुपद मूल](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/__init__.py)
* [x] [सेज वैराइटी का उपयोग करके बहुपद मूल (त्रिकोणीय अपघटन)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/__init__.py)
* [x] [आओनो विधि (मिंकोव्स्की योग जालक)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/aono.py) [^small_roots_aono]
* [x] [ब्लोमेर-मे विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/blomer_may.py) [^small_roots_blomer_may]
* [x] [बोने-डर्फी विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/boneh_durfee.py) [^rsa_boneh_durfee]
* [x] [कोरोन विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/coron.py) [^small_roots_coron]
* [x] [कोरोन विधि (प्रत्यक्ष)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/coron_direct.py) [^small_roots_coron_direct]
* [x] [अर्न्स्ट एट अल. विधियाँ](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/ernst.py) [^rsa_partial_key_exposure2]
* [x] [हरमन-मे विधि (अनरेवेल्ड रेखीकरण)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/herrmann_may.py) [^small_roots_herrmann_may]
* [x] [हरमन-मे विधि (मॉड्यूलर बहुचर)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/herrmann_may_multivariate.py) [^small_roots_herrmann_may_multivariate]
* [x] [हॉवग्रेव-ग्राहम विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/howgrave_graham.py) [^small_roots_howgrave_graham]
* [x] [योकेम्स्ज़-मे विधि (मॉड्यूलर मूल)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/jochemsz_may_modular.py) [^small_roots_jochemsz_may_modular]
* [x] [योकेम्स्ज़-मे विधि (पूर्णांक मूल)](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/jochemsz_may_integer.py) [^small_roots_jochemsz_may_integer]
* [x] [निताज-फ़ुओत्सा विधि](https://github.com/jvdsn/crypto-attacks/blob/HEAD/shared/small_roots/nitaj_fouotsa.py) [^small_roots_nitaj_fouotsa]

[^acd_mp]: Galbraith D. S. et al., "Algorithms for the Approximate Common Divisor Problem" (Section 5)
[^acd_ol]: Galbraith D. S. et al., "Algorithms for the Approximate Common Divisor Problem" (Section 4)
[^acd_sda]: Galbraith D. S. et al., "Algorithms for the Approximate Common Divisor Problem" (Section 3)

[^ecc_frey_ruck_attack]: Harasawa R. et al., "Comparing the MOV and FR Reductions in Elliptic Curve Cryptography" (Section 3)
[^ecc_mov_attack]: Harasawa R. et al., "Comparing the MOV and FR Reductions in Elliptic Curve Cryptography" (Section 2)
[^ecc_smart_attack1]: Smart N. P., "The Discrete Logarithm Problem on Elliptic Curves of Trace One"
[^ecc_smart_attack2]: Hofman S. J., "The Discrete Logarithm Problem on Anomalous Elliptic Curves"

[^factorization_branch_and_prune]: Heninger N., Shacham H., "Reconstructing RSA Private Keys from Random Key Bits"
[^factorization_complex_multiplication]: Sedlacek V. et al., "I want to break square-free: The 4p - 1 factorization method and its RSA backdoor viability"
[^factorization_gaa]: Ghafar AHA. et al., "A New LSB Attack on Special-Structured RSA Primes"
[^factorization_implicit]: Nitaj A., Ariffin MRK., "Implicit factorization of unbalanced RSA moduli"
[^factorization_known_phi]: Hinek M. J., Low M. K., Teske E., "On Some Attacks on Multi-prime RSA" (Section 3)
[^factorization_roca]: Nemec M. et al., "The Return of Coppersmith’s Attack: Practical Factorization of Widely Used RSA Moduli"
[^factorization_shor]: M. Johnston A., "Shor’s Algorithm and Factoring: Don’t Throw Away the Odd Orders"
[^factorization_unbalanced]: Brier E. et al., "Factoring Unbalanced Moduli with Known Bits" (Section 4)

[^gcm_forbidden_attack]: Joux A., "Authentication Failures in NIST version of GCM"

[^hnp_extended_hnp]: Hlavac M., Rosa T., "Extended Hidden Number Problem and Its Cryptanalytic Applications" (Section 4) 

[^knapsack_low_density]: Coster M. J. et al., "Improved low-density subset sum algorithms"

[^lcg_truncated_parameter_recovery]: Contini S., Shparlinski I. E., "On Stern's Attack Against Secret Truncated Linear Congruential Generators"
[^lcg_truncated_state_recovery]: Frieze, A. et al., "Reconstructing Truncated Integer Variables Satisfying Linear Congruences"

[^lwe_arora_ge]: ["The Learning with Errors Problem: Algorithms"](https://people.csail.mit.edu/vinodv/6876-Fall2018/lecture2.pdf) (Section 1)

[^pseudoprimes_miller_rabin]: R. Albrecht M. et al., "Prime and Prejudice: Primality Testing Under Adversarial Conditions"

[^rsa_bleichenbacher]: Bleichenbacher D., "Chosen Ciphertext Attacks Against Protocols Based on the RSA Encryption Standard PKCS #1"
[^rsa_boneh_durfee]: Boneh D., Durfee G., "Cryptanalysis of RSA with Private Key d Less than N^0.292"
[^rsa_cherkaoui_semmouni]: Cherkaoui-Semmouni M. et al., "Cryptanalysis of RSA Variants with Primes Sharing Most Significant Bits"
[^rsa_desmedt_odlyzko]: Coron J. et al., "Practical Cryptanalysis of ISO 9796-2 and EMV Signatures (Section 3)"
[^rsa_extended_wiener_attack]: Dujella A., "Continued fractions and RSA with small secret exponent"
[^rsa_known_crt_exponents]: Campagna M., Sethi A., "Key Recovery Method for CRT Implementation of RSA"
[^rsa_partial_known_crt_exponents]: May A., Nowakowski J., Sarkar S., "Approximate Divisor Multiples - Factoring with Only a Third of the Secret CRT-Exponents"
[^rsa_manger]: Manger J., "A Chosen Ciphertext Attack on RSA Optimal Asymmetric Encryption Padding (OAEP) as Standardized in PKCS #1 v2.0"
[^rsa_nitaj_crt_rsa]: Nitaj A., "A new attack on RSA and CRT-RSA"
[^rsa_non_coprime_exponent]: Shumow D., "Incorrectly Generated RSA Keys: How To Recover Lost Plaintexts"
[^rsa_partial_key_exposure1]: Boneh D., Durfee G., Frankel Y., "An Attack on RSA Given a Small Fraction of the Private Key Bits"
[^rsa_partial_key_exposure2]: Ernst M. et al., "Partial Key Exposure Attacks on RSA Up to Full Size Exponents"
[^rsa_partial_key_exposure3]: Blomer J., May A., "New Partial Key Exposure Attacks on RSA"
[^rsa_wiener_attack_common_prime]: Jochemsz E., May A., "A Strategy for Finding Roots of Multivariate Polynomials with New Applications in Attacking RSA Variants" (Section 5)
[^rsa_wiener_attack_lattice]: Nguyen P. Q., "Public-Key Cryptanalysis"
[^rsa_wiener_attack_lattice_extended]: Howgrave-Graham N., Seifert J., "Extending Wiener’s Attack in the Presence of Many Decrypting Exponents"

[^adleman_manders_miller]: Cao Z. et al., "Adleman-Manders-Miller Root Extraction Method Revisited" (Section 5)

[^small_roots_aono]: Aono Y., "Minkowski sum based lattice construction for multivariate simultaneous Coppersmith's technique and applications to RSA" (Section 4)
[^small_roots_blomer_may]: Blomer J., May A., "New Partial Key Exposure Attacks on RSA" (Section 6)
[^small_roots_coron]: Coron J., "Finding Small Roots of Bivariate Integer Polynomial Equations Revisited"
[^small_roots_coron_direct]: Coron J., "Finding Small Roots of Bivariate Integer Polynomial Equations: a Direct Approach"
[^small_roots_herrmann_may]: Herrmann M., May A., "Maximizing Small Root Bounds by Linearization and Applications to Small Secret Exponent RSA"
[^small_roots_herrmann_may_multivariate]: Herrmann M., May A., "Solving Linear Equations Modulo Divisors: On Factoring Given Any Bits" (Section 3 and 4)
[^small_roots_howgrave_graham]: May A., "New RSA Vulnerabilities Using Lattice Reduction Methods" (Section 3.2)
[^small_roots_jochemsz_may_modular]: Jochemsz E., May A., "A Strategy for Finding Roots of Multivariate Polynomials with New Applications in Attacking RSA Variants" (Section 2.1)
[^small_roots_jochemsz_may_integer]: Jochemsz E., May A., "A Strategy for Finding Roots of Multivariate Polynomials with New Applications in Attacking RSA Variants" (Section 2.2)
[^small_roots_nitaj_fouotsa]: Nitaj A., Fouotsa E., "A New Attack on RSA and Demytko's Elliptic Curve Cryptosystem"
टूल डाउनलोड करें