Гибридная криптосистема PGP

PGP объединяет в себе лучшие стороны как традиционной криптографии, так и шифрования открытым ключом. PGP - это гибридная криптосистема.

Когда человек шифрует данные с помощью PGP, PGP для начала их сжимает. Сжатие уменьшает время их модемной передачи и экономит дисковое пространство, а так же, что более важно, усиливает криптографическую стойкость. Большинство криптоаналитических техник основано на поиске паттернов открытого текста. Сжатие уменьшает число таких паттернов, чем существенно улучшает сопротивляемость криптоанализу. (Слишком короткие файлы и файлы, которые не сжимаются достаточно хорошо, не сжимаются вовсе.)

Затем, PGP создаёт сессионный ключ, который, по сути, - одноразовый симметричный ключ, применяемый только для одной операции. Этот ключ - псевдослучайное число, сгенерированное от случайных движений вашей мыши и нажатий клавиш. Сессионный ключ работает на основе очень надёжного, быстрого конвенционального алгоритма, которым PGP шифрует сжатое сообщение; в результате получается зашифрованный текст. Как только данные зашифрованы, сессионный ключ также шифруется, но уже общественным ключом реципиента. Этот зашифрованный открытым ключом сессионный ключ передаётся получателю наряду с зашифрованным текстом.

Рис. 18. Как действует шифрование PGP

Дешифровка происходит в обратном порядке. PGP получателя использует его частный ключ для извлечения сессионного ключа из сообщения, которым затем дешифруется конвенционально зашифрованный текст.

Рис. 19. Как действует дешифрование PGP

Таким образом, комбинация этих двух методов объединяет удобство шифрования открытым ключом со скоростью работы конвенционального алгоритма. Конвенциональное шифрование почти в тысячу раз быстрее асимметричного. Шифрование открытым ключом, в свою очередь, предоставляет простое решение проблемы распространения ключей и передачи данных. Используемые совместно, скорость исполнения и распросранение ключей взаимно дополняются и улучшаются без какого бы то ни было ущерба безопасности.

Ключи

Ключ - это некоторая величина, которая, работая совместно с криптоалгоритмом, производит определённый зашифрованный текст. Ключи, как правило, -- это очень-очень-очень большие числа. Размер ключа измеряется в битах; число, представляющее 2048-битный ключ, чертовски огромное. В асимметричной криптографии чем больше ключ, тем защищённей шифр.

Однако, размер асимметричного открытого ключа и размер тайного ключа, построенного на конвенциональном алгоритме, абсолютно несопоставимы. Конвенциональный 80-битный ключ эквивалентен в стойкости 1024-битному открытому ключу. Конвенциональный 128-битный ключ равен 3000-битному общественному. Опять же, больше ключ -- выше безопасность, но алгоритмы, применяемые в каждом из типов криптографии настолько различны, что сравнивать их то же самое, что яблоки с апельсинами.

Несмотря на то, что ключевая пара математически связана, практически невозможно из открытого вычислить частный; тем не менее, извлечение частного ключа всегда остаётся возможным, если располагать достаточным временем и вычислительными мощностями. Вот почему критически важно создавать ключ верной длины: достаточно большой, чтобы был стойким, но достаточно малый, чтобы оставался быстрым в работе. Кроме того, нужно рассчитывать, кто может попытаться «прочитать ваши файлы», насколько они могут быть настойчивы, скольким временем располагают, каковы их ресурсы.

Более крупные ключи будут криптографически защищены больший промежуток времени. Если то, что вы хотите зашифровать, должно быть спрятано на многие-многие годы, вы, возможно, захотите воспользоваться очень большим ключом. Разумеется, кто знает, сколько потребуется времени, чтобы вскрыть ваш ключ, используя завтрашние более быстрые, более эффективные компьютеры? Было время, когда 56-битный симметричный ключ считался чрезвычайно надёжным.

Ключи хранятся в зашифрованном виде. PGP держит ключи в двух файлах на жёстком диске; один файл для открытых ключей, другой -- для закрытых. Эти файлы называются связками (keyrings). Работая с PGP, вы, обычно, будете добавлять открытые ключи своих корреспондентов на связку открытых. Ваши закрытые ключи находятся на связке частных. Если вы потеряете (удалите) связку закрытых ключей, то более не сможете дешифровать информацию, зашифрованную на ключи с этой связки.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: