 
        
        трехэтапный протокол шамира
.docxПротокол изобретенный Ади Шамиром, но никогда не опубликованный позволяет Алисе и Бобу безопасно обмениваться информацией, не используя предварительного обмена ни секретными, ни открытыми ключами. Он предполагает использование коммутативного симметричного шифра, для которого

Секретный ключ Алисы – А, а Боба – В. Алиса хочет послать сообщение М Бобу. Пример работы протокола.
- 
Алиса шифрует М своим ключом и посылает шифротекст Бобу. 

- 
Боб шифрует  cвоим
	ключом и посылает шифротекст Алисе. cвоим
	ключом и посылает шифротекст Алисе.

- 
Алиса расшифровывает  своим ключом и посылает результат Бобу своим ключом и посылает результат Бобу

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



Ева, перехватив
эти три сообщения, которыми обмениваются
Алиса и Боб, просто выполнит 
 всех этих шифротекстов и восстановит
сообщение:
всех этих шифротекстов и восстановит
сообщение:

Очевидно, что такой способ работать не будет.
Шамир(и независимо
Джим Омура) описал похожий на RSA
алгоритм шифрования, который будет
работать с этим протоколом. Пусть 
 будет большим простым числом, причем,
множитель
будет большим простым числом, причем,
множитель 
 является большим простым числом. Выберем
ключ шифрования е, взаимно простой с
является большим простым числом. Выберем
ключ шифрования е, взаимно простой с .
Вычислим
.
Вычислим 
 ,
для которого выполняется
,
для которого выполняется 
 .
.
Для шифрования
сообщений вычислим
Для расшифровки
 .
.
По-видимому, у Евы нет способа получить открытый текст М, не решив проблему дискретного логарифмирования, но это не было доказано.
Как и Diffie-Hellman, этот протокол позволяет Алисе начать защищенный обмен информацией с Бобом, не зная ни одного из его ключей. При использовании алгоритма с открытым ключом, Алиса должна знать открытый ключ Боба. Применяя трехэтапный алгоритм Шамира, она просто посылает Бобу шифротект сообщения. То же действие с помощью алгоритма с открытым ключом выглядит следующим образом:
- 
Алиса запрашивает у Боба (или у KDC – Key Distribution Center) его открытый ключ. 
- 
Боб (или KDC) посылает Алисе свой открытый ключ 
- 
Алиса шифрует открытый текст M открытым ключом Боба и посылает шифротекст Бобу. 
Трехпроходной алгоритм Шамира уязвим к атаке “Man In the Middle”.
