Но если, допустим, два человека ведут беседу в текстовом чате, а во время обмена публичными ключами, "по середине" незаметно вторгнется еще один человек (MITM - Man In The Middle)
Давай в этой схеме я выброшу двух людей. И заменю их на браузер и сайт. Там на самом деле и просиходит такой-же чат. Браузер спрашивает и сайт отвечает. Так вот. Эта схема защищена цифровыми сертификатами. И центром сертификации. Тоесть еще до того как вы начали хоть какой-то обмен работают протоколы установки соединения по TLS/SSL когда браузер может удостоверится что центр сертификации одобрил одного из людей и подтвердил его личность. Это Боб проверяет что Алиса - это действительно Алиса. И также получает ее public key который вобщем-то публичен и тоже является частью сертификата.
Вот придумай где подпихнуть твоего человека-Кларка посередине.
Я слышал про "квантовое шифрование", но это уже следующий век.
Квантового шифрования не существует. Есть алгоритм быстрог разложения длинного числа на множители который является частью протоколов RSA. Но все успехи в науч-попе пока ограничены тем что создали комп очень малой разрядности который и близко не подошел к нужным границам и комп сам представляет собой физ-лабораторию с криогеном и защитой от всеговсего. И нет даже надежды что такой комп вставят в телефон или десктоп. Физика - здесь наука злая и циничная. Более того даже если будут успехи в этой области у КК - то у нас в запасном кармане есть эллиптическая криптография EDSA на которую пока еще ничего не придумано. Поэтому насчет КК и криптографии нам можно вообще не беспокоиться. И нашим детям тоже. И внукам.
Кстати я вижу что qna.habr для меня использует алгоритм EDSA + SHA256