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