Вот несколько практических примеров. Предположим, что ключ A держался в секрете и поэтому является закрытым ключом, а ключ B был размещен в общедоступном месте, и поэтому является открытым ключом.
Поэтому, если вы хотите отправить сообщение всем, и вы хотите, чтобы они убедились, что оно пришло от вас и не было изменено во время его доставки, вы отправите свое сообщение и включите хэш сообщения, зашифрованный с помощью ключа A. Затем любой, кто имеет ключ B, может расшифровать хеш, сравнить его с полученным сообщением и убедиться, что сообщение пришло от вас (из-за того, что только человек с ключом A мог сгенерировать зашифрованную полезную нагрузку, которая успешно расшифровала хеш, а также потому, что вы являются единственным человеком с ключом A, который может прийти только от вас). Это называется Подписание.
Теперь допустим, что кто-то хочет отправить вам секретное сообщение, но не хочет раскрывать, кто он. Они могут зашифровать свое сообщение с помощью симметричного ключа (как упомянул Zoredache, сделать симметрию гораздо дешевле), затем взять этот ключ, зашифровать его с помощью ключа B и отправить его вам. Поскольку только ключ A может расшифровать то, что было зашифровано ключом B, никто другой не сможет увидеть, что находится в сообщении, которое было отправлено вам. Вот как работает нормальное шифрование и как SSH обменивается данными.