Читать «Американская криптология» онлайн - страница 105

Вадим Викторович Гребенников

История «PGP» началась в 1991 году, когда программист Филипп Циммерман на основе публично известных алгоритмов шифрования написал программу для защиты файлов и сообщений от несанкционированного доступа. В то время вокруг криптологических продуктов для гражданских целей в США складывалась неоднозначная ситуация: с одной стороны, они стали достоянием общественности, а с другой стороны, правительственные организации стремились внести ряд ограничений. Так, в 1991 году появился законопроект «S.266» («Билль о чтении зашифрованной корреспонденции») и начали действовать ограничения на экспорт криптологических продуктов, снятые лишь недавно. Затем в 1994 году появился законопроект «О цифровой телефонии».

Но настоящим апофеозом стал проект «Клиппер» (англ. Clipper — ножницы), инициированный АНБ в 1993 году, в соответствии с которым организации и частные пользователи должны были сдавать на депонирование используемые ключи. Это давало возможность спецслужбам получить доступ к любой интересующей их информации. Правда, из-за технологической сложности, дороговизны и общественного осуждения проект был «заморожен».

В таких условиях программа «PGP» как своеобразное выражение технологического протеста не могла не появиться. За это Циммерман был подвергнут преследованию: конкретно ему пытались инкриминировать экспорт криптолгоритмов, поскольку программа быстро распространилась за пределы США через сеть Интернет. В 2003 году Министерство обороны США ограничило экспорт криптографических программ примитивным 40-битным алгоритмом шифрования, а в 2004 году их экспорт был вообще запрещён.

Позже обвинение было снято, а в 1996 году им была образована компания «Pretty Good Privacy, Inc». Знаменитый продукт был экспортирован официальным, хотя и курьёзным способом: исходный текст программы был опубликован в виде книги, потом вывезен из США, отсканирован и скомпилирован в виде программы.

«PGP» выполняла следующие базовые функции:

— генерация пары (закрытого/открытого) ключей;

— шифрование файла с помощью открытого ключа любого пользователя «PGP» (в том числе своего);

— дешифровка файла с помощью своего закрытого ключа;

— наложение цифровой подписи с помощью своего закрытого ключа на файл (аутентификация файла) или на открытый ключ другого пользователя (сертификация ключа);

— проверка (верификация) своей подписи или подписи другого пользователя с помощью его открытого ключа.

В процессе «РGР»-шифрования информация сначала сжимается по известному алгоритму «ZIP». Сжатие не только уменьшает время передачи и экономит объём памяти, но и, что намного более важно, повышает криптостойкость. Связано это с тем, что много методов криптоанализа основано на поиске стойких соединений (так называемых паттернов), которые всегда встречаются в тексте. Сжатие уменьшает их число, чем существенно улучшает противодействие криптоанализу.

Затем «PGP» создаёт одноразовый сеансовый ключ — симметричный (секретный) ключ, который применяется только для одной операции. Этот ключ представляет собой псевдослучайное число, сгенерированное компьютером из импульсов, полученных им от случайных движений «мыши» и нажатий клавиш. С помощью этого ключа и надёжного, быстрого симметричного алгоритма «PGP» шифрует сжатое сообщение, получая в итоге зашифрованный файл. После этого она шифрует и сам секретный сеансовый ключ — по асимметричной схеме с помощью открытого ключа адресата. Данные о сеансовом ключе передаются вместе с зашифрованным файлом.