
पायथन के लिए एक स्व-निहित क्रिप्टोग्राफ़िक लाइब्रेरी
.. image:: https://github.com/Legrandin/pycryptodome/workflows/Integration%20test/badge.svg :target: https://github.com/Legrandin/pycryptodome/actions
.. image:: https://badge.fury.io/py/pycryptodome.svg :target: https://pypi.org/project/pycryptodome
.. image:: https://badge.fury.io/py/pycryptodomex.svg :target: https://pypi.org/project/pycryptodomex
PyCryptodome निम्न-स्तरीय क्रिप्टोग्राफ़िक प्रिमिटिव (low-level cryptographic primitives) का एक स्व-निहित Python पैकेज है।
यह Python 2.7, Python 3.7 और उससे नए संस्करण, तथा PyPy का समर्थन करता है।
स्थापना प्रक्रिया इस बात पर निर्भर करती है कि आप लाइब्रेरी को किस पैकेज में रखना चाहते हैं। PyCryptodome का उपयोग इस प्रकार किया जा सकता है:
#. पुरानी PyCrypto लाइब्रेरी के लिए लगभग ड्रॉप-इन प्रतिस्थापन (drop-in replacement)। आप इसे इसके साथ स्थापित करते हैं::
pip install pycryptodome
इस स्थिति में, सभी मॉड्यूल Crypto पैकेज के अंतर्गत स्थापित होते हैं।
एक ही समय में PyCrypto और PyCryptodome दोनों को स्थापित करने से बचना चाहिए, क्योंकि वे एक-दूसरे के साथ हस्तक्षेप करेंगे।
इसलिए यह विकल्प केवल तभी अनुशंसित है जब आप सुनिश्चित हों कि संपूर्ण एप्लिकेशन virtualenv में तैनात किया गया है।
#. पुरानी PyCrypto से स्वतंत्र एक लाइब्रेरी। आप इसे इसके साथ स्थापित करते हैं::
pip install pycryptodomex
इस स्थिति में, सभी मॉड्यूल Cryptodome पैकेज के अंतर्गत स्थापित होते हैं।
PyCrypto और PyCryptodome एक साथ रह सकते हैं।
Unix में तेज़ पब्लिक की संचालन के लिए, आपको अपने सिस्टम में GMP_ स्थापित करना चाहिए।
PyCryptodome, PyCrypto का एक फ़ोर्क (fork) है। यह PyCrypto के अंतिम आधिकारिक संस्करण (2.6.1) के सापेक्ष निम्नलिखित संवर्द्धन लाता है:
प्रमाणित एन्क्रिप्शन मोड (GCM, CCM, EAX, SIV, OCB, KW, KWP)
हाइब्रिड पब्लिक की एन्क्रिप्शन (HPKE)
AES-NI के माध्यम से Intel प्लेटफ़ॉर्म पर त्वरित AES
PyPy के लिए प्रथम श्रेणी का समर्थन
एलिप्टिक कर्व क्रिप्टोग्राफ़ी (NIST P-curves; Ed25519, Ed448, Curve25519, Curve448)
बेहतर और अधिक संक्षिप्त API (साइफ़र के लिए nonce और iv विशेषताएँ, यादृच्छिक nonce और IV की स्वचालित पीढ़ी, सरलीकृत CTR साइफ़र मोड, और भी बहुत कुछ)
SHA-3 हैश एल्गोरिदम (FIPS 202) और व्युत्पन्न फ़ंक्शन (NIST SP-800 185):
KangarooTwelve, TurboSHAKE128, और TurboSHAKE256 XOFs
ट्रंकेटेड हैश एल्गोरिदम SHA-512/224 और SHA-512/256 (FIPS 180-4)
BLAKE2b और BLAKE2s हैश एल्गोरिदम
Salsa20 और ChaCha20/XChaCha20 स्ट्रीम साइफ़र
Poly1305 MAC
ChaCha20-Poly1305 और XChaCha20-Poly1305 प्रमाणित साइफ़र
scrypt, bcrypt, HKDF, और NIST SP 800 108r1 काउंटर मोड की-डेरिवेशन फ़ंक्शन
डिटर्मिनिस्टिक (EC)DSA और EdDSA
पासवर्ड-संरक्षित PKCS#8 की कंटेनर
Shamir की सीक्रेट शेयरिंग योजना
यादृच्छिक संख्याएँ सीधे OS से प्राप्त होती हैं (न कि यूज़रस्पेस में किसी CSPRNG से)
सरलीकृत स्थापना प्रक्रिया, जिसमें Windows के लिए बेहतर समर्थन शामिल है
क्लीनर RSA और DSA की-जनरेशन (मुख्य रूप से FIPS 186-4 पर आधारित)
कोड बेस की बड़े पैमाने पर सफ़ाई और सरलीकरण
PyCryptodome OpenSSL जैसी किसी अलग C लाइब्रेरी का रैपर नहीं है। अधिकतम संभव सीमा तक, एल्गोरिदम शुद्ध Python में लागू किए गए हैं। केवल वे हिस्से जो प्रदर्शन के लिए अत्यंत महत्वपूर्ण हैं (जैसे ब्लॉक साइफ़र) C एक्सटेंशन के रूप में लागू किए गए हैं।
अधिक जानकारी के लिए, homepage_ देखें।
सुरक्षा संबंधी मुद्दों के लिए, कृपया [email protected] पर ईमेल भेजें।
सभी कोड GitHub_ से डाउनलोड किए जा सकते हैं।
.. _homepage: https://www.pycryptodome.org
.. _GMP: https://gmplib.org
.. _GitHub: https://github.com/Legrandin/pycryptodome