GNU Privacy Guard (GnuPG, GPG) — свободная программа для шифрования информации и создания электронных цифровых подписей. Разработана как альтернатива PGP и выпущена под свободной лицензией GNU General Public License. GnuPG полностью совместима со стандартом IETF OpenPGP. Текущие версии GnuPG могут взаимодействовать с PGP и другими OpenPGP-совместимыми системами.
Особенности:
-Полная альтернатива PGP.
-Не использует патентованные алгоритмы.
-Распространяется под GNU General Public License.
-Полная реализация OpenPGP.
-Расшифрование и аутентификация почтовых сообщений, созданных с помощью PGP 5, 6 и 7.
-Поддержка электронной подписи с помощью алгоритмов ElGamal, DSA, RSA и хеш-функций MD5, SHA-1, SHA-2, RIPE-MD-160 и TIGER.
-Работа с асимметричным шифрованием ElGamal и RSA (длина ключа от 1024 до 4096 бит).
-Поддержка блочных алгоритмов симметричного шифрования AES, CAST5, 3DES, Twofish, Blowfish, Camellia, а также IDEA с помощью плагина.
-Поддержка алгоритмов сжатия: ZIP, ZLIB, BZIP2.
-Лёгкая реализация новых алгоритмов с помощью дополнительных модулей.
-Поддержка просроченных ключей и подписей.
-Интегрированная поддержка HKP серверов ключей.
Использование.
GnuPG — программа, которая работает на почти всех операционных системах: от Microsoft Windows и GNU/Linux до Mac OS X, FreeBSD, OpenBSD, NetBSD и т. д.
Хотя в основном интерфейсом GnuPG является командная строка, существуют различные внешние дополнения, которые делают доступной функциональность этой программы через графический интерфейс пользователя. Например, GnuPG интегрирован в графические клиенты электронной почты KMail и Evolution. Механизм плагинов полностью совместим со стандартом OpenPGP.
С помощью расширения Enigmail GnuPG работает в почтовом клиенте Mozilla Thunderbird для шифрования и аутентификации сообщений. Также поддержка GnuPG имеется в почтовых клиентах Mutt, The Bat! и Gnus.
При помощи программы GPGrelay шифровать и подписывать электронные письма через GnuPG можно любыми почтовыми клиентами, работающими по протоколам POP3, IMAP4, SMTP.
Для пользователей операционной системы Microsoft Windows вторая ветка GnuPG поставляется сразу с графическим интерфейсом. Начиная с 2005 года разработчиками проекта GnuPG выпускается Gpg4win (GNU Privacy Guard for Windows) — инсталляционный пакет, который включает в себя:
-версию GnuPG для Windows (ядро пакета, само средство шифрования);
-Kleopatra (менеджер сертификатов для OpenPGP и X.509);
-GPA (альтернативный менеджер сертификатов (GNU) для OpenPGP и X.509);
-GpgOL (плагин для Outlook);
-GpgEX (плагин для проводника Windows, используется при шифровании файлов);
-Claws Mail (полноценная почтовая программа с поддержкой функций GnuPG); — начиная с версии 2.2.6 был удален из пакета [1]
-документацию на английском и немецком языке.
По сути Gpg4win — это официальная версия GnuPG для платформы Windows и все включённые в этот пакет компоненты также свободны. Также, используя дополнительные плагины GnuPG или SecureIM, можно достичь шифрования сообщений с помощью GnuPG в клиенте сетей мгновенных сообщений Miranda IM. GnuPG поддерживается Jabber-клиентами Psi и Gajim.
Принцип работы.
GnuPG шифрует сообщения, используя асимметричные пары ключей, генерируемые пользователями GnuPG. Открытыми ключами можно обмениваться с другими пользователями различными путями, в том числе и через Интернет с помощью серверов ключей. Также GnuPG позволяет добавлять криптографическую цифровую подпись к сообщению, при этом целостность и отправитель сообщения могут быть проверены.
GnuPG не использует запатентованное или иначе ограниченное программное обеспечение и/или алгоритмы, включая алгоритм IDEA, который представлен в PGP почти с самого начала. GnuPG использует другие непатентованные алгоритмы CAST5, 3DES, AES, Blowfish и Twofish. Тем не менее, возможно использование в GnuPG и алгоритма IDEA с помощью дополнительного модуля.
GnuPG — это гибридное криптографическое программное обеспечение, которое использует комбинацию стандартного шифрования с помощью симметричных ключей и шифрования с открытым ключом для безопасного обмена ключами, открытый ключ получателя необходим для шифрования ключа сессии, используемого единожды. Такой режим работы является частью стандарта OpenPGP и частью PGP в его первой версии.