Это похоже на запутанный вопрос. Вы спрашиваете о том, как работает обмен открытыми ключами, или о том, почему вы не можете перенести объект в памяти на другой компьютер, не сломав указатели.
Ответ на первый вопрос заключается в том, что вы просто передаете открытый ключ - это серия байтов, которые обычно закодированы в шестнадцатеричном или base64-коде или заключены в сертификат X509 (ASN1). Открытый ключ сам сообщает другому пользователю достаточно информации, чтобы он мог зашифровать любой поток данных во что-то, что может быть расшифровано кем-то, владеющим закрытым ключом. Следовательно, передача открытого ключа может происходить на виду.
Единственный недостаток безопасности криптографии с открытым ключом - это то, что злоумышленник может посередине передать открытый ключ и зашифрованный текст. Если A желает передать B и M может видеть и изменять весь трафик между ними, тогда M может просто притвориться B, безопасно подключиться к A и затем может расшифровать то, что A пытается отправить в B. Симметрично он может сделать то же самое для B, и, таким образом, двусторонний канал разрушен.
SSL побеждает эту теоретическую атаку, используя проверку цепочки доверия, которая гарантирует, что M не может притворяться B, даже если B не известен A, потому что B может подтвердить свою личность, полагаясь на какую-то общую третью сторону ( CA). Это причина, почему недавние нападения на Diginotar и Comodo были настолько серьезными. Шифрование было безопасным, но проверка личности не была.
Короче говоря, ответ - вы просто передаете ключи. Открытые ключи не должны быть надежно переданы для их работы, однако, если у вас нет какой-то предварительно секретной информации или какой-то цепочки доверия, то вы оставляете себя открытым для человека в Средние атаки дешифрования.