Este repositorio muestra cómo integrar el cifrado de archivos y el descifrado utilizando el estándar OpenPGP en Python. Aquí se utiliza el cifrado simétrico.
OpenPGP (bastante buena privacidad) es un estándar de cifrado gratuito y de código abierto que se utiliza para asegurar la comunicación por correo electrónico, los archivos y otros datos. Proporciona cifrado de extremo a extremo, lo que significa que los datos están encriptados en el dispositivo del remitente y solo pueden ser descifrados por el destinatario previsto con su clave privada. OpenPGP utiliza la criptografía de clave pública para cifrar y descifrar datos, y firmas digitales para verificar la autenticidad y la integridad de los datos. Es ampliamente utilizado por individuos, empresas y organizaciones para proteger la información confidencial y garantizar la comunicación segura.
Enlace: https://www.openpgp.org
Gnupg (GNU Privacy Guard) es una aplicación de software gratuita y de código abierto utilizada para cifrar, descifrar y firmar datos, incluidos archivos, mensajes de correo electrónico y otros tipos de comunicación digital. Proporciona una forma segura y privada de proteger la información confidencial y garantizar la autenticidad e integridad de los datos digitales. Gnupg se basa en el estándar OpenPGP y admite varios algoritmos de cifrado, como AES, RSA y DSA. Está disponible para una amplia gama de sistemas operativos, incluidos Linux, MacOS y Windows, y puede integrarse con varios clientes de correo electrónico y otras aplicaciones de software. Gnupg es ampliamente utilizado por individuos, empresas y organizaciones para proteger su información confidencial y garantizar una comunicación segura.
Enlace: https://gnupg.org
Python-Gnupg es un módulo de Python que proporciona una interfaz de alto nivel para trabajar con Gnupg (GNU Privacy Guard) en Python. Permite a los desarrolladores realizar varias operaciones de Gnupg, como cifrado, descifrado, firma y verificación de firmas digitales, directamente de los scripts de Python. Python-Gnupg está construido sobre el software Gnupg y proporciona una forma más fácil de usar y pitónica de interactuar con Gnupg. Admite operaciones síncronas y asincrónicas, y puede usarse con Python 2 y 3. Python-Gnupg es ampliamente utilizado por desarrolladores que necesitan integrar la funcionalidad GNUPG en sus aplicaciones de Python, como clientes de correo electrónico, software de respaldo y otros aplicaciones.
Documentación de la biblioteca: 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")
Licencia de MIT
Copyright (c) 2023 Sumit Sahoo
El permiso se otorga, de forma gratuita, a cualquier persona que obtenga una copia de este software y archivos de documentación asociados (el "software"), para tratar el software sin restricción, incluidos los derechos de usar, copiar, modificar, modificar, modificar, fusionar , publique, distribuya, sublicence y venda copias del software, y para permitir a las personas a las que se proporciona el software para hacerlo, sujeto a las siguientes condiciones:
El aviso de derechos de autor anterior y este aviso de permiso se incluirán en todas las copias o porciones sustanciales del software.
El software se proporciona "tal cual", sin garantía de ningún tipo, expresa o implícita, incluidas, entre otros, las garantías de comerciabilidad, idoneidad para un propósito particular y no infracción. En ningún caso los autores o titulares de derechos de autor serán responsables de cualquier reclamo, daños u otro responsabilidad, ya sea en una acción de contrato, agravio o de otro tipo, derivado, de o en relación con el software o el uso u otros tratos en el SOFTWARE.