Меню
Главная
Авторизация/Регистрация
 
Главная arrow Информатика arrow Защита информации. Курс лекций

Асимметричные криптосистемы.

Общие положения

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

Одна из проблем организации секретной связи в случае поточных шифров — проблема

передачи этих ключей между абонентами. В 1976 году Уитфилд Диффи (Whitfield Diffie) и Мартин Хеллман (Martin Heilman) заложили основу для преодоления этого препятствия, предложив понятие криптографии с открытым ключом. Сходное понятие самостоятельно открыл Ральф Меркль (Ralf Merkle). Вскоре последовала первая практическая реализация криптографии с открытым ключом, предложенная Рональдом Райвистом (Ronald Rivest), Ади Шами-ром (Adi Shamir) и Леонардом Адлеманом (Leonard Adieman) и получившая название RSA (по первым буквам фамилий ее создателей).

Основное наблюдение, которое, собственно, и привело к появлению криптографии с открытым ключом, заключалось в следующем: тот, кто зашифровывает сообщение, не обязан уметь его расшифровывать. В таких системах алгоритм генерации ключей открыт: каждый пользователь Y подает на вход системы случайную строку требуемой длины, на основании которой получает пару ключей Ко и Кс. Затем он делает один из них (Ко ) доступным каждому из возможных абонентов, объявляя этот ключ своим открытым кдючомшифрования, в то время как другой( Кс), соответствующий первому и являющийся его личным алгоритмом дешифрования, хранит в строгом секрете. Это позволяет даже совершенно незнакомому пользователю, например абоненту сети по имени X, применять его общедоступный ключ шифрования, чтобы зашифровать предназначенное для Y сообщение; однако лишь сам Y сможет расшифровать его после получения с помощью своего секретного ключа дешифрования. Такие системы могут быть стойкими только при условии, что свойства общедоступного алгоритма шифрования делают невозможным «вычисление» или подбор соответствующего ему алгоритма дешифрования.

Рассмотрим гипотетическую атаку злоумышленника на эту систему. Противнику известен открытый ключ К0, но неизвестен соответствующий секретный ключ Кс. Противник перехватил криптограмму т} и пытается найти сообщение т, где mi=). Поскольку алгоритм шифрования открыт, противник может просто последовательно перебрать все возможные сообщения длины п, вычислить для каждого такого сообщения mt криптограмму тц =FKc(nii) и сравнить гпц с mi. То сообщение, для которого тц = т} и будет искомым открытым текстом. Если повезет, то открытый текст будет найден достаточно быстро. В худшем же случае перебор будет выполнен за время порядка 2пТ(п), где Т(п) - время, требуемое для шифрования сообщения длины п. Если сообщения имеют длину порядка 1000 битов, то такой перебор неосуществим на практике ни на каких самых мощных компьютерах.

Мы рассмотрели лишь один из возможных способов атаки на криптосистему и простейший алгоритм поиска открытого текста, называемый обычно алгоритмом полного перебора. Используется также и другое название: «метод грубой силы». Другой простейший алгоритм поиска открытого текста - угадывание. Этот очевидный алгоритм требует небольших вычислений, но срабатывает с пренебрежимо малой вероятностью (при больших длинах текстов). На самом деле противник может пытаться атаковать криптосистему различными способами и использовать различные, более изощренные алгоритмы поиска открытого текста.

Кроме того, злоумышленник может попытаться восстановить секретный ключ, используя знания (в общем случае несекретные) о математической зависимости между открытым и секретным ключами. Естественно считать криптосистему стойкой, если любой такой алгоритм требует практически неосуществимого объема вычислений или срабатывает с пренебрежимо малой вероятностью. (При этом противник может использовать не только детерминированные, но и вероятностные алгоритмы.) Это и есть теоретико-сложностный подход к определению стойкости.

 
Посмотреть оригинал
Если Вы заметили ошибку в тексте выделите слово и нажмите Shift + Enter
< Пред   СОДЕРЖАНИЕ ОРИГИНАЛ   След >
 
Популярные страницы