Автор: Пользователь скрыл имя, 17 Января 2012 в 01:54, реферат
Криптографическая система с открытым ключом (или Асимметричное шифрование, Асимметричный шифр) — система шифрования и/или электронной цифровой подписи (ЭЦП), при которой открытый ключ передаётся по открытому (то есть незащищённому, доступному для наблюдения) каналу, и используется для проверки ЭЦП и для шифрования сообщения. Для генерации ЭЦП и для расшифрования сообщения используется секретный ключ. Криптографические системы с открытым ключом в настоящее время широко применяются в различных сетевых протоколах, в частности, в протоколах TLS и его предшественнике SSL (лежащих в основе HTTPS), в SSH. Также используется в PGP, S/MIME.
Идея криптографии с открытым ключом очень тесно связана с идеей односторонних функций, то есть таких функций f(x), что по известному x довольно просто найти значение f(x), тогда как определение x из f(x) сложно в смысле теории.
Тогда
Алиса может зашифровать сообщение
ключом KA, а Эллен расшифровать ключами
KB, KC, Кэрол — зашифровать ключом KC, а Дэйв
расшифровать ключами KA, KB. Если Дэйв зашифрует
сообщение ключом KA, то сообщение сможет
прочитать Эллен, если ключом KB, то его
сможет прочитать Франк, если же обоими
ключами KA и KB, то сообщение прочитает
Кэрол. По аналогии действуют и другие
участники. Таким образом, если используется
одно подмножество ключей для шифрования,
то для расшифрования требуются оставшиеся
ключи множества. Такую схему можно использовать
для n ключей.
Шифруется ключом | Расшифровывается ключом |
KB и KC | KA |
KA и KC | KB |
KA и KB | KC |
KC | KA, KB |
KA | KB, KC |
KB | KA, KC |
Теперь можно посылать сообщения группам агентов, не зная заранее состав группы.
Рассмотрим для начала множество, состоящее из трех агентов: Алисы, Боба и Кэрол. Алисе выдаются ключи KA и KB, Бобу — KB и KC, Кэрол — KA и KC. Теперь, если отправляемое сообщение зашифровано ключом KC, то его сможет прочитать только Алиса, последовательно применяя ключи KA и KB. Если нужно отправить сообщение Бобу, сообщение шифруется ключом KA, Кэрол — ключом KB. Если нужно отправить сообщение и Алисе и Кэрол, то для шифрования используются ключи KB и KC.
Преимущество этой схемы заключается в том, что для её реализации нужно только одно сообщение и n ключей (в схеме с n агентами). Если передаются индивидуальные сообщения, то есть используются отдельные ключи для каждого агента (всего n ключей) и каждого сообщения, то для передачи сообщений всем различным подмножествам требуется 2n − 2 ключей.
Недостатком
такой схемы является то, что необходимо
также широковещательно передавать подмножество
агентов (список имён может быть внушительным),
которым нужно передать сообщение. Иначе
каждому из них придется перебирать все
комбинации ключей в поисках подходящей.
Также агентам придется хранить немалый
объём информации о ключах.
Казалось бы, что криптосистема с открытым ключом — идеальная система, не требующая безопасного канала для передачи ключа шифрования. Это подразумевало бы, что два легальных пользователя могли бы общаться по открытому каналу, не встречаясь, чтобы обменяться ключами. К сожалению, это не так. Рисунок иллюстрирует, как Ева, выполняющая роль активного перехватчика, может захватить систему (расшифровать сообщение, предназначенное Бобу) без взламывания системы шифрования.
В этой модели Ева перехватывает открытый ключ e, посланный Бобом Алисе. Затем создает пару ключей e' и d', «маскируется» под Боба, посылая Алисе открытый ключ e', который, как думает Алиса, открытый ключ, посланный ей Бобом. Ева перехватывает зашифрованные сообщения от Алисы к Бобу, расшифровывает их с помощью секретного ключа d', заново зашифровывает открытым ключом e Боба и отправляет сообщение Бобу. Таким образом, никто из участников не догадывается, что есть третье лицо, которое может как просто перехватить сообщение m, так и подменить его на ложное сообщение m'. Это подчеркивает необходимость аутентификации открытых ключей. Для этого обычно используют сертификаты. Распределённое управление ключами в PGP решает возникшую проблему с помощью поручителей.
Еще
одна форма атаки — вычисление
закрытого ключа, зная открытый (рисунок
ниже). Криптоаналитик знает алгоритм
шифрования Ee, анализируя его, пытается
найти Dd. Этот процесс упрощается,
если криптоаналитик перехватил несколько
криптотекстов с, посланных лицом A лицу
B.
Большинство
криптосистем с открытым ключом основаны
на проблеме факторизации больших чисел.
К примеру, RSA использует в качестве
открытого ключа n произведение двух
больших чисел. Сложность взлома
такого алгоритма состоит в трудности
разложения числа n на множители. Но эту
задачу решить реально. И с каждым годом
процесс разложения становится все быстрее.
Ниже приведены данные разложения на множители
с помощью алгоритма «Квадратичное решето».
Год | Число
десятичных разрядов
в разложенном числе |
Во
сколько раз сложнее
разложить
на множители 512-битовое число |
1983 | 71 | > 20 000 000 |
1985 | 80 | > 2 000 000 |
1988 | 90 | 250 000 |
1989 | 100 | 30 000 |
1993 | 120 | 500 |
1993 | 129 | 100 |
Также задачу разложения потенциально можно решить с помощью Алгоритма Шора при использовании достаточно мощного квантового компьютера.
Для
многих методов несимметричного
шифрования криптостойкость, полученная
в результате криптоанализа, существенно
отличается от величин, заявляемых разработчиками
алгоритмов на основании теоретических
оценок. Поэтому во многих странах вопрос
применения алгоритмов шифрования данных
находится в поле законодательного регулирования.
В частности, в России к использованию
в государственных и коммерческих организациях
разрешены только те программные средства
шифрования данных, которые прошли государственную
сертификацию в административных органах,
в частности, в ФСБ, ФСТЭК.
Применение
Алгоритмы криптосистемы с открытым ключом можно использовать:
Преимущества
Недостатки
Длина симметричного ключа, бит | Длина несимметричного ключа, бит |
56 | 384 |
64 | 512 |
80 | 768 |
112 | 1792 |
128 | 2304 |