
مكتبة تشفير مكتفية بذاتها للغة Python
.. 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
PyCryptodome هي حزمة Python مستقلة من البدائيات التشفيرية منخفضة المستوى: أمر pip install واحد، دون مكتبات نظام، وواجهة برمجة تطبيقات واسعة ومتسقة من AES وRSA إلى HPKE وKangarooTwelve وML-DSA ما بعد الكم.
تدعم Python 3.9 وما أحدث، وPyPy.
يمكنك تثبيتها باستخدام::
pip install pycryptodome
تُثبَّت جميع الوحدات ضمن حزمة Crypto.
.. code-block:: python
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
key = get_random_bytes(32)
cipher = AES.new(key, AES.MODE_GCM) # a random nonce is generated
ciphertext, tag = cipher.encrypt_and_digest(b"attack at dawn")
receiver = AES.new(key, AES.MODE_GCM, nonce=cipher.nonce)
plaintext = receiver.decrypt_and_verify(ciphertext, tag) # raises ValueError if tampered
.. note::
حتى الإصدار 3.x، كانت المكتبة تُصدر أيضًا كمشروع pycryptodomex،
وتُثبَّت ضمن حزمة Cryptodome.
بدءًا من الإصدار 4.0، لم يعد pycryptodomex يُصدر،
وأصبح Crypto هو اسم الحزمة الوحيد.
للترحيل، استبدل Cryptodome بـ Crypto في عمليات الاستيراد الخاصة بك.
AES، وRSA (مع OAEP وPSS)، وDSA
أوضاع التشفير الموثق (GCM، CCM، EAX، SIV، OCB، KW، KWP)
التشفير الهجين للمفتاح العام (HPKE)
التشفير بالمنحنيات الإهليلجية (منحنيات NIST P؛ Ed25519، Ed448، Curve25519، Curve448)
التوقيعات ما بعد الكم: ML-DSA وHashML-DSA (FIPS 204)، بما في ذلك mu الخارجي
واجهة برمجة تطبيقات مدمجة (سمات nonce وiv للتشفيرات،
والتوليد التلقائي لـ nonces وIVs العشوائية، ووضع تشفير CTR المبسط،
والمزيد)
خوارزميات تجزئة SHA-2، بما في ذلك المقتطعة SHA-512/224 وSHA-512/256 (FIPS 180-4)
HMAC وCMAC
خوارزميات تجزئة SHA-3 (FIPS 202) والدوال المشتقة (NIST SP-800 185):
خوارزميات XOF من نوع KangarooTwelve وTurboSHAKE128 وTurboSHAKE256
خوارزميات التجزئة BLAKE2b وBLAKE2s
شفرات التدفق Salsa20 وChaCha20/XChaCha20
Poly1305 MAC
الشفرات الموثّقة ChaCha20-Poly1305 وXChaCha20-Poly1305
دوال اشتقاق المفاتيح scrypt وbcrypt وHKDF وNIST SP 800 108r1 Counter Mode
(EC)DSA وEdDSA الحتمية
حاويات مفاتيح PKCS#8 المحمية بكلمة مرور
مخطط تقاسم الأسرار Shamir's Secret Sharing
أرقام عشوائية مصدرها نظام التشغيل مباشرةً
تثبيت بسيط، بما في ذلك على Windows
توليد مفاتيح RSA وDSA مستند إلى حد كبير على FIPS 186-4
لمزيد من المعلومات، راجع homepage_.
بخصوص المشكلات الأمنية، يُرجى إرسال بريد إلكتروني إلى [email protected].
يمكن تنزيل جميع الشيفرات من GitHub_.
.. _homepage: https://www.pycryptodome.org
.. _GitHub: https://github.com/Legrandin/pycryptodome