Здравствуйте, TailWind, Вы писали:
N>>Если MitM ничего не менял в посылках, он знает два значения `g^a mod p` и `g^b mod p`, но не может узнать `g^ab mod p` и поэтому грустно сосёт лапу. N>>Если MitM менял посылки, то у клиента и сервера расхождения в значении ключа (если оно вообще расшифровалось) и дальнейшие переговоры не пройдут.
TW>Всё он понял TW>Ты обратился к MitM он сказал, что он сервер и сгенерировал для тебя ключ шифрования по всем твоим модулям
Если он смог корректно подписать свои сообщения ключом сервера, то он знает приватный ключ и поэтому он и есть сервер.
Если он не смог корректно подписать свои сообщения ключом сервера, то клиент его сообщения не принял и не переключился на симметричное шифрование с ключом.
Так что у него ничего не получилось.
И напоминаю, что в DH KEX нет такого, что сервер или клиент "сгенерировал для тебя ключ шифрования". Ключ создаётся только совместными усилиями.