Этот репозиторий показывает, как интегрировать шифрование и дешифрование файлов с использованием стандарта OpenPGP в Python. Здесь используется симметричное шифрование.
OpenPGP (довольно хорошая конфиденциальность)-это бесплатный стандарт шифрования с открытым исходным кодом, используемый для обеспечения связи, файлов и других данных. Он обеспечивает сквозное шифрование, что означает, что данные зашифрованы на устройстве отправителя и могут быть расшифрованы только предполагаемым получателем с их личным ключом. OpenPGP использует криптографию открытого ключа для шифрования и расшифровки данных, а также цифровые подписи для проверки подлинности и целостности данных. Он широко используется частными лицами, предприятиями и организациями для защиты конфиденциальной информации и обеспечения безопасного общения.
Ссылка: https://www.openpgp.org
GNUPG (GNU Privacy Guard)-это бесплатное программное приложение и программное обеспечение с открытым исходным кодом, используемое для шифрования, расшифровки и подписи данных, включая файлы, сообщения электронной почты и другие типы цифровой связи. Он обеспечивает безопасный и личный способ защиты конфиденциальной информации и обеспечения подлинности и целостности цифровых данных. GNUPG основан на стандарте OpenPGP и поддерживает различные алгоритмы шифрования, такие как AES, RSA и DSA. Он доступен для широкого спектра операционных систем, включая Linux, MacOS и Windows, и может быть интегрирован с различными почтовыми клиентами и другими программными приложениями. GNUPG широко используется частными лицами, предприятиями и организациями для защиты своей конфиденциальной информации и обеспечения безопасной связи.
Ссылка: https://gnupg.org
Python-gnupg-это модуль Python, который обеспечивает интерфейс высокого уровня для работы с GNUPG (GNU Privacy Guard) в Python. Это позволяет разработчикам выполнять различные операции GNUPG, такие как шифрование, дешифрование, подписание и проверка цифровых подписей непосредственно из сценариев Python. Python-Gnupg строится на вершине программного обеспечения GNUPG и предоставляет более удобный и питонический способ взаимодействия с GNUPG. Он поддерживает как синхронные, так и асинхронные операции и может использоваться с Python 2 и 3. Python-Gnupg широко используется разработчиками, которым необходимо интегрировать функциональность GNUPG в свои приложения Python, такие как клиенты по электронной почте, программное обеспечение для резервного копирования и другие, связанные с безопасностью приложения.
Библиотечная документация: 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 Лицензия
Copyright (C) 2023 Sumit Sahoo
Настоящее разрешение предоставляется бесплатно любому лицу, получающему копию этого программного обеспечения и связанные с ними файлы документации («Программное обеспечение»), для работы в программном обеспечении без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение , публиковать, распространять, сублиценс и/или продавать копии программного обеспечения и разрешить лицам, которым предоставлено программное обеспечение, при условии следующих условий:
Вышеуказанное уведомление об авторском праве и это уведомление о разрешении должно быть включено во все копии или существенные части программного обеспечения.
Программное обеспечение предоставляется «как есть», без гарантии любого рода, явного или подразумеваемого, включая, помимо прочего, гарантии товарной пригодности, пригодности для определенной цели и несоответствия. Ни в коем случае не будут нести ответственность авторов или владельцев авторских прав за любые претензии, ущерб или другую ответственность, будь то в действии контракта, деликт или иным образом, возникающие из или в связи с программным обеспечением или использования или других сделок в ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.