Ce référentiel montre comment intégrer le cryptage de fichiers et le décryptage à l'aide de la norme OpenPGP dans Python. Ici, le cryptage symétrique est utilisé.
OpenPGP (assez bonne confidentialité) est une norme de chiffrement gratuite et open source utilisée pour sécuriser la communication par e-mail, les fichiers et autres données. Il fournit un chiffrement de bout en bout, ce qui signifie que les données sont chiffrées sur l'appareil de l'expéditeur et ne peuvent être déchiffrées que par le destinataire prévu avec leur clé privée. OpenPGP utilise la cryptographie de clé publique pour crypter et décrypter les données et les signatures numériques pour vérifier l'authenticité et l'intégrité des données. Il est largement utilisé par les particuliers, les entreprises et les organisations pour protéger les informations sensibles et assurer une communication sécurisée.
Lien: https://www.openpgp.org
GNUPG (GNU Privacy Guard) est une application logicielle gratuite et open source utilisée pour le cryptage, le décryptage et la signature de données, y compris des fichiers, des e-mails et d'autres types de communication numérique. Il fournit un moyen sécurisé et privé de protéger les informations sensibles et d'assurer l'authenticité et l'intégrité des données numériques. GNUPG est basé sur la norme OpenPGP et prend en charge divers algorithmes de chiffrement, tels que AES, RSA et DSA. Il est disponible pour une large gamme de systèmes d'exploitation, notamment Linux, MacOS et Windows, et peut être intégré à divers clients de messagerie et autres applications logicielles. GNUPG est largement utilisé par les particuliers, les entreprises et les organisations pour protéger leurs informations sensibles et assurer une communication sécurisée.
Lien: https://gnupg.org
Python-gnupg est un module Python qui fournit une interface de haut niveau pour travailler avec GNUPG (GNU Privacy Guard) dans Python. Il permet aux développeurs d'effectuer diverses opérations GNUPG, telles que le chiffrement, le décryptage, la signature et la vérification des signatures numériques, directement à partir de scripts Python. Python-Mupg est construit sur le logiciel GNUPG et fournit une manière plus conviviale et pythonique d'interagir avec GNUPG. Il prend en charge les opérations synchrones et asynchrones, et peut être utilisée avec Python 2 et 3. Python-gnupg est largement utilisé par les développeurs qui ont besoin d'intégrer la fonctionnalité GNUPG dans leurs applications Python, telles que les clients de messagerie, les logiciels de sauvegarde et d'autres titres liés à la sécurité applications.
Documentation de la bibliothèque: https://gnupg.readthedocs.io/en/latest
with open(path, 'rb') as file:
encryptionStatus = gpg.encrypt_file(file, recipients=Any, symmetric=True, passphrase=symmetricKey, output=path + ".encrypted", armor=False, extra_args=extra_args_encryption)
with open(encryptedFilePath, 'rb') as file:
decryptionStatus = gpg.decrypt_file(file, passphrase=symmetricKey, output=path + ".decrypted")
Licence MIT
Copyright (C) 2023 Sumit Sahoo
L'autorisation est accordée gratuitement par la présente à toute personne qui obtient une copie de ce logiciel et des fichiers de documentation associés (le "logiciel"), pour traiter le logiciel sans restriction, y compris sans limiter les droits d'utilisation, de copier, de modifier, de fusionner , publier, distribuer, sous-licencier et / ou vendre des copies du logiciel et permettre aux personnes à qui le logiciel est fourni pour le faire, sous réserve des conditions suivantes:
L'avis de droit d'auteur ci-dessus et le présent avis d'autorisation sont inclus dans toutes les copies ou des parties substantielles du logiciel.
Le logiciel est fourni "tel quel", sans garantie d'aucune sorte, express ou implicite, y compris, mais sans s'y limiter, les garanties de qualité marchande, d'adéquation à un usage particulier et de non-contrefaçon. En aucun cas, les auteurs ou les titulaires de droits d'auteur ne seront pas responsables de toute réclamation, dommage ou autre responsabilité, que ce soit dans une action de contrat, de délit ou autre, découlant de, hors du logiciel ou de l'utilisation ou d'autres transactions dans le LOGICIEL.