Рассмотрим закрытый ключ и реальный ключ, а открытый ключ - замок. Кто бы вы ни передавали замок, он может что-то закрыть (например, хранилище, содержащее секретное сообщение), и только вы (сохраняя личный ключ в безопасности) можете открыть его снова.
И помните, что замок является цифровым: его легко копировать неограниченное количество раз. Фактически, вы часто делитесь им в каком-то общедоступном каталоге для всех, кто хочет его иметь.
Мое "базовое" понимание заключается в том, что я могу генерировать открытый и закрытый ключи, кодировать файл с использованием открытого ключа, а наш партнер может расшифровать с помощью предоставленного нами секретного ключа. Но это звучит немного странно для меня, что мы будем делиться секретным ключом. Есть только один надежный партнер.
И наоборот: получатель генерирует пару ключей и передает вам открытый ключ ("замок"). Теперь только получатель может расшифровать сообщение, так как он единственный, кто владеет закрытым ключом.
Кроме того, вам не нужно заботиться о том, чтобы кто-то посередине овладевал закрытым ключом - и если он перехватывает открытый ключ, он все равно не может читать сообщения. Просто убедитесь, что после получения открытого ключа (например, по телефону) проверьте отпечаток пальца, чтобы убедиться, что открытый ключ не был заменен во время передачи.
Помимо шифрования, вы также можете подписывать сообщения, чтобы другой участник мог проверить отправителя. В этом случае вы также сгенерируете пару открытый / закрытый ключ. Подписание в значительной степени работает наоборот (аналогия с замком больше не работает для подписи), считайте, что это шифрование с закрытым ключом (что только вы можете сделать, поскольку это держится в секрете). Если получатель может дешифровать сообщение (или, как правило, хэш-сумму сообщения), используя ваш открытый ключ, он знает, что это вы подписали сообщение.