Tateboyashi-Matsuzaki-Newman

Этот протокол распределения ключей подходит для использования в сетях [1521]. Алиса хочет с помощью Трента, KDC, генерировать ключ для сеанса связи с Бобом. Всем участникам известен открытый ключ Трента


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

(1) Алиса выбирает случайное число гА и посылает Тренту г/mod я

(2) Трент сообщает Бобу, что кто-то хочет обменяться с ним ключом.

(3) Боб выбирает случайное число гв и посылает Тренту г/mod и

(4) Трент, используя свой закрытый ключ, расшифровывает гА и гв. Он посылает Алисе

Га®ГВ

(5) Алиса вычисляет
А © г в) ®гА = гв

Она использует гв для безопасного сеанса связи с Бобом.

Протокол выглядит хорошо, но содержит заметный изъян. Кэрол может подслушать этап(З) и использовать эту информацию, воспользовавшись помощью доверчивого Трента и своего сообщника Дэйва, чтобы раскрыть [1472].

(1) Кэрол выбирает случайное число гс и посылает Тренту rB3 rc3 mod n

(2) Трент сообщает Дэйву, что кто-то хочет обменяться с ним ключом .

(3) Дэйв выбирает случайное число rD и посылает Тренту rD3 mod n

(4) Трент, используя свой закрытый ключ, расшифровывает гс и rD. Он посылает Кэрол (rBrc mod n)®rD

(5) Дэйв посылает rD Кэрол.

(6) Кэрол использует гс и rD для получения гв. Она использует гв для расшифровывания переговоров Алисы и Боба.

Это плохо.