Как работает криптография с открытым/закрытым ключом, кто генерирует пару ключей?

Как работает криптография с открытым/закрытым ключом, кто генерирует пару ключей?

Мне необходимо зашифровать файл и передать его внешнему партнеру, который затем расшифрует файл с помощью ключа.

Мое "базовое" понимание заключается в том, что я могу сгенерировать открытый и закрытый ключи, закодировать файл с помощью открытого ключа, а наш партнер может расшифровать его с помощью закрытого ключа, который мы ему дадим. Но мне кажется немного странным, что мы будем делиться закрытым ключом. Есть только один доверенный партнер.

Я что-то пропустил?

решение1

Шифрование PGP — как работают открытые и закрытые ключи

Вы делитесь только своим открытым ключом, и это то, чем они шифруют данные, прежде чем отправить их вам. Вы также можете зашифровать данные для них их открытым ключом, прежде чем отправить их им.

Открытый ключ [публичный] — это то, что нужно, чтобы кто угодно мог безопасно использовать его для шифрования файлов, но закрытый ключ — никогда, поскольку он всегда остается конфиденциальным только для того, кому нужно расшифровать файлы.

Обычно вы настраиваете свое программное обеспечение PGP и генерируете пару ключей. По сути, у вас будет закрытый ключ и открытый ключ, и это будет пара ключей.

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


Простая аналогия шифрования на уровне файлов PGP

Это как если бы вы дали им ключ, чтобы заблокировать файл (ваш открытый ключ), но только у вас есть ключ, чтобы его разблокировать (ваш закрытый ключ).

  • Theоткрытый ключэто как замок, и любой может использовать замок для [шифрования] файлов блокировки
  • Theзакрытый ключэто как ключ к замку, и только тот, кто призван [расшифровывать] его, может его открыть и имеет для этого закрытый ключ.

Примеры

  1. Они шифруют файлы с помощью вашего открытого ключа, а затем отправляют эти файлы вам, и только у вас есть закрытый ключ из этой пары ключей для расшифровки этих файлов.
  2. Они шифруют файлы вашим открытым ключом, а затем отправляют эти файлы какой-то компании, которая не должна была получить данные. У этой компании нет закрытого ключа для расшифровки этих данных, поэтому данные не были раскрыты.

  3. Вы шифруете файлы с помощью открытого ключа другого лица, а затем отправляете ему эти файлы, и только он может расшифровать эти файлы с помощью своего закрытого ключа из своей пары ключей.

  4. Вы шифруете файлы с помощью открытого ключа другой организации, а затем отправляете их не той компании, но они не могут расшифровать данные, поскольку у них нет закрытого ключа для этого, и, следовательно, никакие данные не раскрываются.


Дальнейшее чтение

решение2

Рассмотрим закрытый ключ и фактический ключ, а открытый ключ — замок. Тот, кому вы передадите замок, может что-то закрыть (например, хранилище, содержащее секретное сообщение), и только вы (храня закрытый ключ в безопасности) сможете открыть его снова.

Пример криптографии с открытым/закрытым ключом

И помните, что замок цифровой: его легко скопировать неограниченное количество раз. Фактически, вы часто делитесь им в каком-то публичном каталоге со всеми, кто хочет его иметь.

Мое "базовое" понимание заключается в том, что я могу сгенерировать открытый и закрытый ключи, закодировать файл с помощью открытого ключа, а наш партнер может расшифровать его с помощью закрытого ключа, который мы ему дадим. Но мне кажется немного странным, что мы будем делиться закрытым ключом. Есть только один доверенный партнер.

Все наоборот: получатель генерирует пару ключей и передает вам открытый ключ («замок»). Теперь только получатель может расшифровать сообщение, так как он единственный, кто владеет закрытым ключом.

Кроме того, вам не нужно беспокоиться о том, что человек посередине завладеет закрытым ключом — и если он перехватит открытый ключ, он все равно не сможет читать сообщения. Просто убедитесь, что вы проверили отпечаток пальца после получения открытого ключа (например, по телефону), чтобы убедиться, что открытый ключ не был заменен во время передачи.

Помимо шифрования, вы также можетезнаксообщения, чтобы другая сторона моглапроверятьотправителя. В этом случае вы также сгенерируете пару открытого/закрытого ключа. Подписание в значительной степени работает наоборот (аналогия с замком больше не работает для подписания), считайте это шифрованием с закрытым ключом (что можете сделать только вы, так как он хранится в секрете). Если получатель может расшифровать сообщение (или, как правило, хэш-сумму сообщения) с помощью вашего открытого ключа, он знает, что это вы подписали сообщение.

решение3

Дополнительное использование: 5: вы (дополнительно) шифруете файл своим закрытым ключом. Его можно расшифровать только вашим открытым ключом. Получатель может быть уверен, что вы отправитель.

Связанный контент