
Una libreria crittografica autonoma per 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 è un pacchetto Python autonomo di primitive
crittografiche di basso livello: un solo pip install, nessuna libreria di sistema,
e un'API ampia e coerente da AES e RSA fino a HPKE, KangarooTwelve e ML-DSA post-quantistico.
Supporta Python 3.9 e versioni successive, e PyPy.
Si installa con::
pip install pycryptodome
Tutti i moduli sono installati nel pacchetto 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) # viene generato un nonce casuale
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) # solleva ValueError se manomesso
.. note::
Fino alla versione 3.x, la libreria era distribuita anche come progetto
pycryptodomex, installato nel pacchetto Cryptodome.
A partire dalla versione 4.0, pycryptodomex non viene più distribuito e
Crypto è l'unico nome di pacchetto.
Per migrare, sostituisci Cryptodome con Crypto nei tuoi import.
Per l'elenco completo degli algoritmi e dei formati, consulta la pagina delle funzionalità.
Per tutto il resto, consulta la homepage.
Per problemi di sicurezza, invia un'email a [email protected].
Tutto il codice può essere scaricato da GitHub_.
.. _homepage: https://www.pycryptodome.org
.. _pagina delle funzionalità: https://www.pycryptodome.org/src/features
.. _GitHub: https://github.com/Legrandin/pycryptodome