Сегодня компания PGP Corporation отмечает 15-летие своего главного продукта для шифрования данных - комплекса PGP. За свою 15-летнюю историю продукт, его разработчик и компания пережили множество взлетов и падений.
История PGP началась в 1991 году, когда Филипп Циммерман, программист из Флориды, опубликовал исходный текст PGP в Интернете. В течение трех лет против Циммерманна проводилось уголовное преследование, так как по мнению правительства США, неограниченное распространение технологии PGP нарушало закон США об ограничении экспорта криптографического программного обеспечения.
В начале 1996 года, Циммерманн основал компанию PGP Inc., которая была продана Network Associates Inc (NAI) в декабре 1997 года, и позднее, в августе 2002 года — вновь основанной компании PGP Corporation.
PGP имеет множество реализаций, совместимых между собой и рядом других программ (GnuPG, FileCrypt и др.) благодаря стандарту OpenPGP (RFC 2440), но имеющих разный набор функциональных возможностей. Существуют реализации PGP для всех наиболее распространённых операционных систем. Кроме свободно распространяемых, есть коммерческие реализации:
- PGP Universal
- PGP Corporate Desktop
- PGP Workgroup Desktop
- PGP Command Line
- PGP Personal Desktop
- PGP Whole Disk
- PGP SDK
- PGP
Общий принцип работы PGP за 15 лет в принципе не изменился: во время работы пользователь PGP создаёт ключевую пару: открытый и закрытый ключ. При генерации ключей задаются их владелец (Имя и адрес электронной почты), тип ключа, длина ключа и срок его действия.
PGP поддерживает три типа ключей RSA v4, RSA legacy (v3) и Diffie-Hellman/DSS (Elgamal в терминологии GnuPG).
Для ключей RSA legacy длина ключа может составлять от 1024 до 2048 бит, а для Diffie-Hellman/DSS и RSA — от 1024 до 4096. Ключи RSA legacy содержат одну ключевую пару, а ключи Diffie-Hellman/DSS и RSA могут содержать один главный ключ и дополнительные ключи для шифрования. При этом ключ электронной подписи в ключах Diffie-Hellman/DSS всегда имеет размер 1024. Срок действия для каждого из типов ключей может быть определён как неограниченный или до конкретной даты. Для защиты ключевого контейнера используется секретная фраза.
Ключи RSA legacy (v3) сейчас не используются и выведены из стандарта OpenPGP (RFC 2440).
Кроме того, PGP формирует электронную цифровую подпись путём подписи дайджеста сообщения (файла) закрытым ключом отправителя (автора). Для формирования дайджеста могут использоваться алгоритмы MD5, SHA-1, RIPEMD-160, SHA-256, SHA-384, SHA-512. В новых версиях PGP поддержка MD5 осуществляется для сохранения совместимости с ранними версиями. Для подписи используются алгоритмы RSA или DSA (в зависимости от типа ключа).
На сегодня шифрование в PGP производится с использованием одного из пяти симметричных алгоритмов (AES, CAST5, TripleDES, IDEA, Twofish) на сеансовом ключе. Сеансовый ключ генерируется с использованием криптографически стойкого генератора псевдослучайных чисел. Сеансовый ключ зашифровывается открытым ключом получателя с использованием алгоритмов RSA или Elgamal (в зависимости от типа ключа получателя).
На сегодня PGP является признанным лидером в области шифрования данных, а кроме того, эта программа попала в список TOP-25 компьютерных программ, оказавших наиболее заметное влияние на компьютерную индустрию.
Официальный сайт PGP расположен по адресу - pgp, по этому адресу можно узнать последние новости разработки, купить коммерческие версии и скачать бесплатные.
SecurityLab