Потерю какого-либо ключевого элемента называют компрометацией ключа (шыфра). При построении сети секретной связи стараются создавать сети, устойчивые к однократной компрометации. Это означает, что если будет утерян ключ одного абонента, то злоумышленник сможет прочитать только секретную переписку этого абонента.
Распределение ключей между пользователями сети реализуется двумя способами:
Создание одного или нескольких центров распределения ключей (ЦРК). Когда один абонент желает установить секретную связь с другим абонентом, он обращается в ЦРК с целью получения сеансового ключа, на котором и будет установлена связь. Недостаток такого подхода состоит в том, что а случае применения шифров с секретными ключами при компрометации ЦРК будет скомпроментирована вся сеть связи. Кроме того, в самом ЦРК могут читать все сообщения. При использовании шифров с открытыми ключами ЦРК не обладает секретной информацией. Распространяемое ЦРК ключи являются открытыми ключами пользователей, а сообщения, зашифрованные на этих ключах, могут быть расшифрованы только при наличии соответствующих секретных ключей, которые есть только у абонентов.
Прямой обмен сеансовыми ключами между абонентами сети. В этом случае проблема состоит в том, чтобы надежно удостоверить подлинность субъектов. Эту задачу называют задачей аутентификации. Если абонент А желает переслать другому абоненту В секретное сообщение (при этом он зашифровывает его на открытом ключе Ев абонента В), то он должен быть уверен, что ключ Ев действительно принадлежит абоненту В. Задача аутентификации, которая особенно актуальна именно в случае прямого обмена сеансовыми ключами, решается в криптографии путем использования специальных криптографических протоколов. Протокол - это определенная последовательность действий, посредством которых две или более стороны совместно выполняют некоторое задание. Так, например, экспоненциальный ключевой обмен Диффи-Хеллмана, рассмотренный ранее можно рассматривать как криптографический протокол выработки абонентами сеансового ключа связи с использованием односторонней функции.
Рассмотрим один из наиболее интересных протоколов, предложенный А. Шамиром, который позволяет обеспечить секретную связь, не распространяя предварительно ни секретных, ни открытых ключей.
Пусть используется шифр, функция шифрования Е которого коммутативна, т.е. для любого открытого текста х и любых ключей z1,z2 Ez1 (Ez2(x)) = Ez2(Ez1(x)).
Пользователи А и В случайно выбирают личные секретные ключи zА и ZB.
Когда А желает послать сообщение х абоненту В, он зашифровывает х с использованием ключа zA Y1 =ЕZА(х). Далее он посылает Y1 по открытому (но защищенному от имитации и подмены) каналу связи абоненту В,
Пользователь В вычисляет Y2 = ЕZB(Y1) = ЕZB(ЕZА(х)) и посылает Y2 абоненту А.
Абонент А вычисляет Y3 = DZA(Y2) = DZA(ЕZB(ЕZA(х))) = DZA(ЕZA(ЕZB(х))) = ЕZВ(х) и посылает Y3 обратно абоненту В.
Абонент В вычисляет x = DZB(Y3) = DZB(EZB(х)).
Шамиром был предложен шифр для применения в этом протоколе. Пусть р - большое простое число и (р-1) - имеет большой простой множитель, е - случайное число, удовлетворяющее условиям:
1 <е< р-1
НОД(е, р-1)-1, d - число, удовлетворяющее условиям
1 < d <р-1
ed = 1 (mod р-1).
Секретным ключом является пара z=(d,е). Функция шифрования у=^(х)=xe(mod р). Функция расшифрования х = Dy(y) =yd(mod p).
Одним из направлений использования односторонних функций с "лазейкой" и, в частности, шифров с открытыми ключами является подтверждение подлинности сообщений. Для этого к сообщениям приписываются так называемые цифровые подписи, которые зависят как от идентификатора отправителя, так и от содержания сообщения. Никто, кроме отправителя, не может вычислить цифровую подпись для конкретного сообщения, а значит
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.