СообЧа > База Знаний > Безопасность и шифрование

Вопрос

Я слышал, что PGP можно расшифровать с помощью «третьего ключа». При этом не обязательно знать оригинальные ключи. Так ли это?

Ответ

Нет. Т.е. почти нет. В PGP используется три ключа: два постоянный и один временный ключ сеанса.

Два первых — это открытый и закрытый ключ. Третий — генерируется каждый раз заново. Как они работают:
Допустим, вам надо отправить зашифрованное письмо другу. Вы берете документ и, вроде, можете зашифровать этот документ с помощью его открытого ключа и отправить его. Тогда при получении получатель своим закрытым ключом расшифровывает документ.

И все бы хорошо, если бы не два НО. Первое — алгоритм шифрования/расшифровки по системе RSA работает очень медленно. Скажем, чтобы зашифровать 100 кб. документа, уйдет секунд 20. Это подойдет, если надо отправить короткое письмо, но что делать, если отправлять надо графику большого размера? Неужели ждать несколько часов?

И второе — как быть с несколькими получателями? Ведь для каждого придется шифровать файл по своему.
Поэтому в PGP используется несколько иная схема.
Для каждого документа (письма) генерируется т.н. ключ сеанса. Он совершенно случаен (зависит от случайных данных, которые генерируются передвижениями мыши и разницей в скорости нажатий клавиш).
Далее текст шифруется именно этим случайным ключом. Теперь осталось передать зашифрованный текст вместе с этим ключом.

Но сам ключ передавать нельзя. Сначала он шифруется для каждого из получателей по своему. Т.е. если письмо посылается трем получателям, то ключ шифруется три раза для каждого из получателей. Это гораздо лучше, чем если шифровался бы весь текст три раза.

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

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

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

К сожалению, это только в программе PGP. Другие аналоги (в частности, все российские аналоги) программы действительно обладают лишним ключом. Это требует закон РФ (не впрямую, конечно, а якобы через сертификацию), по которому каждый из производителей просто обязан предоставить такой ключ, иначе он не сможет выпустить свою программу. Что ж поделать, если у нас такое любопытное государство.

BSP

Не все имеющиеся на рынке российские системы защиты обладают «лишним». Можно, например, посмотреть продукцию уже весьма давно работающей российской фирмы «ЛАНКрипто» www.lancrypto.com.

ElderPir

Хочу обратить внимание на то, что уже доказано утверждение о том, что можно создать криптосистему, с опубликованным исходным кодом, в которой существующую лазеку будет найти на практике невозможно.

Человека доказавшего это утверждение взяли в команду разработчиков криптоалгоритмов США. Информация с лекций по «Основам защиты информации».

Unknown



Copyright © 2000-2004 Сообщество Чайников
Контактная информация