Este repositório mostra como integrar a criptografia e descriptografia de arquivo usando o padrão OpenPGP no Python. Aqui é usada a criptografia simétrica.
O OpenPGP (muito bom privacidade) é um padrão de criptografia gratuito e de código aberto usado para proteger a comunicação, arquivos e outros dados. Ele fornece criptografia de ponta a ponta, o que significa que os dados são criptografados no dispositivo do remetente e só podem ser descriptografados pelo destinatário pretendido com sua chave privada. O OpenPGP usa a criptografia pública para criptografar e descriptografar dados e assinaturas digitais para verificar a autenticidade e a integridade dos dados. É amplamente utilizado por indivíduos, empresas e organizações para proteger informações confidenciais e garantir uma comunicação segura.
Link: https://www.openpgp.org
O GNUPG (GNU Privacy Guard) é um aplicativo de software gratuito e de código aberto usado para criptografar, descriptografar e assinar dados, incluindo arquivos, mensagens de email e outros tipos de comunicação digital. Ele fornece uma maneira segura e privada de proteger informações confidenciais e garantir a autenticidade e a integridade dos dados digitais. O GNUPG é baseado no padrão OpenPGP e suporta vários algoritmos de criptografia, como AES, RSA e DSA. Ele está disponível para uma ampla gama de sistemas operacionais, incluindo Linux, MacOS e Windows, e pode ser integrado a vários clientes de email e outros aplicativos de software. O GNUPG é amplamente utilizado por indivíduos, empresas e organizações para proteger suas informações confidenciais e garantir uma comunicação segura.
Link: https://gnupg.org
O Python-Gnupg é um módulo Python que fornece uma interface de alto nível para trabalhar com GNUPG (Guard de privacidade GNU) no Python. Ele permite que os desenvolvedores executem várias operações do GNUPG, como criptografia, descriptografia, assinatura e verificação de assinaturas digitais, diretamente dos scripts Python. O Python-Gnupg é construído sobre o software GNUPG e fornece uma maneira mais fácil de usar e pitônica de interagir com o GNUPG. Ele suporta operações síncronas e assíncronas e pode ser usado com Python 2 e 3. O Python-Gnupg é amplamente usado por desenvolvedores que precisam integrar a funcionalidade GNUPG em seus aplicativos Python, como clientes de email, software de backup e outros relatórios de segurança Aplicações.
Documentação da 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")
MIT Licença
Copyright (c) 2023 Sumit Sahoo
É concedida permissão, gratuitamente, a qualquer pessoa que obtenha uma cópia deste software e arquivos de documentação associados (o "software"), para lidar com o software sem restrição, incluindo, sem limitação, os direitos de uso, copiar, modificar, mesclar .
O aviso de direitos autorais acima e este aviso de permissão devem ser incluídos em todas as cópias ou em partes substanciais do software.
O software é fornecido "como está", sem garantia de qualquer tipo, expresso ou implícito, incluindo, entre outros, as garantias de comercialização, aptidão para uma finalidade específica e não innoculação. Em nenhum caso os autores ou detentores de direitos autorais serão responsabilizados por qualquer reclamação, danos ou outro passivo, seja em uma ação de contrato, delito ou não, decorrente de, fora ou em conexão com o software ou o uso ou outras negociações nos Software.