Читать «Американская криптология» онлайн - страница 105
Вадим Викторович Гребенников
История «PGP» началась в 1991 году, когда программист Филипп Циммерман на основе публично известных алгоритмов шифрования написал программу для защиты файлов и сообщений от несанкционированного доступа. В то время вокруг криптологических продуктов для гражданских целей в США складывалась неоднозначная ситуация: с одной стороны, они стали достоянием общественности, а с другой стороны, правительственные организации стремились внести ряд ограничений. Так, в 1991 году появился законопроект «S.266» («Билль о чтении зашифрованной корреспонденции») и начали действовать ограничения на экспорт криптологических продуктов, снятые лишь недавно. Затем в 1994 году появился законопроект «О цифровой телефонии».
Но настоящим апофеозом стал проект «Клиппер» (
В таких условиях программа «PGP» как своеобразное выражение технологического протеста не могла не появиться. За это Циммерман был подвергнут преследованию: конкретно ему пытались инкриминировать экспорт криптолгоритмов, поскольку программа быстро распространилась за пределы США через сеть Интернет. В 2003 году Министерство обороны США ограничило экспорт криптографических программ примитивным 40-битным алгоритмом шифрования, а в 2004 году их экспорт был вообще запрещён.
Позже обвинение было снято, а в 1996 году им была образована компания «Pretty Good Privacy, Inc». Знаменитый продукт был экспортирован официальным, хотя и курьёзным способом: исходный текст программы был опубликован в виде книги, потом вывезен из США, отсканирован и скомпилирован в виде программы.
«PGP» выполняла следующие базовые функции:
— генерация пары (закрытого/открытого) ключей;
— шифрование файла с помощью открытого ключа любого пользователя «PGP» (в том числе своего);
— дешифровка файла с помощью своего закрытого ключа;
— наложение цифровой подписи с помощью своего закрытого ключа на файл (аутентификация файла) или на открытый ключ другого пользователя (сертификация ключа);
— проверка (верификация) своей подписи или подписи другого пользователя с помощью его открытого ключа.
В процессе «РGР»-шифрования информация сначала сжимается по известному алгоритму «ZIP». Сжатие не только уменьшает время передачи и экономит объём памяти, но и, что намного более важно, повышает криптостойкость. Связано это с тем, что много методов криптоанализа основано на поиске стойких соединений (так называемых паттернов), которые всегда встречаются в тексте. Сжатие уменьшает их число, чем существенно улучшает противодействие криптоанализу.
Затем «PGP» создаёт одноразовый сеансовый ключ — симметричный (секретный) ключ, который применяется только для одной операции. Этот ключ представляет собой псевдослучайное число, сгенерированное компьютером из импульсов, полученных им от случайных движений «мыши» и нажатий клавиш. С помощью этого ключа и надёжного, быстрого симметричного алгоритма «PGP» шифрует сжатое сообщение, получая в итоге зашифрованный файл. После этого она шифрует и сам секретный сеансовый ключ — по асимметричной схеме с помощью открытого ключа адресата. Данные о сеансовом ключе передаются вместе с зашифрованным файлом.